git →
1:2.27.0-1 →
armhf → 2020-06-12 07:34:38
sbuild (Debian sbuild) 0.71.0 (24 Aug 2016) on testbuildd
+==============================================================================+
| git 1:2.27.0-1 (armhf) Fri, 12 Jun 2020 06:12:12 +0000 |
+==============================================================================+
Package: git
Version: 1:2.27.0-1
Source Version: 1:2.27.0-1
Distribution: bullseye-staging
Machine Architecture: armhf
Host Architecture: armhf
Build Architecture: armhf
I: NOTICE: Log filtering will replace 'var/lib/schroot/mount/bullseye-staging-armhf-sbuild-aa628a2d-8201-46b0-be5c-3e9a28f07c08' with '<<CHROOT>>'
+------------------------------------------------------------------------------+
| Update chroot |
+------------------------------------------------------------------------------+
Get:1 http://172.17.0.1/private bullseye-staging InRelease [11.3 kB]
Get:2 http://172.17.0.1/private bullseye-staging/main Sources [11.7 MB]
Get:3 http://172.17.0.1/private bullseye-staging/main armhf Packages [12.8 MB]
Fetched 24.5 MB in 28s (879 kB/s)
Reading package lists...
W: No sandbox user '_apt' on the system, can not drop privileges
+------------------------------------------------------------------------------+
| Fetch source files |
+------------------------------------------------------------------------------+
Check APT
---------
Checking available source versions...
Download source files with APT
------------------------------
Reading package lists...
NOTICE: 'git' packaging is maintained in the 'Git' version control system at:
https://repo.or.cz/r/git/debian.git/
Please use:
git clone https://repo.or.cz/r/git/debian.git/
to retrieve the latest (possibly unreleased) updates to the package.
Need to get 6728 kB of source archives.
Get:1 http://172.17.0.1/private bullseye-staging/main git 1:2.27.0-1 (dsc) [2486 B]
Get:2 http://172.17.0.1/private bullseye-staging/main git 1:2.27.0-1 (tar) [6075 kB]
Get:3 http://172.17.0.1/private bullseye-staging/main git 1:2.27.0-1 (diff) [651 kB]
Fetched 6728 kB in 3s (2285 kB/s)
Download complete and in download only mode
I: NOTICE: Log filtering will replace 'build/git-UiBSuy/git-2.27.0' with '<<PKGBUILDDIR>>'
I: NOTICE: Log filtering will replace 'build/git-UiBSuy' with '<<BUILDDIR>>'
+------------------------------------------------------------------------------+
| Install build-essential |
+------------------------------------------------------------------------------+
Setup apt archive
-----------------
Merged Build-Depends: build-essential, fakeroot
Filtered Build-Depends: build-essential, fakeroot
dpkg-deb: building package 'sbuild-build-depends-core-dummy' in '/<<BUILDDIR>>/resolver-tJSTqh/apt_archive/sbuild-build-depends-core-dummy.deb'.
dpkg-scanpackages: warning: Packages in archive but missing from override file:
dpkg-scanpackages: warning: sbuild-build-depends-core-dummy
dpkg-scanpackages: info: Wrote 1 entries to output Packages file.
gpg: keybox '/<<BUILDDIR>>/resolver-tJSTqh/gpg/pubring.kbx' created
gpg: /<<BUILDDIR>>/resolver-tJSTqh/gpg/trustdb.gpg: trustdb created
gpg: key 35506D9A48F77B2E: public key "Sbuild Signer (Sbuild Build Dependency Archive Key) <buildd-tools-devel@lists.alioth.debian.org>" imported
gpg: Total number processed: 1
gpg: imported: 1
gpg: key 35506D9A48F77B2E: "Sbuild Signer (Sbuild Build Dependency Archive Key) <buildd-tools-devel@lists.alioth.debian.org>" not changed
gpg: key 35506D9A48F77B2E: secret key imported
gpg: Total number processed: 1
gpg: unchanged: 1
gpg: secret keys read: 1
gpg: secret keys imported: 1
gpg: using "Sbuild Signer" as default secret key for signing
Ign:1 copy:/<<BUILDDIR>>/resolver-tJSTqh/apt_archive ./ InRelease
Get:2 copy:/<<BUILDDIR>>/resolver-tJSTqh/apt_archive ./ Release [957 B]
Get:3 copy:/<<BUILDDIR>>/resolver-tJSTqh/apt_archive ./ Release.gpg [370 B]
Get:4 copy:/<<BUILDDIR>>/resolver-tJSTqh/apt_archive ./ Sources [349 B]
Get:5 copy:/<<BUILDDIR>>/resolver-tJSTqh/apt_archive ./ Packages [431 B]
Fetched 2107 B in 1s (2845 B/s)
Reading package lists...
W: No sandbox user '_apt' on the system, can not drop privileges
Reading package lists...
Install core build dependencies (apt-based resolver)
----------------------------------------------------
Installing build dependencies
Reading package lists...
Building dependency tree...
Reading state information...
The following package was automatically installed and is no longer required:
netbase
Use 'apt autoremove' to remove it.
The following NEW packages will be installed:
sbuild-build-depends-core-dummy
0 upgraded, 1 newly installed, 0 to remove and 19 not upgraded.
Need to get 852 B of archives.
After this operation, 0 B of additional disk space will be used.
Get:1 copy:/<<BUILDDIR>>/resolver-tJSTqh/apt_archive ./ sbuild-build-depends-core-dummy 0.invalid.0 [852 B]
debconf: delaying package configuration, since apt-utils is not installed
Fetched 852 B in 0s (23.1 kB/s)
Selecting previously unselected package sbuild-build-depends-core-dummy.
(Reading database ... 12213 files and directories currently installed.)
Preparing to unpack .../sbuild-build-depends-core-dummy_0.invalid.0_armhf.deb ...
Unpacking sbuild-build-depends-core-dummy (0.invalid.0) ...
Setting up sbuild-build-depends-core-dummy (0.invalid.0) ...
W: No sandbox user '_apt' on the system, can not drop privileges
+------------------------------------------------------------------------------+
| Check architectures |
+------------------------------------------------------------------------------+
Arch check ok (armhf included in any all)
+------------------------------------------------------------------------------+
| Install package build dependencies |
+------------------------------------------------------------------------------+
Setup apt archive
-----------------
Merged Build-Depends: libz-dev, gettext, libpcre2-dev | libpcre3-dev, libcurl4-gnutls-dev, libexpat1-dev, subversion, libsvn-perl, libyaml-perl, tcl, python3, libhttp-date-perl | libtime-parsedate-perl, libcgi-pm-perl, liberror-perl, libmailtools-perl, cvs, cvsps, libdbd-sqlite3-perl, unzip, libio-pty-perl, debhelper (>= 9), dh-exec (>= 0.7), dh-apache2, dpkg-dev (>= 1.16.2~)
Filtered Build-Depends: libz-dev, gettext, libpcre2-dev, libcurl4-gnutls-dev, libexpat1-dev, subversion, libsvn-perl, libyaml-perl, tcl, python3, libhttp-date-perl, libcgi-pm-perl, liberror-perl, libmailtools-perl, cvs, cvsps, libdbd-sqlite3-perl, unzip, libio-pty-perl, debhelper (>= 9), dh-exec (>= 0.7), dh-apache2, dpkg-dev (>= 1.16.2~)
dpkg-deb: building package 'sbuild-build-depends-git-dummy' in '/<<BUILDDIR>>/resolver-tJSTqh/apt_archive/sbuild-build-depends-git-dummy.deb'.
dpkg-scanpackages: warning: Packages in archive but missing from override file:
dpkg-scanpackages: warning: sbuild-build-depends-core-dummy sbuild-build-depends-git-dummy
dpkg-scanpackages: info: Wrote 2 entries to output Packages file.
gpg: using "Sbuild Signer" as default secret key for signing
Ign:1 copy:/<<BUILDDIR>>/resolver-tJSTqh/apt_archive ./ InRelease
Get:2 copy:/<<BUILDDIR>>/resolver-tJSTqh/apt_archive ./ Release [963 B]
Get:3 copy:/<<BUILDDIR>>/resolver-tJSTqh/apt_archive ./ Release.gpg [370 B]
Get:4 copy:/<<BUILDDIR>>/resolver-tJSTqh/apt_archive ./ Sources [654 B]
Get:5 copy:/<<BUILDDIR>>/resolver-tJSTqh/apt_archive ./ Packages [720 B]
Fetched 2707 B in 1s (3620 B/s)
Reading package lists...
W: No sandbox user '_apt' on the system, can not drop privileges
Reading package lists...
Install git build dependencies (apt-based resolver)
---------------------------------------------------
Installing build dependencies
Reading package lists...
Building dependency tree...
Reading state information...
The following additional packages will be installed:
apache2-dev autoconf automake autopoint autotools-dev bsdmainutils cvs cvsps
debhelper dh-autoreconf dh-exec dh-strip-nondeterminism dwz file gettext
gettext-base groff-base intltool-debian libapr1 libapr1-dev libaprutil1
libaprutil1-dev libarchive-zip-perl libbrotli1 libbsd0 libcgi-pm-perl
libcroco3 libcurl3-gnutls libcurl4-gnutls-dev libdbd-sqlite3-perl
libdbi-perl libdebhelper-perl libelf1 liberror-perl libexpat1 libexpat1-dev
libfile-stripnondeterminism-perl libglib2.0-0 libgssapi-krb5-2
libhtml-parser-perl libhtml-tagset-perl libhttp-date-perl libicu67
libio-pty-perl libio-socket-ssl-perl libk5crypto3 libkeyutils1 libkrb5-3
libkrb5support0 libldap2-dev libmagic-mgc libmagic1 libmailtools-perl
libmpdec2 libnet-smtp-ssl-perl libnet-ssleay-perl libnghttp2-14
libpcre2-16-0 libpcre2-32-0 libpcre2-dev libpcre2-posix2 libpipeline1
libpsl5 libpython3-stdlib libpython3.8-minimal libpython3.8-stdlib librtmp1
libsctp-dev libsctp1 libserf-1-1 libsigsegv2 libssh2-1 libssl1.1
libsub-override-perl libsvn-perl libsvn1 libtcl8.6 libtimedate-perl
libtinfo5 libtool libuchardet0 liburi-perl libutf8proc2 libxml2 libyaml-perl
m4 man-db mime-support openssl perl-openssl-defaults po-debconf python3
python3-minimal python3.8 python3.8-minimal sensible-utils subversion tcl
tcl8.6 unzip uuid-dev zlib1g-dev
Suggested packages:
autoconf-archive gnu-standards autoconf-doc wamerican | wordlist whois
vacation mksh rcs dh-make gettext-doc libasprintf-dev libgettextpo-dev groff
python libcurl4-doc libgnutls28-dev libidn11-dev libkrb5-dev librtmp-dev
libssh2-1-dev pkg-config libclone-perl libmldbm-perl libnet-daemon-perl
libsql-statement-perl krb5-doc krb5-user libdata-dump-perl ca-certificates
lksctp-tools libtool-doc gfortran | fortran95-compiler gcj-jdk libwww-perl
libyaml-shell-perl m4-doc apparmor less www-browser libmail-box-perl
python3-doc python3-tk python3-venv python3.8-venv python3.8-doc
binfmt-support db5.3-util libapache2-mod-svn subversion-tools
tcl-tclreadline zip
Recommended packages:
openssh-client curl | wget | lynx libcgi-fast-perl ca-certificates
libarchive-cpio-perl libglib2.0-data shared-mime-info xdg-user-dirs
libhttp-message-perl krb5-locales libauthen-sasl-perl publicsuffix
libltdl-dev libyaml-libyaml-perl | libyaml-syck-perl libmail-sendmail-perl
The following NEW packages will be installed:
apache2-dev autoconf automake autopoint autotools-dev bsdmainutils cvs cvsps
debhelper dh-autoreconf dh-exec dh-strip-nondeterminism dwz file gettext
gettext-base groff-base intltool-debian libapr1 libapr1-dev libaprutil1
libaprutil1-dev libarchive-zip-perl libbrotli1 libbsd0 libcgi-pm-perl
libcroco3 libcurl3-gnutls libcurl4-gnutls-dev libdbd-sqlite3-perl
libdbi-perl libdebhelper-perl libelf1 liberror-perl libexpat1 libexpat1-dev
libfile-stripnondeterminism-perl libglib2.0-0 libgssapi-krb5-2
libhtml-parser-perl libhtml-tagset-perl libhttp-date-perl libicu67
libio-pty-perl libio-socket-ssl-perl libk5crypto3 libkeyutils1 libkrb5-3
libkrb5support0 libldap2-dev libmagic-mgc libmagic1 libmailtools-perl
libmpdec2 libnet-smtp-ssl-perl libnet-ssleay-perl libnghttp2-14
libpcre2-16-0 libpcre2-32-0 libpcre2-dev libpcre2-posix2 libpipeline1
libpsl5 libpython3-stdlib libpython3.8-minimal libpython3.8-stdlib librtmp1
libsctp-dev libsctp1 libserf-1-1 libsigsegv2 libssh2-1 libssl1.1
libsub-override-perl libsvn-perl libsvn1 libtcl8.6 libtimedate-perl
libtinfo5 libtool libuchardet0 liburi-perl libutf8proc2 libxml2 libyaml-perl
m4 man-db mime-support openssl perl-openssl-defaults po-debconf python3
python3-minimal python3.8 python3.8-minimal sbuild-build-depends-git-dummy
sensible-utils subversion tcl tcl8.6 unzip uuid-dev zlib1g-dev
0 upgraded, 103 newly installed, 0 to remove and 19 not upgraded.
Need to get 40.4 MB of archives.
After this operation, 147 MB of additional disk space will be used.
Get:1 copy:/<<BUILDDIR>>/resolver-tJSTqh/apt_archive ./ sbuild-build-depends-git-dummy 0.invalid.0 [1012 B]
Get:2 http://172.17.0.1/private bullseye-staging/main armhf libbsd0 armhf 0.10.0-1 [112 kB]
Get:3 http://172.17.0.1/private bullseye-staging/main armhf libtinfo5 armhf 6.2-1 [318 kB]
Get:4 http://172.17.0.1/private bullseye-staging/main armhf bsdmainutils armhf 11.1.2 [182 kB]
Get:5 http://172.17.0.1/private bullseye-staging/main armhf libuchardet0 armhf 0.0.7-1 [65.0 kB]
Get:6 http://172.17.0.1/private bullseye-staging/main armhf groff-base armhf 1.22.4-5 [783 kB]
Get:7 http://172.17.0.1/private bullseye-staging/main armhf libpipeline1 armhf 1.5.2-2 [29.6 kB]
Get:8 http://172.17.0.1/private bullseye-staging/main armhf man-db armhf 2.9.2-1 [1269 kB]
Get:9 http://172.17.0.1/private bullseye-staging/main armhf libssl1.1 armhf 1.1.1g-1 [1272 kB]
Get:10 http://172.17.0.1/private bullseye-staging/main armhf libpython3.8-minimal armhf 3.8.3-1 [751 kB]
Get:11 http://172.17.0.1/private bullseye-staging/main armhf libexpat1 armhf 2.2.9-1 [71.5 kB]
Get:12 http://172.17.0.1/private bullseye-staging/main armhf python3.8-minimal armhf 3.8.3-1 [1629 kB]
Get:13 http://172.17.0.1/private bullseye-staging/main armhf python3-minimal armhf 3.8.2-3 [37.6 kB]
Get:14 http://172.17.0.1/private bullseye-staging/main armhf mime-support all 3.64 [37.8 kB]
Get:15 http://172.17.0.1/private bullseye-staging/main armhf libmpdec2 armhf 2.4.2-3 [68.1 kB]
Get:16 http://172.17.0.1/private bullseye-staging/main armhf libpython3.8-stdlib armhf 3.8.3-1 [1600 kB]
Get:17 http://172.17.0.1/private bullseye-staging/main armhf python3.8 armhf 3.8.3-1 [416 kB]
Get:18 http://172.17.0.1/private bullseye-staging/main armhf libpython3-stdlib armhf 3.8.2-3 [20.8 kB]
Get:19 http://172.17.0.1/private bullseye-staging/main armhf python3 armhf 3.8.2-3 [63.7 kB]
Get:20 http://172.17.0.1/private bullseye-staging/main armhf sensible-utils all 0.0.12+nmu1 [16.0 kB]
Get:21 http://172.17.0.1/private bullseye-staging/main armhf libmagic-mgc armhf 1:5.38-5 [262 kB]
Get:22 http://172.17.0.1/private bullseye-staging/main armhf libmagic1 armhf 1:5.38-5 [113 kB]
Get:23 http://172.17.0.1/private bullseye-staging/main armhf file armhf 1:5.38-5 [67.0 kB]
Get:24 http://172.17.0.1/private bullseye-staging/main armhf gettext-base armhf 0.19.8.1-10 [117 kB]
Get:25 http://172.17.0.1/private bullseye-staging/main armhf autotools-dev all 20180224.1 [77.0 kB]
Get:26 http://172.17.0.1/private bullseye-staging/main armhf libsigsegv2 armhf 2.12-2 [32.3 kB]
Get:27 http://172.17.0.1/private bullseye-staging/main armhf m4 armhf 1.4.18-4 [185 kB]
Get:28 http://172.17.0.1/private bullseye-staging/main armhf autoconf all 2.69-11.1 [341 kB]
Get:29 http://172.17.0.1/private bullseye-staging/main armhf automake all 1:1.16.2-1 [775 kB]
Get:30 http://172.17.0.1/private bullseye-staging/main armhf autopoint all 0.19.8.1-10 [435 kB]
Get:31 http://172.17.0.1/private bullseye-staging/main armhf libtool all 2.4.6-14 [513 kB]
Get:32 http://172.17.0.1/private bullseye-staging/main armhf dh-autoreconf all 19 [16.9 kB]
Get:33 http://172.17.0.1/private bullseye-staging/main armhf libdebhelper-perl all 13.1 [187 kB]
Get:34 http://172.17.0.1/private bullseye-staging/main armhf libarchive-zip-perl all 1.68-1 [104 kB]
Get:35 http://172.17.0.1/private bullseye-staging/main armhf libsub-override-perl all 0.09-2 [10.2 kB]
Get:36 http://172.17.0.1/private bullseye-staging/main armhf libfile-stripnondeterminism-perl all 1.8.1-1 [25.2 kB]
Get:37 http://172.17.0.1/private bullseye-staging/main armhf dh-strip-nondeterminism all 1.8.1-1 [14.9 kB]
Get:38 http://172.17.0.1/private bullseye-staging/main armhf libelf1 armhf 0.176-1.1 [158 kB]
Get:39 http://172.17.0.1/private bullseye-staging/main armhf dwz armhf 0.13-5 [142 kB]
Get:40 http://172.17.0.1/private bullseye-staging/main armhf libglib2.0-0 armhf 2.64.3-1 [1159 kB]
Get:41 http://172.17.0.1/private bullseye-staging/main armhf libicu67 armhf 67.1-2 [8286 kB]
Get:42 http://172.17.0.1/private bullseye-staging/main armhf libxml2 armhf 2.9.10+dfsg-5+b1 [593 kB]
Get:43 http://172.17.0.1/private bullseye-staging/main armhf libcroco3 armhf 0.6.13-1 [133 kB]
Get:44 http://172.17.0.1/private bullseye-staging/main armhf gettext armhf 0.19.8.1-10 [1219 kB]
Get:45 http://172.17.0.1/private bullseye-staging/main armhf intltool-debian all 0.35.0+20060710.5 [26.8 kB]
Get:46 http://172.17.0.1/private bullseye-staging/main armhf po-debconf all 1.0.21 [248 kB]
Get:47 http://172.17.0.1/private bullseye-staging/main armhf debhelper all 13.1 [1012 kB]
Get:48 http://172.17.0.1/private bullseye-staging/main armhf libapr1 armhf 1.6.5-1 [83.3 kB]
Get:49 http://172.17.0.1/private bullseye-staging/main armhf uuid-dev armhf 2.35.2-2 [95.4 kB]
Get:50 http://172.17.0.1/private bullseye-staging/main armhf libsctp1 armhf 1.0.18+dfsg-1 [27.6 kB]
Get:51 http://172.17.0.1/private bullseye-staging/main armhf libsctp-dev armhf 1.0.18+dfsg-1 [81.1 kB]
Get:52 http://172.17.0.1/private bullseye-staging/main armhf libapr1-dev armhf 1.6.5-1 [688 kB]
Get:53 http://172.17.0.1/private bullseye-staging/main armhf libaprutil1 armhf 1.6.1-4 [81.7 kB]
Get:54 http://172.17.0.1/private bullseye-staging/main armhf libldap2-dev armhf 2.4.50+dfsg-1 [304 kB]
Get:55 http://172.17.0.1/private bullseye-staging/main armhf libexpat1-dev armhf 2.2.9-1 [119 kB]
Get:56 http://172.17.0.1/private bullseye-staging/main armhf libaprutil1-dev armhf 1.6.1-4 [395 kB]
Get:57 http://172.17.0.1/private bullseye-staging/main armhf openssl armhf 1.1.1g-1 [811 kB]
Get:58 http://172.17.0.1/private bullseye-staging/main armhf apache2-dev armhf 2.4.43-1 [340 kB]
Get:59 http://172.17.0.1/private bullseye-staging/main armhf libkrb5support0 armhf 1.17-7+rpi1+b1 [61.8 kB]
Get:60 http://172.17.0.1/private bullseye-staging/main armhf libk5crypto3 armhf 1.17-7+rpi1+b1 [112 kB]
Get:61 http://172.17.0.1/private bullseye-staging/main armhf libkeyutils1 armhf 1.6.1-2 [14.5 kB]
Get:62 http://172.17.0.1/private bullseye-staging/main armhf libkrb5-3 armhf 1.17-7+rpi1+b1 [318 kB]
Get:63 http://172.17.0.1/private bullseye-staging/main armhf libgssapi-krb5-2 armhf 1.17-7+rpi1+b1 [136 kB]
Get:64 http://172.17.0.1/private bullseye-staging/main armhf cvs armhf 2:1.12.13+real-27 [2734 kB]
Get:65 http://172.17.0.1/private bullseye-staging/main armhf cvsps armhf 2.1-8 [43.3 kB]
Get:66 http://172.17.0.1/private bullseye-staging/main armhf dh-exec armhf 0.23.2+b3 [25.7 kB]
Get:67 http://172.17.0.1/private bullseye-staging/main armhf libbrotli1 armhf 1.0.7-6.1 [255 kB]
Get:68 http://172.17.0.1/private bullseye-staging/main armhf libhtml-tagset-perl all 3.20-4 [13.0 kB]
Get:69 http://172.17.0.1/private bullseye-staging/main armhf liburi-perl all 1.76-2 [90.2 kB]
Get:70 http://172.17.0.1/private bullseye-staging/main armhf libhtml-parser-perl armhf 3.72-5 [101 kB]
Get:71 http://172.17.0.1/private bullseye-staging/main armhf libcgi-pm-perl all 4.48-1 [223 kB]
Get:72 http://172.17.0.1/private bullseye-staging/main armhf libnghttp2-14 armhf 1.41.0-2 [61.2 kB]
Get:73 http://172.17.0.1/private bullseye-staging/main armhf libpsl5 armhf 0.21.0-1.1 [54.2 kB]
Get:74 http://172.17.0.1/private bullseye-staging/main armhf librtmp1 armhf 2.4+20151223.gitfa8646d.1-2+b1 [54.3 kB]
Get:75 http://172.17.0.1/private bullseye-staging/main armhf libssh2-1 armhf 1.8.0-2.1 [126 kB]
Get:76 http://172.17.0.1/private bullseye-staging/main armhf libcurl3-gnutls armhf 7.68.0-1 [284 kB]
Get:77 http://172.17.0.1/private bullseye-staging/main armhf libcurl4-gnutls-dev armhf 7.68.0-1 [358 kB]
Get:78 http://172.17.0.1/private bullseye-staging/main armhf libdbi-perl armhf 1.643-2 [772 kB]
Get:79 http://172.17.0.1/private bullseye-staging/main armhf libdbd-sqlite3-perl armhf 1.64-1+b1 [170 kB]
Get:80 http://172.17.0.1/private bullseye-staging/main armhf liberror-perl all 0.17029-1 [31.0 kB]
Get:81 http://172.17.0.1/private bullseye-staging/main armhf libtimedate-perl all 2.3300-1 [39.2 kB]
Get:82 http://172.17.0.1/private bullseye-staging/main armhf libhttp-date-perl all 6.05-1 [10.4 kB]
Get:83 http://172.17.0.1/private bullseye-staging/main armhf libio-pty-perl armhf 1:1.12-1 [35.5 kB]
Get:84 http://172.17.0.1/private bullseye-staging/main armhf perl-openssl-defaults armhf 5 [7360 B]
Get:85 http://172.17.0.1/private bullseye-staging/main armhf libnet-ssleay-perl armhf 1.88-3 [301 kB]
Get:86 http://172.17.0.1/private bullseye-staging/main armhf libio-socket-ssl-perl all 2.067-1 [212 kB]
Get:87 http://172.17.0.1/private bullseye-staging/main armhf libnet-smtp-ssl-perl all 1.04-1 [6184 B]
Get:88 http://172.17.0.1/private bullseye-staging/main armhf libmailtools-perl all 2.21-1 [95.5 kB]
Get:89 http://172.17.0.1/private bullseye-staging/main armhf libpcre2-16-0 armhf 10.34-7 [190 kB]
Get:90 http://172.17.0.1/private bullseye-staging/main armhf libpcre2-32-0 armhf 10.34-7 [181 kB]
Get:91 http://172.17.0.1/private bullseye-staging/main armhf libpcre2-posix2 armhf 10.34-7 [44.7 kB]
Get:92 http://172.17.0.1/private bullseye-staging/main armhf libpcre2-dev armhf 10.34-7 [614 kB]
Get:93 http://172.17.0.1/private bullseye-staging/main armhf libserf-1-1 armhf 1.3.9-8 [45.9 kB]
Get:94 http://172.17.0.1/private bullseye-staging/main armhf libutf8proc2 armhf 2.5.0-1 [53.4 kB]
Get:95 http://172.17.0.1/private bullseye-staging/main armhf libsvn1 armhf 1.13.0-4 [1205 kB]
Get:96 http://172.17.0.1/private bullseye-staging/main armhf libsvn-perl armhf 1.13.0-4 [973 kB]
Get:97 http://172.17.0.1/private bullseye-staging/main armhf libtcl8.6 armhf 8.6.10+dfsg-1 [886 kB]
Get:98 http://172.17.0.1/private bullseye-staging/main armhf libyaml-perl all 1.30-1 [67.7 kB]
Get:99 http://172.17.0.1/private bullseye-staging/main armhf subversion armhf 1.13.0-4 [958 kB]
Get:100 http://172.17.0.1/private bullseye-staging/main armhf tcl8.6 armhf 8.6.10+dfsg-1 [123 kB]
Get:101 http://172.17.0.1/private bullseye-staging/main armhf tcl armhf 8.6.9+1 [5636 B]
Get:102 http://172.17.0.1/private bullseye-staging/main armhf unzip armhf 6.0-25 [152 kB]
Get:103 http://172.17.0.1/private bullseye-staging/main armhf zlib1g-dev armhf 1:1.2.11.dfsg-2 [184 kB]
debconf: delaying package configuration, since apt-utils is not installed
Fetched 40.4 MB in 15s (2673 kB/s)
Selecting previously unselected package libbsd0:armhf.
(Reading database ... 12213 files and directories currently installed.)
Preparing to unpack .../00-libbsd0_0.10.0-1_armhf.deb ...
Unpacking libbsd0:armhf (0.10.0-1) ...
Selecting previously unselected package libtinfo5:armhf.
Preparing to unpack .../01-libtinfo5_6.2-1_armhf.deb ...
Unpacking libtinfo5:armhf (6.2-1) ...
Selecting previously unselected package bsdmainutils.
Preparing to unpack .../02-bsdmainutils_11.1.2_armhf.deb ...
Unpacking bsdmainutils (11.1.2) ...
Selecting previously unselected package libuchardet0:armhf.
Preparing to unpack .../03-libuchardet0_0.0.7-1_armhf.deb ...
Unpacking libuchardet0:armhf (0.0.7-1) ...
Selecting previously unselected package groff-base.
Preparing to unpack .../04-groff-base_1.22.4-5_armhf.deb ...
Unpacking groff-base (1.22.4-5) ...
Selecting previously unselected package libpipeline1:armhf.
Preparing to unpack .../05-libpipeline1_1.5.2-2_armhf.deb ...
Unpacking libpipeline1:armhf (1.5.2-2) ...
Selecting previously unselected package man-db.
Preparing to unpack .../06-man-db_2.9.2-1_armhf.deb ...
Unpacking man-db (2.9.2-1) ...
Selecting previously unselected package libssl1.1:armhf.
Preparing to unpack .../07-libssl1.1_1.1.1g-1_armhf.deb ...
Unpacking libssl1.1:armhf (1.1.1g-1) ...
Selecting previously unselected package libpython3.8-minimal:armhf.
Preparing to unpack .../08-libpython3.8-minimal_3.8.3-1_armhf.deb ...
Unpacking libpython3.8-minimal:armhf (3.8.3-1) ...
Selecting previously unselected package libexpat1:armhf.
Preparing to unpack .../09-libexpat1_2.2.9-1_armhf.deb ...
Unpacking libexpat1:armhf (2.2.9-1) ...
Selecting previously unselected package python3.8-minimal.
Preparing to unpack .../10-python3.8-minimal_3.8.3-1_armhf.deb ...
Unpacking python3.8-minimal (3.8.3-1) ...
Setting up libssl1.1:armhf (1.1.1g-1) ...
Setting up libpython3.8-minimal:armhf (3.8.3-1) ...
Setting up libexpat1:armhf (2.2.9-1) ...
Setting up python3.8-minimal (3.8.3-1) ...
Selecting previously unselected package python3-minimal.
(Reading database ... 13175 files and directories currently installed.)
Preparing to unpack .../0-python3-minimal_3.8.2-3_armhf.deb ...
Unpacking python3-minimal (3.8.2-3) ...
Selecting previously unselected package mime-support.
Preparing to unpack .../1-mime-support_3.64_all.deb ...
Unpacking mime-support (3.64) ...
Selecting previously unselected package libmpdec2:armhf.
Preparing to unpack .../2-libmpdec2_2.4.2-3_armhf.deb ...
Unpacking libmpdec2:armhf (2.4.2-3) ...
Selecting previously unselected package libpython3.8-stdlib:armhf.
Preparing to unpack .../3-libpython3.8-stdlib_3.8.3-1_armhf.deb ...
Unpacking libpython3.8-stdlib:armhf (3.8.3-1) ...
Selecting previously unselected package python3.8.
Preparing to unpack .../4-python3.8_3.8.3-1_armhf.deb ...
Unpacking python3.8 (3.8.3-1) ...
Selecting previously unselected package libpython3-stdlib:armhf.
Preparing to unpack .../5-libpython3-stdlib_3.8.2-3_armhf.deb ...
Unpacking libpython3-stdlib:armhf (3.8.2-3) ...
Setting up python3-minimal (3.8.2-3) ...
Selecting previously unselected package python3.
(Reading database ... 13577 files and directories currently installed.)
Preparing to unpack .../00-python3_3.8.2-3_armhf.deb ...
Unpacking python3 (3.8.2-3) ...
Selecting previously unselected package sensible-utils.
Preparing to unpack .../01-sensible-utils_0.0.12+nmu1_all.deb ...
Unpacking sensible-utils (0.0.12+nmu1) ...
Selecting previously unselected package libmagic-mgc.
Preparing to unpack .../02-libmagic-mgc_1%3a5.38-5_armhf.deb ...
Unpacking libmagic-mgc (1:5.38-5) ...
Selecting previously unselected package libmagic1:armhf.
Preparing to unpack .../03-libmagic1_1%3a5.38-5_armhf.deb ...
Unpacking libmagic1:armhf (1:5.38-5) ...
Selecting previously unselected package file.
Preparing to unpack .../04-file_1%3a5.38-5_armhf.deb ...
Unpacking file (1:5.38-5) ...
Selecting previously unselected package gettext-base.
Preparing to unpack .../05-gettext-base_0.19.8.1-10_armhf.deb ...
Unpacking gettext-base (0.19.8.1-10) ...
Selecting previously unselected package autotools-dev.
Preparing to unpack .../06-autotools-dev_20180224.1_all.deb ...
Unpacking autotools-dev (20180224.1) ...
Selecting previously unselected package libsigsegv2:armhf.
Preparing to unpack .../07-libsigsegv2_2.12-2_armhf.deb ...
Unpacking libsigsegv2:armhf (2.12-2) ...
Selecting previously unselected package m4.
Preparing to unpack .../08-m4_1.4.18-4_armhf.deb ...
Unpacking m4 (1.4.18-4) ...
Selecting previously unselected package autoconf.
Preparing to unpack .../09-autoconf_2.69-11.1_all.deb ...
Unpacking autoconf (2.69-11.1) ...
Selecting previously unselected package automake.
Preparing to unpack .../10-automake_1%3a1.16.2-1_all.deb ...
Unpacking automake (1:1.16.2-1) ...
Selecting previously unselected package autopoint.
Preparing to unpack .../11-autopoint_0.19.8.1-10_all.deb ...
Unpacking autopoint (0.19.8.1-10) ...
Selecting previously unselected package libtool.
Preparing to unpack .../12-libtool_2.4.6-14_all.deb ...
Unpacking libtool (2.4.6-14) ...
Selecting previously unselected package dh-autoreconf.
Preparing to unpack .../13-dh-autoreconf_19_all.deb ...
Unpacking dh-autoreconf (19) ...
Selecting previously unselected package libdebhelper-perl.
Preparing to unpack .../14-libdebhelper-perl_13.1_all.deb ...
Unpacking libdebhelper-perl (13.1) ...
Selecting previously unselected package libarchive-zip-perl.
Preparing to unpack .../15-libarchive-zip-perl_1.68-1_all.deb ...
Unpacking libarchive-zip-perl (1.68-1) ...
Selecting previously unselected package libsub-override-perl.
Preparing to unpack .../16-libsub-override-perl_0.09-2_all.deb ...
Unpacking libsub-override-perl (0.09-2) ...
Selecting previously unselected package libfile-stripnondeterminism-perl.
Preparing to unpack .../17-libfile-stripnondeterminism-perl_1.8.1-1_all.deb ...
Unpacking libfile-stripnondeterminism-perl (1.8.1-1) ...
Selecting previously unselected package dh-strip-nondeterminism.
Preparing to unpack .../18-dh-strip-nondeterminism_1.8.1-1_all.deb ...
Unpacking dh-strip-nondeterminism (1.8.1-1) ...
Selecting previously unselected package libelf1:armhf.
Preparing to unpack .../19-libelf1_0.176-1.1_armhf.deb ...
Unpacking libelf1:armhf (0.176-1.1) ...
Selecting previously unselected package dwz.
Preparing to unpack .../20-dwz_0.13-5_armhf.deb ...
Unpacking dwz (0.13-5) ...
Selecting previously unselected package libglib2.0-0:armhf.
Preparing to unpack .../21-libglib2.0-0_2.64.3-1_armhf.deb ...
Unpacking libglib2.0-0:armhf (2.64.3-1) ...
Selecting previously unselected package libicu67:armhf.
Preparing to unpack .../22-libicu67_67.1-2_armhf.deb ...
Unpacking libicu67:armhf (67.1-2) ...
Selecting previously unselected package libxml2:armhf.
Preparing to unpack .../23-libxml2_2.9.10+dfsg-5+b1_armhf.deb ...
Unpacking libxml2:armhf (2.9.10+dfsg-5+b1) ...
Selecting previously unselected package libcroco3:armhf.
Preparing to unpack .../24-libcroco3_0.6.13-1_armhf.deb ...
Unpacking libcroco3:armhf (0.6.13-1) ...
Selecting previously unselected package gettext.
Preparing to unpack .../25-gettext_0.19.8.1-10_armhf.deb ...
Unpacking gettext (0.19.8.1-10) ...
Selecting previously unselected package intltool-debian.
Preparing to unpack .../26-intltool-debian_0.35.0+20060710.5_all.deb ...
Unpacking intltool-debian (0.35.0+20060710.5) ...
Selecting previously unselected package po-debconf.
Preparing to unpack .../27-po-debconf_1.0.21_all.deb ...
Unpacking po-debconf (1.0.21) ...
Selecting previously unselected package debhelper.
Preparing to unpack .../28-debhelper_13.1_all.deb ...
Unpacking debhelper (13.1) ...
Selecting previously unselected package libapr1:armhf.
Preparing to unpack .../29-libapr1_1.6.5-1_armhf.deb ...
Unpacking libapr1:armhf (1.6.5-1) ...
Selecting previously unselected package uuid-dev:armhf.
Preparing to unpack .../30-uuid-dev_2.35.2-2_armhf.deb ...
Unpacking uuid-dev:armhf (2.35.2-2) ...
Selecting previously unselected package libsctp1:armhf.
Preparing to unpack .../31-libsctp1_1.0.18+dfsg-1_armhf.deb ...
Unpacking libsctp1:armhf (1.0.18+dfsg-1) ...
Selecting previously unselected package libsctp-dev:armhf.
Preparing to unpack .../32-libsctp-dev_1.0.18+dfsg-1_armhf.deb ...
Unpacking libsctp-dev:armhf (1.0.18+dfsg-1) ...
Selecting previously unselected package libapr1-dev.
Preparing to unpack .../33-libapr1-dev_1.6.5-1_armhf.deb ...
Unpacking libapr1-dev (1.6.5-1) ...
Selecting previously unselected package libaprutil1:armhf.
Preparing to unpack .../34-libaprutil1_1.6.1-4_armhf.deb ...
Unpacking libaprutil1:armhf (1.6.1-4) ...
Selecting previously unselected package libldap2-dev:armhf.
Preparing to unpack .../35-libldap2-dev_2.4.50+dfsg-1_armhf.deb ...
Unpacking libldap2-dev:armhf (2.4.50+dfsg-1) ...
Selecting previously unselected package libexpat1-dev:armhf.
Preparing to unpack .../36-libexpat1-dev_2.2.9-1_armhf.deb ...
Unpacking libexpat1-dev:armhf (2.2.9-1) ...
Selecting previously unselected package libaprutil1-dev.
Preparing to unpack .../37-libaprutil1-dev_1.6.1-4_armhf.deb ...
Unpacking libaprutil1-dev (1.6.1-4) ...
Selecting previously unselected package openssl.
Preparing to unpack .../38-openssl_1.1.1g-1_armhf.deb ...
Unpacking openssl (1.1.1g-1) ...
Selecting previously unselected package apache2-dev.
Preparing to unpack .../39-apache2-dev_2.4.43-1_armhf.deb ...
Unpacking apache2-dev (2.4.43-1) ...
Selecting previously unselected package libkrb5support0:armhf.
Preparing to unpack .../40-libkrb5support0_1.17-7+rpi1+b1_armhf.deb ...
Unpacking libkrb5support0:armhf (1.17-7+rpi1+b1) ...
Selecting previously unselected package libk5crypto3:armhf.
Preparing to unpack .../41-libk5crypto3_1.17-7+rpi1+b1_armhf.deb ...
Unpacking libk5crypto3:armhf (1.17-7+rpi1+b1) ...
Selecting previously unselected package libkeyutils1:armhf.
Preparing to unpack .../42-libkeyutils1_1.6.1-2_armhf.deb ...
Unpacking libkeyutils1:armhf (1.6.1-2) ...
Selecting previously unselected package libkrb5-3:armhf.
Preparing to unpack .../43-libkrb5-3_1.17-7+rpi1+b1_armhf.deb ...
Unpacking libkrb5-3:armhf (1.17-7+rpi1+b1) ...
Selecting previously unselected package libgssapi-krb5-2:armhf.
Preparing to unpack .../44-libgssapi-krb5-2_1.17-7+rpi1+b1_armhf.deb ...
Unpacking libgssapi-krb5-2:armhf (1.17-7+rpi1+b1) ...
Selecting previously unselected package cvs.
Preparing to unpack .../45-cvs_2%3a1.12.13+real-27_armhf.deb ...
Unpacking cvs (2:1.12.13+real-27) ...
Selecting previously unselected package cvsps.
Preparing to unpack .../46-cvsps_2.1-8_armhf.deb ...
Unpacking cvsps (2.1-8) ...
Selecting previously unselected package dh-exec.
Preparing to unpack .../47-dh-exec_0.23.2+b3_armhf.deb ...
Unpacking dh-exec (0.23.2+b3) ...
Selecting previously unselected package libbrotli1:armhf.
Preparing to unpack .../48-libbrotli1_1.0.7-6.1_armhf.deb ...
Unpacking libbrotli1:armhf (1.0.7-6.1) ...
Selecting previously unselected package libhtml-tagset-perl.
Preparing to unpack .../49-libhtml-tagset-perl_3.20-4_all.deb ...
Unpacking libhtml-tagset-perl (3.20-4) ...
Selecting previously unselected package liburi-perl.
Preparing to unpack .../50-liburi-perl_1.76-2_all.deb ...
Unpacking liburi-perl (1.76-2) ...
Selecting previously unselected package libhtml-parser-perl.
Preparing to unpack .../51-libhtml-parser-perl_3.72-5_armhf.deb ...
Unpacking libhtml-parser-perl (3.72-5) ...
Selecting previously unselected package libcgi-pm-perl.
Preparing to unpack .../52-libcgi-pm-perl_4.48-1_all.deb ...
Unpacking libcgi-pm-perl (4.48-1) ...
Selecting previously unselected package libnghttp2-14:armhf.
Preparing to unpack .../53-libnghttp2-14_1.41.0-2_armhf.deb ...
Unpacking libnghttp2-14:armhf (1.41.0-2) ...
Selecting previously unselected package libpsl5:armhf.
Preparing to unpack .../54-libpsl5_0.21.0-1.1_armhf.deb ...
Unpacking libpsl5:armhf (0.21.0-1.1) ...
Selecting previously unselected package librtmp1:armhf.
Preparing to unpack .../55-librtmp1_2.4+20151223.gitfa8646d.1-2+b1_armhf.deb ...
Unpacking librtmp1:armhf (2.4+20151223.gitfa8646d.1-2+b1) ...
Selecting previously unselected package libssh2-1:armhf.
Preparing to unpack .../56-libssh2-1_1.8.0-2.1_armhf.deb ...
Unpacking libssh2-1:armhf (1.8.0-2.1) ...
Selecting previously unselected package libcurl3-gnutls:armhf.
Preparing to unpack .../57-libcurl3-gnutls_7.68.0-1_armhf.deb ...
Unpacking libcurl3-gnutls:armhf (7.68.0-1) ...
Selecting previously unselected package libcurl4-gnutls-dev:armhf.
Preparing to unpack .../58-libcurl4-gnutls-dev_7.68.0-1_armhf.deb ...
Unpacking libcurl4-gnutls-dev:armhf (7.68.0-1) ...
Selecting previously unselected package libdbi-perl:armhf.
Preparing to unpack .../59-libdbi-perl_1.643-2_armhf.deb ...
Unpacking libdbi-perl:armhf (1.643-2) ...
Selecting previously unselected package libdbd-sqlite3-perl:armhf.
Preparing to unpack .../60-libdbd-sqlite3-perl_1.64-1+b1_armhf.deb ...
Unpacking libdbd-sqlite3-perl:armhf (1.64-1+b1) ...
Selecting previously unselected package liberror-perl.
Preparing to unpack .../61-liberror-perl_0.17029-1_all.deb ...
Unpacking liberror-perl (0.17029-1) ...
Selecting previously unselected package libtimedate-perl.
Preparing to unpack .../62-libtimedate-perl_2.3300-1_all.deb ...
Unpacking libtimedate-perl (2.3300-1) ...
Selecting previously unselected package libhttp-date-perl.
Preparing to unpack .../63-libhttp-date-perl_6.05-1_all.deb ...
Unpacking libhttp-date-perl (6.05-1) ...
Selecting previously unselected package libio-pty-perl.
Preparing to unpack .../64-libio-pty-perl_1%3a1.12-1_armhf.deb ...
Unpacking libio-pty-perl (1:1.12-1) ...
Selecting previously unselected package perl-openssl-defaults:armhf.
Preparing to unpack .../65-perl-openssl-defaults_5_armhf.deb ...
Unpacking perl-openssl-defaults:armhf (5) ...
Selecting previously unselected package libnet-ssleay-perl.
Preparing to unpack .../66-libnet-ssleay-perl_1.88-3_armhf.deb ...
Unpacking libnet-ssleay-perl (1.88-3) ...
Selecting previously unselected package libio-socket-ssl-perl.
Preparing to unpack .../67-libio-socket-ssl-perl_2.067-1_all.deb ...
Unpacking libio-socket-ssl-perl (2.067-1) ...
Selecting previously unselected package libnet-smtp-ssl-perl.
Preparing to unpack .../68-libnet-smtp-ssl-perl_1.04-1_all.deb ...
Unpacking libnet-smtp-ssl-perl (1.04-1) ...
Selecting previously unselected package libmailtools-perl.
Preparing to unpack .../69-libmailtools-perl_2.21-1_all.deb ...
Unpacking libmailtools-perl (2.21-1) ...
Selecting previously unselected package libpcre2-16-0:armhf.
Preparing to unpack .../70-libpcre2-16-0_10.34-7_armhf.deb ...
Unpacking libpcre2-16-0:armhf (10.34-7) ...
Selecting previously unselected package libpcre2-32-0:armhf.
Preparing to unpack .../71-libpcre2-32-0_10.34-7_armhf.deb ...
Unpacking libpcre2-32-0:armhf (10.34-7) ...
Selecting previously unselected package libpcre2-posix2:armhf.
Preparing to unpack .../72-libpcre2-posix2_10.34-7_armhf.deb ...
Unpacking libpcre2-posix2:armhf (10.34-7) ...
Selecting previously unselected package libpcre2-dev:armhf.
Preparing to unpack .../73-libpcre2-dev_10.34-7_armhf.deb ...
Unpacking libpcre2-dev:armhf (10.34-7) ...
Selecting previously unselected package libserf-1-1:armhf.
Preparing to unpack .../74-libserf-1-1_1.3.9-8_armhf.deb ...
Unpacking libserf-1-1:armhf (1.3.9-8) ...
Selecting previously unselected package libutf8proc2:armhf.
Preparing to unpack .../75-libutf8proc2_2.5.0-1_armhf.deb ...
Unpacking libutf8proc2:armhf (2.5.0-1) ...
Selecting previously unselected package libsvn1:armhf.
Preparing to unpack .../76-libsvn1_1.13.0-4_armhf.deb ...
Unpacking libsvn1:armhf (1.13.0-4) ...
Selecting previously unselected package libsvn-perl:armhf.
Preparing to unpack .../77-libsvn-perl_1.13.0-4_armhf.deb ...
Unpacking libsvn-perl:armhf (1.13.0-4) ...
Selecting previously unselected package libtcl8.6:armhf.
Preparing to unpack .../78-libtcl8.6_8.6.10+dfsg-1_armhf.deb ...
Unpacking libtcl8.6:armhf (8.6.10+dfsg-1) ...
Selecting previously unselected package libyaml-perl.
Preparing to unpack .../79-libyaml-perl_1.30-1_all.deb ...
Unpacking libyaml-perl (1.30-1) ...
Selecting previously unselected package subversion.
Preparing to unpack .../80-subversion_1.13.0-4_armhf.deb ...
Unpacking subversion (1.13.0-4) ...
Selecting previously unselected package tcl8.6.
Preparing to unpack .../81-tcl8.6_8.6.10+dfsg-1_armhf.deb ...
Unpacking tcl8.6 (8.6.10+dfsg-1) ...
Selecting previously unselected package tcl.
Preparing to unpack .../82-tcl_8.6.9+1_armhf.deb ...
Unpacking tcl (8.6.9+1) ...
Selecting previously unselected package unzip.
Preparing to unpack .../83-unzip_6.0-25_armhf.deb ...
Unpacking unzip (6.0-25) ...
Selecting previously unselected package zlib1g-dev:armhf.
Preparing to unpack .../84-zlib1g-dev_1%3a1.2.11.dfsg-2_armhf.deb ...
Unpacking zlib1g-dev:armhf (1:1.2.11.dfsg-2) ...
Selecting previously unselected package sbuild-build-depends-git-dummy.
Preparing to unpack .../85-sbuild-build-depends-git-dummy_0.invalid.0_armhf.deb ...
Unpacking sbuild-build-depends-git-dummy (0.invalid.0) ...
Setting up libpipeline1:armhf (1.5.2-2) ...
Setting up libkeyutils1:armhf (1.6.1-2) ...
Setting up libpsl5:armhf (0.21.0-1.1) ...
Setting up mime-support (3.64) ...
Setting up libicu67:armhf (67.1-2) ...
Setting up libio-pty-perl (1:1.12-1) ...
Setting up libmagic-mgc (1:5.38-5) ...
Setting up libarchive-zip-perl (1.68-1) ...
Setting up libglib2.0-0:armhf (2.64.3-1) ...
No schema files found: doing nothing.
Setting up libhtml-tagset-perl (3.20-4) ...
Setting up unzip (6.0-25) ...
Setting up libutf8proc2:armhf (2.5.0-1) ...
Setting up libdebhelper-perl (13.1) ...
Setting up libbrotli1:armhf (1.0.7-6.1) ...
Setting up libnghttp2-14:armhf (1.41.0-2) ...
Setting up libmagic1:armhf (1:5.38-5) ...
Setting up libapr1:armhf (1.6.5-1) ...
Setting up perl-openssl-defaults:armhf (5) ...
Setting up gettext-base (0.19.8.1-10) ...
Setting up file (1:5.38-5) ...
Setting up libyaml-perl (1.30-1) ...
Setting up libpcre2-16-0:armhf (10.34-7) ...
Setting up libkrb5support0:armhf (1.17-7+rpi1+b1) ...
Setting up liberror-perl (0.17029-1) ...
Setting up libldap2-dev:armhf (2.4.50+dfsg-1) ...
Setting up autotools-dev (20180224.1) ...
Setting up libpcre2-32-0:armhf (10.34-7) ...
Setting up libexpat1-dev:armhf (2.2.9-1) ...
Setting up librtmp1:armhf (2.4+20151223.gitfa8646d.1-2+b1) ...
Setting up uuid-dev:armhf (2.35.2-2) ...
Setting up libsigsegv2:armhf (2.12-2) ...
Setting up libtcl8.6:armhf (8.6.10+dfsg-1) ...
Setting up autopoint (0.19.8.1-10) ...
Setting up libpcre2-posix2:armhf (10.34-7) ...
Setting up libk5crypto3:armhf (1.17-7+rpi1+b1) ...
Setting up libtimedate-perl (2.3300-1) ...
Setting up zlib1g-dev:armhf (1:1.2.11.dfsg-2) ...
Setting up libsctp1:armhf (1.0.18+dfsg-1) ...
Setting up sensible-utils (0.0.12+nmu1) ...
Setting up libuchardet0:armhf (0.0.7-1) ...
Setting up libsub-override-perl (0.09-2) ...
Setting up libssh2-1:armhf (1.8.0-2.1) ...
Setting up libkrb5-3:armhf (1.17-7+rpi1+b1) ...
Setting up libmpdec2:armhf (2.4.2-3) ...
Setting up libpython3.8-stdlib:armhf (3.8.3-1) ...
Setting up python3.8 (3.8.3-1) ...
Setting up openssl (1.1.1g-1) ...
Setting up libbsd0:armhf (0.10.0-1) ...
Setting up libtinfo5:armhf (6.2-1) ...
Setting up libelf1:armhf (0.176-1.1) ...
Setting up libxml2:armhf (2.9.10+dfsg-5+b1) ...
Setting up liburi-perl (1.76-2) ...
Setting up libdbi-perl:armhf (1.643-2) ...
Setting up libpython3-stdlib:armhf (3.8.2-3) ...
Setting up libaprutil1:armhf (1.6.1-4) ...
Setting up libnet-ssleay-perl (1.88-3) ...
Setting up libfile-stripnondeterminism-perl (1.8.1-1) ...
Setting up libhttp-date-perl (6.05-1) ...
Setting up tcl8.6 (8.6.10+dfsg-1) ...
Setting up libpcre2-dev:armhf (10.34-7) ...
Setting up libtool (2.4.6-14) ...
Setting up m4 (1.4.18-4) ...
Setting up python3 (3.8.2-3) ...
Setting up bsdmainutils (11.1.2) ...
update-alternatives: using /usr/bin/bsd-write to provide /usr/bin/write (write) in auto mode
update-alternatives: using /usr/bin/bsd-from to provide /usr/bin/from (from) in auto mode
Setting up libgssapi-krb5-2:armhf (1.17-7+rpi1+b1) ...
Setting up libcroco3:armhf (0.6.13-1) ...
Setting up libsctp-dev:armhf (1.0.18+dfsg-1) ...
Setting up autoconf (2.69-11.1) ...
Setting up dh-strip-nondeterminism (1.8.1-1) ...
Setting up dwz (0.13-5) ...
Setting up groff-base (1.22.4-5) ...
Setting up libhtml-parser-perl (3.72-5) ...
Setting up tcl (8.6.9+1) ...
Setting up libdbd-sqlite3-perl:armhf (1.64-1+b1) ...
Setting up libio-socket-ssl-perl (2.067-1) ...
Setting up automake (1:1.16.2-1) ...
update-alternatives: using /usr/bin/automake-1.16 to provide /usr/bin/automake (automake) in auto mode
Setting up gettext (0.19.8.1-10) ...
Setting up cvs (2:1.12.13+real-27) ...
Allowing use of questionable username.
Adding group `_cvsadmin' (GID 114) ...
Done.
Setting up libcgi-pm-perl (4.48-1) ...
Setting up libserf-1-1:armhf (1.3.9-8) ...
Setting up libcurl3-gnutls:armhf (7.68.0-1) ...
Setting up libcurl4-gnutls-dev:armhf (7.68.0-1) ...
Setting up man-db (2.9.2-1) ...
Not building database; man-db/auto-update is not 'true'.
Setting up intltool-debian (0.35.0+20060710.5) ...
Setting up libnet-smtp-ssl-perl (1.04-1) ...
Setting up libmailtools-perl (2.21-1) ...
Setting up libapr1-dev (1.6.5-1) ...
Setting up libaprutil1-dev (1.6.1-4) ...
Setting up cvsps (2.1-8) ...
Setting up libsvn1:armhf (1.13.0-4) ...
Setting up libsvn-perl:armhf (1.13.0-4) ...
Setting up po-debconf (1.0.21) ...
Setting up subversion (1.13.0-4) ...
Setting up debhelper (13.1) ...
Setting up dh-exec (0.23.2+b3) ...
Setting up dh-autoreconf (19) ...
Setting up apache2-dev (2.4.43-1) ...
Setting up sbuild-build-depends-git-dummy (0.invalid.0) ...
Processing triggers for libc-bin (2.30-8+rpi1) ...
W: No sandbox user '_apt' on the system, can not drop privileges
+------------------------------------------------------------------------------+
| Build environment |
+------------------------------------------------------------------------------+
Kernel: Linux 4.9.0-0.bpo.6-armmp armhf (armv7l)
Toolchain package versions: binutils_2.34-8+rpi1 dpkg-dev_1.19.7 g++-9_9.3.0-13+rpi1 gcc-9_9.3.0-13+rpi1 libc6-dev_2.30-8+rpi1 libstdc++-9-dev_9.3.0-13+rpi1 libstdc++6_10.1.0-1+rpi1 linux-libc-dev_5.2.17-1+rpi1+b2
Package versions: adduser_3.118 apache2-dev_2.4.43-1 apt_2.1.5 autoconf_2.69-11.1 automake_1:1.16.2-1 autopoint_0.19.8.1-10 autotools-dev_20180224.1 base-files_11+rpi1 base-passwd_3.5.47 bash_5.0-6 binutils_2.34-8+rpi1 binutils-arm-linux-gnueabihf_2.34-8+rpi1 binutils-common_2.34-8+rpi1 bsdmainutils_11.1.2 bsdutils_1:2.35.2-2 build-essential_12.8 bzip2_1.0.8-2 coreutils_8.30-3 cpp_4:9.2.1-3.1+rpi1 cpp-9_9.3.0-13+rpi1 cvs_2:1.12.13+real-27 cvsps_2.1-8 dash_0.5.10.2-7 debconf_1.5.74 debhelper_13.1 debianutils_4.9.1 dh-autoreconf_19 dh-exec_0.23.2+b3 dh-strip-nondeterminism_1.8.1-1 diffutils_1:3.7-3 dirmngr_2.2.20-1 dpkg_1.19.7 dpkg-dev_1.19.7 dwz_0.13-5 e2fsprogs_1.45.6-1 fakeroot_1.24-1 file_1:5.38-5 findutils_4.7.0-1 g++_4:9.2.1-3.1+rpi1 g++-9_9.3.0-13+rpi1 gcc_4:9.2.1-3.1+rpi1 gcc-10-base_10.1.0-1+rpi1 gcc-6-base_6.5.0-1+rpi3 gcc-7-base_7.5.0-6+rpi1 gcc-8-base_8.4.0-4+rpi1 gcc-9_9.3.0-13+rpi1 gcc-9-base_9.3.0-13+rpi1 gettext_0.19.8.1-10 gettext-base_0.19.8.1-10 gnupg_2.2.20-1 gnupg-l10n_2.2.20-1 gnupg-utils_2.2.20-1 gpg_2.2.20-1 gpg-agent_2.2.20-1 gpg-wks-client_2.2.20-1 gpg-wks-server_2.2.20-1 gpgconf_2.2.20-1 gpgsm_2.2.20-1 gpgv_2.2.20-1 grep_3.4-1 groff-base_1.22.4-5 gzip_1.10-2 hostname_3.23 init-system-helpers_1.57 intltool-debian_0.35.0+20060710.5 libacl1_2.2.53-8 libapr1_1.6.5-1 libapr1-dev_1.6.5-1 libaprutil1_1.6.1-4 libaprutil1-dev_1.6.1-4 libapt-pkg6.0_2.1.5 libarchive-zip-perl_1.68-1 libasan5_9.3.0-13+rpi1 libassuan0_2.5.3-7 libatomic1_10.1.0-1+rpi1 libattr1_1:2.4.48-5 libaudit-common_1:2.8.5-3 libaudit1_1:2.8.5-3 libbinutils_2.34-8+rpi1 libblkid1_2.35.2-2 libbrotli1_1.0.7-6.1 libbsd0_0.10.0-1 libbz2-1.0_1.0.8-2 libc-bin_2.30-8+rpi1 libc-dev-bin_2.30-8+rpi1 libc6_2.30-8+rpi1 libc6-dev_2.30-8+rpi1 libcap-ng0_0.7.9-2.1+b1 libcc1-0_10.1.0-1+rpi1 libcgi-pm-perl_4.48-1 libcom-err2_1.45.6-1 libcroco3_0.6.13-1 libcrypt-dev_1:4.4.16-1 libcrypt1_1:4.4.16-1 libctf-nobfd0_2.34-8+rpi1 libctf0_2.34-8+rpi1 libcurl3-gnutls_7.68.0-1 libcurl4-gnutls-dev_7.68.0-1 libdb5.3_5.3.28+dfsg1-0.6 libdbd-sqlite3-perl_1.64-1+b1 libdbi-perl_1.643-2 libdebconfclient0_0.252 libdebhelper-perl_13.1 libdpkg-perl_1.19.7 libelf1_0.176-1.1 liberror-perl_0.17029-1 libexpat1_2.2.9-1 libexpat1-dev_2.2.9-1 libext2fs2_1.45.6-1 libfakeroot_1.24-1 libffi7_3.3-4 libfile-stripnondeterminism-perl_1.8.1-1 libgcc-9-dev_9.3.0-13+rpi1 libgcc-s1_10.1.0-1+rpi1 libgcrypt20_1.8.5-5 libgdbm-compat4_1.18.1-5 libgdbm6_1.18.1-5 libglib2.0-0_2.64.3-1 libgmp10_2:6.2.0+dfsg-4 libgnutls30_3.6.13-2 libgomp1_10.1.0-1+rpi1 libgpg-error0_1.37-1 libgssapi-krb5-2_1.17-7+rpi1+b1 libhogweed5_3.5.1+really3.5.1-2 libhtml-parser-perl_3.72-5 libhtml-tagset-perl_3.20-4 libhttp-date-perl_6.05-1 libicu67_67.1-2 libidn2-0_2.3.0-1 libio-pty-perl_1:1.12-1 libio-socket-ssl-perl_2.067-1 libisl22_0.22.1-1 libk5crypto3_1.17-7+rpi1+b1 libkeyutils1_1.6.1-2 libkrb5-3_1.17-7+rpi1+b1 libkrb5support0_1.17-7+rpi1+b1 libksba8_1.3.5-2 libldap-2.4-2_2.4.50+dfsg-1 libldap-common_2.4.50+dfsg-1 libldap2-dev_2.4.50+dfsg-1 liblocale-gettext-perl_1.07-4 liblz4-1_1.9.2-2 liblzma5_5.2.4-1 libmagic-mgc_1:5.38-5 libmagic1_1:5.38-5 libmailtools-perl_2.21-1 libmount1_2.35.2-2 libmpc3_1.1.0-1 libmpdec2_2.4.2-3 libmpfr6_4.0.2-1 libncursesw6_6.2-1 libnet-smtp-ssl-perl_1.04-1 libnet-ssleay-perl_1.88-3 libnettle7_3.5.1+really3.5.1-2 libnghttp2-14_1.41.0-2 libnpth0_1.6-1 libp11-kit0_0.23.20-1 libpam-modules_1.3.1-5 libpam-modules-bin_1.3.1-5 libpam-runtime_1.3.1-5 libpam0g_1.3.1-5 libpcre2-16-0_10.34-7 libpcre2-32-0_10.34-7 libpcre2-8-0_10.34-7 libpcre2-dev_10.34-7 libpcre2-posix2_10.34-7 libpcre3_2:8.39-12 libperl5.30_5.30.2-1 libpipeline1_1.5.2-2 libpsl5_0.21.0-1.1 libpython3-stdlib_3.8.2-3 libpython3.8-minimal_3.8.3-1 libpython3.8-stdlib_3.8.3-1 libreadline8_8.0-4 librtmp1_2.4+20151223.gitfa8646d.1-2+b1 libsasl2-2_2.1.27+dfsg-2 libsasl2-modules-db_2.1.27+dfsg-2 libsctp-dev_1.0.18+dfsg-1 libsctp1_1.0.18+dfsg-1 libseccomp2_2.4.3-1+rpi1 libselinux1_3.0-1+b1 libsemanage-common_3.0-1 libsemanage1_3.0-1+b1 libsepol1_3.0-1 libserf-1-1_1.3.9-8 libsigsegv2_2.12-2 libsmartcols1_2.35.2-2 libsqlite3-0_3.31.1-5 libss2_1.45.6-1 libssh2-1_1.8.0-2.1 libssl1.1_1.1.1g-1 libstdc++-9-dev_9.3.0-13+rpi1 libstdc++6_10.1.0-1+rpi1 libsub-override-perl_0.09-2 libsvn-perl_1.13.0-4 libsvn1_1.13.0-4 libsystemd0_245.5-3+rpi1 libtasn1-6_4.16.0-2 libtcl8.6_8.6.10+dfsg-1 libtext-charwidth-perl_0.04-10 libtext-iconv-perl_1.7-7 libtimedate-perl_2.3300-1 libtinfo5_6.2-1 libtinfo6_6.2-1 libtool_2.4.6-14 libubsan1_10.1.0-1+rpi1 libuchardet0_0.0.7-1 libudev1_245.5-3+rpi1 libunistring2_0.9.10-2 liburi-perl_1.76-2 libutf8proc2_2.5.0-1 libuuid1_2.35.2-2 libxml2_2.9.10+dfsg-5+b1 libyaml-perl_1.30-1 libzstd1_1.4.4+dfsg-3+rpi1 linux-libc-dev_5.2.17-1+rpi1+b2 login_1:4.8.1-1 logsave_1.45.6-1 lsb-base_11.1.0+rpi1 m4_1.4.18-4 make_4.2.1-2 man-db_2.9.2-1 mawk_1.3.4.20200120-2 mime-support_3.64 mount_2.35.2-2 ncurses-base_6.2-1 ncurses-bin_6.2-1 netbase_6.1 openssl_1.1.1g-1 passwd_1:4.8.1-1 patch_2.7.6-6 perl_5.30.2-1 perl-base_5.30.2-1 perl-modules-5.30_5.30.2-1 perl-openssl-defaults_5 pinentry-curses_1.1.0-4 po-debconf_1.0.21 python3_3.8.2-3 python3-minimal_3.8.2-3 python3.8_3.8.3-1 python3.8-minimal_3.8.3-1 raspbian-archive-keyring_20120528.2 readline-common_8.0-4 sbuild-build-depends-core-dummy_0.invalid.0 sbuild-build-depends-git-dummy_0.invalid.0 sed_4.7-1 sensible-utils_0.0.12+nmu1 subversion_1.13.0-4 sysvinit-utils_2.96-3 tar_1.30+dfsg-7 tcl_8.6.9+1 tcl8.6_8.6.10+dfsg-1 tzdata_2020a-1 unzip_6.0-25 util-linux_2.35.2-2 uuid-dev_2.35.2-2 xz-utils_5.2.4-1 zlib1g_1:1.2.11.dfsg-2 zlib1g-dev_1:1.2.11.dfsg-2
+------------------------------------------------------------------------------+
| Build |
+------------------------------------------------------------------------------+
Unpack source
-------------
gpgv: unknown type of key resource 'trustedkeys.kbx'
gpgv: keyblock resource '/sbuild-nonexistent/.gnupg/trustedkeys.kbx': General error
gpgv: Signature made Mon Jun 1 19:43:39 2020 UTC
gpgv: using RSA key 3F3B8284236CC3B80FC6BDFF446E254535D056EC
gpgv: Can't check signature: No public key
dpkg-source: warning: failed to verify signature on ./git_2.27.0-1.dsc
dpkg-source: info: extracting git in /<<PKGBUILDDIR>>
dpkg-source: info: unpacking git_2.27.0.orig.tar.xz
dpkg-source: info: unpacking git_2.27.0-1.debian.tar.xz
Check disc space
----------------
Sufficient free space for build
User Environment
----------------
APT_CONFIG=/var/lib/sbuild/apt.conf
DEB_BUILD_OPTIONS=parallel=4
HOME=/sbuild-nonexistent
LC_ALL=POSIX
LOGNAME=root
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
SCHROOT_ALIAS_NAME=bullseye-staging-armhf-sbuild
SCHROOT_CHROOT_NAME=bullseye-staging-armhf-sbuild
SCHROOT_COMMAND=env
SCHROOT_GID=109
SCHROOT_GROUP=buildd
SCHROOT_SESSION_ID=bullseye-staging-armhf-sbuild-aa628a2d-8201-46b0-be5c-3e9a28f07c08
SCHROOT_UID=104
SCHROOT_USER=buildd
SHELL=/bin/sh
TERM=xterm
USER=buildd
dpkg-buildpackage
-----------------
dpkg-buildpackage: info: source package git
dpkg-buildpackage: info: source version 1:2.27.0-1
dpkg-buildpackage: info: source distribution unstable
dpkg-source --before-build .
dpkg-buildpackage: info: host architecture armhf
fakeroot debian/rules clean
dh clean --with apache2
dh: warning: Compatibility levels before 10 are deprecated (level 9 in use)
debian/rules override_dh_auto_clean
/usr/bin/make -C contrib/mw-to-git clean 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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2' LDFLAGS='-Wl,-z,relro' HOST_CPU='arm' V=1 USE_LIBPCRE2=1
/usr/bin/make -C ../.. SCRIPT_PERL="contrib/mw-to-git//git-remote-mediawiki.perl contrib/mw-to-git//git-mw.perl" \
clean-perl-script
make[3]: Entering directory '/<<PKGBUILDDIR>>'
GIT_VERSION = 2.27.0
make[3]: Leaving directory '/<<PKGBUILDDIR>>'
make[3]: Entering directory '/<<PKGBUILDDIR>>'
rm -f contrib/mw-to-git//git-remote-mediawiki contrib/mw-to-git//git-mw
make[3]: Leaving directory '/<<PKGBUILDDIR>>'
/usr/bin/make -C contrib/subtree clean 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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2' LDFLAGS='-Wl,-z,relro' HOST_CPU='arm' V=1 USE_LIBPCRE2=1
/usr/bin/make -C ../../ GIT-VERSION-FILE
make[3]: 'GIT-VERSION-FILE' is up to date.
make[2]: Entering directory '/<<PKGBUILDDIR>>/contrib/subtree'
rm -f git-subtree
make[2]: Leaving directory '/<<PKGBUILDDIR>>/contrib/subtree'
make[2]: Entering directory '/<<PKGBUILDDIR>>/contrib/subtree'
rm -f *.xml *.html *.1
make[2]: Leaving directory '/<<PKGBUILDDIR>>/contrib/subtree'
/usr/bin/make clean 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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2' LDFLAGS='-Wl,-z,relro' HOST_CPU='arm' V=1 USE_LIBPCRE2=1
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f contrib/coccinelle/*.cocci.patch*
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f /<<PKGBUILDDIR>>/./*.gcda /<<PKGBUILDDIR>>/builtin/*.gcda /<<PKGBUILDDIR>>/compat/*.gcda /<<PKGBUILDDIR>>/ewah/*.gcda /<<PKGBUILDDIR>>/negotiator/*.gcda /<<PKGBUILDDIR>>/refs/*.gcda /<<PKGBUILDDIR>>/sha1dc/*.gcda /<<PKGBUILDDIR>>/sha256/block/*.gcda /<<PKGBUILDDIR>>/t/helper/*.gcda /<<PKGBUILDDIR>>/trace2/*.gcda /<<PKGBUILDDIR>>/vcs-svn/*.gcda /<<PKGBUILDDIR>>/xdiff/*.gcda
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f ./*.gcov builtin/*.gcov compat/*.gcov ewah/*.gcov negotiator/*.gcov refs/*.gcov sha1dc/*.gcov sha256/block/*.gcov t/helper/*.gcov trace2/*.gcov vcs-svn/*.gcov xdiff/*.gcov
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f ./*.gcda builtin/*.gcda compat/*.gcda ewah/*.gcda negotiator/*.gcda refs/*.gcda sha1dc/*.gcda sha256/block/*.gcda t/helper/*.gcda trace2/*.gcda vcs-svn/*.gcda xdiff/*.gcda
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f /<<PKGBUILDDIR>>/./*.gcno /<<PKGBUILDDIR>>/builtin/*.gcno /<<PKGBUILDDIR>>/compat/*.gcno /<<PKGBUILDDIR>>/ewah/*.gcno /<<PKGBUILDDIR>>/negotiator/*.gcno /<<PKGBUILDDIR>>/refs/*.gcno /<<PKGBUILDDIR>>/sha1dc/*.gcno /<<PKGBUILDDIR>>/sha256/block/*.gcno /<<PKGBUILDDIR>>/t/helper/*.gcno /<<PKGBUILDDIR>>/trace2/*.gcno /<<PKGBUILDDIR>>/vcs-svn/*.gcno /<<PKGBUILDDIR>>/xdiff/*.gcno
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f coverage-untested-functions
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f -r cover_db/
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f -r cover_db_html/
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f ./*.gcno builtin/*.gcno compat/*.gcno ewah/*.gcno negotiator/*.gcno refs/*.gcno sha1dc/*.gcno sha256/block/*.gcno t/helper/*.gcno trace2/*.gcno vcs-svn/*.gcno xdiff/*.gcno
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f *.res
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f abspath.o add-interactive.o add-patch.o advice.o alias.o alloc.o apply.o archive-tar.o archive-zip.o archive.o argv-array.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 interdiff.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-recursive.o merge.o mergesort.o midx.o name-hash.o negotiator/default.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/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 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 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/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.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/fetch-pack.o builtin/fetch.o builtin/fmt-merge-msg.o builtin/for-each-ref.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 bugreport.o credential-store.o daemon.o fast-import.o http-backend.o imap-send.o remote-testsvn.o sh-i18n--envsubst.o shell.o http-fetch.o http-push.o credential-cache.o credential-cache--daemon.o t/helper/test-fake-ssh.o t/helper/test-line-buffer.o t/helper/test-svn-fe.o t/helper/test-tool.o t/helper/test-advise.o t/helper/test-bloom.o t/helper/test-chmtime.o t/helper/test-config.o t/helper/test-ctype.o t/helper/test-date.o t/helper/test-delta.o t/helper/test-dir-iterator.o t/helper/test-drop-caches.o t/helper/test-dump-cache-tree.o t/helper/test-dump-fsmonitor.o t/helper/test-dump-split-index.o t/helper/test-dump-untracked-cache.o t/helper/test-example-decorate.o t/helper/test-genrandom.o t/helper/test-genzeros.o t/helper/test-hash-speed.o t/helper/test-hash.o t/helper/test-hashmap.o t/helper/test-index-version.o t/helper/test-json-writer.o t/helper/test-lazy-init-name-hash.o t/helper/test-match-trees.o t/helper/test-mergesort.o t/helper/test-mktemp.o t/helper/test-oid-array.o t/helper/test-oidmap.o t/helper/test-online-cpus.o t/helper/test-parse-options.o t/helper/test-parse-pathspec-file.o t/helper/test-path-utils.o t/helper/test-pkt-line.o t/helper/test-prio-queue.o t/helper/test-progress.o t/helper/test-reach.o t/helper/test-read-cache.o t/helper/test-read-graph.o t/helper/test-read-midx.o t/helper/test-ref-store.o t/helper/test-regex.o t/helper/test-repository.o t/helper/test-revision-walking.o t/helper/test-run-command.o t/helper/test-scrap-cache-tree.o t/helper/test-serve-v2.o t/helper/test-sha1.o t/helper/test-sha256.o t/helper/test-sigchain.o t/helper/test-strcmp-offset.o t/helper/test-string-list.o t/helper/test-submodule-config.o t/helper/test-submodule-nested-repo-config.o t/helper/test-subprocess.o t/helper/test-trace2.o t/helper/test-urlmatch-normalization.o t/helper/test-wildmatch.o t/helper/test-windows-named-pipe.o t/helper/test-write-cache.o t/helper/test-xml-encode.o xdiff/xdiffi.o xdiff/xemit.o xdiff/xhistogram.o xdiff/xmerge.o xdiff/xpatience.o xdiff/xprepare.o xdiff/xutils.o vcs-svn/fast_export.o vcs-svn/line_buffer.o vcs-svn/sliding_window.o vcs-svn/svndiff.o vcs-svn/svndump.o fuzz-commit-graph.o fuzz-pack-headers.o fuzz-pack-idx.o common-main.o git.o http.o http-walker.o remote-curl.o
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f libgit.a xdiff/lib.a vcs-svn/lib.a
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-bugreport git-credential-store git-daemon git-fast-import git-http-backend git-imap-send git-remote-testsvn git-sh-i18n--envsubst git-shell git-http-fetch git-http-push git-credential-cache git-credential-cache--daemon git-remote-http git-remote-https git-remote-ftp git-remote-ftps git-bisect git-difftool--helper git-filter-branch git-merge-octopus git-merge-one-file git-merge-resolve git-mergetool git-quiltimport git-request-pull git-submodule git-web--browse git-add--interactive git-archimport git-cvsexportcommit git-cvsimport git-cvsserver git-send-email git-svn git-p4 git-instaweb git-mergetool--lib git-parse-remote git-rebase--preserve-merges git-sh-i18n git-sh-setup git-add git-am git-annotate git-apply git-archive git-bisect--helper git-blame git-branch git-bundle git-cat-file git-check-attr git-check-ignore git-check-mailmap git-check-ref-format git-checkout-index git-checkout git-clean git-clone git-column git-commit-graph git-commit-tree git-commit git-config git-count-objects git-credential git-describe git-diff-files git-diff-index git-diff-tree git-diff git-difftool git-env--helper git-fast-export git-fetch-pack git-fetch git-fmt-merge-msg git-for-each-ref git-fsck git-gc git-get-tar-commit-id git-grep git-hash-object git-help git-index-pack git-init-db git-interpret-trailers git-log git-ls-files git-ls-remote git-ls-tree git-mailinfo git-mailsplit git-merge-base git-merge-file git-merge-index git-merge-ours git-merge-recursive git-merge-tree git-merge git-mktag git-mktree git-multi-pack-index git-mv git-name-rev git-notes git-pack-objects git-pack-redundant git-pack-refs git-patch-id git-prune-packed git-prune git-pull git-push git-range-diff git-read-tree git-rebase git-receive-pack git-reflog git-remote-ext git-remote-fd git-remote git-repack git-replace git-rerere git-reset git-rev-list git-rev-parse git-revert git-rm git-send-pack git-shortlog git-show-branch git-show-index git-show-ref git-sparse-checkout git-stash git-stripspace git-submodule--helper git-symbolic-ref git-tag git-unpack-file git-unpack-objects git-update-index git-update-ref git-update-server-info git-upload-archive git-upload-pack git-var git-verify-commit git-verify-pack git-verify-tag git-worktree git-write-tree git-cherry git-cherry-pick git-format-patch git-fsck-objects git-init git-merge-subtree git-restore git-show git-stage git-status git-switch git-whatchanged git
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f t/helper/test-fake-ssh t/helper/test-line-buffer t/helper/test-svn-fe t/helper/test-tool
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f fuzz-commit-graph fuzz-pack-headers fuzz-pack-idx
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f add-interactive.hcc advice.hcc alias.hcc alloc.hcc apply.hcc archive.hcc argv-array.hcc attr.hcc banned.hcc bisect.hcc blame.hcc blob.hcc block-sha1/sha1.hcc bloom.hcc branch.hcc builtin.hcc bulk-checkin.hcc bundle.hcc cache-tree.hcc cache.hcc chdir-notify.hcc checkout.hcc color.hcc column.hcc commit-graph.hcc commit-reach.hcc commit-slab-decl.hcc commit-slab-impl.hcc commit-slab.hcc commit.hcc config.hcc connect.hcc connected.hcc convert.hcc credential.hcc csum-file.hcc decorate.hcc delta-islands.hcc delta.hcc diff.hcc diffcore.hcc dir-iterator.hcc dir.hcc ewah/ewok.hcc ewah/ewok_rlw.hcc exec-cmd.hcc fetch-negotiator.hcc fetch-pack.hcc fmt-merge-msg.hcc fsck.hcc fsmonitor.hcc gettext.hcc git-compat-util.hcc gpg-interface.hcc graph.hcc grep.hcc hash.hcc hashmap.hcc help.hcc http.hcc interdiff.hcc iterator.hcc json-writer.hcc khash.hcc kwset.hcc levenshtein.hcc line-log.hcc line-range.hcc linear-assignment.hcc list-objects-filter-options.hcc list-objects-filter.hcc list-objects.hcc list.hcc ll-merge.hcc lockfile.hcc log-tree.hcc ls-refs.hcc mailinfo.hcc mailmap.hcc mem-pool.hcc merge-blobs.hcc merge-recursive.hcc mergesort.hcc midx.hcc negotiator/default.hcc negotiator/skipping.hcc notes-cache.hcc notes-merge.hcc notes-utils.hcc notes.hcc object-store.hcc object.hcc oid-array.hcc oidmap.hcc oidset.hcc pack-bitmap.hcc pack-objects.hcc pack-revindex.hcc pack.hcc packfile.hcc parse-options.hcc patch-ids.hcc path.hcc pathspec.hcc pkt-line.hcc ppc/sha1.hcc pretty.hcc prio-queue.hcc progress.hcc promisor-remote.hcc prompt.hcc protocol.hcc prune-packed.hcc quote.hcc range-diff.hcc reachable.hcc rebase-interactive.hcc rebase.hcc ref-filter.hcc reflog-walk.hcc refs.hcc refs/packed-backend.hcc refs/ref-cache.hcc refs/refs-internal.hcc refspec.hcc remote.hcc replace-object.hcc repository.hcc rerere.hcc reset.hcc resolve-undo.hcc revision.hcc run-command.hcc send-pack.hcc sequencer.hcc serve.hcc sha1-lookup.hcc sha1dc/sha1.hcc sha1dc/ubc_check.hcc sha1dc_git.hcc sha256/block/sha256.hcc shallow.hcc shortlog.hcc sideband.hcc sigchain.hcc split-index.hcc strbuf.hcc streaming.hcc string-list.hcc sub-process.hcc submodule-config.hcc submodule.hcc tag.hcc tar.hcc tempfile.hcc thread-utils.hcc tmp-objdir.hcc trace.hcc trace2.hcc trace2/tr2_cfg.hcc trace2/tr2_cmd_name.hcc trace2/tr2_dst.hcc trace2/tr2_sid.hcc trace2/tr2_sysenv.hcc trace2/tr2_tbuf.hcc trace2/tr2_tgt.hcc trace2/tr2_tls.hcc trailer.hcc transport-internal.hcc transport.hcc tree-walk.hcc tree.hcc unix-socket.hcc unpack-trees.hcc upload-pack.hcc url.hcc urlmatch.hcc userdiff.hcc utf8.hcc varint.hcc vcs-svn/fast_export.hcc vcs-svn/line_buffer.hcc vcs-svn/sliding_window.hcc vcs-svn/svndiff.hcc vcs-svn/svndump.hcc version.hcc walker.hcc wildmatch.hcc worktree.hcc wt-status.hcc xdiff-interface.hcc
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f -r bin-wrappers ./.depend builtin/.depend compat/.depend ewah/.depend negotiator/.depend refs/.depend sha1dc/.depend sha256/block/.depend t/helper/.depend trace2/.depend vcs-svn/.depend xdiff/.depend
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f -r po/build/
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f *.pyc *.pyo */*.pyc */*.pyo config-list.h command-list.h TAGS tags cscope*
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f -r git-2.27.0 .doc-tmp-dir
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-2.27.0.tar.gz git-core_2.27.0-*.tar.gz
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-htmldocs-2.27.0.tar.gz git-manpages-2.27.0.tar.gz
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
/usr/bin/make -C Documentation/ clean
make[3]: Entering directory '/<<PKGBUILDDIR>>/Documentation'
rm -f mergetools-list.made && \
/bin/sh -c 'MERGE_TOOLS_DIR=../mergetools && \
. ../git-mergetool--lib.sh && \
show_tool_names can_diff "* " || :' >mergetools-diff.txt && \
/bin/sh -c 'MERGE_TOOLS_DIR=../mergetools && \
. ../git-mergetool--lib.sh && \
show_tool_names can_merge "* " || :' >mergetools-merge.txt && \
date >mergetools-list.made
make[3]: Leaving directory '/<<PKGBUILDDIR>>/Documentation'
make[3]: Entering directory '/<<PKGBUILDDIR>>/Documentation'
rm -f cmd-list.made && \
/usr/bin/perl ./cmd-list.perl ../command-list.txt && \
date >cmd-list.made
cmds-ancillaryinterrogators.txt
cmds-ancillarymanipulators.txt
cmds-mainporcelain.txt
cmds-plumbinginterrogators.txt
cmds-plumbingmanipulators.txt
cmds-synchingrepositories.txt
cmds-foreignscminterface.txt
cmds-purehelpers.txt
cmds-synchelpers.txt
make[3]: Leaving directory '/<<PKGBUILDDIR>>/Documentation'
/usr/bin/make -C ../ GIT-VERSION-FILE
make[4]: 'GIT-VERSION-FILE' is up to date.
make[3]: Entering directory '/<<PKGBUILDDIR>>/Documentation'
rm -f doc.dep+ doc.dep && \
/usr/bin/perl ./build-docdep.perl >doc.dep+ && \
mv doc.dep+ doc.dep
make[3]: Leaving directory '/<<PKGBUILDDIR>>/Documentation'
/usr/bin/make -C ../ GIT-VERSION-FILE
make[4]: 'GIT-VERSION-FILE' is up to date.
make[3]: Entering directory '/<<PKGBUILDDIR>>/Documentation'
rm -f *.xml *.xml+ *.html *.html+ *.1 *.5 *.7
make[3]: Leaving directory '/<<PKGBUILDDIR>>/Documentation'
make[3]: Entering directory '/<<PKGBUILDDIR>>/Documentation'
rm -f *.texi *.texi+ *.texi++ git.info gitman.info
make[3]: Leaving directory '/<<PKGBUILDDIR>>/Documentation'
make[3]: Entering directory '/<<PKGBUILDDIR>>/Documentation'
rm -f *.pdf
make[3]: Leaving directory '/<<PKGBUILDDIR>>/Documentation'
make[3]: Entering directory '/<<PKGBUILDDIR>>/Documentation'
rm -f howto-index.txt howto/*.html doc.dep
make[3]: Leaving directory '/<<PKGBUILDDIR>>/Documentation'
make[3]: Entering directory '/<<PKGBUILDDIR>>/Documentation'
rm -f technical/*.html technical/api-index.txt
make[3]: Leaving directory '/<<PKGBUILDDIR>>/Documentation'
make[3]: Entering directory '/<<PKGBUILDDIR>>/Documentation'
rm -f SubmittingPatches.txt
make[3]: Leaving directory '/<<PKGBUILDDIR>>/Documentation'
make[3]: Entering directory '/<<PKGBUILDDIR>>/Documentation'
rm -f cmds-ancillaryinterrogators.txt cmds-ancillarymanipulators.txt cmds-mainporcelain.txt cmds-plumbinginterrogators.txt cmds-plumbingmanipulators.txt cmds-synchingrepositories.txt cmds-synchelpers.txt cmds-purehelpers.txt cmds-foreignscminterface.txt mergetools-diff.txt mergetools-merge.txt *.made
make[3]: Leaving directory '/<<PKGBUILDDIR>>/Documentation'
make[3]: Entering directory '/<<PKGBUILDDIR>>/Documentation'
rm -f manpage-base-url.xsl
make[3]: Leaving directory '/<<PKGBUILDDIR>>/Documentation'
make[3]: Entering directory '/<<PKGBUILDDIR>>/Documentation'
rm -f GIT-ASCIIDOCFLAGS
make[3]: Leaving directory '/<<PKGBUILDDIR>>/Documentation'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f Documentation/GIT-EXCLUDED-PROGRAMS
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
/usr/bin/make -C gitweb clean
/usr/bin/make -C ../ GIT-VERSION-FILE
make[4]: 'GIT-VERSION-FILE' is up to date.
make[3]: Entering directory '/<<PKGBUILDDIR>>/gitweb'
rm -f gitweb.cgi static/gitweb.js \
static/gitweb.min.js static/gitweb.min.css \
GITWEB-BUILD-OPTIONS
make[3]: Leaving directory '/<<PKGBUILDDIR>>/gitweb'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f -r perl/build/
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
/usr/bin/make -C templates/ clean
make[3]: Entering directory '/<<PKGBUILDDIR>>/templates'
rm -f -r blt boilerplates.made
make[3]: Leaving directory '/<<PKGBUILDDIR>>/templates'
/usr/bin/make -C t/ clean
make[3]: Entering directory '/<<PKGBUILDDIR>>/t'
rm -f -r 'chainlinttmp'
make[3]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[3]: Entering directory '/<<PKGBUILDDIR>>/t'
rm -f -r 'trash directory'.* 'test-results'
make[3]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[3]: Entering directory '/<<PKGBUILDDIR>>/t'
rm -f -r valgrind/bin
make[3]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[3]: Entering directory '/<<PKGBUILDDIR>>/t'
rm -f .prove
make[3]: Leaving directory '/<<PKGBUILDDIR>>/t'
/usr/bin/make -C gitk-git clean
make[3]: Entering directory '/<<PKGBUILDDIR>>/gitk-git'
rm -f gitk-wish po/*.msg GIT-TCLTK-VARS
make[3]: Leaving directory '/<<PKGBUILDDIR>>/gitk-git'
/usr/bin/make -C git-gui clean
make[3]: Entering directory '/<<PKGBUILDDIR>>/git-gui'
GITGUI_VERSION = 0.21.0.70.gc1952
make[3]: Leaving directory '/<<PKGBUILDDIR>>/git-gui'
make[3]: Entering directory '/<<PKGBUILDDIR>>/git-gui'
rm -rf git-gui lib/tclIndex po/*.msg
make[3]: Leaving directory '/<<PKGBUILDDIR>>/git-gui'
make[3]: Entering directory '/<<PKGBUILDDIR>>/git-gui'
rm -rf GIT-VERSION-FILE GIT-GUI-VARS
make[3]: Leaving directory '/<<PKGBUILDDIR>>/git-gui'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f GIT-VERSION-FILE GIT-CFLAGS GIT-LDFLAGS GIT-BUILD-OPTIONS
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f GIT-USER-AGENT GIT-PREFIX
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f GIT-SCRIPT-DEFINES GIT-PERL-DEFINES GIT-PERL-HEADER GIT-PYTHON-VARS
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[1]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-subtree
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
debian/rules override_dh_clean
make[1]: Entering directory '/<<PKGBUILDDIR>>'
dh_clean -Xmailinfo.c.orig
dh_clean: warning: Compatibility levels before 10 are deprecated (level 9 in use)
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
debian/rules build-arch
dh build-arch --with apache2
dh: warning: Compatibility levels before 10 are deprecated (level 9 in use)
dh_update_autotools_config -a
debian/rules override_dh_auto_build-arch
make[1]: Entering directory '/<<PKGBUILDDIR>>'
gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/arm-linux-gnueabihf/9/lto-wrapper
Target: arm-linux-gnueabihf
Configured with: ../src/configure -v --with-pkgversion='Raspbian 9.3.0-13+rpi1' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=arm-linux-gnueabihf- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libitm --disable-libquadmath --disable-libquadmath-support --enable-plugin --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-sjlj-exceptions --with-arch=armv6 --with-fpu=vfp --with-float=hard --disable-werror --enable-checking=release --build=arm-linux-gnueabihf --host=arm-linux-gnueabihf --target=arm-linux-gnueabihf --with-build-config=bootstrap-lto-lean --enable-link-mutex
Thread model: posix
gcc version 9.3.0 (Raspbian 9.3.0-13+rpi1)
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
/usr/bin/make all 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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2' LDFLAGS='-Wl,-z,relro' HOST_CPU='arm' V=1 USE_LIBPCRE2=1
make[2]: Entering directory '/<<PKGBUILDDIR>>'
GIT_VERSION = 2.27.0
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
* new build flags
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
gcc -o fuzz-pack-headers.o -c -MF ./.depend/fuzz-pack-headers.o.d -MQ fuzz-pack-headers.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' fuzz-pack-headers.c
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
gcc -o fuzz-commit-graph.o -c -MF ./.depend/fuzz-commit-graph.o.d -MQ fuzz-commit-graph.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' fuzz-commit-graph.c
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
gcc -o fuzz-pack-idx.o -c -MF ./.depend/fuzz-pack-idx.o.d -MQ fuzz-pack-idx.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' fuzz-pack-idx.c
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
* new link flags
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
gcc -o bugreport.o -c -MF ./.depend/bugreport.o.d -MQ bugreport.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' bugreport.c
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
* new prefix flags
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
gcc -o argv-array.o -c -MF ./.depend/argv-array.o.d -MQ argv-array.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' argv-array.c
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
/bin/sh ./generate-cmdlist.sh \
\
command-list.txt >command-list.h+ && mv command-list.h+ command-list.h
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
gcc -o interdiff.o -c -MF ./.depend/interdiff.o.d -MQ interdiff.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' interdiff.c
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
gcc -o credential-store.o -c -MF ./.depend/credential-store.o.d -MQ credential-store.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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-store.c
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
gcc -o remote-testsvn.o -c -MF ./.depend/remote-testsvn.o.d -MQ remote-testsvn.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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-testsvn.c
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
gcc -o vcs-svn/line_buffer.o -c -MF vcs-svn/.depend/line_buffer.o.d -MQ vcs-svn/line_buffer.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' vcs-svn/line_buffer.c
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
gcc -o vcs-svn/fast_export.o -c -MF vcs-svn/.depend/fast_export.o.d -MQ vcs-svn/fast_export.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' vcs-svn/fast_export.c
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
gcc -o vcs-svn/sliding_window.o -c -MF vcs-svn/.depend/sliding_window.o.d -MQ vcs-svn/sliding_window.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' vcs-svn/sliding_window.c
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
gcc -o vcs-svn/svndiff.o -c -MF vcs-svn/.depend/svndiff.o.d -MQ vcs-svn/svndiff.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' vcs-svn/svndiff.c
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
gcc -o vcs-svn/svndump.o -c -MF vcs-svn/.depend/svndump.o.d -MQ vcs-svn/svndump.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' vcs-svn/svndump.c
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
gcc -o credential-cache.o -c -MF ./.depend/credential-cache.o.d -MQ credential-cache.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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-cache.c
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
gcc -o credential-cache--daemon.o -c -MF ./.depend/credential-cache--daemon.o.d -MQ credential-cache--daemon.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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-cache--daemon.c
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
* new script parameters
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
* new perl-specific parameters
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
* new Python interpreter location
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-parse-remote git-parse-remote+ && 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-parse-remote.sh >git-parse-remote+ && \
mv git-parse-remote+ git-parse-remote
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
gcc -o fast-import.o -c -MF ./.depend/fast-import.o.d -MQ fast-import.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' fast-import.c
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
/bin/sh ./generate-configlist.sh \
>config-list.h+ && mv config-list.h+ config-list.h
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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.27.0"' '-DGIT_USER_AGENT="git/2.27.0"' '-DGIT_BUILT_FROM_COMMIT=""' version.c
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f vcs-svn/lib.a && ar rcs vcs-svn/lib.a vcs-svn/fast_export.o vcs-svn/line_buffer.o vcs-svn/sliding_window.o vcs-svn/svndiff.o vcs-svn/svndump.o
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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+ && \
chmod +x git-bisect+ && \
mv git-bisect+ git-bisect
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-difftool--helper git-difftool--helper+ && 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-difftool--helper.sh >git-difftool--helper+ && \
chmod +x git-difftool--helper+ && \
mv git-difftool--helper+ git-difftool--helper
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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+ && \
chmod +x git-merge-octopus+ && \
mv git-merge-octopus+ git-merge-octopus
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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+ && \
chmod +x git-quiltimport+ && \
mv git-quiltimport+ git-quiltimport
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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+ && \
chmod +x git-submodule+ && \
mv git-submodule+ git-submodule
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f GIT-PERL-HEADER && \
INSTLIBDIR='/usr/share/perl5' && \
INSTLIBDIR_EXTRA='' && \
INSTLIBDIR="$INSTLIBDIR${INSTLIBDIR_EXTRA:+:$INSTLIBDIR_EXTRA}" && \
sed -e 's=@@PATHSEP@@=:=g' \
-e "s=@@INSTLIBDIR@@=$INSTLIBDIR=g" \
-e 's=@@PERLLIBDIR_REL@@=share/perl5=g' \
-e 's=@@GITEXECDIR_REL@@=lib/git-core=g' \
-e 's=@@LOCALEDIR_REL@@=share/locale=g' \
perl/header_templates/fixed_prefix.template.pl >GIT-PERL-HEADER+ && \
mv GIT-PERL-HEADER+ GIT-PERL-HEADER
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-p4 git-p4+ && \
sed -e '1s|#!.*python|#!/usr/bin/python3|' \
git-p4.py >git-p4+ && \
chmod +x git-p4+ && \
mv git-p4+ git-p4
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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.27.0/g' \
git-add--interactive.perl >git-add--interactive+ && \
chmod +x git-add--interactive+ && \
mv git-add--interactive+ git-add--interactive
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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.27.0/g' \
git-archimport.perl >git-archimport+ && \
chmod +x git-archimport+ && \
mv git-archimport+ git-archimport
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-cvsexportcommit git-cvsexportcommit+ && \
sed -e '1{' \
-e ' s|#!.*perl|#!/usr/bin/perl|' \
-e ' r GIT-PERL-HEADER' \
-e ' G' \
-e '}' \
-e 's/@@GIT_VERSION@@/2.27.0/g' \
git-cvsexportcommit.perl >git-cvsexportcommit+ && \
chmod +x git-cvsexportcommit+ && \
mv git-cvsexportcommit+ git-cvsexportcommit
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-cvsimport git-cvsimport+ && \
sed -e '1{' \
-e ' s|#!.*perl|#!/usr/bin/perl|' \
-e ' r GIT-PERL-HEADER' \
-e ' G' \
-e '}' \
-e 's/@@GIT_VERSION@@/2.27.0/g' \
git-cvsimport.perl >git-cvsimport+ && \
chmod +x git-cvsimport+ && \
mv git-cvsimport+ git-cvsimport
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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.27.0/g' \
git-cvsserver.perl >git-cvsserver+ && \
chmod +x git-cvsserver+ && \
mv git-cvsserver+ git-cvsserver
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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.27.0/g' \
git-send-email.perl >git-send-email+ && \
chmod +x git-send-email+ && \
mv git-send-email+ git-send-email
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-svn git-svn+ && \
sed -e '1{' \
-e ' s|#!.*perl|#!/usr/bin/perl|' \
-e ' r GIT-PERL-HEADER' \
-e ' G' \
-e '}' \
-e 's/@@GIT_VERSION@@/2.27.0/g' \
git-svn.perl >git-svn+ && \
chmod +x git-svn+ && \
mv git-svn+ git-svn
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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 argv-array.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 interdiff.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-recursive.o merge.o mergesort.o midx.o name-hash.o negotiator/default.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/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 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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
gcc -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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-credential-store -Wl,-z,relro credential-store.o common-main.o libgit.a xdiff/lib.a -lpcre2-8 -lz -lpthread -lrt
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
gcc -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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-bugreport -Wl,-z,relro bugreport.o common-main.o \
libgit.a xdiff/lib.a -lpcre2-8 -lz -lpthread -lrt
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
gcc -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
gcc -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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-fast-import -Wl,-z,relro fast-import.o common-main.o libgit.a xdiff/lib.a -lpcre2-8 -lz -lpthread -lrt
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
gcc -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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-testsvn -Wl,-z,relro remote-testsvn.o common-main.o libgit.a xdiff/lib.a -lpcre2-8 -lz -lpthread -lrt \
vcs-svn/lib.a
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
gcc -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
gcc -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
gcc -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
gcc -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
gcc -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
gcc -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
gcc -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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-credential-cache -Wl,-z,relro credential-cache.o common-main.o libgit.a xdiff/lib.a -lpcre2-8 -lz -lpthread -lrt
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
gcc -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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-credential-cache--daemon -Wl,-z,relro credential-cache--daemon.o common-main.o libgit.a xdiff/lib.a -lpcre2-8 -lz -lpthread -lrt
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
gcc -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-remote-https && \
ln git-remote-http git-remote-https 2>/dev/null || \
ln -s git-remote-http git-remote-https 2>/dev/null || \
cp git-remote-http git-remote-https
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-remote-ftps && \
ln git-remote-http git-remote-ftps 2>/dev/null || \
ln -s git-remote-http git-remote-ftps 2>/dev/null || \
cp git-remote-http git-remote-ftps
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-remote-ftp && \
ln git-remote-http git-remote-ftp 2>/dev/null || \
ln -s git-remote-http git-remote-ftp 2>/dev/null || \
cp git-remote-http git-remote-ftp
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
gcc -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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/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.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/fetch-pack.o builtin/fetch.o builtin/fmt-merge-msg.o builtin/for-each-ref.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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-annotate && \
ln git git-annotate 2>/dev/null || \
ln -s git git-annotate 2>/dev/null || \
cp git git-annotate
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-blame && \
ln git git-blame 2>/dev/null || \
ln -s git git-blame 2>/dev/null || \
cp git git-blame
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-branch && \
ln git git-branch 2>/dev/null || \
ln -s git git-branch 2>/dev/null || \
cp git git-branch
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-check-attr && \
ln git git-check-attr 2>/dev/null || \
ln -s git git-check-attr 2>/dev/null || \
cp git git-check-attr
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-check-ignore && \
ln git git-check-ignore 2>/dev/null || \
ln -s git git-check-ignore 2>/dev/null || \
cp git git-check-ignore
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-cat-file && \
ln git git-cat-file 2>/dev/null || \
ln -s git git-cat-file 2>/dev/null || \
cp git git-cat-file
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-check-mailmap && \
ln git git-check-mailmap 2>/dev/null || \
ln -s git git-check-mailmap 2>/dev/null || \
cp git git-check-mailmap
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-check-ref-format && \
ln git git-check-ref-format 2>/dev/null || \
ln -s git git-check-ref-format 2>/dev/null || \
cp git git-check-ref-format
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-checkout-index && \
ln git git-checkout-index 2>/dev/null || \
ln -s git git-checkout-index 2>/dev/null || \
cp git git-checkout-index
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-checkout && \
ln git git-checkout 2>/dev/null || \
ln -s git git-checkout 2>/dev/null || \
cp git git-checkout
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-clean && \
ln git git-clean 2>/dev/null || \
ln -s git git-clean 2>/dev/null || \
cp git git-clean
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-clone && \
ln git git-clone 2>/dev/null || \
ln -s git git-clone 2>/dev/null || \
cp git git-clone
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-column && \
ln git git-column 2>/dev/null || \
ln -s git git-column 2>/dev/null || \
cp git git-column
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-commit-graph && \
ln git git-commit-graph 2>/dev/null || \
ln -s git git-commit-graph 2>/dev/null || \
cp git git-commit-graph
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-commit && \
ln git git-commit 2>/dev/null || \
ln -s git git-commit 2>/dev/null || \
cp git git-commit
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-commit-tree && \
ln git git-commit-tree 2>/dev/null || \
ln -s git git-commit-tree 2>/dev/null || \
cp git git-commit-tree
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-credential && \
ln git git-credential 2>/dev/null || \
ln -s git git-credential 2>/dev/null || \
cp git git-credential
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-describe && \
ln git git-describe 2>/dev/null || \
ln -s git git-describe 2>/dev/null || \
cp git git-describe
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-diff-files && \
ln git git-diff-files 2>/dev/null || \
ln -s git git-diff-files 2>/dev/null || \
cp git git-diff-files
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-diff-index && \
ln git git-diff-index 2>/dev/null || \
ln -s git git-diff-index 2>/dev/null || \
cp git git-diff-index
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-diff-tree && \
ln git git-diff-tree 2>/dev/null || \
ln -s git git-diff-tree 2>/dev/null || \
cp git git-diff-tree
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-diff && \
ln git git-diff 2>/dev/null || \
ln -s git git-diff 2>/dev/null || \
cp git git-diff
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-env--helper && \
ln git git-env--helper 2>/dev/null || \
ln -s git git-env--helper 2>/dev/null || \
cp git git-env--helper
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-difftool && \
ln git git-difftool 2>/dev/null || \
ln -s git git-difftool 2>/dev/null || \
cp git git-difftool
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-fast-export && \
ln git git-fast-export 2>/dev/null || \
ln -s git git-fast-export 2>/dev/null || \
cp git git-fast-export
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-fetch-pack && \
ln git git-fetch-pack 2>/dev/null || \
ln -s git git-fetch-pack 2>/dev/null || \
cp git git-fetch-pack
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-fetch && \
ln git git-fetch 2>/dev/null || \
ln -s git git-fetch 2>/dev/null || \
cp git git-fetch
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-fmt-merge-msg && \
ln git git-fmt-merge-msg 2>/dev/null || \
ln -s git git-fmt-merge-msg 2>/dev/null || \
cp git git-fmt-merge-msg
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-for-each-ref && \
ln git git-for-each-ref 2>/dev/null || \
ln -s git git-for-each-ref 2>/dev/null || \
cp git git-for-each-ref
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-gc && \
ln git git-gc 2>/dev/null || \
ln -s git git-gc 2>/dev/null || \
cp git git-gc
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-get-tar-commit-id && \
ln git git-get-tar-commit-id 2>/dev/null || \
ln -s git git-get-tar-commit-id 2>/dev/null || \
cp git git-get-tar-commit-id
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-grep && \
ln git git-grep 2>/dev/null || \
ln -s git git-grep 2>/dev/null || \
cp git git-grep
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-help && \
ln git git-help 2>/dev/null || \
ln -s git git-help 2>/dev/null || \
cp git git-help
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-index-pack && \
ln git git-index-pack 2>/dev/null || \
ln -s git git-index-pack 2>/dev/null || \
cp git git-index-pack
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-init-db && \
ln git git-init-db 2>/dev/null || \
ln -s git git-init-db 2>/dev/null || \
cp git git-init-db
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-interpret-trailers && \
ln git git-interpret-trailers 2>/dev/null || \
ln -s git git-interpret-trailers 2>/dev/null || \
cp git git-interpret-trailers
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-ls-files && \
ln git git-ls-files 2>/dev/null || \
ln -s git git-ls-files 2>/dev/null || \
cp git git-ls-files
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-log && \
ln git git-log 2>/dev/null || \
ln -s git git-log 2>/dev/null || \
cp git git-log
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-mailinfo && \
ln git git-mailinfo 2>/dev/null || \
ln -s git git-mailinfo 2>/dev/null || \
cp git git-mailinfo
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-ls-tree && \
ln git git-ls-tree 2>/dev/null || \
ln -s git git-ls-tree 2>/dev/null || \
cp git git-ls-tree
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-mailsplit && \
ln git git-mailsplit 2>/dev/null || \
ln -s git git-mailsplit 2>/dev/null || \
cp git git-mailsplit
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-merge-base && \
ln git git-merge-base 2>/dev/null || \
ln -s git git-merge-base 2>/dev/null || \
cp git git-merge-base
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-merge-file && \
ln git git-merge-file 2>/dev/null || \
ln -s git git-merge-file 2>/dev/null || \
cp git git-merge-file
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-merge-index && \
ln git git-merge-index 2>/dev/null || \
ln -s git git-merge-index 2>/dev/null || \
cp git git-merge-index
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-merge-ours && \
ln git git-merge-ours 2>/dev/null || \
ln -s git git-merge-ours 2>/dev/null || \
cp git git-merge-ours
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-merge-recursive && \
ln git git-merge-recursive 2>/dev/null || \
ln -s git git-merge-recursive 2>/dev/null || \
cp git git-merge-recursive
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-merge-tree && \
ln git git-merge-tree 2>/dev/null || \
ln -s git git-merge-tree 2>/dev/null || \
cp git git-merge-tree
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-notes && \
ln git git-notes 2>/dev/null || \
ln -s git git-notes 2>/dev/null || \
cp git git-notes
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-pack-redundant && \
ln git git-pack-redundant 2>/dev/null || \
ln -s git git-pack-redundant 2>/dev/null || \
cp git git-pack-redundant
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-pack-refs && \
ln git git-pack-refs 2>/dev/null || \
ln -s git git-pack-refs 2>/dev/null || \
cp git git-pack-refs
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-patch-id && \
ln git git-patch-id 2>/dev/null || \
ln -s git git-patch-id 2>/dev/null || \
cp git git-patch-id
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-prune-packed && \
ln git git-prune-packed 2>/dev/null || \
ln -s git git-prune-packed 2>/dev/null || \
cp git git-prune-packed
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-prune && \
ln git git-prune 2>/dev/null || \
ln -s git git-prune 2>/dev/null || \
cp git git-prune
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-pull && \
ln git git-pull 2>/dev/null || \
ln -s git git-pull 2>/dev/null || \
cp git git-pull
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-push && \
ln git git-push 2>/dev/null || \
ln -s git git-push 2>/dev/null || \
cp git git-push
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-read-tree && \
ln git git-read-tree 2>/dev/null || \
ln -s git git-read-tree 2>/dev/null || \
cp git git-read-tree
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-rebase && \
ln git git-rebase 2>/dev/null || \
ln -s git git-rebase 2>/dev/null || \
cp git git-rebase
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-receive-pack && \
ln git git-receive-pack 2>/dev/null || \
ln -s git git-receive-pack 2>/dev/null || \
cp git git-receive-pack
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-reflog && \
ln git git-reflog 2>/dev/null || \
ln -s git git-reflog 2>/dev/null || \
cp git git-reflog
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-remote-ext && \
ln git git-remote-ext 2>/dev/null || \
ln -s git git-remote-ext 2>/dev/null || \
cp git git-remote-ext
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-remote-fd && \
ln git git-remote-fd 2>/dev/null || \
ln -s git git-remote-fd 2>/dev/null || \
cp git git-remote-fd
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-remote && \
ln git git-remote 2>/dev/null || \
ln -s git git-remote 2>/dev/null || \
cp git git-remote
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-rerere && \
ln git git-rerere 2>/dev/null || \
ln -s git git-rerere 2>/dev/null || \
cp git git-rerere
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-reset && \
ln git git-reset 2>/dev/null || \
ln -s git git-reset 2>/dev/null || \
cp git git-reset
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-rev-parse && \
ln git git-rev-parse 2>/dev/null || \
ln -s git git-rev-parse 2>/dev/null || \
cp git git-rev-parse
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-rev-list && \
ln git git-rev-list 2>/dev/null || \
ln -s git git-rev-list 2>/dev/null || \
cp git git-rev-list
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-show-branch && \
ln git git-show-branch 2>/dev/null || \
ln -s git git-show-branch 2>/dev/null || \
cp git git-show-branch
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-show-index && \
ln git git-show-index 2>/dev/null || \
ln -s git git-show-index 2>/dev/null || \
cp git git-show-index
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-stash && \
ln git git-stash 2>/dev/null || \
ln -s git git-stash 2>/dev/null || \
cp git git-stash
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-submodule--helper && \
ln git git-submodule--helper 2>/dev/null || \
ln -s git git-submodule--helper 2>/dev/null || \
cp git git-submodule--helper
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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 || \
cp git git-update-server-info
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-upload-archive && \
ln git git-upload-archive 2>/dev/null || \
ln -s git git-upload-archive 2>/dev/null || \
cp git git-upload-archive
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-upload-pack && \
ln git git-upload-pack 2>/dev/null || \
ln -s git git-upload-pack 2>/dev/null || \
cp git git-upload-pack
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-verify-pack && \
ln git git-verify-pack 2>/dev/null || \
ln -s git git-verify-pack 2>/dev/null || \
cp git git-verify-pack
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-worktree && \
ln git git-worktree 2>/dev/null || \
ln -s git git-worktree 2>/dev/null || \
cp git git-worktree
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-write-tree && \
ln git git-write-tree 2>/dev/null || \
ln -s git git-write-tree 2>/dev/null || \
cp git git-write-tree
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-verify-tag && \
ln git git-verify-tag 2>/dev/null || \
ln -s git git-verify-tag 2>/dev/null || \
cp git git-verify-tag
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-cherry-pick && \
ln git git-cherry-pick 2>/dev/null || \
ln -s git git-cherry-pick 2>/dev/null || \
cp git git-cherry-pick
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-format-patch && \
ln git git-format-patch 2>/dev/null || \
ln -s git git-format-patch 2>/dev/null || \
cp git git-format-patch
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-fsck-objects && \
ln git git-fsck-objects 2>/dev/null || \
ln -s git git-fsck-objects 2>/dev/null || \
cp git git-fsck-objects
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-merge-subtree && \
ln git git-merge-subtree 2>/dev/null || \
ln -s git git-merge-subtree 2>/dev/null || \
cp git git-merge-subtree
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-restore && \
ln git git-restore 2>/dev/null || \
ln -s git git-restore 2>/dev/null || \
cp git git-restore
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-init && \
ln git git-init 2>/dev/null || \
ln -s git git-init 2>/dev/null || \
cp git git-init
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-show && \
ln git git-show 2>/dev/null || \
ln -s git git-show 2>/dev/null || \
cp git git-show
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-stage && \
ln git git-stage 2>/dev/null || \
ln -s git git-stage 2>/dev/null || \
cp git git-stage
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-whatchanged && \
ln git git-whatchanged 2>/dev/null || \
ln -s git git-whatchanged 2>/dev/null || \
cp git git-whatchanged
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
/usr/bin/make -C git-gui gitexecdir='/usr/lib/git-core' all
make[3]: Entering directory '/<<PKGBUILDDIR>>/git-gui'
GITGUI_VERSION = 0.21.0.70.gc1952
make[3]: Leaving directory '/<<PKGBUILDDIR>>/git-gui'
make[3]: Entering directory '/<<PKGBUILDDIR>>/git-gui'
* new locations or Tcl/Tk interpreter
make[3]: Leaving directory '/<<PKGBUILDDIR>>/git-gui'
make[3]: Entering directory '/<<PKGBUILDDIR>>/git-gui'
msgfmt --statistics --tcl -l de -d po/ po/de.po
579 translated messages.
make[3]: Leaving directory '/<<PKGBUILDDIR>>/git-gui'
make[3]: Entering directory '/<<PKGBUILDDIR>>/git-gui'
msgfmt --statistics --tcl -l pt_pt -d po/ po/pt_pt.po
550 translated messages.
make[3]: Leaving directory '/<<PKGBUILDDIR>>/git-gui'
make[3]: Entering directory '/<<PKGBUILDDIR>>/git-gui'
msgfmt --statistics --tcl -l vi -d po/ po/vi.po
543 translated messages.
make[3]: Leaving directory '/<<PKGBUILDDIR>>/git-gui'
make[3]: Entering directory '/<<PKGBUILDDIR>>/git-gui'
msgfmt --statistics --tcl -l hu -d po/ po/hu.po
514 translated messages.
make[3]: Leaving directory '/<<PKGBUILDDIR>>/git-gui'
make[3]: Entering directory '/<<PKGBUILDDIR>>/git-gui'
msgfmt --statistics --tcl -l nb -d po/ po/nb.po
474 translated messages, 39 untranslated messages.
make[3]: Leaving directory '/<<PKGBUILDDIR>>/git-gui'
make[3]: Entering directory '/<<PKGBUILDDIR>>/git-gui'
msgfmt --statistics --tcl -l sv -d po/ po/sv.po
547 translated messages.
make[3]: Leaving directory '/<<PKGBUILDDIR>>/git-gui'
make[3]: Entering directory '/<<PKGBUILDDIR>>/git-gui'
msgfmt --statistics --tcl -l fr -d po/ po/fr.po
520 translated messages.
make[3]: Leaving directory '/<<PKGBUILDDIR>>/git-gui'
make[3]: Entering directory '/<<PKGBUILDDIR>>/git-gui'
msgfmt --statistics --tcl -l it -d po/ po/it.po
519 translated messages, 1 untranslated message.
make[3]: Leaving directory '/<<PKGBUILDDIR>>/git-gui'
make[3]: Entering directory '/<<PKGBUILDDIR>>/git-gui'
msgfmt --statistics --tcl -l ja -d po/ po/ja.po
546 translated messages, 1 untranslated message.
make[3]: Leaving directory '/<<PKGBUILDDIR>>/git-gui'
make[3]: Entering directory '/<<PKGBUILDDIR>>/git-gui'
msgfmt --statistics --tcl -l pt_br -d po/ po/pt_br.po
520 translated messages.
make[3]: Leaving directory '/<<PKGBUILDDIR>>/git-gui'
make[3]: Entering directory '/<<PKGBUILDDIR>>/git-gui'
msgfmt --statistics --tcl -l ru -d po/ po/ru.po
520 translated messages.
make[3]: Leaving directory '/<<PKGBUILDDIR>>/git-gui'
make[3]: Entering directory '/<<PKGBUILDDIR>>/git-gui'
msgfmt --statistics --tcl -l bg -d po/ po/bg.po
565 translated messages.
make[3]: Leaving directory '/<<PKGBUILDDIR>>/git-gui'
make[3]: Entering directory '/<<PKGBUILDDIR>>/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 '/<<PKGBUILDDIR>>/git-gui'
make[3]: Entering directory '/<<PKGBUILDDIR>>/git-gui'
rm -f git-gui git-gui+ && \
sed -e '1s|#!.*/sh|#!/bin/sh|' \
-e 's|@@SHELL_PATH@@|/bin/sh|' \
-e '1,30s|^ argv0=$0| argv0=$0|' \
-e '1,30s|^ exec wish | exec '\''wish'\'' |' \
-e 's/@@GITGUI_VERSION@@/0.21.0.70.gc1952/g' \
-e 's|@@GITGUI_RELATIVE@@||' \
-e 's|@@GITGUI_LIBDIR@@|/usr/share/git-gui/lib|' \
git-gui.sh >git-gui+ && \
chmod +x git-gui+ && \
mv git-gui+ git-gui
make[3]: Leaving directory '/<<PKGBUILDDIR>>/git-gui'
make[3]: Entering directory '/<<PKGBUILDDIR>>/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 '/<<PKGBUILDDIR>>/git-gui'
make[3]: Entering directory '/<<PKGBUILDDIR>>/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 \
| tclsh ; then : ok; \
else \
echo >&2 " * tclsh failed; using unoptimized loading"; \
rm -f lib/tclIndex ; \
echo '# Autogenerated by git-gui Makefile' >lib/tclIndex && \
echo >>lib/tclIndex && \
echo 'class.tcl' >>lib/tclIndex && echo 'about.tcl' >>lib/tclIndex && echo 'blame.tcl' >>lib/tclIndex && echo 'branch.tcl' >>lib/tclIndex && echo 'branch_checkout.tcl' >>lib/tclIndex && echo 'branch_create.tcl' >>lib/tclIndex && echo 'branch_delete.tcl' >>lib/tclIndex && echo 'branch_rename.tcl' >>lib/tclIndex && echo 'browser.tcl' >>lib/tclIndex && echo 'checkout_op.tcl' >>lib/tclIndex && echo 'choose_font.tcl' >>lib/tclIndex && echo 'choose_repository.tcl' >>lib/tclIndex && echo 'choose_rev.tcl' >>lib/tclIndex && echo 'chord.tcl' >>lib/tclIndex && echo 'class.tcl' >>lib/tclIndex && echo 'commit.tcl' >>lib/tclIndex && echo 'console.tcl' >>lib/tclIndex && echo 'database.tcl' >>lib/tclIndex && echo 'date.tcl' >>lib/tclIndex && echo 'diff.tcl' >>lib/tclIndex && echo 'encoding.tcl' >>lib/tclIndex && echo 'error.tcl' >>lib/tclIndex && echo 'index.tcl' >>lib/tclIndex && echo 'line.tcl' >>lib/tclIndex && echo 'logo.tcl' >>lib/tclIndex && echo 'merge.tcl' >>lib/tclIndex && echo 'mergetool.tcl' >>lib/tclIndex && echo 'option.tcl' >>lib/tclIndex && echo 'remote.tcl' >>lib/tclIndex && echo 'remote_add.tcl' >>lib/tclIndex && echo 'remote_branch_delete.tcl' >>lib/tclIndex && echo 'search.tcl' >>lib/tclIndex && echo 'shortcut.tcl' >>lib/tclIndex && echo 'spellcheck.tcl' >>lib/tclIndex && echo 'sshkey.tcl' >>lib/tclIndex && echo 'status_bar.tcl' >>lib/tclIndex && echo 'themed.tcl' >>lib/tclIndex && echo 'tools.tcl' >>lib/tclIndex && echo 'tools_dlg.tcl' >>lib/tclIndex && echo 'transport.tcl' >>lib/tclIndex && echo 'win32.tcl' >>lib/tclIndex && \
echo >>lib/tclIndex ; \
fi
make[3]: Leaving directory '/<<PKGBUILDDIR>>/git-gui'
/usr/bin/make -C gitk-git all
make[3]: Entering directory '/<<PKGBUILDDIR>>/gitk-git'
* new Tcl/Tk interpreter location
make[3]: Leaving directory '/<<PKGBUILDDIR>>/gitk-git'
make[3]: Entering directory '/<<PKGBUILDDIR>>/gitk-git'
Generating catalog po/de.msg
make[3]: Leaving directory '/<<PKGBUILDDIR>>/gitk-git'
make[3]: Entering directory '/<<PKGBUILDDIR>>/gitk-git'
Generating catalog po/pt_pt.msg
make[3]: Leaving directory '/<<PKGBUILDDIR>>/gitk-git'
make[3]: Entering directory '/<<PKGBUILDDIR>>/gitk-git'
Generating catalog po/vi.msg
make[3]: Leaving directory '/<<PKGBUILDDIR>>/gitk-git'
make[3]: Entering directory '/<<PKGBUILDDIR>>/gitk-git'
Generating catalog po/ca.msg
make[3]: Leaving directory '/<<PKGBUILDDIR>>/gitk-git'
make[3]: Entering directory '/<<PKGBUILDDIR>>/gitk-git'
msgfmt --statistics --tcl po/pt_pt.po -l pt_pt -d po/
311 translated messages.
make[3]: Leaving directory '/<<PKGBUILDDIR>>/gitk-git'
make[3]: Entering directory '/<<PKGBUILDDIR>>/gitk-git'
msgfmt --statistics --tcl po/de.po -l de -d po/
307 translated messages.
make[3]: Leaving directory '/<<PKGBUILDDIR>>/gitk-git'
make[3]: Entering directory '/<<PKGBUILDDIR>>/gitk-git'
msgfmt --statistics --tcl po/vi.po -l vi -d po/
307 translated messages.
make[3]: Leaving directory '/<<PKGBUILDDIR>>/gitk-git'
make[3]: Entering directory '/<<PKGBUILDDIR>>/gitk-git'
Generating catalog po/es.msg
make[3]: Leaving directory '/<<PKGBUILDDIR>>/gitk-git'
make[3]: Entering directory '/<<PKGBUILDDIR>>/gitk-git'
Generating catalog po/sv.msg
make[3]: Leaving directory '/<<PKGBUILDDIR>>/gitk-git'
make[3]: Entering directory '/<<PKGBUILDDIR>>/gitk-git'
msgfmt --statistics --tcl po/ca.po -l ca -d po/
307 translated messages.
make[3]: Leaving directory '/<<PKGBUILDDIR>>/gitk-git'
make[3]: Entering directory '/<<PKGBUILDDIR>>/gitk-git'
Generating catalog po/hu.msg
make[3]: Leaving directory '/<<PKGBUILDDIR>>/gitk-git'
make[3]: Entering directory '/<<PKGBUILDDIR>>/gitk-git'
Generating catalog po/fr.msg
make[3]: Leaving directory '/<<PKGBUILDDIR>>/gitk-git'
make[3]: Entering directory '/<<PKGBUILDDIR>>/gitk-git'
msgfmt --statistics --tcl po/es.po -l es -d po/
184 translated messages, 46 fuzzy translations, 77 untranslated messages.
make[3]: Leaving directory '/<<PKGBUILDDIR>>/gitk-git'
make[3]: Entering directory '/<<PKGBUILDDIR>>/gitk-git'
Generating catalog po/it.msg
make[3]: Leaving directory '/<<PKGBUILDDIR>>/gitk-git'
make[3]: Entering directory '/<<PKGBUILDDIR>>/gitk-git'
msgfmt --statistics --tcl po/sv.po -l sv -d po/
311 translated messages.
make[3]: Leaving directory '/<<PKGBUILDDIR>>/gitk-git'
make[3]: Entering directory '/<<PKGBUILDDIR>>/gitk-git'
msgfmt --statistics --tcl po/hu.po -l hu -d po/
277 translated messages, 18 fuzzy translations, 12 untranslated messages.
make[3]: Leaving directory '/<<PKGBUILDDIR>>/gitk-git'
make[3]: Entering directory '/<<PKGBUILDDIR>>/gitk-git'
Generating catalog po/ja.msg
make[3]: Leaving directory '/<<PKGBUILDDIR>>/gitk-git'
make[3]: Entering directory '/<<PKGBUILDDIR>>/gitk-git'
Generating catalog po/pt_br.msg
make[3]: Leaving directory '/<<PKGBUILDDIR>>/gitk-git'
make[3]: Entering directory '/<<PKGBUILDDIR>>/gitk-git'
msgfmt --statistics --tcl po/fr.po -l fr -d po/
311 translated messages.
make[3]: Leaving directory '/<<PKGBUILDDIR>>/gitk-git'
make[3]: Entering directory '/<<PKGBUILDDIR>>/gitk-git'
Generating catalog po/bg.msg
make[3]: Leaving directory '/<<PKGBUILDDIR>>/gitk-git'
make[3]: Entering directory '/<<PKGBUILDDIR>>/gitk-git'
msgfmt --statistics --tcl po/it.po -l it -d po/
274 translated messages, 17 fuzzy translations, 16 untranslated messages.
make[3]: Leaving directory '/<<PKGBUILDDIR>>/gitk-git'
make[3]: Entering directory '/<<PKGBUILDDIR>>/gitk-git'
Generating catalog po/ru.msg
make[3]: Leaving directory '/<<PKGBUILDDIR>>/gitk-git'
make[3]: Entering directory '/<<PKGBUILDDIR>>/gitk-git'
msgfmt --statistics --tcl po/ja.po -l ja -d po/
311 translated messages.
make[3]: Leaving directory '/<<PKGBUILDDIR>>/gitk-git'
make[3]: Entering directory '/<<PKGBUILDDIR>>/gitk-git'
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 '/<<PKGBUILDDIR>>/gitk-git'
make[3]: Entering directory '/<<PKGBUILDDIR>>/gitk-git'
Generating catalog po/zh_cn.msg
make[3]: Leaving directory '/<<PKGBUILDDIR>>/gitk-git'
make[3]: Entering directory '/<<PKGBUILDDIR>>/gitk-git'
msgfmt --statistics --tcl po/bg.po -l bg -d po/
317 translated messages.
make[3]: Leaving directory '/<<PKGBUILDDIR>>/gitk-git'
make[3]: Entering directory '/<<PKGBUILDDIR>>/gitk-git'
rm -f gitk-wish gitk-wish+ && \
sed -e '1,3s|^exec .* "$0"|exec wish "$0"|' <gitk >gitk-wish+ && \
chmod +x gitk-wish+ && \
mv -f gitk-wish+ gitk-wish
make[3]: Leaving directory '/<<PKGBUILDDIR>>/gitk-git'
make[3]: Entering directory '/<<PKGBUILDDIR>>/gitk-git'
msgfmt --statistics --tcl po/ru.po -l ru -d po/
317 translated messages.
make[3]: Leaving directory '/<<PKGBUILDDIR>>/gitk-git'
make[3]: Entering directory '/<<PKGBUILDDIR>>/gitk-git'
msgfmt --statistics --tcl po/zh_cn.po -l zh_cn -d po/
317 translated messages.
make[3]: Leaving directory '/<<PKGBUILDDIR>>/gitk-git'
/usr/bin/make -C templates SHELL_PATH='/bin/sh' PERL_PATH='/usr/bin/perl'
make[3]: Entering directory '/<<PKGBUILDDIR>>/templates'
: no custom templates yet
make[3]: Leaving directory '/<<PKGBUILDDIR>>/templates'
make[3]: Entering directory '/<<PKGBUILDDIR>>/templates'
umask 022 && ls *--* 2>/dev/null | \
while read boilerplate; \
do \
case "$boilerplate" in *~) continue ;; esac && \
dst=`echo "$boilerplate" | sed -e 's|^this|.|;s|--|/|g'` && \
dir=`expr "$dst" : '\(.*\)/'` && \
mkdir -p blt/$dir && \
case "$boilerplate" in \
*--) continue;; \
esac && \
sed -e '1s|#!.*/sh|#!/bin/sh|' \
-e 's|@SHELL_PATH@|/bin/sh|' \
-e 's|@PERL_PATH@|/usr/bin/perl|g' $boilerplate > \
blt/$dst && \
if test -x "$boilerplate"; then rx=rx; else rx=r; fi && \
chmod a+$rx "blt/$dst" || exit; \
done && \
date >boilerplates.made
make[3]: Leaving directory '/<<PKGBUILDDIR>>/templates'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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
3198 translated messages.
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
mkdir -p po/build/locale/is/LC_MESSAGES/ && msgfmt --check --statistics -o po/build/locale/is/LC_MESSAGES/git.mo po/is.po
14 translated messages.
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
mkdir -p po/build/locale/tr/LC_MESSAGES/ && msgfmt --check --statistics -o po/build/locale/tr/LC_MESSAGES/git.mo po/tr.po
4875 translated messages.
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
mkdir -p po/build/locale/de/LC_MESSAGES/ && msgfmt --check --statistics -o po/build/locale/de/LC_MESSAGES/git.mo po/de.po
4875 translated messages.
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
mkdir -p po/build/locale/vi/LC_MESSAGES/ && msgfmt --check --statistics -o po/build/locale/vi/LC_MESSAGES/git.mo po/vi.po
4875 translated messages.
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
mkdir -p po/build/locale/ca/LC_MESSAGES/ && msgfmt --check --statistics -o po/build/locale/ca/LC_MESSAGES/git.mo po/ca.po
4098 translated messages, 740 fuzzy translations, 37 untranslated messages.
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
mkdir -p po/build/locale/es/LC_MESSAGES/ && msgfmt --check --statistics -o po/build/locale/es/LC_MESSAGES/git.mo po/es.po
4874 translated messages.
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
mkdir -p po/build/locale/sv/LC_MESSAGES/ && msgfmt --check --statistics -o po/build/locale/sv/LC_MESSAGES/git.mo po/sv.po
4875 translated messages.
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
mkdir -p po/build/locale/fr/LC_MESSAGES/ && msgfmt --check --statistics -o po/build/locale/fr/LC_MESSAGES/git.mo po/fr.po
4875 translated messages.
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
mkdir -p po/build/locale/it/LC_MESSAGES/ && msgfmt --check --statistics -o po/build/locale/it/LC_MESSAGES/git.mo po/it.po
4875 translated messages.
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
mkdir -p po/build/locale/bg/LC_MESSAGES/ && msgfmt --check --statistics -o po/build/locale/bg/LC_MESSAGES/git.mo po/bg.po
4875 translated messages.
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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
4875 translated messages.
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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
4875 translated messages.
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
mkdir -p perl/build/lib/ && \
sed -e 's|@@LOCALEDIR@@|/usr/share/locale|g' \
-e 's|@@NO_PERL_CPAN_FALLBACKS@@|1|g' \
< perl/Git.pm > perl/build/lib/Git.pm
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
mkdir -p perl/build/lib/Git/ && \
sed -e 's|@@LOCALEDIR@@|/usr/share/locale|g' \
-e 's|@@NO_PERL_CPAN_FALLBACKS@@|1|g' \
< perl/Git/IndexInfo.pm > perl/build/lib/Git/IndexInfo.pm
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
mkdir -p perl/build/lib/Git/ && \
sed -e 's|@@LOCALEDIR@@|/usr/share/locale|g' \
-e 's|@@NO_PERL_CPAN_FALLBACKS@@|1|g' \
< perl/Git/I18N.pm > perl/build/lib/Git/I18N.pm
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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.pm > perl/build/lib/Git/LoadCPAN.pm
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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/LoadCPAN/Error.pm > perl/build/lib/Git/LoadCPAN/Error.pm
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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/Fetcher.pm > perl/build/lib/Git/SVN/Fetcher.pm
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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/Utils.pm > perl/build/lib/Git/SVN/Utils.pm
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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/Editor.pm > perl/build/lib/Git/SVN/Editor.pm
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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/Log.pm > perl/build/lib/Git/SVN/Log.pm
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
mkdir -p perl/build/lib/Git/LoadCPAN/Mail/ && \
sed -e 's|@@LOCALEDIR@@|/usr/share/locale|g' \
-e 's|@@NO_PERL_CPAN_FALLBACKS@@|1|g' \
< perl/Git/LoadCPAN/Mail/Address.pm > perl/build/lib/Git/LoadCPAN/Mail/Address.pm
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
mkdir -p perl/build/lib/Git/SVN/Memoize/ && \
sed -e 's|@@LOCALEDIR@@|/usr/share/locale|g' \
-e 's|@@NO_PERL_CPAN_FALLBACKS@@|1|g' \
< perl/Git/SVN/Memoize/YAML.pm > perl/build/lib/Git/SVN/Memoize/YAML.pm
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
gcc -o t/helper/test-svn-fe.o -c -MF t/helper/.depend/test-svn-fe.o.d -MQ t/helper/test-svn-fe.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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-svn-fe.c
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
gcc -o t/helper/test-line-buffer.o -c -MF t/helper/.depend/test-line-buffer.o.d -MQ t/helper/test-line-buffer.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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-line-buffer.c
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
gcc -o t/helper/test-dump-cache-tree.o -c -MF t/helper/.depend/test-dump-cache-tree.o.d -MQ t/helper/test-dump-cache-tree.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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-cache-tree.c
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
sed -e '1s|#!.*/sh|#!/bin/sh|' \
-e 's|@@BUILD_DIR@@|/<<PKGBUILDDIR>>|' \
-e 's|@@PROG@@|git|' < wrap-for-bin.sh > bin-wrappers/git && \
chmod +x bin-wrappers/git
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
sed -e '1s|#!.*/sh|#!/bin/sh|' \
-e 's|@@BUILD_DIR@@|/<<PKGBUILDDIR>>|' \
-e 's|@@PROG@@|git-receive-pack|' < wrap-for-bin.sh > bin-wrappers/git-receive-pack && \
chmod +x bin-wrappers/git-receive-pack
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
sed -e '1s|#!.*/sh|#!/bin/sh|' \
-e 's|@@BUILD_DIR@@|/<<PKGBUILDDIR>>|' \
-e 's|@@PROG@@|git-shell|' < wrap-for-bin.sh > bin-wrappers/git-shell && \
chmod +x bin-wrappers/git-shell
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
sed -e '1s|#!.*/sh|#!/bin/sh|' \
-e 's|@@BUILD_DIR@@|/<<PKGBUILDDIR>>|' \
-e 's|@@PROG@@|git-upload-archive|' < wrap-for-bin.sh > bin-wrappers/git-upload-archive && \
chmod +x bin-wrappers/git-upload-archive
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
sed -e '1s|#!.*/sh|#!/bin/sh|' \
-e 's|@@BUILD_DIR@@|/<<PKGBUILDDIR>>|' \
-e 's|@@PROG@@|git-upload-pack|' < wrap-for-bin.sh > bin-wrappers/git-upload-pack && \
chmod +x bin-wrappers/git-upload-pack
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
sed -e '1s|#!.*/sh|#!/bin/sh|' \
-e 's|@@BUILD_DIR@@|/<<PKGBUILDDIR>>|' \
-e 's|@@PROG@@|git-cvsserver|' < wrap-for-bin.sh > bin-wrappers/git-cvsserver && \
chmod +x bin-wrappers/git-cvsserver
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
sed -e '1s|#!.*/sh|#!/bin/sh|' \
-e 's|@@BUILD_DIR@@|/<<PKGBUILDDIR>>|' \
-e 's|@@PROG@@|t/helper/test-fake-ssh|' < wrap-for-bin.sh > bin-wrappers/test-fake-ssh && \
chmod +x bin-wrappers/test-fake-ssh
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
sed -e '1s|#!.*/sh|#!/bin/sh|' \
-e 's|@@BUILD_DIR@@|/<<PKGBUILDDIR>>|' \
-e 's|@@PROG@@|t/helper/test-line-buffer|' < wrap-for-bin.sh > bin-wrappers/test-line-buffer && \
chmod +x bin-wrappers/test-line-buffer
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
sed -e '1s|#!.*/sh|#!/bin/sh|' \
-e 's|@@BUILD_DIR@@|/<<PKGBUILDDIR>>|' \
-e 's|@@PROG@@|t/helper/test-svn-fe|' < wrap-for-bin.sh > bin-wrappers/test-svn-fe && \
chmod +x bin-wrappers/test-svn-fe
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
sed -e '1s|#!.*/sh|#!/bin/sh|' \
-e 's|@@BUILD_DIR@@|/<<PKGBUILDDIR>>|' \
-e 's|@@PROG@@|t/helper/test-tool|' < wrap-for-bin.sh > bin-wrappers/test-tool && \
chmod +x bin-wrappers/test-tool
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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 '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
gcc -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
gcc -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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-line-buffer -Wl,-z,relro t/helper/test-line-buffer.o common-main.o libgit.a xdiff/lib.a vcs-svn/lib.a libgit.a xdiff/lib.a -lpcre2-8 -lz -lpthread -lrt
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
gcc -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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-svn-fe -Wl,-z,relro t/helper/test-svn-fe.o common-main.o libgit.a xdiff/lib.a vcs-svn/lib.a libgit.a xdiff/lib.a -lpcre2-8 -lz -lpthread -lrt
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
gcc -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"arm\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/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-tool -Wl,-z,relro t/helper/test-tool.o common-main.o t/helper/test-advise.o t/helper/test-bloom.o t/helper/test-chmtime.o t/helper/test-config.o t/helper/test-ctype.o t/helper/test-date.o t/helper/test-delta.o t/helper/test-dir-iterator.o t/helper/test-drop-caches.o t/helper/test-dump-cache-tree.o t/helper/test-dump-fsmonitor.o t/helper/test-dump-split-index.o t/helper/test-dump-untracked-cache.o t/helper/test-example-decorate.o t/helper/test-genrandom.o t/helper/test-genzeros.o t/helper/test-hash-speed.o t/helper/test-hash.o t/helper/test-hashmap.o t/helper/test-index-version.o t/helper/test-json-writer.o t/helper/test-lazy-init-name-hash.o t/helper/test-match-trees.o t/helper/test-mergesort.o t/helper/test-mktemp.o t/helper/test-oid-array.o t/helper/test-oidmap.o t/helper/test-online-cpus.o t/helper/test-parse-options.o t/helper/test-parse-pathspec-file.o t/helper/test-path-utils.o t/helper/test-pkt-line.o t/helper/test-prio-queue.o t/helper/test-progress.o t/helper/test-reach.o t/helper/test-read-cache.o t/helper/test-read-graph.o t/helper/test-read-midx.o t/helper/test-ref-store.o t/helper/test-regex.o t/helper/test-repository.o t/helper/test-revision-walking.o t/helper/test-run-command.o t/helper/test-scrap-cache-tree.o t/helper/test-serve-v2.o t/helper/test-sha1.o t/helper/test-sha256.o t/helper/test-sigchain.o t/helper/test-strcmp-offset.o t/helper/test-string-list.o t/helper/test-submodule-config.o t/helper/test-submodule-nested-repo-config.o t/helper/test-subprocess.o t/helper/test-trace2.o t/helper/test-urlmatch-normalization.o t/helper/test-wildmatch.o t/helper/test-windows-named-pipe.o t/helper/test-write-cache.o t/helper/test-xml-encode.o libgit.a xdiff/lib.a libgit.a xdiff/lib.a -lpcre2-8 -lz -lpthread -lrt
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[1]: Entering directory '/<<PKGBUILDDIR>>'
touch build-stamp
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
/usr/bin/make -C contrib/subtree all 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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2' LDFLAGS='-Wl,-z,relro' HOST_CPU='arm' V=1 USE_LIBPCRE2=1
/usr/bin/make -C ../../ GIT-VERSION-FILE
make[3]: 'GIT-VERSION-FILE' is up to date.
make[2]: Entering directory '/<<PKGBUILDDIR>>/contrib/subtree'
sed -e '1s|#!.*/sh|#!/bin/sh|' git-subtree.sh >git-subtree
make[2]: Leaving directory '/<<PKGBUILDDIR>>/contrib/subtree'
make[2]: Entering directory '/<<PKGBUILDDIR>>/contrib/subtree'
chmod +x git-subtree
make[2]: Leaving directory '/<<PKGBUILDDIR>>/contrib/subtree'
make[1]: Entering directory '/<<PKGBUILDDIR>>'
ln -s contrib/subtree/git-subtree
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
debian/rules override_dh_auto_test-arch
test -z 'test' || \
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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2' LDFLAGS='-Wl,-z,relro' HOST_CPU='arm' V=1 USE_LIBPCRE2=1
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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.27.0/g' \
git-add--interactive.perl >git-add--interactive+ && \
chmod +x git-add--interactive+ && \
mv git-add--interactive+ git-add--interactive
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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.27.0/g' \
git-archimport.perl >git-archimport+ && \
chmod +x git-archimport+ && \
mv git-archimport+ git-archimport
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-cvsexportcommit git-cvsexportcommit+ && \
sed -e '1{' \
-e ' s|#!.*perl|#!/usr/bin/perl|' \
-e ' r GIT-PERL-HEADER' \
-e ' G' \
-e '}' \
-e 's/@@GIT_VERSION@@/2.27.0/g' \
git-cvsexportcommit.perl >git-cvsexportcommit+ && \
chmod +x git-cvsexportcommit+ && \
mv git-cvsexportcommit+ git-cvsexportcommit
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-cvsimport git-cvsimport+ && \
sed -e '1{' \
-e ' s|#!.*perl|#!/usr/bin/perl|' \
-e ' r GIT-PERL-HEADER' \
-e ' G' \
-e '}' \
-e 's/@@GIT_VERSION@@/2.27.0/g' \
git-cvsimport.perl >git-cvsimport+ && \
chmod +x git-cvsimport+ && \
mv git-cvsimport+ git-cvsimport
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-svn git-svn+ && \
sed -e '1{' \
-e ' s|#!.*perl|#!/usr/bin/perl|' \
-e ' r GIT-PERL-HEADER' \
-e ' G' \
-e '}' \
-e 's/@@GIT_VERSION@@/2.27.0/g' \
git-svn.perl >git-svn+ && \
chmod +x git-svn+ && \
mv git-svn+ git-svn
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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.27.0/g' \
git-send-email.perl >git-send-email+ && \
chmod +x git-send-email+ && \
mv git-send-email+ git-send-email
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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.27.0/g' \
git-cvsserver.perl >git-cvsserver+ && \
chmod +x git-cvsserver+ && \
mv git-cvsserver+ git-cvsserver
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
rm -f git-p4 git-p4+ && \
sed -e '1s|#!.*python|#!/usr/bin/python3|' \
git-p4.py >git-p4+ && \
chmod +x git-p4+ && \
mv git-p4+ git-p4
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
/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'
make[3]: Entering directory '/<<PKGBUILDDIR>>/templates'
: no custom templates yet
make[3]: Leaving directory '/<<PKGBUILDDIR>>/templates'
/usr/bin/make -C t/ all
make[3]: Entering directory '/<<PKGBUILDDIR>>/t'
rm -f -r 'test-results'
make[3]: Leaving directory '/<<PKGBUILDDIR>>/t'
/usr/bin/make aggregate-results-and-cleanup
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t0002-gitfile.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
! test_bool_env GIT_TEST_GETTEXT_POISON false
)
prerequisite C_LOCALE_OUTPUT ok
fatal: invalid gitfile format: /<<PKGBUILDDIR>>/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: /<<PKGBUILDDIR>>/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':
echo $SHA >"$REAL/HEAD" &&
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
)
Initialized empty Git repository in /<<PKGBUILDDIR>>/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 /<<PKGBUILDDIR>>/t/trash directory.t0002-gitfile/enter_repo/.git/
[master (root-commit) 946e985] foo
Author: A U Thor <author@example.com>
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 '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t0004-unwritable.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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 <author@example.com>
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 file
ok 1 - setup
checking prerequisite: SANITY
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
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 '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t0005-signals.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0005-signals/.git/
expecting success of 0005.1 'sigchain works':
{ test-tool sigchain >actual; ret=$?; } &&
{
# Signal death by raise() on Windows acts like exit(3),
# regardless of the signal number. So we must allow that
# as well as the normal signal check.
test_match_signal 15 "$ret" ||
test "$ret" = 3
} &&
test_cmp expect actual
Terminated
ok 1 - sigchain works
expecting success of 0005.2 'signals are propagated using shell convention':
# we use exec here to avoid any sub-shell interpretation
# of the exit code
git config alias.sigterm "!exec test-tool sigchain" &&
test_expect_code 143 git sigterm
three
two
one
error: exec test-tool sigchain died of signal 15
ok 2 - signals are propagated using shell convention
expecting success of 0005.3 'create blob':
test-tool genrandom foo 16384 >file &&
git add file
ok 3 - create blob
expecting success of 0005.4 'a constipated git dies with SIGPIPE':
OUT=$( ((large_git; echo $? 1>&3) | :) 3>&1 ) &&
test_match_signal 13 "$OUT"
ok 4 - a constipated git dies with SIGPIPE
expecting success of 0005.5 'a constipated git dies with SIGPIPE even if parent ignores it':
OUT=$( ((trap "" PIPE; large_git; echo $? 1>&3) | :) 3>&1 ) &&
test_match_signal 13 "$OUT"
ok 5 - a constipated git dies with SIGPIPE even if parent ignores it
# passed all 5 test(s)
1..5
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t0003-attributes.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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 | <attr>...] [--] <pathname>...
or: git check-attr --stdin [-z] [-a | --all | <attr>...]
-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 | <attr>...] [--] <pathname>...
or: git check-attr --stdin [-z] [-a | --all | <attr>...]
-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 | <attr>...] [--] <pathname>...
or: git check-attr --stdin [-z] [-a | --all | <attr>...]
-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 | <attr>...] [--] <pathname>...
or: git check-attr --stdin [-z] [-a | --all | <attr>...]
-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 | <attr>...] [--] <pathname>...
or: git check-attr --stdin [-z] [-a | --all | <attr>...]
-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 | <attr>...] [--] <pathname>...
or: git check-attr --stdin [-z] [-a | --all | <attr>...]
-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 | <attr>...] [--] <pathname>...
or: git check-attr --stdin [-z] [-a | --all | <attr>...]
-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: Can't specify files with --stdin
usage: git check-attr [-a | --all | <attr>...] [--] <pathname>...
or: git check-attr --stdin [-z] [-a | --all | <attr>...]
-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: : not a valid attribute name
ok 3 - command line checks
expecting success of 0003.4 'attribute test':
attr_check " d " d &&
attr_check e e &&
attr_check_quote e\" e\\\" e &&
attr_check f f &&
attr_check a/f f &&
attr_check a/c/f f &&
attr_check a/g a/g &&
attr_check a/b/g a/b/g &&
attr_check b/g unspecified &&
attr_check a/b/h a/b/h &&
attr_check a/b/d/g "a/b/d/*" &&
attr_check onoff unset &&
attr_check offon set &&
attr_check no unspecified &&
attr_check a/b/d/no "a/b/d/*" &&
attr_check a/b/d/yes unspecified
ok 4 - attribute test
expecting success of 0003.5 'attribute matching is case sensitive when core.ignorecase=0':
attr_check F unspecified "-c core.ignorecase=0" &&
attr_check a/F unspecified "-c core.ignorecase=0" &&
attr_check a/c/F unspecified "-c core.ignorecase=0" &&
attr_check a/G unspecified "-c core.ignorecase=0" &&
attr_check a/B/g a/g "-c core.ignorecase=0" &&
attr_check a/b/G unspecified "-c core.ignorecase=0" &&
attr_check a/b/H unspecified "-c core.ignorecase=0" &&
attr_check a/b/D/g a/g "-c core.ignorecase=0" &&
attr_check oNoFf unspecified "-c core.ignorecase=0" &&
attr_check oFfOn unspecified "-c core.ignorecase=0" &&
attr_check NO unspecified "-c core.ignorecase=0" &&
attr_check a/b/D/NO unspecified "-c core.ignorecase=0" &&
attr_check a/b/d/YES a/b/d/* "-c core.ignorecase=0" &&
attr_check a/E/f f "-c core.ignorecase=0"
ok 5 - attribute matching is case sensitive when core.ignorecase=0
expecting success of 0003.6 'attribute matching is case insensitive when core.ignorecase=1':
attr_check F f "-c core.ignorecase=1" &&
attr_check a/F f "-c core.ignorecase=1" &&
attr_check a/c/F f "-c core.ignorecase=1" &&
attr_check a/G a/g "-c core.ignorecase=1" &&
attr_check a/B/g a/b/g "-c core.ignorecase=1" &&
attr_check a/b/G a/b/g "-c core.ignorecase=1" &&
attr_check a/b/H a/b/h "-c core.ignorecase=1" &&
attr_check a/b/D/g "a/b/d/*" "-c core.ignorecase=1" &&
attr_check oNoFf unset "-c core.ignorecase=1" &&
attr_check oFfOn set "-c core.ignorecase=1" &&
attr_check NO unspecified "-c core.ignorecase=1" &&
attr_check a/b/D/NO "a/b/d/*" "-c core.ignorecase=1" &&
attr_check a/b/d/YES unspecified "-c core.ignorecase=1" &&
attr_check a/E/f "A/e/F" "-c core.ignorecase=1"
ok 6 - attribute matching is case insensitive when core.ignorecase=1
checking prerequisite: CASE_INSENSITIVE_FS
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
echo good >CamelCase &&
echo bad >camelcase &&
test "$(cat CamelCase)" != good
)
prerequisite CASE_INSENSITIVE_FS not satisfied
skipping test: additional case insensitivity tests
attr_check a/B/D/g a/g "-c core.ignorecase=0" &&
attr_check A/B/D/NO unspecified "-c core.ignorecase=0" &&
attr_check A/b/h a/b/h "-c core.ignorecase=1" &&
attr_check a/B/D/g "a/b/d/*" "-c core.ignorecase=1" &&
attr_check A/B/D/NO "a/b/d/*" "-c core.ignorecase=1"
ok 7 # skip additional case insensitivity tests (missing CASE_INSENSITIVE_FS)
expecting success of 0003.8 'unnormalized paths':
attr_check ./f f &&
attr_check ./a/g a/g &&
attr_check a/./g a/g &&
attr_check a/c/../b/g a/b/g
ok 8 - unnormalized paths
expecting success of 0003.9 'relative paths':
(cd a && attr_check ../f f) &&
(cd a && attr_check f f) &&
(cd a && attr_check i a/i) &&
(cd a && attr_check g a/g) &&
(cd a && attr_check b/g a/b/g) &&
(cd b && attr_check ../a/f f) &&
(cd b && attr_check ../a/g a/g) &&
(cd b && attr_check ../a/b/g a/b/g)
ok 9 - relative paths
expecting success of 0003.10 'prefixes are not confused with leading directories':
attr_check a_plus/g unspecified &&
cat >expect <<-\EOF &&
a/g: test: a/g
a_plus/g: test: unspecified
EOF
git check-attr test a/g a_plus/g >actual &&
test_cmp expect actual
ok 10 - prefixes are not confused with leading directories
expecting success of 0003.11 'core.attributesfile':
attr_check global unspecified &&
git config core.attributesfile "$HOME/global-gitattributes" &&
attr_check global global &&
git config core.attributesfile "~/global-gitattributes" &&
attr_check global global &&
echo "global test=precedence" >>.gitattributes &&
attr_check global precedence
ok 11 - core.attributesfile
expecting success of 0003.12 'attribute test: read paths from stdin':
grep -v notest <expect-all >expect &&
sed -e "s/:.*//" <expect | git check-attr --stdin test >actual &&
test_cmp expect actual
ok 12 - attribute test: read paths from stdin
expecting success of 0003.13 'attribute test: --all option':
grep -v unspecified <expect-all | sort >specified-all &&
sed -e "s/:.*//" <expect-all | uniq >stdin-all &&
git check-attr --stdin --all <stdin-all | sort >actual &&
test_cmp specified-all actual
ok 13 - attribute test: --all option
expecting success of 0003.14 'attribute test: --cached option':
git check-attr --cached --stdin --all <stdin-all | sort >actual &&
test_must_be_empty actual &&
git add .gitattributes a/.gitattributes a/b/.gitattributes &&
git check-attr --cached --stdin --all <stdin-all | sort >actual &&
test_cmp specified-all actual
ok 14 - attribute test: --cached option
expecting success of 0003.15 'root subdir attribute test':
attr_check a/i a/i &&
attr_check subdir/a/i unspecified
ok 15 - root subdir attribute test
expecting success of 0003.16 'negative patterns':
echo "!f test=bar" >.gitattributes &&
git check-attr test -- '!f' 2>errors &&
test_i18ngrep "Negative patterns are ignored" errors
!f: test: unspecified
checking prerequisite: C_LOCALE_OUTPUT
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
! test_bool_env GIT_TEST_GETTEXT_POISON false
)
prerequisite C_LOCALE_OUTPUT ok
warning: Negative patterns are ignored in git attributes
ok 16 - negative patterns
expecting success of 0003.17 'patterns starting with exclamation':
echo "\!f test=foo" >.gitattributes &&
attr_check "!f" foo
ok 17 - patterns starting with exclamation
expecting success of 0003.18 '"**" test':
echo "**/f foo=bar" >.gitattributes &&
cat <<\EOF >expect &&
f: foo: bar
a/f: foo: bar
a/b/f: foo: bar
a/b/c/f: foo: bar
EOF
git check-attr foo -- "f" >actual 2>err &&
git check-attr foo -- "a/f" >>actual 2>>err &&
git check-attr foo -- "a/b/f" >>actual 2>>err &&
git check-attr foo -- "a/b/c/f" >>actual 2>>err &&
test_cmp expect actual &&
test_must_be_empty err
ok 18 - "**" test
expecting success of 0003.19 '"**" with no slashes test':
echo "a**f foo=bar" >.gitattributes &&
git check-attr foo -- "f" >actual &&
cat <<\EOF >expect &&
f: foo: unspecified
af: foo: bar
axf: foo: bar
a/f: foo: unspecified
a/b/f: foo: unspecified
a/b/c/f: foo: unspecified
EOF
git check-attr foo -- "f" >actual 2>err &&
git check-attr foo -- "af" >>actual 2>err &&
git check-attr foo -- "axf" >>actual 2>err &&
git check-attr foo -- "a/f" >>actual 2>>err &&
git check-attr foo -- "a/b/f" >>actual 2>>err &&
git check-attr foo -- "a/b/c/f" >>actual 2>>err &&
test_cmp expect actual &&
test_must_be_empty err
ok 19 - "**" with no slashes test
expecting success of 0003.20 'using --git-dir and --work-tree':
mkdir unreal real &&
git init real &&
echo "file test=in-real" >real/.gitattributes &&
(
cd unreal &&
attr_check file in-real "--git-dir ../real/.git --work-tree ../real"
)
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0003-attributes/real/.git/
ok 20 - using --git-dir and --work-tree
expecting success of 0003.21 'setup bare':
git clone --bare . bare.git
Cloning into bare repository 'bare.git'...
warning: You appear to have cloned an empty repository.
done.
ok 21 - setup bare
expecting success of 0003.22 'bare repository: check that .gitattribute is ignored':
(
cd bare.git &&
(
echo "f test=f" &&
echo "a/i test=a/i"
) >.gitattributes &&
attr_check f unspecified &&
attr_check a/f unspecified &&
attr_check a/c/f unspecified &&
attr_check a/i unspecified &&
attr_check subdir/a/i unspecified
)
ok 22 - bare repository: check that .gitattribute is ignored
expecting success of 0003.23 'bare repository: check that --cached honors index':
(
cd bare.git &&
GIT_INDEX_FILE=../.git/index \
git check-attr --cached --stdin --all <../stdin-all |
sort >actual &&
test_cmp ../specified-all actual
)
ok 23 - bare repository: check that --cached honors index
expecting success of 0003.24 'bare repository: test info/attributes':
(
cd bare.git &&
(
echo "f test=f" &&
echo "a/i test=a/i"
) >info/attributes &&
attr_check f f &&
attr_check a/f f &&
attr_check a/c/f f &&
attr_check a/i a/i &&
attr_check subdir/a/i unspecified
)
ok 24 - bare repository: test info/attributes
expecting success of 0003.25 'binary macro expanded by -a':
echo "file binary" >.gitattributes &&
cat >expect <<-\EOF &&
file: binary: set
file: diff: unset
file: merge: unset
file: text: unset
EOF
git check-attr -a file >actual &&
test_cmp expect actual
ok 25 - binary macro expanded by -a
expecting success of 0003.26 'query binary macro directly':
echo "file binary" >.gitattributes &&
echo file: binary: set >expect &&
git check-attr binary file >actual &&
test_cmp expect actual
ok 26 - query binary macro directly
# passed all 26 test(s)
1..26
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t0007-git-var.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0007-git-var/.git/
expecting success of 0007.1 'get GIT_AUTHOR_IDENT':
test_tick &&
echo "$GIT_AUTHOR_NAME <$GIT_AUTHOR_EMAIL> $GIT_AUTHOR_DATE" >expect &&
git var GIT_AUTHOR_IDENT >actual &&
test_cmp expect actual
ok 1 - get GIT_AUTHOR_IDENT
expecting success of 0007.2 'get GIT_COMMITTER_IDENT':
test_tick &&
echo "$GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE" >expect &&
git var GIT_COMMITTER_IDENT >actual &&
test_cmp expect actual
ok 2 - get GIT_COMMITTER_IDENT
checking prerequisite: FAIL_PREREQS
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
test_bool_env GIT_TEST_FAIL_PREREQS false
)
prerequisite FAIL_PREREQS not satisfied
checking prerequisite: AUTOIDENT
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
sane_unset GIT_AUTHOR_NAME &&
sane_unset GIT_AUTHOR_EMAIL &&
git var GIT_AUTHOR_IDENT
)
*** 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: unable to auto-detect email address (got 'buildd@testbuildd.(none)')
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
)
*** 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: unable to auto-detect email address (got 'buildd@testbuildd.(none)')
ok 3 - requested identities are strict
expecting success of 0007.4 'git var -l lists variables':
git var -l >actual &&
echo "$GIT_AUTHOR_NAME <$GIT_AUTHOR_EMAIL> $GIT_AUTHOR_DATE" >expect &&
sed -n s/GIT_AUTHOR_IDENT=//p <actual >actual.author &&
test_cmp expect actual.author
ok 4 - git var -l lists variables
expecting success of 0007.5 'git var -l lists config':
git var -l >actual &&
echo false >expect &&
sed -n s/core\\.bare=//p <actual >actual.bare &&
test_cmp expect actual.bare
ok 5 - git var -l lists config
expecting success of 0007.6 'listing and asking for variables are exclusive':
test_must_fail git var -l GIT_COMMITTER_IDENT
usage: git var (-l | <variable>)
ok 6 - listing and asking for variables are exclusive
# passed all 6 test(s)
1..6
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t0001-init.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0001-init/.git/
expecting success of 0001.1 'plain':
git init plain &&
check_config plain/.git false unset
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0001-init/plain/.git/
ok 1 - plain
expecting success of 0001.2 'plain nested in bare':
(
git init --bare bare-ancestor.git &&
cd bare-ancestor.git &&
mkdir plain-nested &&
cd plain-nested &&
git init
) &&
check_config bare-ancestor.git/plain-nested/.git false unset
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0001-init/bare-ancestor.git/
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0001-init/bare-ancestor.git/plain-nested/.git/
ok 2 - plain nested in bare
expecting success of 0001.3 'plain through aliased command, outside any git repo':
(
HOME=$(pwd)/alias-config &&
export HOME &&
mkdir alias-config &&
echo "[alias] aliasedinit = init" >alias-config/.gitconfig &&
GIT_CEILING_DIRECTORIES=$(pwd) &&
export GIT_CEILING_DIRECTORIES &&
mkdir plain-aliased &&
cd plain-aliased &&
git aliasedinit
) &&
check_config plain-aliased/.git false unset
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0001-init/plain-aliased/.git/
ok 3 - plain through aliased command, outside any git repo
expecting success of 0001.4 'plain nested through aliased command':
(
git init plain-ancestor-aliased &&
cd plain-ancestor-aliased &&
echo "[alias] aliasedinit = init" >>.git/config &&
mkdir plain-nested &&
cd plain-nested &&
git aliasedinit
) &&
check_config plain-ancestor-aliased/plain-nested/.git false unset
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0001-init/plain-ancestor-aliased/.git/
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0001-init/plain-ancestor-aliased/plain-nested/.git/
ok 4 - plain nested through aliased command
expecting success of 0001.5 'plain nested in bare through aliased command':
(
git init --bare bare-ancestor-aliased.git &&
cd bare-ancestor-aliased.git &&
echo "[alias] aliasedinit = init" >>config &&
mkdir plain-nested &&
cd plain-nested &&
git aliasedinit
) &&
check_config bare-ancestor-aliased.git/plain-nested/.git false unset
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0001-init/bare-ancestor-aliased.git/
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0001-init/bare-ancestor-aliased.git/plain-nested/.git/
ok 5 - plain nested in bare through aliased command
expecting success of 0001.6 'No extra GIT_* on alias scripts':
write_script script <<-\EOF &&
env |
sed -n \
-e "/^GIT_PREFIX=/d" \
-e "/^GIT_TEXTDOMAINDIR=/d" \
-e "/^GIT_TRACE2_PARENT/d" \
-e "/^GIT_/s/=.*//p" |
sort
EOF
./script >expected &&
git config alias.script \!./script &&
( mkdir sub && cd sub && git script >../actual ) &&
test_cmp expected actual
ok 6 - No extra GIT_* on alias scripts
expecting success of 0001.7 'plain with GIT_WORK_TREE':
mkdir plain-wt &&
test_must_fail env GIT_WORK_TREE="$(pwd)/plain-wt" git init plain-wt
fatal: GIT_WORK_TREE (or --work-tree=<directory>) not allowed without specifying GIT_DIR (or --git-dir=<directory>)
ok 7 - plain with GIT_WORK_TREE
expecting success of 0001.8 'plain bare':
git --bare init plain-bare-1 &&
check_config plain-bare-1 true unset
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0001-init/plain-bare-1/
ok 8 - plain bare
expecting success of 0001.9 'plain bare with GIT_WORK_TREE':
mkdir plain-bare-2 &&
test_must_fail \
env GIT_WORK_TREE="$(pwd)/plain-bare-2" \
git --bare init plain-bare-2
fatal: GIT_WORK_TREE (or --work-tree=<directory>) not allowed without specifying GIT_DIR (or --git-dir=<directory>)
ok 9 - plain bare with GIT_WORK_TREE
expecting success of 0001.10 'GIT_DIR bare':
mkdir git-dir-bare.git &&
GIT_DIR=git-dir-bare.git git init &&
check_config git-dir-bare.git true unset
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0001-init/git-dir-bare.git/
ok 10 - GIT_DIR bare
expecting success of 0001.11 'init --bare':
git init --bare init-bare.git &&
check_config init-bare.git true unset
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0001-init/init-bare.git/
ok 11 - init --bare
expecting success of 0001.12 'GIT_DIR non-bare':
(
mkdir non-bare &&
cd non-bare &&
GIT_DIR=.git git init
) &&
check_config non-bare/.git false unset
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0001-init/non-bare/.git/
ok 12 - GIT_DIR non-bare
expecting success of 0001.13 'GIT_DIR & GIT_WORK_TREE (1)':
(
mkdir git-dir-wt-1.git &&
GIT_WORK_TREE=$(pwd) GIT_DIR=git-dir-wt-1.git git init
) &&
check_config git-dir-wt-1.git false "$(pwd)"
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0001-init/git-dir-wt-1.git/
ok 13 - GIT_DIR & GIT_WORK_TREE (1)
expecting success of 0001.14 'GIT_DIR & GIT_WORK_TREE (2)':
mkdir git-dir-wt-2.git &&
test_must_fail env \
GIT_WORK_TREE="$(pwd)" \
GIT_DIR=git-dir-wt-2.git \
git --bare init
fatal: GIT_WORK_TREE (or --work-tree=<directory>) not allowed without specifying GIT_DIR (or --git-dir=<directory>)
ok 14 - GIT_DIR & GIT_WORK_TREE (2)
expecting success of 0001.15 'reinit':
(
mkdir again &&
cd again &&
git init >out1 2>err1 &&
git init >out2 2>err2
) &&
test_i18ngrep "Initialized empty" again/out1 &&
test_i18ngrep "Reinitialized existing" again/out2 &&
test_must_be_empty again/err1 &&
test_must_be_empty again/err2
checking prerequisite: C_LOCALE_OUTPUT
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
! test_bool_env GIT_TEST_GETTEXT_POISON false
)
prerequisite C_LOCALE_OUTPUT ok
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0001-init/again/.git/
Reinitialized existing Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0001-init/again/.git/
ok 15 - reinit
expecting success of 0001.16 'init with --template':
mkdir template-source &&
echo content >template-source/file &&
git init --template=template-source template-custom &&
test_cmp template-source/file template-custom/.git/file
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0001-init/template-custom/.git/
ok 16 - init with --template
expecting success of 0001.17 'init with --template (blank)':
git init template-plain &&
test_path_is_file template-plain/.git/info/exclude &&
git init --template= template-blank &&
test_path_is_missing template-blank/.git/info/exclude
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0001-init/template-plain/.git/
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0001-init/template-blank/.git/
ok 17 - init with --template (blank)
expecting success of 0001.18 'init with init.templatedir set':
mkdir templatedir-source &&
echo Content >templatedir-source/file &&
test_config_global init.templatedir "${HOME}/templatedir-source" &&
(
mkdir templatedir-set &&
cd templatedir-set &&
sane_unset GIT_TEMPLATE_DIR &&
NO_SET_GIT_TEMPLATE_DIR=t &&
export NO_SET_GIT_TEMPLATE_DIR &&
git init
) &&
test_cmp templatedir-source/file templatedir-set/.git/file
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0001-init/templatedir-set/.git/
ok 18 - init with init.templatedir set
expecting success of 0001.19 'init --bare/--shared overrides system/global config':
test_config_global core.bare false &&
test_config_global core.sharedRepository 0640 &&
git init --bare --shared=0666 init-bare-shared-override &&
check_config init-bare-shared-override true unset &&
test x0666 = \
x$(git config -f init-bare-shared-override/config core.sharedRepository)
Initialized empty shared Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0001-init/init-bare-shared-override/
ok 19 - init --bare/--shared overrides system/global config
expecting success of 0001.20 'init honors global core.sharedRepository':
test_config_global core.sharedRepository 0666 &&
git init shared-honor-global &&
test x0666 = \
x$(git config -f shared-honor-global/.git/config core.sharedRepository)
Initialized empty shared Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0001-init/shared-honor-global/.git/
ok 20 - init honors global core.sharedRepository
expecting success of 0001.21 'init allows insanely long --template':
git init --template=$(printf "x%09999dx" 1) test
warning: templates not found in /<<PKGBUILDDIR>>/t/trash directory.t0001-init/x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0001-init/test/.git/
ok 21 - init allows insanely long --template
expecting success of 0001.22 'init creates a new directory':
rm -fr newdir &&
git init newdir &&
test_path_is_dir newdir/.git/refs
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0001-init/newdir/.git/
ok 22 - init creates a new directory
expecting success of 0001.23 'init creates a new bare directory':
rm -fr newdir &&
git init --bare newdir &&
test_path_is_dir newdir/refs
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0001-init/newdir/
ok 23 - init creates a new bare directory
expecting success of 0001.24 'init recreates a directory':
rm -fr newdir &&
mkdir newdir &&
git init newdir &&
test_path_is_dir newdir/.git/refs
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0001-init/newdir/.git/
ok 24 - init recreates a directory
expecting success of 0001.25 'init recreates a new bare directory':
rm -fr newdir &&
mkdir newdir &&
git init --bare newdir &&
test_path_is_dir newdir/refs
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0001-init/newdir/
ok 25 - init recreates a new bare directory
expecting success of 0001.26 'init creates a new deep directory':
rm -fr newdir &&
git init newdir/a/b/c &&
test_path_is_dir newdir/a/b/c/.git/refs
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0001-init/newdir/a/b/c/.git/
ok 26 - init creates a new deep directory
expecting success of 0001.27 'init creates a new deep directory (umask vs. shared)':
rm -fr newdir &&
(
# Leading directories should honor umask while
# the repository itself should follow "shared"
mkdir newdir &&
# Remove a default ACL if possible.
(setfacl -k newdir 2>/dev/null || true) &&
umask 002 &&
git init --bare --shared=0660 newdir/a/b/c &&
test_path_is_dir newdir/a/b/c/refs &&
ls -ld newdir/a newdir/a/b > lsab.out &&
! grep -v "^drwxrw[sx]r-x" lsab.out &&
ls -ld newdir/a/b/c > lsc.out &&
! grep -v "^drwxrw[sx]---" lsc.out
)
Initialized empty shared Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0001-init/newdir/a/b/c/
ok 27 - init creates a new deep directory (umask vs. shared)
expecting success of 0001.28 'init notices EEXIST (1)':
rm -fr newdir &&
>newdir &&
test_must_fail git init newdir &&
test_path_is_file newdir
fatal: cannot mkdir newdir: File exists
ok 28 - init notices EEXIST (1)
expecting success of 0001.29 'init notices EEXIST (2)':
rm -fr newdir &&
mkdir newdir &&
>newdir/a &&
test_must_fail git init newdir/a/b &&
test_path_is_file newdir/a
fatal: cannot mkdir newdir/a/b: File exists
ok 29 - init notices EEXIST (2)
checking prerequisite: SANITY
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
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 0001.30 'init notices EPERM':
test_when_finished "chmod +w newdir" &&
rm -fr newdir &&
mkdir newdir &&
chmod -w newdir &&
test_must_fail git init newdir/a/b
fatal: cannot mkdir newdir/a/b: Permission denied
ok 30 - init notices EPERM
expecting success of 0001.31 'init creates a new bare directory with global --bare':
rm -rf newdir &&
git --bare init newdir &&
test_path_is_dir newdir/refs
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0001-init/newdir/
ok 31 - init creates a new bare directory with global --bare
expecting success of 0001.32 'init prefers command line to GIT_DIR':
rm -rf newdir &&
mkdir otherdir &&
GIT_DIR=otherdir git --bare init newdir &&
test_path_is_dir newdir/refs &&
test_path_is_missing otherdir/refs
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0001-init/newdir/
ok 32 - init prefers command line to GIT_DIR
expecting success of 0001.33 'init with separate gitdir':
rm -rf newdir &&
git init --separate-git-dir realgitdir newdir &&
newdir_git="$(cat newdir/.git)" &&
test_cmp_fspath "$(pwd)/realgitdir" "${newdir_git#gitdir: }" &&
test_path_is_dir realgitdir/refs
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0001-init/realgitdir/
ok 33 - init with separate gitdir
expecting success of 0001.34 'init in long base path':
check_long_base_path
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0001-init/123456789abcdef/123456789abcdef/123456789abcdef/123456789abcdef/123456789abcdef/123456789abcdef/123456789abcdef/123456789abcdef/newdir/.git/
ok 34 - init in long base path
checking prerequisite: GETCWD_IGNORES_PERMS
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
base=GETCWD_TEST_BASE_DIR &&
mkdir -p $base/dir &&
chmod 100 $base ||
BUG "cannot prepare $base"
(cd $base/dir && /bin/pwd -P)
status=$?
chmod 700 $base &&
rm -rf $base ||
BUG "cannot clean $base"
return $status
)
/<<PKGBUILDDIR>>/t/trash directory.t0001-init/prereq-test-dir/GETCWD_TEST_BASE_DIR/dir
prerequisite GETCWD_IGNORES_PERMS ok
expecting success of 0001.35 'init in long restricted base path':
check_long_base_path 0111
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0001-init/123456789abcdef/123456789abcdef/123456789abcdef/123456789abcdef/123456789abcdef/123456789abcdef/123456789abcdef/123456789abcdef/newdir/.git/
ok 35 - init in long restricted base path
expecting success of 0001.36 're-init on .git file':
( cd newdir && git init )
Reinitialized existing Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0001-init/realgitdir/
ok 36 - re-init on .git file
expecting success of 0001.37 're-init to update git link':
git -C newdir init --separate-git-dir ../surrealgitdir &&
newdir_git="$(cat newdir/.git)" &&
test_cmp_fspath "$(pwd)/surrealgitdir" "${newdir_git#gitdir: }" &&
test_path_is_dir surrealgitdir/refs &&
test_path_is_missing realgitdir/refs
Reinitialized existing Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0001-init/surrealgitdir/
ok 37 - re-init to update git link
expecting success of 0001.38 're-init to move gitdir':
rm -rf newdir realgitdir surrealgitdir &&
git init newdir &&
git -C newdir init --separate-git-dir ../realgitdir &&
newdir_git="$(cat newdir/.git)" &&
test_cmp_fspath "$(pwd)/realgitdir" "${newdir_git#gitdir: }" &&
test_path_is_dir realgitdir/refs
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0001-init/newdir/.git/
Reinitialized existing Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0001-init/realgitdir/
ok 38 - re-init to move gitdir
checking prerequisite: SYMLINKS
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
# test whether the filesystem supports symbolic links
ln -s x y && test -h y
)
prerequisite SYMLINKS ok
expecting success of 0001.39 're-init to move gitdir symlink':
rm -rf newdir realgitdir &&
git init newdir &&
(
cd newdir &&
mv .git here &&
ln -s here .git &&
git init --separate-git-dir ../realgitdir
) &&
echo "gitdir: $(pwd)/realgitdir" >expected &&
test_cmp expected newdir/.git &&
test_cmp expected newdir/here &&
test_path_is_dir realgitdir/refs
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0001-init/newdir/.git/
Reinitialized existing Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0001-init/realgitdir/
ok 39 - re-init to move gitdir symlink
skipping test: .git hidden
rm -rf newdir &&
(
sane_unset GIT_DIR GIT_WORK_TREE &&
mkdir newdir &&
cd newdir &&
git init &&
test_path_is_hidden .git
) &&
check_config newdir/.git false unset
ok 40 # skip .git hidden (missing MINGW)
skipping test: bare git dir not hidden
rm -rf newdir &&
(
sane_unset GIT_DIR GIT_WORK_TREE GIT_CONFIG &&
mkdir newdir &&
cd newdir &&
git --bare init
) &&
! is_hidden newdir
ok 41 # skip bare git dir not hidden (missing MINGW)
expecting success of 0001.42 'remote init from does not use config from cwd':
rm -rf newdir &&
test_config core.logallrefupdates true &&
git init newdir &&
echo true >expect &&
git -C newdir config --bool core.logallrefupdates >actual &&
test_cmp expect actual
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0001-init/newdir/.git/
ok 42 - remote init from does not use config from cwd
expecting success of 0001.43 're-init from a linked worktree':
git init main-worktree &&
(
cd main-worktree &&
test_commit first &&
git worktree add ../linked-worktree &&
mv .git/info/exclude expected-exclude &&
cp .git/config expected-config &&
find .git/worktrees -print | sort >expected &&
git -C ../linked-worktree init &&
test_cmp expected-exclude .git/info/exclude &&
test_cmp expected-config .git/config &&
find .git/worktrees -print | sort >actual &&
test_cmp expected actual
)
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0001-init/main-worktree/.git/
[master (root-commit) 50e526b] first
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 first.t
Preparing worktree (new branch 'linked-worktree')
HEAD is now at 50e526b first
Reinitialized existing Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0001-init/main-worktree/.git/worktrees/linked-worktree/
ok 43 - re-init from a linked worktree
skipping test: core.hidedotfiles = false
git config --global core.hidedotfiles false &&
rm -rf newdir &&
mkdir newdir &&
(
sane_unset GIT_DIR GIT_WORK_TREE GIT_CONFIG &&
git -C newdir init
) &&
! is_hidden newdir/.git
ok 44 # skip core.hidedotfiles = false (missing MINGW)
skipping test: redirect std handles
GIT_REDIRECT_STDOUT=output.txt git rev-parse --git-dir &&
test .git = "$(cat output.txt)" &&
test -z "$(GIT_REDIRECT_STDOUT=off git rev-parse --git-dir)" &&
test_must_fail env \
GIT_REDIRECT_STDOUT=output.txt \
GIT_REDIRECT_STDERR="2>&1" \
git rev-parse --git-dir --verify refs/invalid &&
grep "^\\.git\$" output.txt &&
grep "Needed a single revision" output.txt
ok 45 # skip redirect std handles (missing MINGW)
# passed all 45 test(s)
1..45
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t0009-prio-queue.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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
ok 1 - basic ordering
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
ok 2 - mixed put and get
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
ok 3 - notice empty queue
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 - stack order
# passed all 4 test(s)
1..4
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t0006-date.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0006-date/.git/
expecting success of 0006.1 'relative date (5 seconds ago)':
test-tool date relative 1251659995 >actual &&
test_i18ncmp expect actual
checking prerequisite: C_LOCALE_OUTPUT
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
! test_bool_env GIT_TEST_GETTEXT_POISON false
)
prerequisite C_LOCALE_OUTPUT ok
ok 1 - relative date (5 seconds ago)
expecting success of 0006.2 'relative date (5 minutes ago)':
test-tool date relative 1251659700 >actual &&
test_i18ncmp expect actual
ok 2 - relative date (5 minutes ago)
expecting success of 0006.3 'relative date (5 hours ago)':
test-tool date relative 1251642000 >actual &&
test_i18ncmp expect actual
ok 3 - relative date (5 hours ago)
expecting success of 0006.4 'relative date (5 days ago)':
test-tool date relative 1251228000 >actual &&
test_i18ncmp expect actual
ok 4 - relative date (5 days ago)
expecting success of 0006.5 'relative date (3 weeks ago)':
test-tool date relative 1249932000 >actual &&
test_i18ncmp expect actual
ok 5 - relative date (3 weeks ago)
expecting success of 0006.6 'relative date (5 months ago)':
test-tool date relative 1238660000 >actual &&
test_i18ncmp expect actual
ok 6 - relative date (5 months ago)
expecting success of 0006.7 'relative date (1 year, 2 months ago)':
test-tool date relative 1214160000 >actual &&
test_i18ncmp expect actual
ok 7 - relative date (1 year, 2 months ago)
expecting success of 0006.8 'relative date (1 year, 9 months ago)':
test-tool date relative 1196472000 >actual &&
test_i18ncmp expect actual
ok 8 - relative date (1 year, 9 months ago)
expecting success of 0006.9 'relative date (20 years ago)':
test-tool date relative 621660000 >actual &&
test_i18ncmp expect actual
ok 9 - relative date (20 years ago)
expecting success of 0006.10 'relative date (12 months ago)':
test-tool date relative 1220210400 >actual &&
test_i18ncmp expect actual
ok 10 - relative date (12 months ago)
expecting success of 0006.11 'relative date (2 years ago)':
test-tool date relative 1188674400 >actual &&
test_i18ncmp expect actual
ok 11 - relative date (2 years ago)
expecting success of 0006.12 'show date (iso8601:1466000000 +0200)':
echo "$time -> $expect" >expect &&
TZ=${zone:-$TZ} test-tool date show:"$format" "$time" >actual &&
test_cmp expect actual
ok 12 - show date (iso8601:1466000000 +0200)
expecting success of 0006.13 'show date (iso8601-strict:1466000000 +0200)':
echo "$time -> $expect" >expect &&
TZ=${zone:-$TZ} test-tool date show:"$format" "$time" >actual &&
test_cmp expect actual
ok 13 - show date (iso8601-strict:1466000000 +0200)
expecting success of 0006.14 'show date (rfc2822:1466000000 +0200)':
echo "$time -> $expect" >expect &&
TZ=${zone:-$TZ} test-tool date show:"$format" "$time" >actual &&
test_cmp expect actual
ok 14 - show date (rfc2822:1466000000 +0200)
expecting success of 0006.15 'show date (short:1466000000 +0200)':
echo "$time -> $expect" >expect &&
TZ=${zone:-$TZ} test-tool date show:"$format" "$time" >actual &&
test_cmp expect actual
ok 15 - show date (short:1466000000 +0200)
expecting success of 0006.16 'show date (default:1466000000 +0200)':
echo "$time -> $expect" >expect &&
TZ=${zone:-$TZ} test-tool date show:"$format" "$time" >actual &&
test_cmp expect actual
ok 16 - show date (default:1466000000 +0200)
expecting success of 0006.17 'show date (raw:1466000000 +0200)':
echo "$time -> $expect" >expect &&
TZ=${zone:-$TZ} test-tool date show:"$format" "$time" >actual &&
test_cmp expect actual
ok 17 - show date (raw:1466000000 +0200)
expecting success of 0006.18 'show date (unix:1466000000 +0200)':
echo "$time -> $expect" >expect &&
TZ=${zone:-$TZ} test-tool date show:"$format" "$time" >actual &&
test_cmp expect actual
ok 18 - show date (unix:1466000000 +0200)
expecting success of 0006.19 'show date (iso-local:1466000000 +0200)':
echo "$time -> $expect" >expect &&
TZ=${zone:-$TZ} test-tool date show:"$format" "$time" >actual &&
test_cmp expect actual
ok 19 - show date (iso-local:1466000000 +0200)
expecting success of 0006.20 'show date (raw-local:1466000000 +0200)':
echo "$time -> $expect" >expect &&
TZ=${zone:-$TZ} test-tool date show:"$format" "$time" >actual &&
test_cmp expect actual
ok 20 - show date (raw-local:1466000000 +0200)
expecting success of 0006.21 'show date (unix-local:1466000000 +0200)':
echo "$time -> $expect" >expect &&
TZ=${zone:-$TZ} test-tool date show:"$format" "$time" >actual &&
test_cmp expect actual
ok 21 - show date (unix-local:1466000000 +0200)
expecting success of 0006.22 'show date (format:%z:1466000000 +0200)':
echo "$time -> $expect" >expect &&
TZ=${zone:-$TZ} test-tool date show:"$format" "$time" >actual &&
test_cmp expect actual
ok 22 - show date (format:%z:1466000000 +0200)
expecting success of 0006.23 'show date (format-local:%z:1466000000 +0200)':
echo "$time -> $expect" >expect &&
TZ=${zone:-$TZ} test-tool date show:"$format" "$time" >actual &&
test_cmp expect actual
ok 23 - show date (format-local:%z:1466000000 +0200)
expecting success of 0006.24 'show date (format:%Z:1466000000 +0200)':
echo "$time -> $expect" >expect &&
TZ=${zone:-$TZ} test-tool date show:"$format" "$time" >actual &&
test_cmp expect actual
ok 24 - show date (format:%Z:1466000000 +0200)
expecting success of 0006.25 'show date (format-local:%Z:1466000000 +0200)':
echo "$time -> $expect" >expect &&
TZ=${zone:-$TZ} test-tool date show:"$format" "$time" >actual &&
test_cmp expect actual
ok 25 - show date (format-local:%Z:1466000000 +0200)
expecting success of 0006.26 'show date (format:%%z:1466000000 +0200)':
echo "$time -> $expect" >expect &&
TZ=${zone:-$TZ} test-tool date show:"$format" "$time" >actual &&
test_cmp expect actual
ok 26 - show date (format:%%z:1466000000 +0200)
expecting success of 0006.27 'show date (format-local:%%z:1466000000 +0200)':
echo "$time -> $expect" >expect &&
TZ=${zone:-$TZ} test-tool date show:"$format" "$time" >actual &&
test_cmp expect actual
ok 27 - show date (format-local:%%z:1466000000 +0200)
expecting success of 0006.28 'show date (format:%Y-%m-%d %H:%M:%S:1466000000 +0200)':
echo "$time -> $expect" >expect &&
TZ=${zone:-$TZ} test-tool date show:"$format" "$time" >actual &&
test_cmp expect actual
ok 28 - show date (format:%Y-%m-%d %H:%M:%S:1466000000 +0200)
expecting success of 0006.29 'show date (format-local:%Y-%m-%d %H:%M:%S:1466000000 +0200)':
echo "$time -> $expect" >expect &&
TZ=${zone:-$TZ} test-tool date show:"$format" "$time" >actual &&
test_cmp expect actual
ok 29 - show date (format-local:%Y-%m-%d %H:%M:%S:1466000000 +0200)
checking prerequisite: TIME_IS_64BIT
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&test-tool date is64bit
)
prerequisite TIME_IS_64BIT ok
checking prerequisite: TIME_T_IS_64BIT
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&test-tool date time_t-is64bit
)
prerequisite TIME_T_IS_64BIT not satisfied
skipping test: show date (iso:5758122296 -0400)
echo "$time -> $expect" >expect &&
TZ=${zone:-$TZ} test-tool date show:"$format" "$time" >actual &&
test_cmp expect actual
ok 30 # skip show date (iso:5758122296 -0400) (missing TIME_T_IS_64BIT of TIME_IS_64BIT,TIME_T_IS_64BIT)
skipping test: show date (iso-local:5758122296 -0400)
echo "$time -> $expect" >expect &&
TZ=${zone:-$TZ} test-tool date show:"$format" "$time" >actual &&
test_cmp expect actual
ok 31 # skip show date (iso-local:5758122296 -0400) (missing TIME_T_IS_64BIT of TIME_IS_64BIT,TIME_T_IS_64BIT)
expecting success of 0006.32 'parse date (2008)':
TZ=UTC test-tool date parse '2008' >actual &&
test_cmp expect actual
ok 32 - parse date (2008)
expecting success of 0006.33 'parse date (2008-02)':
TZ=UTC test-tool date parse '2008-02' >actual &&
test_cmp expect actual
ok 33 - parse date (2008-02)
expecting success of 0006.34 'parse date (2008-02-14)':
TZ=UTC test-tool date parse '2008-02-14' >actual &&
test_cmp expect actual
ok 34 - parse date (2008-02-14)
expecting success of 0006.35 'parse date (2008-02-14 20:30:45)':
TZ=UTC test-tool date parse '2008-02-14 20:30:45' >actual &&
test_cmp expect actual
ok 35 - parse date (2008-02-14 20:30:45)
expecting success of 0006.36 'parse date (2008-02-14 20:30:45 -0500)':
TZ=UTC test-tool date parse '2008-02-14 20:30:45 -0500' >actual &&
test_cmp expect actual
ok 36 - parse date (2008-02-14 20:30:45 -0500)
expecting success of 0006.37 'parse date (2008.02.14 20:30:45 -0500)':
TZ=UTC test-tool date parse '2008.02.14 20:30:45 -0500' >actual &&
test_cmp expect actual
ok 37 - parse date (2008.02.14 20:30:45 -0500)
expecting success of 0006.38 'parse date (20080214T203045-04:00)':
TZ=UTC test-tool date parse '20080214T203045-04:00' >actual &&
test_cmp expect actual
ok 38 - parse date (20080214T203045-04:00)
expecting success of 0006.39 'parse date (20080214T203045 -04:00)':
TZ=UTC test-tool date parse '20080214T203045 -04:00' >actual &&
test_cmp expect actual
ok 39 - parse date (20080214T203045 -04:00)
expecting success of 0006.40 'parse date (20080214T203045.019-04:00)':
TZ=UTC test-tool date parse '20080214T203045.019-04:00' >actual &&
test_cmp expect actual
ok 40 - parse date (20080214T203045.019-04:00)
expecting success of 0006.41 'parse date (2008-02-14 20:30:45.019-04:00)':
TZ=UTC test-tool date parse '2008-02-14 20:30:45.019-04:00' >actual &&
test_cmp expect actual
ok 41 - parse date (2008-02-14 20:30:45.019-04:00)
expecting success of 0006.42 'parse date (2008-02-14 20:30:45 -0015)':
TZ=UTC test-tool date parse '2008-02-14 20:30:45 -0015' >actual &&
test_cmp expect actual
ok 42 - parse date (2008-02-14 20:30:45 -0015)
expecting success of 0006.43 'parse date (2008-02-14 20:30:45 -5)':
TZ=UTC test-tool date parse '2008-02-14 20:30:45 -5' >actual &&
test_cmp expect actual
ok 43 - parse date (2008-02-14 20:30:45 -5)
expecting success of 0006.44 'parse date (2008-02-14 20:30:45 -5:)':
TZ=UTC test-tool date parse '2008-02-14 20:30:45 -5:' >actual &&
test_cmp expect actual
ok 44 - parse date (2008-02-14 20:30:45 -5:)
expecting success of 0006.45 'parse date (2008-02-14 20:30:45 -05)':
TZ=UTC test-tool date parse '2008-02-14 20:30:45 -05' >actual &&
test_cmp expect actual
ok 45 - parse date (2008-02-14 20:30:45 -05)
expecting success of 0006.46 'parse date (2008-02-14 20:30:45 -:30)':
TZ=UTC test-tool date parse '2008-02-14 20:30:45 -:30' >actual &&
test_cmp expect actual
ok 46 - parse date (2008-02-14 20:30:45 -:30)
expecting success of 0006.47 'parse date (2008-02-14 20:30:45 -05:00)':
TZ=UTC test-tool date parse '2008-02-14 20:30:45 -05:00' >actual &&
test_cmp expect actual
ok 47 - parse date (2008-02-14 20:30:45 -05:00)
expecting success of 0006.48 'parse date (2008-02-14 20:30:45 TZ=EST5)':
TZ=EST5 test-tool date parse '2008-02-14 20:30:45' >actual &&
test_cmp expect actual
ok 48 - parse date (2008-02-14 20:30:45 TZ=EST5)
expecting success of 0006.49 'parse approxidate (now)':
test-tool date approxidate 'now' >actual &&
test_cmp expect actual
ok 49 - parse approxidate (now)
expecting success of 0006.50 'parse approxidate (5 seconds ago)':
test-tool date approxidate '5 seconds ago' >actual &&
test_cmp expect actual
ok 50 - parse approxidate (5 seconds ago)
expecting success of 0006.51 'parse approxidate (5.seconds.ago)':
test-tool date approxidate '5.seconds.ago' >actual &&
test_cmp expect actual
ok 51 - parse approxidate (5.seconds.ago)
expecting success of 0006.52 'parse approxidate (10.minutes.ago)':
test-tool date approxidate '10.minutes.ago' >actual &&
test_cmp expect actual
ok 52 - parse approxidate (10.minutes.ago)
expecting success of 0006.53 'parse approxidate (yesterday)':
test-tool date approxidate 'yesterday' >actual &&
test_cmp expect actual
ok 53 - parse approxidate (yesterday)
expecting success of 0006.54 'parse approxidate (3.days.ago)':
test-tool date approxidate '3.days.ago' >actual &&
test_cmp expect actual
ok 54 - parse approxidate (3.days.ago)
expecting success of 0006.55 'parse approxidate (12:34:56.3.days.ago)':
test-tool date approxidate '12:34:56.3.days.ago' >actual &&
test_cmp expect actual
ok 55 - parse approxidate (12:34:56.3.days.ago)
expecting success of 0006.56 'parse approxidate (3.weeks.ago)':
test-tool date approxidate '3.weeks.ago' >actual &&
test_cmp expect actual
ok 56 - parse approxidate (3.weeks.ago)
expecting success of 0006.57 'parse approxidate (3.months.ago)':
test-tool date approxidate '3.months.ago' >actual &&
test_cmp expect actual
ok 57 - parse approxidate (3.months.ago)
expecting success of 0006.58 'parse approxidate (2.years.3.months.ago)':
test-tool date approxidate '2.years.3.months.ago' >actual &&
test_cmp expect actual
ok 58 - parse approxidate (2.years.3.months.ago)
expecting success of 0006.59 'parse approxidate (6am yesterday)':
test-tool date approxidate '6am yesterday' >actual &&
test_cmp expect actual
ok 59 - parse approxidate (6am yesterday)
expecting success of 0006.60 'parse approxidate (6pm yesterday)':
test-tool date approxidate '6pm yesterday' >actual &&
test_cmp expect actual
ok 60 - parse approxidate (6pm yesterday)
expecting success of 0006.61 'parse approxidate (3:00)':
test-tool date approxidate '3:00' >actual &&
test_cmp expect actual
ok 61 - parse approxidate (3:00)
expecting success of 0006.62 'parse approxidate (15:00)':
test-tool date approxidate '15:00' >actual &&
test_cmp expect actual
ok 62 - parse approxidate (15:00)
expecting success of 0006.63 'parse approxidate (noon today)':
test-tool date approxidate 'noon today' >actual &&
test_cmp expect actual
ok 63 - parse approxidate (noon today)
expecting success of 0006.64 'parse approxidate (noon yesterday)':
test-tool date approxidate 'noon yesterday' >actual &&
test_cmp expect actual
ok 64 - parse approxidate (noon yesterday)
expecting success of 0006.65 'parse approxidate (January 5th noon pm)':
test-tool date approxidate 'January 5th noon pm' >actual &&
test_cmp expect actual
ok 65 - parse approxidate (January 5th noon pm)
expecting success of 0006.66 'parse approxidate (10am noon)':
test-tool date approxidate '10am noon' >actual &&
test_cmp expect actual
ok 66 - parse approxidate (10am noon)
expecting success of 0006.67 'parse approxidate (last tuesday)':
test-tool date approxidate 'last tuesday' >actual &&
test_cmp expect actual
ok 67 - parse approxidate (last tuesday)
expecting success of 0006.68 'parse approxidate (July 5th)':
test-tool date approxidate 'July 5th' >actual &&
test_cmp expect actual
ok 68 - parse approxidate (July 5th)
expecting success of 0006.69 'parse approxidate (06/05/2009)':
test-tool date approxidate '06/05/2009' >actual &&
test_cmp expect actual
ok 69 - parse approxidate (06/05/2009)
expecting success of 0006.70 'parse approxidate (06.05.2009)':
test-tool date approxidate '06.05.2009' >actual &&
test_cmp expect actual
ok 70 - parse approxidate (06.05.2009)
expecting success of 0006.71 'parse approxidate (Jun 6, 5AM)':
test-tool date approxidate 'Jun 6, 5AM' >actual &&
test_cmp expect actual
ok 71 - parse approxidate (Jun 6, 5AM)
expecting success of 0006.72 'parse approxidate (5AM Jun 6)':
test-tool date approxidate '5AM Jun 6' >actual &&
test_cmp expect actual
ok 72 - parse approxidate (5AM Jun 6)
expecting success of 0006.73 'parse approxidate (6AM, June 7, 2009)':
test-tool date approxidate '6AM, June 7, 2009' >actual &&
test_cmp expect actual
ok 73 - parse approxidate (6AM, June 7, 2009)
expecting success of 0006.74 'parse approxidate (2008-12-01)':
test-tool date approxidate '2008-12-01' >actual &&
test_cmp expect actual
ok 74 - parse approxidate (2008-12-01)
expecting success of 0006.75 'parse approxidate (2009-12-01)':
test-tool date approxidate '2009-12-01' >actual &&
test_cmp expect actual
ok 75 - parse approxidate (2009-12-01)
expecting success of 0006.76 'human date 1251642000':
test-tool date human $t >actual &&
test_i18ncmp expect actual
ok 76 - human date 1251642000
expecting success of 0006.77 'human date 1251228000':
test-tool date human $t >actual &&
test_i18ncmp expect actual
ok 77 - human date 1251228000
expecting success of 0006.78 'human date 1249932000':
test-tool date human $t >actual &&
test_i18ncmp expect actual
ok 78 - human date 1249932000
expecting success of 0006.79 'human date 1238660000':
test-tool date human $t >actual &&
test_i18ncmp expect actual
ok 79 - human date 1238660000
expecting success of 0006.80 'human date 1220210400':
test-tool date human $t >actual &&
test_i18ncmp expect actual
ok 80 - human date 1220210400
expecting success of 0006.81 'human date 1214160000':
test-tool date human $t >actual &&
test_i18ncmp expect actual
ok 81 - human date 1214160000
expecting success of 0006.82 'human date 1196472000':
test-tool date human $t >actual &&
test_i18ncmp expect actual
ok 82 - human date 1196472000
expecting success of 0006.83 'human date 621660000':
test-tool date human $t >actual &&
test_i18ncmp expect actual
ok 83 - human date 621660000
# passed all 83 test(s)
1..83
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t0011-hashmap.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0011-hashmap/.git/
expecting success of 0011.1 'put':
test_hashmap "put key1 value1
put key2 value2
put fooBarFrotz value3
put foobarfrotz value4
size" "NULL
NULL
NULL
NULL
64 4"
ok 1 - put
expecting success of 0011.2 'put (case insensitive)':
test_hashmap "put key1 value1
put key2 value2
put fooBarFrotz value3
size" "NULL
NULL
NULL
64 3" ignorecase
ok 2 - put (case insensitive)
expecting success of 0011.3 'replace':
test_hashmap "put key1 value1
put key1 value2
put fooBarFrotz value3
put fooBarFrotz value4
size" "NULL
value1
NULL
value3
64 2"
ok 3 - replace
expecting success of 0011.4 'replace (case insensitive)':
test_hashmap "put key1 value1
put Key1 value2
put fooBarFrotz value3
put foobarfrotz value4
size" "NULL
value1
NULL
value3
64 2" ignorecase
ok 4 - replace (case insensitive)
expecting success of 0011.5 'get':
test_hashmap "put key1 value1
put key2 value2
put fooBarFrotz value3
put foobarfrotz value4
get key1
get key2
get fooBarFrotz
get notInMap" "NULL
NULL
NULL
NULL
value1
value2
value3
NULL"
ok 5 - get
expecting success of 0011.6 'get (case insensitive)':
test_hashmap "put key1 value1
put key2 value2
put fooBarFrotz value3
get Key1
get keY2
get foobarfrotz
get notInMap" "NULL
NULL
NULL
value1
value2
value3
NULL" ignorecase
ok 6 - get (case insensitive)
expecting success of 0011.7 'add':
test_hashmap "add key1 value1
add key1 value2
add fooBarFrotz value3
add fooBarFrotz value4
get key1
get fooBarFrotz
get notInMap" "value2
value1
value4
value3
NULL"
ok 7 - add
expecting success of 0011.8 'add (case insensitive)':
test_hashmap "add key1 value1
add Key1 value2
add fooBarFrotz value3
add foobarfrotz value4
get key1
get Foobarfrotz
get notInMap" "value2
value1
value4
value3
NULL" ignorecase
ok 8 - add (case insensitive)
expecting success of 0011.9 'remove':
test_hashmap "put key1 value1
put key2 value2
put fooBarFrotz value3
remove key1
remove key2
remove notInMap
size" "NULL
NULL
NULL
value1
value2
NULL
64 1"
ok 9 - remove
expecting success of 0011.10 'remove (case insensitive)':
test_hashmap "put key1 value1
put key2 value2
put fooBarFrotz value3
remove Key1
remove keY2
remove notInMap
size" "NULL
NULL
NULL
value1
value2
NULL
64 1" ignorecase
ok 10 - remove (case insensitive)
expecting success of 0011.11 'iterate':
test-tool hashmap >actual.raw <<-\EOF &&
put key1 value1
put key2 value2
put fooBarFrotz value3
iterate
EOF
cat >expect <<-\EOF &&
NULL
NULL
NULL
fooBarFrotz value3
key1 value1
key2 value2
EOF
sort <actual.raw >actual &&
test_cmp expect actual
ok 11 - iterate
expecting success of 0011.12 'iterate (case insensitive)':
test-tool hashmap ignorecase >actual.raw <<-\EOF &&
put key1 value1
put key2 value2
put fooBarFrotz value3
iterate
EOF
cat >expect <<-\EOF &&
NULL
NULL
NULL
fooBarFrotz value3
key1 value1
key2 value2
EOF
sort <actual.raw >actual &&
test_cmp expect actual
ok 12 - iterate (case insensitive)
expecting success of 0011.13 'grow / shrink':
rm -f in &&
rm -f expect &&
for n in $(test_seq 51)
do
echo put key$n value$n >> in &&
echo NULL >> expect
done &&
echo size >> in &&
echo 64 51 >> expect &&
echo put key52 value52 >> in &&
echo NULL >> expect &&
echo size >> in &&
echo 256 52 >> expect &&
for n in $(test_seq 12)
do
echo remove key$n >> in &&
echo value$n >> expect
done &&
echo size >> in &&
echo 256 40 >> expect &&
echo remove key40 >> in &&
echo value40 >> expect &&
echo size >> in &&
echo 64 39 >> expect &&
cat in | test-tool hashmap > out &&
test_cmp expect out
ok 13 - grow / shrink
expecting success of 0011.14 'string interning':
test_hashmap "intern value1
intern Value1
intern value2
intern value2
" "value1
Value1
value2
value2"
ok 14 - string interning
# passed all 14 test(s)
1..14
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t0010-racy-git.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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
expecting success of 0010.2 'Racy GIT trial #0 part B': test "" != "$files"
ok 2 - Racy GIT trial #0 part B
expecting success of 0010.3 'Racy GIT trial #1 part A': test "" != "$files"
ok 3 - Racy GIT trial #1 part A
expecting success of 0010.4 'Racy GIT trial #1 part B': test "" != "$files"
ok 4 - Racy GIT trial #1 part B
expecting success of 0010.5 'Racy GIT trial #2 part A': test "" != "$files"
ok 5 - Racy GIT trial #2 part A
expecting success of 0010.6 'Racy GIT trial #2 part B': test "" != "$files"
ok 6 - Racy GIT trial #2 part B
expecting success of 0010.7 'Racy GIT trial #3 part A': test "" != "$files"
ok 7 - Racy GIT trial #3 part A
expecting success of 0010.8 'Racy GIT trial #3 part B': test "" != "$files"
ok 8 - Racy GIT trial #3 part B
expecting success of 0010.9 'Racy GIT trial #4 part A': test "" != "$files"
ok 9 - Racy GIT trial #4 part A
expecting success of 0010.10 'Racy GIT trial #4 part B': test "" != "$files"
ok 10 - Racy GIT trial #4 part B
# passed all 10 test(s)
1..10
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t0013-sha1dc.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
! test_bool_env GIT_TEST_GETTEXT_POISON false
)
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
# passed all 1 test(s)
1..1
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t0014-alias.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
! test_bool_env GIT_TEST_GETTEXT_POISON false
)
prerequisite C_LOCALE_OUTPUT ok
On branch master
ok 1 - nested aliases - internal execution
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
On branch master
ok 2 - nested aliases - mixed execution
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
fatal: alias loop detected: expansion of 'loop-internal-1' does not terminate:
ok 3 - looping aliases - internal execution
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 4 - run-command formats empty args properly
# passed all 4 test(s)
1..4
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t0015-hash.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0015-hash/.git/
expecting success of 0015.1 'test basic SHA-1 hash values':
test-tool sha1 </dev/null >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 </dev/null >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 '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t0016-oidmap.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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 <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 one.t
[master 139b20d] two
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 two.t
[master 7c7cd71] three
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 three.t
[master fd8d77e] four
Author: A U Thor <author@example.com>
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.raw >actual &&
test_cmp expect actual
ok 6 - iterate
# passed all 6 test(s)
1..6
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t0017-env-helper.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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
usage: git env--helper --type=[bool|ulong] <options> <env-var>
--type <type> value is given this type
--default <value> default for git_env_*(...) to fall back on
--exit-code be quiet only use git_env_*() value as exit code
usage: git env--helper --type=[bool|ulong] <options> <env-var>
--type <type> value is given this type
--default <value> default for git_env_*(...) to fall back on
--exit-code be quiet only use git_env_*() value as exit code
usage: git env--helper --type=[bool|ulong] <options> <env-var>
--type <type> value is given this type
--default <value> default for git_env_*(...) to fall back on
--exit-code be quiet only use git_env_*() value as exit code
usage: git env--helper --type=[bool|ulong] <options> <env-var>
--type <type> value is given this type
--default <value> default for git_env_*(...) to fall back on
--exit-code be quiet only use git_env_*() value as exit code
error: option `default' requires a value
usage: git env--helper --type=[bool|ulong] <options> <env-var>
--type <type> value is given this type
--default <value> default for git_env_*(...) to fall back on
--exit-code be quiet only use git_env_*() value as exit code
usage: git env--helper --type=[bool|ulong] <options> <env-var>
--type <type> value is given this type
--default <value> 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] <options> <env-var>
--type <type> value is given this type
--default <value> 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] <options> <env-var>
--type <type> value is given this type
--default <value> 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 '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t0018-advice.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
! test_bool_env GIT_TEST_GETTEXT_POISON false
)
prerequisite C_LOCALE_OUTPUT ok
ok 1 - advice should be printed when config variable is unset
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"
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
# passed all 3 test(s)
1..3
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t0019-json-writer.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0019-json-writer/.git/
expecting success of 0019.1 'unit test of json-writer routines':
test-tool json-writer -u
ok 1 - unit test of json-writer routines
expecting success of 0019.2 'trivial object':
cat >expect <<-\EOF &&
{}
EOF
cat >input <<-\EOF &&
object
end
EOF
test-tool json-writer <input >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 <input >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 <input >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 <input >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 <input >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 <input >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 <input >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 <input >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 <input >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 <input >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 <input >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 <input >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 <input >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 <input >actual &&
test_cmp expect actual
ok 15 - larger empty example
checking prerequisite: PERLJSON
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
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/arm-linux-gnueabihf/perl/5.30.2 /usr/local/share/perl/5.30.2 /usr/lib/arm-linux-gnueabihf/perl5/5.30 /usr/share/perl5 /usr/lib/arm-linux-gnueabihf/perl/5.30 /usr/share/perl/5.30 /usr/local/lib/site_perl /usr/lib/arm-linux-gnueabihf/perl-base .).
BEGIN failed--compilation aborted.
prerequisite PERLJSON not satisfied
skipping test: parse JSON using Perl
cat >expect <<-\EOF &&
row[0].a abc
row[0].b 42
row[0].sub1 hash
row[0].sub1.c 3.14
row[0].sub1.d 1
row[0].sub1.sub2 array
row[0].sub1.sub2[0] 0
row[0].sub1.sub2[1] hash
row[0].sub1.sub2[1].g 0
row[0].sub1.sub2[1].h 1
row[0].sub1.sub2[2] 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 <input >output.json &&
perl "$TEST_DIRECTORY"/t0019/parse_json.perl <output.json >actual &&
test_cmp expect actual
ok 16 # skip parse JSON using Perl (missing PERLJSON)
# passed all 16 test(s)
1..16
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t0012-help.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0012-help/.git/
expecting success of 0012.1 'setup':
# Just write out which page gets requested
write_script test-browser <<-\EOF
echo "$*" >test-browser.log
EOF
ok 1 - setup
expecting success of 0012.2 'basic help commands':
git help >/dev/null &&
git help -a --no-verbose >/dev/null &&
git help -g >/dev/null &&
git help -a >/dev/null
ok 2 - basic help commands
expecting success of 0012.3 'works for commands and guides by default':
configure_help &&
git help status &&
echo "test://html/git-status.html" >expect &&
test_cmp expect test-browser.log &&
git help revisions &&
echo "test://html/gitrevisions.html" >expect &&
test_cmp expect test-browser.log
ok 3 - works for commands and guides by default
expecting success of 0012.4 '--exclude-guides does not work for guides':
>test-browser.log &&
test_must_fail git help --exclude-guides revisions &&
test_must_be_empty test-browser.log
git: 'revisions' is not a git command. See 'git --help'.
ok 4 - --exclude-guides does not work for guides
expecting success of 0012.5 '--help does not work for guides':
cat <<-EOF >expect &&
git: 'revisions' is not a git command. See 'git --help'.
EOF
test_must_fail git revisions --help 2>actual &&
test_i18ncmp expect actual
checking prerequisite: C_LOCALE_OUTPUT
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
! test_bool_env GIT_TEST_GETTEXT_POISON false
)
prerequisite C_LOCALE_OUTPUT ok
ok 5 - --help does not work for guides
expecting success of 0012.6 'git help':
git help >help.output &&
test_i18ngrep "^ clone " help.output &&
test_i18ngrep "^ add " help.output &&
test_i18ngrep "^ log " help.output &&
test_i18ngrep "^ commit " help.output &&
test_i18ngrep "^ fetch " help.output
clone Clone a repository into a new directory
add Add file contents to the index
log Show commit logs
commit Record changes to the repository
fetch Download objects and refs from another repository
ok 6 - git help
expecting success of 0012.7 'git help -g':
git help -g >help.output &&
test_i18ngrep "^ attributes " help.output &&
test_i18ngrep "^ everyday " help.output &&
test_i18ngrep "^ tutorial " help.output
attributes Defining attributes per path
everyday A useful minimum set of commands for Everyday Git
tutorial A tutorial introduction to Git
ok 7 - git help -g
expecting success of 0012.8 'generate builtin list':
git --list-cmds=builtins >builtins
ok 8 - generate builtin list
expecting success of 0012.9 'add can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git add [<options>] [--] <pathspec>...
ok 9 - add can handle -h
expecting success of 0012.10 'am can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git am [<options>] [(<mbox> | <Maildir>)...]
ok 10 - am can handle -h
expecting success of 0012.11 'annotate can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git blame [<options>] [<rev-opts>] [<rev>] [--] <file>
ok 11 - annotate can handle -h
expecting success of 0012.12 'apply can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git apply [<options>] [<patch>...]
ok 12 - apply can handle -h
expecting success of 0012.13 'archive can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git archive [<options>] <tree-ish> [<path>...]
ok 13 - archive can handle -h
expecting success of 0012.14 'bisect--helper can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git bisect--helper --next-all [--no-checkout]
ok 14 - bisect--helper can handle -h
expecting success of 0012.15 'blame can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git blame [<options>] [<rev-opts>] [<rev>] [--] <file>
ok 15 - blame can handle -h
expecting success of 0012.16 'branch can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git branch [<options>] [-r | -a] [--merged | --no-merged]
ok 16 - branch can handle -h
expecting success of 0012.17 'bundle can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git bundle create [<options>] <file> <git-rev-list args>
ok 17 - bundle can handle -h
expecting success of 0012.18 'cat-file can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -p | <type> | --textconv | --filters) [--path=<path>] <object>
ok 18 - cat-file can handle -h
expecting success of 0012.19 'check-attr can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git check-attr [-a | --all | <attr>...] [--] <pathname>...
ok 19 - check-attr can handle -h
expecting success of 0012.20 'check-ignore can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git check-ignore [<options>] <pathname>...
ok 20 - check-ignore can handle -h
expecting success of 0012.21 'check-mailmap can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git check-mailmap [<options>] <contact>...
ok 21 - check-mailmap can handle -h
expecting success of 0012.22 'check-ref-format can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git check-ref-format [--normalize] [<options>] <refname>
ok 22 - check-ref-format can handle -h
expecting success of 0012.23 'checkout can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git checkout [<options>] <branch>
ok 23 - checkout can handle -h
expecting success of 0012.24 'checkout-index can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git checkout-index [<options>] [--] [<file>...]
ok 24 - checkout-index can handle -h
expecting success of 0012.25 'cherry can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git cherry [-v] [<upstream> [<head> [<limit>]]]
ok 25 - cherry can handle -h
expecting success of 0012.26 'cherry-pick can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git cherry-pick [<options>] <commit-ish>...
ok 26 - cherry-pick can handle -h
expecting success of 0012.27 'clean can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git clean [-d] [-f] [-i] [-n] [-q] [-e <pattern>] [-x | -X] [--] <paths>...
ok 27 - clean can handle -h
expecting success of 0012.28 'clone can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git clone [<options>] [--] <repo> [<dir>]
ok 28 - clone can handle -h
expecting success of 0012.29 'column can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git column [<options>]
ok 29 - column can handle -h
expecting success of 0012.30 'commit can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git commit [<options>] [--] <pathspec>...
ok 30 - commit can handle -h
expecting success of 0012.31 'commit-graph can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git commit-graph verify [--object-dir <objdir>] [--shallow] [--[no-]progress]
ok 31 - commit-graph can handle -h
expecting success of 0012.32 'commit-tree can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git commit-tree [(-p <parent>)...] [-S[<keyid>]] [(-m <message>)...] [(-F <file>)...] <tree>
ok 32 - commit-tree can handle -h
expecting success of 0012.33 'config can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git config [<options>]
ok 33 - config can handle -h
expecting success of 0012.34 'count-objects can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git count-objects [-v] [-H | --human-readable]
ok 34 - count-objects can handle -h
expecting success of 0012.35 'credential can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git credential [fill|approve|reject]
ok 35 - credential can handle -h
expecting success of 0012.36 'describe can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git describe [<options>] [<commit-ish>...]
ok 36 - describe can handle -h
expecting success of 0012.37 'diff can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git diff [<options>] [<commit> [<commit>]] [--] [<path>...]
ok 37 - diff can handle -h
expecting success of 0012.38 'diff-files can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git diff-files [-q] [-0 | -1 | -2 | -3 | -c | --cc] [<common-diff-options>] [<path>...]
ok 38 - diff-files can handle -h
expecting success of 0012.39 'diff-index can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git diff-index [-m] [--cached] [<common-diff-options>] <tree-ish> [<path>...]
ok 39 - diff-index can handle -h
expecting success of 0012.40 'diff-tree can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git diff-tree [--stdin] [-m] [-c | --cc] [-s] [-v] [--pretty] [-t] [-r] [--root] [<common-diff-options>] <tree-ish> [<tree-ish>] [<path>...]
ok 40 - diff-tree can handle -h
expecting success of 0012.41 'difftool can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git difftool [<options>] [<commit> [<commit>]] [--] [<path>...]
ok 41 - difftool can handle -h
expecting success of 0012.42 'env--helper can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git env--helper --type=[bool|ulong] <options> <env-var>
ok 42 - env--helper can handle -h
expecting success of 0012.43 'fast-export can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git fast-export [rev-list-opts]
ok 43 - fast-export can handle -h
expecting success of 0012.44 'fetch can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git fetch [<options>] [<repository> [<refspec>...]]
ok 44 - fetch can handle -h
expecting success of 0012.45 'fetch-pack can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git fetch-pack [--all] [--stdin] [--quiet | -q] [--keep | -k] [--thin] [--include-tag] [--upload-pack=<git-upload-pack>] [--depth=<n>] [--no-progress] [--diag-url] [-v] [<host>:]<directory> [<refs>...]
ok 45 - fetch-pack can handle -h
expecting success of 0012.46 'fmt-merge-msg can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git fmt-merge-msg [-m <message>] [--log[=<n>] | --no-log] [--file <file>]
ok 46 - fmt-merge-msg can handle -h
expecting success of 0012.47 'for-each-ref can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git for-each-ref [<options>] [<pattern>]
ok 47 - for-each-ref can handle -h
expecting success of 0012.48 'format-patch can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git format-patch [<options>] [<since> | <revision-range>]
ok 48 - format-patch can handle -h
expecting success of 0012.49 'fsck can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git fsck [<options>] [<object>...]
ok 49 - fsck can handle -h
expecting success of 0012.50 'fsck-objects can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git fsck [<options>] [<object>...]
ok 50 - fsck-objects can handle -h
expecting success of 0012.51 'gc can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git gc [<options>]
ok 51 - gc can handle -h
expecting success of 0012.52 'get-tar-commit-id can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git get-tar-commit-id
ok 52 - get-tar-commit-id can handle -h
expecting success of 0012.53 'grep can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git grep [<options>] [-e] <pattern> [<rev>...] [[--] <path>...]
ok 53 - grep can handle -h
expecting success of 0012.54 'hash-object can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git hash-object [-t <type>] [-w] [--path=<file> | --no-filters] [--stdin] [--] <file>...
ok 54 - hash-object can handle -h
expecting success of 0012.55 'help can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git help [--all] [--guides] [--man | --web | --info] [<command>]
ok 55 - help can handle -h
expecting success of 0012.56 'index-pack can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git index-pack [-v] [-o <index-file>] [--keep | --keep=<msg>] [--verify] [--strict] (<pack-file> | --stdin [--fix-thin] [<pack-file>])
ok 56 - index-pack can handle -h
expecting success of 0012.57 'init can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git init [-q | --quiet] [--bare] [--template=<template-directory>] [--shared[=<permissions>]] [<directory>]
ok 57 - init can handle -h
expecting success of 0012.58 'init-db can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git init [-q | --quiet] [--bare] [--template=<template-directory>] [--shared[=<permissions>]] [<directory>]
ok 58 - init-db can handle -h
expecting success of 0012.59 'interpret-trailers can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git interpret-trailers [--in-place] [--trim-empty] [(--trailer <token>[(=|:)<value>])...] [<file>...]
ok 59 - interpret-trailers can handle -h
expecting success of 0012.60 'log can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git log [<options>] [<revision-range>] [[--] <path>...]
ok 60 - log can handle -h
expecting success of 0012.61 'ls-files can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git ls-files [<options>] [<file>...]
ok 61 - ls-files can handle -h
expecting success of 0012.62 'ls-remote can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git ls-remote [--heads] [--tags] [--refs] [--upload-pack=<exec>]
ok 62 - ls-remote can handle -h
expecting success of 0012.63 'ls-tree can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git ls-tree [<options>] <tree-ish> [<path>...]
ok 63 - ls-tree can handle -h
expecting success of 0012.64 'mailinfo can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git mailinfo [-k | -b] [-m | --message-id] [-u | --encoding=<encoding> | -n] [--scissors | --no-scissors] <msg> <patch> < mail >info
ok 64 - mailinfo can handle -h
expecting success of 0012.65 'mailsplit can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git mailsplit [-d<prec>] [-f<n>] [-b] [--keep-cr] -o<directory> [(<mbox>|<Maildir>)...]
ok 65 - mailsplit can handle -h
expecting success of 0012.66 'merge can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git merge [<options>] [<commit>...]
ok 66 - merge can handle -h
expecting success of 0012.67 'merge-base can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git merge-base [-a | --all] <commit> <commit>...
ok 67 - merge-base can handle -h
expecting success of 0012.68 'merge-file can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git merge-file [<options>] [-L <name1> [-L <orig> [-L <name2>]]] <file1> <orig-file> <file2>
ok 68 - merge-file can handle -h
expecting success of 0012.69 'merge-index can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git merge-index [-o] [-q] <merge-program> (-a | [--] [<filename>...])
ok 69 - merge-index can handle -h
expecting success of 0012.70 'merge-ours can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git merge-ours <base>... -- HEAD <remote>...
ok 70 - merge-ours can handle -h
expecting success of 0012.71 'merge-recursive can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git merge-recursive <base>... -- <head> <remote> ...
ok 71 - merge-recursive can handle -h
expecting success of 0012.72 'merge-recursive-ours can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git merge-recursive-ours <base>... -- <head> <remote> ...
ok 72 - merge-recursive-ours can handle -h
expecting success of 0012.73 'merge-recursive-theirs can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git merge-recursive-theirs <base>... -- <head> <remote> ...
ok 73 - merge-recursive-theirs can handle -h
expecting success of 0012.74 'merge-subtree can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git merge-subtree <base>... -- <head> <remote> ...
ok 74 - merge-subtree can handle -h
expecting success of 0012.75 'merge-tree can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git merge-tree <base-tree> <branch1> <branch2>
ok 75 - merge-tree can handle -h
expecting success of 0012.76 'mktag can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git mktag
ok 76 - mktag can handle -h
expecting success of 0012.77 'mktree can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git mktree [-z] [--missing] [--batch]
ok 77 - mktree can handle -h
expecting success of 0012.78 'multi-pack-index can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git multi-pack-index [<options>] (write|verify|expire|repack --batch-size=<size>)
ok 78 - multi-pack-index can handle -h
expecting success of 0012.79 'mv can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git mv [<options>] <source>... <destination>
ok 79 - mv can handle -h
expecting success of 0012.80 'name-rev can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git name-rev [<options>] <commit>...
ok 80 - name-rev can handle -h
expecting success of 0012.81 'notes can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git notes [--ref <notes-ref>] [list [<object>]]
ok 81 - notes can handle -h
expecting success of 0012.82 'pack-objects can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git pack-objects --stdout [<options>...] [< <ref-list> | < <object-list>]
ok 82 - pack-objects can handle -h
expecting success of 0012.83 'pack-redundant can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git pack-redundant [--verbose] [--alt-odb] (--all | <filename.pack>...)
ok 83 - pack-redundant can handle -h
expecting success of 0012.84 'pack-refs can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git pack-refs [<options>]
ok 84 - pack-refs can handle -h
expecting success of 0012.85 'patch-id can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git patch-id [--stable | --unstable]
ok 85 - patch-id can handle -h
expecting success of 0012.86 'pickaxe can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git blame [<options>] [<rev-opts>] [<rev>] [--] <file>
ok 86 - pickaxe can handle -h
expecting success of 0012.87 'prune can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git prune [-n] [-v] [--progress] [--expire <time>] [--] [<head>...]
ok 87 - prune can handle -h
expecting success of 0012.88 'prune-packed can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git prune-packed [-n | --dry-run] [-q | --quiet]
ok 88 - prune-packed can handle -h
expecting success of 0012.89 'pull can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git pull [<options>] [<repository> [<refspec>...]]
ok 89 - pull can handle -h
expecting success of 0012.90 'push can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git push [<options>] [<repository> [<refspec>...]]
ok 90 - push can handle -h
expecting success of 0012.91 'range-diff can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git range-diff [<options>] <old-base>..<old-tip> <new-base>..<new-tip>
ok 91 - range-diff can handle -h
expecting success of 0012.92 'read-tree can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git read-tree [(-m [--trivial] [--aggressive] | --reset | --prefix=<prefix>) [-u [--exclude-per-directory=<gitignore>] | -i]] [--no-sparse-checkout] [--index-output=<file>] (--empty | <tree-ish1> [<tree-ish2> [<tree-ish3>]])
ok 92 - read-tree can handle -h
expecting success of 0012.93 'rebase can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git rebase [-i] [options] [--exec <cmd>] [--onto <newbase> | --keep-base] [<upstream> [<branch>]]
ok 93 - rebase can handle -h
expecting success of 0012.94 'rebase--interactive can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git rebase--interactive [<options>]
ok 94 - rebase--interactive can handle -h
expecting success of 0012.95 'receive-pack can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git receive-pack <git-dir>
ok 95 - receive-pack can handle -h
expecting success of 0012.96 'reflog can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git reflog [ show | expire | delete | exists ]
ok 96 - reflog can handle -h
expecting success of 0012.97 'remote can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git remote [-v | --verbose]
ok 97 - remote can handle -h
expecting success of 0012.98 'remote-ext can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git remote-ext <remote> <url>
ok 98 - remote-ext can handle -h
expecting success of 0012.99 'remote-fd can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git remote-fd <remote> <url>
ok 99 - remote-fd can handle -h
expecting success of 0012.100 'repack can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git repack [<options>]
ok 100 - repack can handle -h
expecting success of 0012.101 'replace can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git replace [-f] <object> <replacement>
ok 101 - replace can handle -h
expecting success of 0012.102 'rerere can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git rerere [clear | forget <path>... | status | remaining | diff | gc]
ok 102 - rerere can handle -h
expecting success of 0012.103 'reset can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git reset [--mixed | --soft | --hard | --merge | --keep] [-q] [<commit>]
ok 103 - reset can handle -h
expecting success of 0012.104 'restore can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git restore [<options>] [--source=<branch>] <file>...
ok 104 - restore can handle -h
expecting success of 0012.105 'rev-list can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git rev-list [OPTION] <commit-id>... [ -- paths... ]
ok 105 - rev-list can handle -h
expecting success of 0012.106 'rev-parse can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git rev-parse --parseopt [<options>] -- [<args>...]
Run "git rev-parse --parseopt -h" for more information on the first usage.
ok 106 - rev-parse can handle -h
expecting success of 0012.107 'revert can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git revert [<options>] <commit-ish>...
ok 107 - revert can handle -h
expecting success of 0012.108 'rm can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git rm [<options>] [--] <file>...
ok 108 - rm can handle -h
expecting success of 0012.109 'send-pack can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git send-pack [--all | --mirror] [--dry-run] [--force] [--receive-pack=<git-receive-pack>] [--verbose] [--thin] [--atomic] [<host>:]<directory> [<ref>...]
ok 109 - send-pack can handle -h
expecting success of 0012.110 'shortlog can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git shortlog [<options>] [<revision-range>] [[--] <path>...]
ok 110 - shortlog can handle -h
expecting success of 0012.111 'show can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git log [<options>] [<revision-range>] [[--] <path>...]
ok 111 - show can handle -h
expecting success of 0012.112 'show-branch can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git show-branch [-a | --all] [-r | --remotes] [--topo-order | --date-order]
ok 112 - show-branch can handle -h
expecting success of 0012.113 'show-index can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git show-index
ok 113 - show-index can handle -h
expecting success of 0012.114 'show-ref can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git show-ref [-q | --quiet] [--verify] [--head] [-d | --dereference] [-s | --hash[=<n>]] [--abbrev[=<n>]] [--tags] [--heads] [--] [<pattern>...]
ok 114 - show-ref can handle -h
expecting success of 0012.115 'sparse-checkout can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git sparse-checkout (init|list|set|add|reapply|disable) <options>
ok 115 - sparse-checkout can handle -h
expecting success of 0012.116 'stage can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git add [<options>] [--] <pathspec>...
ok 116 - stage can handle -h
expecting success of 0012.117 'stash can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git stash list [<options>]
ok 117 - stash can handle -h
expecting success of 0012.118 'status can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git status [<options>] [--] <pathspec>...
ok 118 - status can handle -h
expecting success of 0012.119 'stripspace can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git stripspace [-s | --strip-comments]
ok 119 - stripspace can handle -h
expecting success of 0012.120 'submodule--helper can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git submodule--helper <command>
ok 120 - submodule--helper can handle -h
expecting success of 0012.121 'switch can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git switch [<options>] [<branch>]
ok 121 - switch can handle -h
expecting success of 0012.122 'symbolic-ref can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git symbolic-ref [<options>] <name> [<ref>]
ok 122 - symbolic-ref can handle -h
expecting success of 0012.123 'tag can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git tag [-a | -s | -u <key-id>] [-f] [-m <msg> | -F <file>]
ok 123 - tag can handle -h
expecting success of 0012.124 'unpack-file can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git unpack-file <sha1>
ok 124 - unpack-file can handle -h
expecting success of 0012.125 'unpack-objects can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git unpack-objects [-n] [-q] [-r] [--strict]
ok 125 - unpack-objects can handle -h
expecting success of 0012.126 'update-index can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git update-index [<options>] [--] [<file>...]
ok 126 - update-index can handle -h
expecting success of 0012.127 'update-ref can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git update-ref [<options>] -d <refname> [<old-val>]
ok 127 - update-ref can handle -h
expecting success of 0012.128 'update-server-info can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git update-server-info [--force]
ok 128 - update-server-info can handle -h
expecting success of 0012.129 'upload-archive can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git upload-archive <repo>
ok 129 - upload-archive can handle -h
expecting success of 0012.130 'upload-archive--writer can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git upload-archive <repo>
ok 130 - upload-archive--writer can handle -h
expecting success of 0012.131 'upload-pack can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git upload-pack [<options>] <dir>
ok 131 - upload-pack can handle -h
expecting success of 0012.132 'var can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git var (-l | <variable>)
ok 132 - var can handle -h
expecting success of 0012.133 'verify-commit can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git verify-commit [-v | --verbose] <commit>...
ok 133 - verify-commit can handle -h
expecting success of 0012.134 'verify-pack can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git verify-pack [-v | --verbose] [-s | --stat-only] <pack>...
ok 134 - verify-pack can handle -h
expecting success of 0012.135 'verify-tag can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git verify-tag [-v | --verbose] [--format=<format>] <tag>...
ok 135 - verify-tag can handle -h
expecting success of 0012.136 'version can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git version [<options>]
ok 136 - version can handle -h
expecting success of 0012.137 'whatchanged can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git log [<options>] [<revision-range>] [[--] <path>...]
ok 137 - whatchanged can handle -h
expecting success of 0012.138 'worktree can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git worktree add [<options>] <path> [<commit-ish>]
ok 138 - worktree can handle -h
expecting success of 0012.139 'write-tree can handle -h':
test_expect_code 129 git $builtin -h >output 2>&1 &&
test_i18ngrep usage output
usage: git write-tree [--missing-ok] [--prefix=<prefix>/]
ok 139 - write-tree can handle -h
# passed all 139 test(s)
1..139
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t0020-crlf.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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 <one) &&
git read-tree --reset -u HEAD
[master (root-commit) 8ed90b3] initial
Author: A U Thor <author@example.com>
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
[master 9ce6efe] nowarn
Author: A U Thor <author@example.com>
1 file changed, 4 insertions(+)
create mode 100644 doublewarn
checking prerequisite: C_LOCALE_OUTPUT
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
! test_bool_env GIT_TEST_GETTEXT_POISON false
)
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 8ed90b3 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 <one) &&
test "$two" = $(git hash-object --stdin <dir/two) &&
differs=$(git diff-index --cached HEAD) &&
verbose test -z "$differs"
ok 12 - checkout with autocrlf=true
expecting success of 0020.13 'checkout with autocrlf=input':
rm -f tmp one dir/two three &&
git config core.autocrlf input &&
git read-tree --reset -u HEAD &&
! has_cr one &&
! has_cr dir/two &&
git update-index -- one dir/two &&
test "$one" = $(git hash-object --stdin <one) &&
test "$two" = $(git hash-object --stdin <dir/two) &&
differs=$(git diff-index --cached HEAD) &&
verbose test -z "$differs"
ok 13 - checkout with autocrlf=input
expecting success of 0020.14 'apply patch (autocrlf=input)':
rm -f tmp one dir/two three &&
git config core.autocrlf input &&
git read-tree --reset -u HEAD &&
git apply patch.file &&
verbose test "$patched" = "$(git hash-object --stdin <one)"
ok 14 - apply patch (autocrlf=input)
expecting success of 0020.15 'apply patch --cached (autocrlf=input)':
rm -f tmp one dir/two three &&
git config core.autocrlf input &&
git read-tree --reset -u HEAD &&
git apply --cached patch.file &&
verbose test "$patched" = $(git rev-parse :one)
ok 15 - apply patch --cached (autocrlf=input)
expecting success of 0020.16 'apply patch --index (autocrlf=input)':
rm -f tmp one dir/two three &&
git config core.autocrlf input &&
git read-tree --reset -u HEAD &&
git apply --index patch.file &&
verbose test "$patched" = $(git rev-parse :one) &&
verbose test "$patched" = $(git hash-object --stdin <one)
ok 16 - apply patch --index (autocrlf=input)
expecting success of 0020.17 'apply patch (autocrlf=true)':
rm -f tmp one dir/two three &&
git config core.autocrlf true &&
git read-tree --reset -u HEAD &&
git apply patch.file &&
verbose test "$patched" = "$(remove_cr <one | git hash-object --stdin)"
ok 17 - apply patch (autocrlf=true)
expecting success of 0020.18 'apply patch --cached (autocrlf=true)':
rm -f tmp one dir/two three &&
git config core.autocrlf true &&
git read-tree --reset -u HEAD &&
git apply --cached patch.file &&
verbose test "$patched" = $(git rev-parse :one)
ok 18 - apply patch --cached (autocrlf=true)
expecting success of 0020.19 'apply patch --index (autocrlf=true)':
rm -f tmp one dir/two three &&
git config core.autocrlf true &&
git read-tree --reset -u HEAD &&
git apply --index patch.file &&
verbose test "$patched" = $(git rev-parse :one) &&
verbose test "$patched" = "$(remove_cr <one | git hash-object --stdin)"
ok 19 - apply patch --index (autocrlf=true)
expecting success of 0020.20 '.gitattributes says two is binary':
rm -f tmp one dir/two three &&
echo "two -crlf" >.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 f637e72] Add .gitattributes
Author: A U Thor <author@example.com>
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 e60e46d] initial
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
[master b851b75] second
Author: A U Thor <author@example.com>
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 <new-branch-name>
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
HEAD is now at e60e46d initial
Previous HEAD position was e60e46d 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 fd98215] third
Author: A U Thor <author@example.com>
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 <new-branch-name>
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
HEAD is now at b851b75 second
Previous HEAD position was b851b75 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
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 257fe30] alllf, allcrlf and mixed only
Author: A U Thor <author@example.com>
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 1bcada3] alllf2 added
Author: A U Thor <author@example.com>
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 '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t0022-crlf-rename.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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 <author@example.com>
1 file changed, 33 insertions(+)
create mode 100644 sample
[master d248b45] Second
Author: A U Thor <author@example.com>
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 '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t0023-crlf-am.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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 <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 bar
ok 1 - setup
expecting success of 0023.2 'am':
git am -3 <patchfile &&
git diff-files --name-status --exit-code
Applying: test1
ok 2 - am
# passed all 2 test(s)
1..2
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t0000-basic.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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
ok 1 - verify that the running shell supports "local"
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
ok 2 - .git/objects should be empty after git init in an empty repo
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 3 - .git/objects should have 3 subdirectories
expecting success of 0000.4 'success is reported like this':
:
ok 4 - success is reported like this
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
ok 5 - pretend we have a fully passing test suite
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 6 - pretend we have a partially passing test suite
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
ok 7 - pretend we have a known breakage
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
ok 8 - pretend we have fixed a known breakage
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 9 - pretend we have fixed one of two known breakages (run in sub test-lib)
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
ok 10 - pretend we have a pass, fail, and known breakage
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
ok 11 - pretend we have a mix of all possible results
checking prerequisite: C_LOCALE_OUTPUT
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
! test_bool_env GIT_TEST_GETTEXT_POISON false
)
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
ok 12 - test --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
ok 13 - test --verbose-only
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 14 - GIT_SKIP_TESTS
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
)
ok 15 - GIT_SKIP_TESTS several tests
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
)
ok 16 - GIT_SKIP_TESTS sh pattern
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 17 - GIT_SKIP_TESTS entire suite
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
)
ok 18 - GIT_SKIP_TESTS does not skip unmatched suite
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
ok 19 - --run basic
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 20 - --run with a range
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
ok 21 - --run with two ranges
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
ok 22 - --run with a left open range
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 23 - --run with a right open range
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
ok 24 - --run with basic negation
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
ok 25 - --run with two negations
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 26 - --run a range and negation
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
ok 27 - --run range negation
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
ok 28 - --run include, exclude and include
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 29 - --run include, exclude and include, comma separated
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
ok 30 - --run exclude and include
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
ok 31 - --run empty selectors
expecting success of 0000.32 '--run invalid range start':
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
ok 32 - --run invalid range start
expecting success of 0000.33 '--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
ok 33 - --run invalid range end
expecting success of 0000.34 '--run invalid selector':
run_sub_test_lib_test_err run-inv-selector '--run invalid selector' --run='1?' <<-\EOF &&
test_expect_success "passing test #1" 'true'
test_done
EOF
check_sub_test_lib_test_err run-inv-selector <<-\EOF_OUT 3<<-\EOF_ERR
> FATAL: Unexpected exit with code 1
EOF_OUT
> error: --run: invalid non-numeric in test selector: '1?'
EOF_ERR
ok 34 - --run invalid selector
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
skipping test: unmet prerequisite causes test to be skipped
donthaveit=no
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
skipping test: unmet prerequisites causes test to be skipped
donthaveit=no
ok 38 # skip unmet prerequisites causes test to be skipped (missing DONTHAVEIT of HAVEIT,DONTHAVEIT)
skipping test: unmet prerequisites causes test to be skipped
donthaveiteither=no
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" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&true
)
prerequisite LAZY_TRUE ok
expecting success of 0000.40 'test runs if lazy prereq is satisfied':
havetrue=yes
ok 40 - test runs if lazy prereq is satisfied
skipping test: missing lazy prereqs skip tests
donthavetrue=no
ok 41 # skip missing lazy prereqs skip tests (missing !LAZY_TRUE)
checking prerequisite: LAZY_FALSE
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&false
)
prerequisite LAZY_FALSE not satisfied
expecting success of 0000.42 'negative lazy prereqs checked':
nothavefalse=yes
ok 42 - negative lazy prereqs checked
skipping test: missing negative lazy prereqs will skip
havefalse=no
ok 43 # skip missing negative lazy prereqs will skip (missing LAZY_FALSE)
expecting success of 0000.44 'tests clean up after themselves':
test_when_finished clean=yes
ok 44 - tests clean up after themselves
expecting success of 0000.45 '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
test_expect_success lazy 'test_have_prereq LAZY && echo trace'
test_done
EOF
grep 'echo trace' lazy-prereq-and-tracing/err
+ echo trace
ok 45 - lazy prereqs do not turn off tracing
expecting success of 0000.46 '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
ok 46 - tests clean up even on failures
expecting success of 0000.47 '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
ok 47 - test_atexit is run
expecting success of 0000.48 'test_oid setup':
test_oid_init
ok 48 - test_oid setup
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) &&
test $(( $rawsz * 2)) -eq "$hexsz"
0000000000000000000000000000000000000000
ok 49 - test_oid provides sane info by default
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 <actual) -eq 40 &&
test "$rawsz" -eq 20 &&
test "$hexsz" -eq 40
0000000000000000000000000000000000000000
ok 50 - test_oid can look up data for SHA-1
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 <actual) -eq 64 &&
test "$rawsz" -eq 32 &&
test "$hexsz" -eq 64
0000000000000000000000000000000000000000000000000000000000000000
ok 51 - test_oid can look up data for SHA-256
expecting success of 0000.52 'test_bool_env':
(
sane_unset envvar &&
test_bool_env envvar true &&
! test_bool_env envvar false &&
envvar= &&
export envvar &&
! test_bool_env envvar true &&
! test_bool_env envvar false &&
envvar=true &&
test_bool_env envvar true &&
test_bool_env envvar false &&
envvar=false &&
! test_bool_env envvar true &&
! test_bool_env envvar false &&
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 &&
envvar=true &&
! ( test_bool_env envvar invalid ) 7>err &&
grep "error: test_bool_env requires bool values" err
)
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] <options> <env-var>
--type <type> value is given this type
--default <value> default for git_env_*(...) to fall back on
--exit-code be quiet only use git_env_*() value as exit code
error: test_bool_env requires bool values both for $envvar and for the default fallback
ok 52 - test_bool_env
expecting success of 0000.53 'git update-index without --add should fail adding':
test_must_fail git update-index should-be-empty
error: should-be-empty: cannot add to the index - missing --add option?
fatal: Unable to process path should-be-empty
ok 53 - git update-index without --add should fail adding
expecting success of 0000.54 'git update-index with --add should succeed':
git update-index --add should-be-empty
ok 54 - git update-index with --add should succeed
expecting success of 0000.55 'writing tree out with git write-tree':
tree=$(git write-tree)
ok 55 - writing tree out with git write-tree
expecting success of 0000.56 'validate object ID of a known tree':
test "$tree" = "$(test_oid simpletree)"
ok 56 - validate object ID of a known tree
expecting success of 0000.57 '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
error: should-be-empty: does not exist and --remove not passed
fatal: Unable to process path should-be-empty
ok 57 - git update-index without --remove should fail removing
expecting success of 0000.58 'git update-index with --remove should be able to remove':
git update-index --remove should-be-empty
ok 58 - git update-index with --remove should be able to remove
expecting success of 0000.59 'git write-tree should be able to write an empty tree':
tree=$(git write-tree)
ok 59 - git write-tree should be able to write an empty tree
expecting success of 0000.60 'validate object ID of a known tree':
test "$tree" = $EMPTY_TREE
ok 60 - validate object ID of a known tree
expecting success of 0000.61 '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
checking prerequisite: SYMLINKS
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
# test whether the filesystem supports symbolic links
ln -s x y && test -h y
)
prerequisite SYMLINKS ok
ok 61 - adding various types of objects with git update-index --add
expecting success of 0000.62 'showing stage with git ls-files --stage':
git ls-files --stage >current
ok 62 - showing stage with git ls-files --stage
expecting success of 0000.63 '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 63 - validate git ls-files output for a known tree
expecting success of 0000.64 'writing tree out with git write-tree':
tree=$(git write-tree)
ok 64 - writing tree out with git write-tree
expecting success of 0000.65 'validate object ID for a known tree':
test "$tree" = "$(test_oid root)"
ok 65 - validate object ID for a known tree
expecting success of 0000.66 'showing tree with git ls-tree':
git ls-tree $tree >current
ok 66 - showing tree with git ls-tree
expecting success of 0000.67 '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 67 - git ls-tree output for a known tree
expecting success of 0000.68 'showing tree with git ls-tree -r':
git ls-tree -r $tree >current
ok 68 - showing tree with git ls-tree -r
expecting success of 0000.69 '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
ok 69 - git ls-tree -r output for a known tree
expecting success of 0000.70 'showing tree with git ls-tree -r -t':
git ls-tree -r -t $tree >current
ok 70 - showing tree with git ls-tree -r -t
expecting success of 0000.71 '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
ok 71 - git ls-tree -r output for a known tree
expecting success of 0000.72 'writing partial tree out with git write-tree --prefix':
ptree=$(git write-tree --prefix=path3)
ok 72 - writing partial tree out with git write-tree --prefix
expecting success of 0000.73 'validate object ID for a known tree':
test "$ptree" = $(test_oid path3d)
ok 73 - validate object ID for a known tree
expecting success of 0000.74 'writing partial tree out with git write-tree --prefix':
ptree=$(git write-tree --prefix=path3/subp3)
ok 74 - writing partial tree out with git write-tree --prefix
expecting success of 0000.75 'validate object ID for a known tree':
test "$ptree" = $(test_oid subp3d)
ok 75 - validate object ID for a known tree
expecting success of 0000.76 '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 <badobjects
ok 76 - put invalid objects into the index
expecting success of 0000.77 'writing this tree without --missing-ok':
test_must_fail git write-tree
error: invalid object 100644 0000000000000000000000000000000000000001 for 'dir/file1'
fatal: git-write-tree: error building trees
ok 77 - writing this tree without --missing-ok
expecting success of 0000.78 'writing this tree with --missing-ok':
git write-tree --missing-ok
6718b1dd2231ec9ad958238ceeaa06fbfbefda94
ok 78 - writing this tree with --missing-ok
expecting success of 0000.79 'git read-tree followed by write-tree should be idempotent':
rm -f .git/index &&
git read-tree $tree &&
test -f .git/index &&
newtree=$(git write-tree) &&
test "$newtree" = "$tree"
ok 79 - git read-tree followed by write-tree should be idempotent
expecting success of 0000.80 'validate git diff-files output for a know cache/work tree state':
cat >expected <<EOF &&
:100644 100644 $(test_oid path0f) $ZERO_OID M path0
:120000 120000 $(test_oid path0s) $ZERO_OID M path0sym
:100644 100644 $(test_oid path2f) $ZERO_OID M path2/file2
:120000 120000 $(test_oid path2s) $ZERO_OID M path2/file2sym
:100644 100644 $(test_oid path3f) $ZERO_OID M path3/file3
:120000 120000 $(test_oid path3s) $ZERO_OID M path3/file3sym
:100644 100644 $(test_oid subp3f) $ZERO_OID M path3/subp3/file3
:120000 120000 $(test_oid subp3s) $ZERO_OID M path3/subp3/file3sym
EOF
git diff-files >current &&
test_cmp expected current
ok 80 - validate git diff-files output for a know cache/work tree state
expecting success of 0000.81 'git update-index --refresh should succeed':
git update-index --refresh
ok 81 - git update-index --refresh should succeed
expecting success of 0000.82 'no diff after checkout and git update-index --refresh':
git diff-files >current &&
cmp -s current /dev/null
ok 82 - no diff after checkout and git update-index --refresh
expecting success of 0000.83 '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"
ok 83 - git commit-tree records the correct tree in a commit
expecting success of 0000.84 '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"
ok 84 - git commit-tree records the correct parent in a commit
expecting success of 0000.85 '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
error: duplicate parent 79b7555c6e8476526cea119b9706fb50be7c1181 ignored
ok 85 - git commit-tree omits duplicated parent in a commit
expecting success of 0000.86 '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 86 - update-index D/F conflict
expecting success of 0000.87 'very long name in the index handled sanely':
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 &&
>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
ok 87 - very long name in the index handled sanely
# passed all 87 test(s)
1..87
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t0024-crlf-archive.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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 <author@example.com>
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" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
"$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 8.3.0 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 '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t0025-crlf-renormalize.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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) 8f5acdc] initial
Author: A U Thor <author@example.com>
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 8f5acdc initial
ok 3 - ignore-errors not mistaken for renormalize
# passed all 3 test(s)
1..3
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t0026-eol-config.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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) 64dab8d] initial
Author: A U Thor <author@example.com>
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
skipping test: eol native is crlf
rm -rf native_eol && mkdir native_eol &&
(
cd native_eol &&
printf "*.txt text\n" >.gitattributes &&
printf "one\r\ntwo\r\nthree\r\n" >filedos.txt &&
printf "one\ntwo\nthree\n" >fileunix.txt &&
git init &&
git config core.autocrlf false &&
git config core.eol native &&
git add filedos.txt fileunix.txt &&
git commit -m "first" &&
rm file*.txt &&
git reset --hard HEAD &&
has_cr filedos.txt &&
has_cr fileunix.txt
)
ok 6 # skip eol native is crlf (missing NATIVE_CRLF)
# passed all 6 test(s)
1..6
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t0028-working-tree-encoding.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
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" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
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):
| [2m 0:[0m ff [2m [0m | [2m 1:[0m fe [2m [0m | [2m 2:[0m 68 [2mh[0m | [2m 3:[0m 0 [2m [0m | [2m 4:[0m 61 [2ma[0m | [2m 5:[0m 0 [2m [0m | [2m 6:[0m 6c [2ml[0m | [2m 7:[0m 0 [2m [0m
| [2m 8:[0m 6c [2ml[0m | [2m 9:[0m 0 [2m [0m | [2m10:[0m 6f [2mo[0m | [2m11:[0m 0 [2m [0m | [2m12:[0m 20 [2m [0m | [2m13:[0m 0 [2m [0m | [2m14:[0m 74 [2mt[0m | [2m15:[0m 0 [2m [0m
| [2m16:[0m 68 [2mh[0m | [2m17:[0m 0 [2m [0m | [2m18:[0m 65 [2me[0m | [2m19:[0m 0 [2m [0m | [2m20:[0m 72 [2mr[0m | [2m21:[0m 0 [2m [0m | [2m22:[0m 65 [2me[0m | [2m23:[0m 0 [2m [0m
| [2m24:[0m 21 [2m![0m | [2m25:[0m 0 [2m [0m | [2m26:[0m a [2m [0m | [2m27:[0m 0 [2m [0m | [2m28:[0m 63 [2mc[0m | [2m29:[0m 0 [2m [0m | [2m30:[0m 61 [2ma[0m | [2m31:[0m 0 [2m [0m
| [2m32:[0m 6e [2mn[0m | [2m33:[0m 0 [2m [0m | [2m34:[0m 20 [2m [0m | [2m35:[0m 0 [2m [0m | [2m36:[0m 79 [2my[0m | [2m37:[0m 0 [2m [0m | [2m38:[0m 6f [2mo[0m | [2m39:[0m 0 [2m [0m
| [2m40:[0m 75 [2mu[0m | [2m41:[0m 0 [2m [0m | [2m42:[0m 20 [2m [0m | [2m43:[0m 0 [2m [0m | [2m44:[0m 72 [2mr[0m | [2m45:[0m 0 [2m [0m | [2m46:[0m 65 [2me[0m | [2m47:[0m 0 [2m [0m
| [2m48:[0m 61 [2ma[0m | [2m49:[0m 0 [2m [0m | [2m50:[0m 64 [2md[0m | [2m51:[0m 0 [2m [0m | [2m52:[0m 20 [2m [0m | [2m53:[0m 0 [2m [0m | [2m54:[0m 6d [2mm[0m | [2m55:[0m 0 [2m [0m
| [2m56:[0m 65 [2me[0m | [2m57:[0m 0 [2m [0m | [2m58:[0m 3f [2m?[0m | [2m59:[0m 0 [2m [0m
destination (test.utf16, considered UTF-8):
| [2m 0:[0m 68 [2mh[0m | [2m 1:[0m 61 [2ma[0m | [2m 2:[0m 6c [2ml[0m | [2m 3:[0m 6c [2ml[0m | [2m 4:[0m 6f [2mo[0m | [2m 5:[0m 20 [2m [0m | [2m 6:[0m 74 [2mt[0m | [2m 7:[0m 68 [2mh[0m
| [2m 8:[0m 65 [2me[0m | [2m 9:[0m 72 [2mr[0m | [2m10:[0m 65 [2me[0m | [2m11:[0m 21 [2m![0m | [2m12:[0m a [2m [0m | [2m13:[0m 63 [2mc[0m | [2m14:[0m 61 [2ma[0m | [2m15:[0m 6e [2mn[0m
| [2m16:[0m 20 [2m [0m | [2m17:[0m 79 [2my[0m | [2m18:[0m 6f [2mo[0m | [2m19:[0m 75 [2mu[0m | [2m20:[0m 20 [2m [0m | [2m21:[0m 72 [2mr[0m | [2m22:[0m 65 [2me[0m | [2m23:[0m 61 [2ma[0m
| [2m24:[0m 64 [2md[0m | [2m25:[0m 20 [2m [0m | [2m26:[0m 6d [2mm[0m | [2m27:[0m 65 [2me[0m | [2m28:[0m 3f [2m?[0m
source (test.utf16lebom, considered UTF-16LE-BOM):
| [2m 0:[0m ff [2m [0m | [2m 1:[0m fe [2m [0m | [2m 2:[0m 68 [2mh[0m | [2m 3:[0m 0 [2m [0m | [2m 4:[0m 61 [2ma[0m | [2m 5:[0m 0 [2m [0m | [2m 6:[0m 6c [2ml[0m | [2m 7:[0m 0 [2m [0m
| [2m 8:[0m 6c [2ml[0m | [2m 9:[0m 0 [2m [0m | [2m10:[0m 6f [2mo[0m | [2m11:[0m 0 [2m [0m | [2m12:[0m 20 [2m [0m | [2m13:[0m 0 [2m [0m | [2m14:[0m 74 [2mt[0m | [2m15:[0m 0 [2m [0m
| [2m16:[0m 68 [2mh[0m | [2m17:[0m 0 [2m [0m | [2m18:[0m 65 [2me[0m | [2m19:[0m 0 [2m [0m | [2m20:[0m 72 [2mr[0m | [2m21:[0m 0 [2m [0m | [2m22:[0m 65 [2me[0m | [2m23:[0m 0 [2m [0m
| [2m24:[0m 21 [2m![0m | [2m25:[0m 0 [2m [0m | [2m26:[0m a [2m [0m | [2m27:[0m 0 [2m [0m | [2m28:[0m 63 [2mc[0m | [2m29:[0m 0 [2m [0m | [2m30:[0m 61 [2ma[0m | [2m31:[0m 0 [2m [0m
| [2m32:[0m 6e [2mn[0m | [2m33:[0m 0 [2m [0m | [2m34:[0m 20 [2m [0m | [2m35:[0m 0 [2m [0m | [2m36:[0m 79 [2my[0m | [2m37:[0m 0 [2m [0m | [2m38:[0m 6f [2mo[0m | [2m39:[0m 0 [2m [0m
| [2m40:[0m 75 [2mu[0m | [2m41:[0m 0 [2m [0m | [2m42:[0m 20 [2m [0m | [2m43:[0m 0 [2m [0m | [2m44:[0m 72 [2mr[0m | [2m45:[0m 0 [2m [0m | [2m46:[0m 65 [2me[0m | [2m47:[0m 0 [2m [0m
| [2m48:[0m 61 [2ma[0m | [2m49:[0m 0 [2m [0m | [2m50:[0m 64 [2md[0m | [2m51:[0m 0 [2m [0m | [2m52:[0m 20 [2m [0m | [2m53:[0m 0 [2m [0m | [2m54:[0m 6d [2mm[0m | [2m55:[0m 0 [2m [0m
| [2m56:[0m 65 [2me[0m | [2m57:[0m 0 [2m [0m | [2m58:[0m 3f [2m?[0m | [2m59:[0m 0 [2m [0m
destination (test.utf16lebom, considered UTF-8):
| [2m 0:[0m 68 [2mh[0m | [2m 1:[0m 61 [2ma[0m | [2m 2:[0m 6c [2ml[0m | [2m 3:[0m 6c [2ml[0m | [2m 4:[0m 6f [2mo[0m | [2m 5:[0m 20 [2m [0m | [2m 6:[0m 74 [2mt[0m | [2m 7:[0m 68 [2mh[0m
| [2m 8:[0m 65 [2me[0m | [2m 9:[0m 72 [2mr[0m | [2m10:[0m 65 [2me[0m | [2m11:[0m 21 [2m![0m | [2m12:[0m a [2m [0m | [2m13:[0m 63 [2mc[0m | [2m14:[0m 61 [2ma[0m | [2m15:[0m 6e [2mn[0m
| [2m16:[0m 20 [2m [0m | [2m17:[0m 79 [2my[0m | [2m18:[0m 6f [2mo[0m | [2m19:[0m 75 [2mu[0m | [2m20:[0m 20 [2m [0m | [2m21:[0m 72 [2mr[0m | [2m22:[0m 65 [2me[0m | [2m23:[0m 61 [2ma[0m
| [2m24:[0m 64 [2md[0m | [2m25:[0m 20 [2m [0m | [2m26:[0m 6d [2mm[0m | [2m27:[0m 65 [2me[0m | [2m28:[0m 3f [2m?[0m
source (test.utf16, considered utf-16):
| [2m 0:[0m ff [2m [0m | [2m 1:[0m fe [2m [0m | [2m 2:[0m 68 [2mh[0m | [2m 3:[0m 0 [2m [0m | [2m 4:[0m 61 [2ma[0m | [2m 5:[0m 0 [2m [0m | [2m 6:[0m 6c [2ml[0m | [2m 7:[0m 0 [2m [0m
| [2m 8:[0m 6c [2ml[0m | [2m 9:[0m 0 [2m [0m | [2m10:[0m 6f [2mo[0m | [2m11:[0m 0 [2m [0m | [2m12:[0m 20 [2m [0m | [2m13:[0m 0 [2m [0m | [2m14:[0m 74 [2mt[0m | [2m15:[0m 0 [2m [0m
| [2m16:[0m 68 [2mh[0m | [2m17:[0m 0 [2m [0m | [2m18:[0m 65 [2me[0m | [2m19:[0m 0 [2m [0m | [2m20:[0m 72 [2mr[0m | [2m21:[0m 0 [2m [0m | [2m22:[0m 65 [2me[0m | [2m23:[0m 0 [2m [0m
| [2m24:[0m 21 [2m![0m | [2m25:[0m 0 [2m [0m | [2m26:[0m a [2m [0m | [2m27:[0m 0 [2m [0m | [2m28:[0m 63 [2mc[0m | [2m29:[0m 0 [2m [0m | [2m30:[0m 61 [2ma[0m | [2m31:[0m 0 [2m [0m
| [2m32:[0m 6e [2mn[0m | [2m33:[0m 0 [2m [0m | [2m34:[0m 20 [2m [0m | [2m35:[0m 0 [2m [0m | [2m36:[0m 79 [2my[0m | [2m37:[0m 0 [2m [0m | [2m38:[0m 6f [2mo[0m | [2m39:[0m 0 [2m [0m
| [2m40:[0m 75 [2mu[0m | [2m41:[0m 0 [2m [0m | [2m42:[0m 20 [2m [0m | [2m43:[0m 0 [2m [0m | [2m44:[0m 72 [2mr[0m | [2m45:[0m 0 [2m [0m | [2m46:[0m 65 [2me[0m | [2m47:[0m 0 [2m [0m
| [2m48:[0m 61 [2ma[0m | [2m49:[0m 0 [2m [0m | [2m50:[0m 64 [2md[0m | [2m51:[0m 0 [2m [0m | [2m52:[0m 20 [2m [0m | [2m53:[0m 0 [2m [0m | [2m54:[0m 6d [2mm[0m | [2m55:[0m 0 [2m [0m
| [2m56:[0m 65 [2me[0m | [2m57:[0m 0 [2m [0m | [2m58:[0m 3f [2m?[0m | [2m59:[0m 0 [2m [0m
destination (test.utf16, considered UTF-8):
| [2m 0:[0m 68 [2mh[0m | [2m 1:[0m 61 [2ma[0m | [2m 2:[0m 6c [2ml[0m | [2m 3:[0m 6c [2ml[0m | [2m 4:[0m 6f [2mo[0m | [2m 5:[0m 20 [2m [0m | [2m 6:[0m 74 [2mt[0m | [2m 7:[0m 68 [2mh[0m
| [2m 8:[0m 65 [2me[0m | [2m 9:[0m 72 [2mr[0m | [2m10:[0m 65 [2me[0m | [2m11:[0m 21 [2m![0m | [2m12:[0m a [2m [0m | [2m13:[0m 63 [2mc[0m | [2m14:[0m 61 [2ma[0m | [2m15:[0m 6e [2mn[0m
| [2m16:[0m 20 [2m [0m | [2m17:[0m 79 [2my[0m | [2m18:[0m 6f [2mo[0m | [2m19:[0m 75 [2mu[0m | [2m20:[0m 20 [2m [0m | [2m21:[0m 72 [2mr[0m | [2m22:[0m 65 [2me[0m | [2m23:[0m 61 [2ma[0m
| [2m24:[0m 64 [2md[0m | [2m25:[0m 20 [2m [0m | [2m26:[0m 6d [2mm[0m | [2m27:[0m 65 [2me[0m | [2m28:[0m 3f [2m?[0m
source (test.utf16lebom, considered UTF-16LE-BOM):
| [2m 0:[0m ff [2m [0m | [2m 1:[0m fe [2m [0m | [2m 2:[0m 68 [2mh[0m | [2m 3:[0m 0 [2m [0m | [2m 4:[0m 61 [2ma[0m | [2m 5:[0m 0 [2m [0m | [2m 6:[0m 6c [2ml[0m | [2m 7:[0m 0 [2m [0m
| [2m 8:[0m 6c [2ml[0m | [2m 9:[0m 0 [2m [0m | [2m10:[0m 6f [2mo[0m | [2m11:[0m 0 [2m [0m | [2m12:[0m 20 [2m [0m | [2m13:[0m 0 [2m [0m | [2m14:[0m 74 [2mt[0m | [2m15:[0m 0 [2m [0m
| [2m16:[0m 68 [2mh[0m | [2m17:[0m 0 [2m [0m | [2m18:[0m 65 [2me[0m | [2m19:[0m 0 [2m [0m | [2m20:[0m 72 [2mr[0m | [2m21:[0m 0 [2m [0m | [2m22:[0m 65 [2me[0m | [2m23:[0m 0 [2m [0m
| [2m24:[0m 21 [2m![0m | [2m25:[0m 0 [2m [0m | [2m26:[0m a [2m [0m | [2m27:[0m 0 [2m [0m | [2m28:[0m 63 [2mc[0m | [2m29:[0m 0 [2m [0m | [2m30:[0m 61 [2ma[0m | [2m31:[0m 0 [2m [0m
| [2m32:[0m 6e [2mn[0m | [2m33:[0m 0 [2m [0m | [2m34:[0m 20 [2m [0m | [2m35:[0m 0 [2m [0m | [2m36:[0m 79 [2my[0m | [2m37:[0m 0 [2m [0m | [2m38:[0m 6f [2mo[0m | [2m39:[0m 0 [2m [0m
| [2m40:[0m 75 [2mu[0m | [2m41:[0m 0 [2m [0m | [2m42:[0m 20 [2m [0m | [2m43:[0m 0 [2m [0m | [2m44:[0m 72 [2mr[0m | [2m45:[0m 0 [2m [0m | [2m46:[0m 65 [2me[0m | [2m47:[0m 0 [2m [0m
| [2m48:[0m 61 [2ma[0m | [2m49:[0m 0 [2m [0m | [2m50:[0m 64 [2md[0m | [2m51:[0m 0 [2m [0m | [2m52:[0m 20 [2m [0m | [2m53:[0m 0 [2m [0m | [2m54:[0m 6d [2mm[0m | [2m55:[0m 0 [2m [0m
| [2m56:[0m 65 [2me[0m | [2m57:[0m 0 [2m [0m | [2m58:[0m 3f [2m?[0m | [2m59:[0m 0 [2m [0m
destination (test.utf16lebom, considered UTF-8):
| [2m 0:[0m 68 [2mh[0m | [2m 1:[0m 61 [2ma[0m | [2m 2:[0m 6c [2ml[0m | [2m 3:[0m 6c [2ml[0m | [2m 4:[0m 6f [2mo[0m | [2m 5:[0m 20 [2m [0m | [2m 6:[0m 74 [2mt[0m | [2m 7:[0m 68 [2mh[0m
| [2m 8:[0m 65 [2me[0m | [2m 9:[0m 72 [2mr[0m | [2m10:[0m 65 [2me[0m | [2m11:[0m 21 [2m![0m | [2m12:[0m a [2m [0m | [2m13:[0m 63 [2mc[0m | [2m14:[0m 61 [2ma[0m | [2m15:[0m 6e [2mn[0m
| [2m16:[0m 20 [2m [0m | [2m17:[0m 79 [2my[0m | [2m18:[0m 6f [2mo[0m | [2m19:[0m 75 [2mu[0m | [2m20:[0m 20 [2m [0m | [2m21:[0m 72 [2mr[0m | [2m22:[0m 65 [2me[0m | [2m23:[0m 61 [2ma[0m
| [2m24:[0m 64 [2md[0m | [2m25:[0m 20 [2m [0m | [2m26:[0m 6d [2mm[0m | [2m27:[0m 65 [2me[0m | [2m28:[0m 3f [2m?[0m
[master (root-commit) f4cf22b] initial
Author: A U Thor <author@example.com>
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):
| [2m 0:[0m ff [2m [0m | [2m 1:[0m fe [2m [0m | [2m 2:[0m 68 [2mh[0m | [2m 3:[0m 0 [2m [0m | [2m 4:[0m 61 [2ma[0m | [2m 5:[0m 0 [2m [0m | [2m 6:[0m 6c [2ml[0m | [2m 7:[0m 0 [2m [0m
| [2m 8:[0m 6c [2ml[0m | [2m 9:[0m 0 [2m [0m | [2m10:[0m 6f [2mo[0m | [2m11:[0m 0 [2m [0m | [2m12:[0m 20 [2m [0m | [2m13:[0m 0 [2m [0m | [2m14:[0m 74 [2mt[0m | [2m15:[0m 0 [2m [0m
| [2m16:[0m 68 [2mh[0m | [2m17:[0m 0 [2m [0m | [2m18:[0m 65 [2me[0m | [2m19:[0m 0 [2m [0m | [2m20:[0m 72 [2mr[0m | [2m21:[0m 0 [2m [0m | [2m22:[0m 65 [2me[0m | [2m23:[0m 0 [2m [0m
| [2m24:[0m 21 [2m![0m | [2m25:[0m 0 [2m [0m | [2m26:[0m a [2m [0m | [2m27:[0m 0 [2m [0m | [2m28:[0m 63 [2mc[0m | [2m29:[0m 0 [2m [0m | [2m30:[0m 61 [2ma[0m | [2m31:[0m 0 [2m [0m
| [2m32:[0m 6e [2mn[0m | [2m33:[0m 0 [2m [0m | [2m34:[0m 20 [2m [0m | [2m35:[0m 0 [2m [0m | [2m36:[0m 79 [2my[0m | [2m37:[0m 0 [2m [0m | [2m38:[0m 6f [2mo[0m | [2m39:[0m 0 [2m [0m
| [2m40:[0m 75 [2mu[0m | [2m41:[0m 0 [2m [0m | [2m42:[0m 20 [2m [0m | [2m43:[0m 0 [2m [0m | [2m44:[0m 72 [2mr[0m | [2m45:[0m 0 [2m [0m | [2m46:[0m 65 [2me[0m | [2m47:[0m 0 [2m [0m
| [2m48:[0m 61 [2ma[0m | [2m49:[0m 0 [2m [0m | [2m50:[0m 64 [2md[0m | [2m51:[0m 0 [2m [0m | [2m52:[0m 20 [2m [0m | [2m53:[0m 0 [2m [0m | [2m54:[0m 6d [2mm[0m | [2m55:[0m 0 [2m [0m
| [2m56:[0m 65 [2me[0m | [2m57:[0m 0 [2m [0m | [2m58:[0m 3f [2m?[0m | [2m59:[0m 0 [2m [0m
destination (test.utf16lebom, considered UTF-8):
| [2m 0:[0m 68 [2mh[0m | [2m 1:[0m 61 [2ma[0m | [2m 2:[0m 6c [2ml[0m | [2m 3:[0m 6c [2ml[0m | [2m 4:[0m 6f [2mo[0m | [2m 5:[0m 20 [2m [0m | [2m 6:[0m 74 [2mt[0m | [2m 7:[0m 68 [2mh[0m
| [2m 8:[0m 65 [2me[0m | [2m 9:[0m 72 [2mr[0m | [2m10:[0m 65 [2me[0m | [2m11:[0m 21 [2m![0m | [2m12:[0m a [2m [0m | [2m13:[0m 63 [2mc[0m | [2m14:[0m 61 [2ma[0m | [2m15:[0m 6e [2mn[0m
| [2m16:[0m 20 [2m [0m | [2m17:[0m 79 [2my[0m | [2m18:[0m 6f [2mo[0m | [2m19:[0m 75 [2mu[0m | [2m20:[0m 20 [2m [0m | [2m21:[0m 72 [2mr[0m | [2m22:[0m 65 [2me[0m | [2m23:[0m 61 [2ma[0m
| [2m24:[0m 64 [2md[0m | [2m25:[0m 20 [2m [0m | [2m26:[0m 6d [2mm[0m | [2m27:[0m 65 [2me[0m | [2m28:[0m 3f [2m?[0m
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):
| [2m 0:[0m ff [2m [0m | [2m 1:[0m fe [2m [0m | [2m 2:[0m 68 [2mh[0m | [2m 3:[0m 0 [2m [0m | [2m 4:[0m 61 [2ma[0m | [2m 5:[0m 0 [2m [0m | [2m 6:[0m 6c [2ml[0m | [2m 7:[0m 0 [2m [0m
| [2m 8:[0m 6c [2ml[0m | [2m 9:[0m 0 [2m [0m | [2m10:[0m 6f [2mo[0m | [2m11:[0m 0 [2m [0m | [2m12:[0m 20 [2m [0m | [2m13:[0m 0 [2m [0m | [2m14:[0m 74 [2mt[0m | [2m15:[0m 0 [2m [0m
| [2m16:[0m 68 [2mh[0m | [2m17:[0m 0 [2m [0m | [2m18:[0m 65 [2me[0m | [2m19:[0m 0 [2m [0m | [2m20:[0m 72 [2mr[0m | [2m21:[0m 0 [2m [0m | [2m22:[0m 65 [2me[0m | [2m23:[0m 0 [2m [0m
| [2m24:[0m 21 [2m![0m | [2m25:[0m 0 [2m [0m | [2m26:[0m a [2m [0m | [2m27:[0m 0 [2m [0m | [2m28:[0m 63 [2mc[0m | [2m29:[0m 0 [2m [0m | [2m30:[0m 61 [2ma[0m | [2m31:[0m 0 [2m [0m
| [2m32:[0m 6e [2mn[0m | [2m33:[0m 0 [2m [0m | [2m34:[0m 20 [2m [0m | [2m35:[0m 0 [2m [0m | [2m36:[0m 79 [2my[0m | [2m37:[0m 0 [2m [0m | [2m38:[0m 6f [2mo[0m | [2m39:[0m 0 [2m [0m
| [2m40:[0m 75 [2mu[0m | [2m41:[0m 0 [2m [0m | [2m42:[0m 20 [2m [0m | [2m43:[0m 0 [2m [0m | [2m44:[0m 72 [2mr[0m | [2m45:[0m 0 [2m [0m | [2m46:[0m 65 [2me[0m | [2m47:[0m 0 [2m [0m
| [2m48:[0m 61 [2ma[0m | [2m49:[0m 0 [2m [0m | [2m50:[0m 64 [2md[0m | [2m51:[0m 0 [2m [0m | [2m52:[0m 20 [2m [0m | [2m53:[0m 0 [2m [0m | [2m54:[0m 6d [2mm[0m | [2m55:[0m 0 [2m [0m
| [2m56:[0m 65 [2me[0m | [2m57:[0m 0 [2m [0m | [2m58:[0m 3f [2m?[0m | [2m59:[0m 0 [2m [0m
destination (test.utf16, considered UTF-8):
| [2m 0:[0m 68 [2mh[0m | [2m 1:[0m 61 [2ma[0m | [2m 2:[0m 6c [2ml[0m | [2m 3:[0m 6c [2ml[0m | [2m 4:[0m 6f [2mo[0m | [2m 5:[0m 20 [2m [0m | [2m 6:[0m 74 [2mt[0m | [2m 7:[0m 68 [2mh[0m
| [2m 8:[0m 65 [2me[0m | [2m 9:[0m 72 [2mr[0m | [2m10:[0m 65 [2me[0m | [2m11:[0m 21 [2m![0m | [2m12:[0m a [2m [0m | [2m13:[0m 63 [2mc[0m | [2m14:[0m 61 [2ma[0m | [2m15:[0m 6e [2mn[0m
| [2m16:[0m 20 [2m [0m | [2m17:[0m 79 [2my[0m | [2m18:[0m 6f [2mo[0m | [2m19:[0m 75 [2mu[0m | [2m20:[0m 20 [2m [0m | [2m21:[0m 72 [2mr[0m | [2m22:[0m 65 [2me[0m | [2m23:[0m 61 [2ma[0m
| [2m24:[0m 64 [2md[0m | [2m25:[0m 20 [2m [0m | [2m26:[0m 6d [2mm[0m | [2m27:[0m 65 [2me[0m | [2m28:[0m 3f [2m?[0m
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):
| [2m 0:[0m ff [2m [0m | [2m 1:[0m fe [2m [0m | [2m 2:[0m 0 [2m [0m | [2m 3:[0m 0 [2m [0m | [2m 4:[0m 68 [2mh[0m | [2m 5:[0m 0 [2m [0m | [2m 6:[0m 0 [2m [0m | [2m 7:[0m 0 [2m [0m
| [2m 8:[0m 61 [2ma[0m | [2m 9:[0m 0 [2m [0m | [2m10:[0m 0 [2m [0m | [2m11:[0m 0 [2m [0m | [2m12:[0m 6c [2ml[0m | [2m13:[0m 0 [2m [0m | [2m14:[0m 0 [2m [0m | [2m15:[0m 0 [2m [0m
| [2m16:[0m 6c [2ml[0m | [2m17:[0m 0 [2m [0m | [2m18:[0m 0 [2m [0m | [2m19:[0m 0 [2m [0m | [2m20:[0m 6f [2mo[0m | [2m21:[0m 0 [2m [0m | [2m22:[0m 0 [2m [0m | [2m23:[0m 0 [2m [0m
| [2m24:[0m 20 [2m [0m | [2m25:[0m 0 [2m [0m | [2m26:[0m 0 [2m [0m | [2m27:[0m 0 [2m [0m | [2m28:[0m 74 [2mt[0m | [2m29:[0m 0 [2m [0m | [2m30:[0m 0 [2m [0m | [2m31:[0m 0 [2m [0m
| [2m32:[0m 68 [2mh[0m | [2m33:[0m 0 [2m [0m | [2m34:[0m 0 [2m [0m | [2m35:[0m 0 [2m [0m | [2m36:[0m 65 [2me[0m | [2m37:[0m 0 [2m [0m | [2m38:[0m 0 [2m [0m | [2m39:[0m 0 [2m [0m
| [2m40:[0m 72 [2mr[0m | [2m41:[0m 0 [2m [0m | [2m42:[0m 0 [2m [0m | [2m43:[0m 0 [2m [0m | [2m44:[0m 65 [2me[0m | [2m45:[0m 0 [2m [0m | [2m46:[0m 0 [2m [0m | [2m47:[0m 0 [2m [0m
| [2m48:[0m 21 [2m![0m | [2m49:[0m 0 [2m [0m | [2m50:[0m 0 [2m [0m | [2m51:[0m 0 [2m [0m | [2m52:[0m a [2m [0m | [2m53:[0m 0 [2m [0m | [2m54:[0m 0 [2m [0m | [2m55:[0m 0 [2m [0m
| [2m56:[0m 63 [2mc[0m | [2m57:[0m 0 [2m [0m | [2m58:[0m 0 [2m [0m | [2m59:[0m 0 [2m [0m | [2m60:[0m 61 [2ma[0m | [2m61:[0m 0 [2m [0m | [2m62:[0m 0 [2m [0m | [2m63:[0m 0 [2m [0m
| [2m64:[0m 6e [2mn[0m | [2m65:[0m 0 [2m [0m | [2m66:[0m 0 [2m [0m | [2m67:[0m 0 [2m [0m | [2m68:[0m 20 [2m [0m | [2m69:[0m 0 [2m [0m | [2m70:[0m 0 [2m [0m | [2m71:[0m 0 [2m [0m
| [2m72:[0m 79 [2my[0m | [2m73:[0m 0 [2m [0m | [2m74:[0m 0 [2m [0m | [2m75:[0m 0 [2m [0m | [2m76:[0m 6f [2mo[0m | [2m77:[0m 0 [2m [0m | [2m78:[0m 0 [2m [0m | [2m79:[0m 0 [2m [0m
| [2m80:[0m 75 [2mu[0m | [2m81:[0m 0 [2m [0m | [2m82:[0m 0 [2m [0m | [2m83:[0m 0 [2m [0m | [2m84:[0m 20 [2m [0m | [2m85:[0m 0 [2m [0m | [2m86:[0m 0 [2m [0m | [2m87:[0m 0 [2m [0m
| [2m88:[0m 72 [2mr[0m | [2m89:[0m 0 [2m [0m | [2m90:[0m 0 [2m [0m | [2m91:[0m 0 [2m [0m | [2m92:[0m 65 [2me[0m | [2m93:[0m 0 [2m [0m | [2m94:[0m 0 [2m [0m | [2m95:[0m 0 [2m [0m
| [2m96:[0m 61 [2ma[0m | [2m97:[0m 0 [2m [0m | [2m98:[0m 0 [2m [0m | [2m99:[0m 0 [2m [0m | [2m100:[0m 64 [2md[0m | [2m101:[0m 0 [2m [0m | [2m102:[0m 0 [2m [0m | [2m103:[0m 0 [2m [0m
| [2m104:[0m 20 [2m [0m | [2m105:[0m 0 [2m [0m | [2m106:[0m 0 [2m [0m | [2m107:[0m 0 [2m [0m | [2m108:[0m 6d [2mm[0m | [2m109:[0m 0 [2m [0m | [2m110:[0m 0 [2m [0m | [2m111:[0m 0 [2m [0m
| [2m112:[0m 65 [2me[0m | [2m113:[0m 0 [2m [0m | [2m114:[0m 0 [2m [0m | [2m115:[0m 0 [2m [0m | [2m116:[0m 3f [2m?[0m | [2m117:[0m 0 [2m [0m | [2m118:[0m 0 [2m [0m | [2m119:[0m 0 [2m [0m
destination (test.utf32, considered UTF-8):
| [2m 0:[0m 68 [2mh[0m | [2m 1:[0m 61 [2ma[0m | [2m 2:[0m 6c [2ml[0m | [2m 3:[0m 6c [2ml[0m | [2m 4:[0m 6f [2mo[0m | [2m 5:[0m 20 [2m [0m | [2m 6:[0m 74 [2mt[0m | [2m 7:[0m 68 [2mh[0m
| [2m 8:[0m 65 [2me[0m | [2m 9:[0m 72 [2mr[0m | [2m10:[0m 65 [2me[0m | [2m11:[0m 21 [2m![0m | [2m12:[0m a [2m [0m | [2m13:[0m 63 [2mc[0m | [2m14:[0m 61 [2ma[0m | [2m15:[0m 6e [2mn[0m
| [2m16:[0m 20 [2m [0m | [2m17:[0m 79 [2my[0m | [2m18:[0m 6f [2mo[0m | [2m19:[0m 75 [2mu[0m | [2m20:[0m 20 [2m [0m | [2m21:[0m 72 [2mr[0m | [2m22:[0m 65 [2me[0m | [2m23:[0m 61 [2ma[0m
| [2m24:[0m 64 [2md[0m | [2m25:[0m 20 [2m [0m | [2m26:[0m 6d [2mm[0m | [2m27:[0m 65 [2me[0m | [2m28:[0m 3f [2m?[0m
source (test.utf16, considered utf-16):
| [2m 0:[0m ff [2m [0m | [2m 1:[0m fe [2m [0m | [2m 2:[0m 68 [2mh[0m | [2m 3:[0m 0 [2m [0m | [2m 4:[0m 61 [2ma[0m | [2m 5:[0m 0 [2m [0m | [2m 6:[0m 6c [2ml[0m | [2m 7:[0m 0 [2m [0m
| [2m 8:[0m 6c [2ml[0m | [2m 9:[0m 0 [2m [0m | [2m10:[0m 6f [2mo[0m | [2m11:[0m 0 [2m [0m | [2m12:[0m 20 [2m [0m | [2m13:[0m 0 [2m [0m | [2m14:[0m 74 [2mt[0m | [2m15:[0m 0 [2m [0m
| [2m16:[0m 68 [2mh[0m | [2m17:[0m 0 [2m [0m | [2m18:[0m 65 [2me[0m | [2m19:[0m 0 [2m [0m | [2m20:[0m 72 [2mr[0m | [2m21:[0m 0 [2m [0m | [2m22:[0m 65 [2me[0m | [2m23:[0m 0 [2m [0m
| [2m24:[0m 21 [2m![0m | [2m25:[0m 0 [2m [0m | [2m26:[0m a [2m [0m | [2m27:[0m 0 [2m [0m | [2m28:[0m 63 [2mc[0m | [2m29:[0m 0 [2m [0m | [2m30:[0m 61 [2ma[0m | [2m31:[0m 0 [2m [0m
| [2m32:[0m 6e [2mn[0m | [2m33:[0m 0 [2m [0m | [2m34:[0m 20 [2m [0m | [2m35:[0m 0 [2m [0m | [2m36:[0m 79 [2my[0m | [2m37:[0m 0 [2m [0m | [2m38:[0m 6f [2mo[0m | [2m39:[0m 0 [2m [0m
| [2m40:[0m 75 [2mu[0m | [2m41:[0m 0 [2m [0m | [2m42:[0m 20 [2m [0m | [2m43:[0m 0 [2m [0m | [2m44:[0m 72 [2mr[0m | [2m45:[0m 0 [2m [0m | [2m46:[0m 65 [2me[0m | [2m47:[0m 0 [2m [0m
| [2m48:[0m 61 [2ma[0m | [2m49:[0m 0 [2m [0m | [2m50:[0m 64 [2md[0m | [2m51:[0m 0 [2m [0m | [2m52:[0m 20 [2m [0m | [2m53:[0m 0 [2m [0m | [2m54:[0m 6d [2mm[0m | [2m55:[0m 0 [2m [0m
| [2m56:[0m 65 [2me[0m | [2m57:[0m 0 [2m [0m | [2m58:[0m 3f [2m?[0m | [2m59:[0m 0 [2m [0m
destination (test.utf16, considered UTF-8):
| [2m 0:[0m 68 [2mh[0m | [2m 1:[0m 61 [2ma[0m | [2m 2:[0m 6c [2ml[0m | [2m 3:[0m 6c [2ml[0m | [2m 4:[0m 6f [2mo[0m | [2m 5:[0m 20 [2m [0m | [2m 6:[0m 74 [2mt[0m | [2m 7:[0m 68 [2mh[0m
| [2m 8:[0m 65 [2me[0m | [2m 9:[0m 72 [2mr[0m | [2m10:[0m 65 [2me[0m | [2m11:[0m 21 [2m![0m | [2m12:[0m a [2m [0m | [2m13:[0m 63 [2mc[0m | [2m14:[0m 61 [2ma[0m | [2m15:[0m 6e [2mn[0m
| [2m16:[0m 20 [2m [0m | [2m17:[0m 79 [2my[0m | [2m18:[0m 6f [2mo[0m | [2m19:[0m 75 [2mu[0m | [2m20:[0m 20 [2m [0m | [2m21:[0m 72 [2mr[0m | [2m22:[0m 65 [2me[0m | [2m23:[0m 61 [2ma[0m
| [2m24:[0m 64 [2md[0m | [2m25:[0m 20 [2m [0m | [2m26:[0m 6d [2mm[0m | [2m27:[0m 65 [2me[0m | [2m28:[0m 3f [2m?[0m
source (test.utf16lebom, considered UTF-16LE-BOM):
| [2m 0:[0m ff [2m [0m | [2m 1:[0m fe [2m [0m | [2m 2:[0m 68 [2mh[0m | [2m 3:[0m 0 [2m [0m | [2m 4:[0m 61 [2ma[0m | [2m 5:[0m 0 [2m [0m | [2m 6:[0m 6c [2ml[0m | [2m 7:[0m 0 [2m [0m
| [2m 8:[0m 6c [2ml[0m | [2m 9:[0m 0 [2m [0m | [2m10:[0m 6f [2mo[0m | [2m11:[0m 0 [2m [0m | [2m12:[0m 20 [2m [0m | [2m13:[0m 0 [2m [0m | [2m14:[0m 74 [2mt[0m | [2m15:[0m 0 [2m [0m
| [2m16:[0m 68 [2mh[0m | [2m17:[0m 0 [2m [0m | [2m18:[0m 65 [2me[0m | [2m19:[0m 0 [2m [0m | [2m20:[0m 72 [2mr[0m | [2m21:[0m 0 [2m [0m | [2m22:[0m 65 [2me[0m | [2m23:[0m 0 [2m [0m
| [2m24:[0m 21 [2m![0m | [2m25:[0m 0 [2m [0m | [2m26:[0m a [2m [0m | [2m27:[0m 0 [2m [0m | [2m28:[0m 63 [2mc[0m | [2m29:[0m 0 [2m [0m | [2m30:[0m 61 [2ma[0m | [2m31:[0m 0 [2m [0m
| [2m32:[0m 6e [2mn[0m | [2m33:[0m 0 [2m [0m | [2m34:[0m 20 [2m [0m | [2m35:[0m 0 [2m [0m | [2m36:[0m 79 [2my[0m | [2m37:[0m 0 [2m [0m | [2m38:[0m 6f [2mo[0m | [2m39:[0m 0 [2m [0m
| [2m40:[0m 75 [2mu[0m | [2m41:[0m 0 [2m [0m | [2m42:[0m 20 [2m [0m | [2m43:[0m 0 [2m [0m | [2m44:[0m 72 [2mr[0m | [2m45:[0m 0 [2m [0m | [2m46:[0m 65 [2me[0m | [2m47:[0m 0 [2m [0m
| [2m48:[0m 61 [2ma[0m | [2m49:[0m 0 [2m [0m | [2m50:[0m 64 [2md[0m | [2m51:[0m 0 [2m [0m | [2m52:[0m 20 [2m [0m | [2m53:[0m 0 [2m [0m | [2m54:[0m 6d [2mm[0m | [2m55:[0m 0 [2m [0m
| [2m56:[0m 65 [2me[0m | [2m57:[0m 0 [2m [0m | [2m58:[0m 3f [2m?[0m | [2m59:[0m 0 [2m [0m
destination (test.utf16lebom, considered UTF-8):
| [2m 0:[0m 68 [2mh[0m | [2m 1:[0m 61 [2ma[0m | [2m 2:[0m 6c [2ml[0m | [2m 3:[0m 6c [2ml[0m | [2m 4:[0m 6f [2mo[0m | [2m 5:[0m 20 [2m [0m | [2m 6:[0m 74 [2mt[0m | [2m 7:[0m 68 [2mh[0m
| [2m 8:[0m 65 [2me[0m | [2m 9:[0m 72 [2mr[0m | [2m10:[0m 65 [2me[0m | [2m11:[0m 21 [2m![0m | [2m12:[0m a [2m [0m | [2m13:[0m 63 [2mc[0m | [2m14:[0m 61 [2ma[0m | [2m15:[0m 6e [2mn[0m
| [2m16:[0m 20 [2m [0m | [2m17:[0m 79 [2my[0m | [2m18:[0m 6f [2mo[0m | [2m19:[0m 75 [2mu[0m | [2m20:[0m 20 [2m [0m | [2m21:[0m 72 [2mr[0m | [2m22:[0m 65 [2me[0m | [2m23:[0m 61 [2ma[0m
| [2m24:[0m 64 [2md[0m | [2m25:[0m 20 [2m [0m | [2m26:[0m 6d [2mm[0m | [2m27:[0m 65 [2me[0m | [2m28:[0m 3f [2m?[0m
source (test.utf16, considered utf-16):
| [2m 0:[0m ff [2m [0m | [2m 1:[0m fe [2m [0m | [2m 2:[0m 68 [2mh[0m | [2m 3:[0m 0 [2m [0m | [2m 4:[0m 61 [2ma[0m | [2m 5:[0m 0 [2m [0m | [2m 6:[0m 6c [2ml[0m | [2m 7:[0m 0 [2m [0m
| [2m 8:[0m 6c [2ml[0m | [2m 9:[0m 0 [2m [0m | [2m10:[0m 6f [2mo[0m | [2m11:[0m 0 [2m [0m | [2m12:[0m 20 [2m [0m | [2m13:[0m 0 [2m [0m | [2m14:[0m 74 [2mt[0m | [2m15:[0m 0 [2m [0m
| [2m16:[0m 68 [2mh[0m | [2m17:[0m 0 [2m [0m | [2m18:[0m 65 [2me[0m | [2m19:[0m 0 [2m [0m | [2m20:[0m 72 [2mr[0m | [2m21:[0m 0 [2m [0m | [2m22:[0m 65 [2me[0m | [2m23:[0m 0 [2m [0m
| [2m24:[0m 21 [2m![0m | [2m25:[0m 0 [2m [0m | [2m26:[0m a [2m [0m | [2m27:[0m 0 [2m [0m | [2m28:[0m 63 [2mc[0m | [2m29:[0m 0 [2m [0m | [2m30:[0m 61 [2ma[0m | [2m31:[0m 0 [2m [0m
| [2m32:[0m 6e [2mn[0m | [2m33:[0m 0 [2m [0m | [2m34:[0m 20 [2m [0m | [2m35:[0m 0 [2m [0m | [2m36:[0m 79 [2my[0m | [2m37:[0m 0 [2m [0m | [2m38:[0m 6f [2mo[0m | [2m39:[0m 0 [2m [0m
| [2m40:[0m 75 [2mu[0m | [2m41:[0m 0 [2m [0m | [2m42:[0m 20 [2m [0m | [2m43:[0m 0 [2m [0m | [2m44:[0m 72 [2mr[0m | [2m45:[0m 0 [2m [0m | [2m46:[0m 65 [2me[0m | [2m47:[0m 0 [2m [0m
| [2m48:[0m 61 [2ma[0m | [2m49:[0m 0 [2m [0m | [2m50:[0m 64 [2md[0m | [2m51:[0m 0 [2m [0m | [2m52:[0m 20 [2m [0m | [2m53:[0m 0 [2m [0m | [2m54:[0m 6d [2mm[0m | [2m55:[0m 0 [2m [0m
| [2m56:[0m 65 [2me[0m | [2m57:[0m 0 [2m [0m | [2m58:[0m 3f [2m?[0m | [2m59:[0m 0 [2m [0m
destination (test.utf16, considered UTF-8):
| [2m 0:[0m 68 [2mh[0m | [2m 1:[0m 61 [2ma[0m | [2m 2:[0m 6c [2ml[0m | [2m 3:[0m 6c [2ml[0m | [2m 4:[0m 6f [2mo[0m | [2m 5:[0m 20 [2m [0m | [2m 6:[0m 74 [2mt[0m | [2m 7:[0m 68 [2mh[0m
| [2m 8:[0m 65 [2me[0m | [2m 9:[0m 72 [2mr[0m | [2m10:[0m 65 [2me[0m | [2m11:[0m 21 [2m![0m | [2m12:[0m a [2m [0m | [2m13:[0m 63 [2mc[0m | [2m14:[0m 61 [2ma[0m | [2m15:[0m 6e [2mn[0m
| [2m16:[0m 20 [2m [0m | [2m17:[0m 79 [2my[0m | [2m18:[0m 6f [2mo[0m | [2m19:[0m 75 [2mu[0m | [2m20:[0m 20 [2m [0m | [2m21:[0m 72 [2mr[0m | [2m22:[0m 65 [2me[0m | [2m23:[0m 61 [2ma[0m
| [2m24:[0m 64 [2md[0m | [2m25:[0m 20 [2m [0m | [2m26:[0m 6d [2mm[0m | [2m27:[0m 65 [2me[0m | [2m28:[0m 3f [2m?[0m
source (test.utf16lebom, considered UTF-16LE-BOM):
| [2m 0:[0m ff [2m [0m | [2m 1:[0m fe [2m [0m | [2m 2:[0m 68 [2mh[0m | [2m 3:[0m 0 [2m [0m | [2m 4:[0m 61 [2ma[0m | [2m 5:[0m 0 [2m [0m | [2m 6:[0m 6c [2ml[0m | [2m 7:[0m 0 [2m [0m
| [2m 8:[0m 6c [2ml[0m | [2m 9:[0m 0 [2m [0m | [2m10:[0m 6f [2mo[0m | [2m11:[0m 0 [2m [0m | [2m12:[0m 20 [2m [0m | [2m13:[0m 0 [2m [0m | [2m14:[0m 74 [2mt[0m | [2m15:[0m 0 [2m [0m
| [2m16:[0m 68 [2mh[0m | [2m17:[0m 0 [2m [0m | [2m18:[0m 65 [2me[0m | [2m19:[0m 0 [2m [0m | [2m20:[0m 72 [2mr[0m | [2m21:[0m 0 [2m [0m | [2m22:[0m 65 [2me[0m | [2m23:[0m 0 [2m [0m
| [2m24:[0m 21 [2m![0m | [2m25:[0m 0 [2m [0m | [2m26:[0m a [2m [0m | [2m27:[0m 0 [2m [0m | [2m28:[0m 63 [2mc[0m | [2m29:[0m 0 [2m [0m | [2m30:[0m 61 [2ma[0m | [2m31:[0m 0 [2m [0m
| [2m32:[0m 6e [2mn[0m | [2m33:[0m 0 [2m [0m | [2m34:[0m 20 [2m [0m | [2m35:[0m 0 [2m [0m | [2m36:[0m 79 [2my[0m | [2m37:[0m 0 [2m [0m | [2m38:[0m 6f [2mo[0m | [2m39:[0m 0 [2m [0m
| [2m40:[0m 75 [2mu[0m | [2m41:[0m 0 [2m [0m | [2m42:[0m 20 [2m [0m | [2m43:[0m 0 [2m [0m | [2m44:[0m 72 [2mr[0m | [2m45:[0m 0 [2m [0m | [2m46:[0m 65 [2me[0m | [2m47:[0m 0 [2m [0m
| [2m48:[0m 61 [2ma[0m | [2m49:[0m 0 [2m [0m | [2m50:[0m 64 [2md[0m | [2m51:[0m 0 [2m [0m | [2m52:[0m 20 [2m [0m | [2m53:[0m 0 [2m [0m | [2m54:[0m 6d [2mm[0m | [2m55:[0m 0 [2m [0m
| [2m56:[0m 65 [2me[0m | [2m57:[0m 0 [2m [0m | [2m58:[0m 3f [2m?[0m | [2m59:[0m 0 [2m [0m
destination (test.utf16lebom, considered UTF-8):
| [2m 0:[0m 68 [2mh[0m | [2m 1:[0m 61 [2ma[0m | [2m 2:[0m 6c [2ml[0m | [2m 3:[0m 6c [2ml[0m | [2m 4:[0m 6f [2mo[0m | [2m 5:[0m 20 [2m [0m | [2m 6:[0m 74 [2mt[0m | [2m 7:[0m 68 [2mh[0m
| [2m 8:[0m 65 [2me[0m | [2m 9:[0m 72 [2mr[0m | [2m10:[0m 65 [2me[0m | [2m11:[0m 21 [2m![0m | [2m12:[0m a [2m [0m | [2m13:[0m 63 [2mc[0m | [2m14:[0m 61 [2ma[0m | [2m15:[0m 6e [2mn[0m
| [2m16:[0m 20 [2m [0m | [2m17:[0m 79 [2my[0m | [2m18:[0m 6f [2mo[0m | [2m19:[0m 75 [2mu[0m | [2m20:[0m 20 [2m [0m | [2m21:[0m 72 [2mr[0m | [2m22:[0m 65 [2me[0m | [2m23:[0m 61 [2ma[0m
| [2m24:[0m 64 [2md[0m | [2m25:[0m 20 [2m [0m | [2m26:[0m 6d [2mm[0m | [2m27:[0m 65 [2me[0m | [2m28:[0m 3f [2m?[0m
source (test.utf16, considered utf-16):
| [2m 0:[0m ff [2m [0m | [2m 1:[0m fe [2m [0m | [2m 2:[0m 68 [2mh[0m | [2m 3:[0m 0 [2m [0m | [2m 4:[0m 61 [2ma[0m | [2m 5:[0m 0 [2m [0m | [2m 6:[0m 6c [2ml[0m | [2m 7:[0m 0 [2m [0m
| [2m 8:[0m 6c [2ml[0m | [2m 9:[0m 0 [2m [0m | [2m10:[0m 6f [2mo[0m | [2m11:[0m 0 [2m [0m | [2m12:[0m 20 [2m [0m | [2m13:[0m 0 [2m [0m | [2m14:[0m 74 [2mt[0m | [2m15:[0m 0 [2m [0m
| [2m16:[0m 68 [2mh[0m | [2m17:[0m 0 [2m [0m | [2m18:[0m 65 [2me[0m | [2m19:[0m 0 [2m [0m | [2m20:[0m 72 [2mr[0m | [2m21:[0m 0 [2m [0m | [2m22:[0m 65 [2me[0m | [2m23:[0m 0 [2m [0m
| [2m24:[0m 21 [2m![0m | [2m25:[0m 0 [2m [0m | [2m26:[0m a [2m [0m | [2m27:[0m 0 [2m [0m | [2m28:[0m 63 [2mc[0m | [2m29:[0m 0 [2m [0m | [2m30:[0m 61 [2ma[0m | [2m31:[0m 0 [2m [0m
| [2m32:[0m 6e [2mn[0m | [2m33:[0m 0 [2m [0m | [2m34:[0m 20 [2m [0m | [2m35:[0m 0 [2m [0m | [2m36:[0m 79 [2my[0m | [2m37:[0m 0 [2m [0m | [2m38:[0m 6f [2mo[0m | [2m39:[0m 0 [2m [0m
| [2m40:[0m 75 [2mu[0m | [2m41:[0m 0 [2m [0m | [2m42:[0m 20 [2m [0m | [2m43:[0m 0 [2m [0m | [2m44:[0m 72 [2mr[0m | [2m45:[0m 0 [2m [0m | [2m46:[0m 65 [2me[0m | [2m47:[0m 0 [2m [0m
| [2m48:[0m 61 [2ma[0m | [2m49:[0m 0 [2m [0m | [2m50:[0m 64 [2md[0m | [2m51:[0m 0 [2m [0m | [2m52:[0m 20 [2m [0m | [2m53:[0m 0 [2m [0m | [2m54:[0m 6d [2mm[0m | [2m55:[0m 0 [2m [0m
| [2m56:[0m 65 [2me[0m | [2m57:[0m 0 [2m [0m | [2m58:[0m 3f [2m?[0m | [2m59:[0m 0 [2m [0m
destination (test.utf16, considered UTF-8):
| [2m 0:[0m 68 [2mh[0m | [2m 1:[0m 61 [2ma[0m | [2m 2:[0m 6c [2ml[0m | [2m 3:[0m 6c [2ml[0m | [2m 4:[0m 6f [2mo[0m | [2m 5:[0m 20 [2m [0m | [2m 6:[0m 74 [2mt[0m | [2m 7:[0m 68 [2mh[0m
| [2m 8:[0m 65 [2me[0m | [2m 9:[0m 72 [2mr[0m | [2m10:[0m 65 [2me[0m | [2m11:[0m 21 [2m![0m | [2m12:[0m a [2m [0m | [2m13:[0m 63 [2mc[0m | [2m14:[0m 61 [2ma[0m | [2m15:[0m 6e [2mn[0m
| [2m16:[0m 20 [2m [0m | [2m17:[0m 79 [2my[0m | [2m18:[0m 6f [2mo[0m | [2m19:[0m 75 [2mu[0m | [2m20:[0m 20 [2m [0m | [2m21:[0m 72 [2mr[0m | [2m22:[0m 65 [2me[0m | [2m23:[0m 61 [2ma[0m
| [2m24:[0m 64 [2md[0m | [2m25:[0m 20 [2m [0m | [2m26:[0m 6d [2mm[0m | [2m27:[0m 65 [2me[0m | [2m28:[0m 3f [2m?[0m
source (test.utf16lebom, considered UTF-16LE-BOM):
| [2m 0:[0m ff [2m [0m | [2m 1:[0m fe [2m [0m | [2m 2:[0m 68 [2mh[0m | [2m 3:[0m 0 [2m [0m | [2m 4:[0m 61 [2ma[0m | [2m 5:[0m 0 [2m [0m | [2m 6:[0m 6c [2ml[0m | [2m 7:[0m 0 [2m [0m
| [2m 8:[0m 6c [2ml[0m | [2m 9:[0m 0 [2m [0m | [2m10:[0m 6f [2mo[0m | [2m11:[0m 0 [2m [0m | [2m12:[0m 20 [2m [0m | [2m13:[0m 0 [2m [0m | [2m14:[0m 74 [2mt[0m | [2m15:[0m 0 [2m [0m
| [2m16:[0m 68 [2mh[0m | [2m17:[0m 0 [2m [0m | [2m18:[0m 65 [2me[0m | [2m19:[0m 0 [2m [0m | [2m20:[0m 72 [2mr[0m | [2m21:[0m 0 [2m [0m | [2m22:[0m 65 [2me[0m | [2m23:[0m 0 [2m [0m
| [2m24:[0m 21 [2m![0m | [2m25:[0m 0 [2m [0m | [2m26:[0m a [2m [0m | [2m27:[0m 0 [2m [0m | [2m28:[0m 63 [2mc[0m | [2m29:[0m 0 [2m [0m | [2m30:[0m 61 [2ma[0m | [2m31:[0m 0 [2m [0m
| [2m32:[0m 6e [2mn[0m | [2m33:[0m 0 [2m [0m | [2m34:[0m 20 [2m [0m | [2m35:[0m 0 [2m [0m | [2m36:[0m 79 [2my[0m | [2m37:[0m 0 [2m [0m | [2m38:[0m 6f [2mo[0m | [2m39:[0m 0 [2m [0m
| [2m40:[0m 75 [2mu[0m | [2m41:[0m 0 [2m [0m | [2m42:[0m 20 [2m [0m | [2m43:[0m 0 [2m [0m | [2m44:[0m 72 [2mr[0m | [2m45:[0m 0 [2m [0m | [2m46:[0m 65 [2me[0m | [2m47:[0m 0 [2m [0m
| [2m48:[0m 61 [2ma[0m | [2m49:[0m 0 [2m [0m | [2m50:[0m 64 [2md[0m | [2m51:[0m 0 [2m [0m | [2m52:[0m 20 [2m [0m | [2m53:[0m 0 [2m [0m | [2m54:[0m 6d [2mm[0m | [2m55:[0m 0 [2m [0m
| [2m56:[0m 65 [2me[0m | [2m57:[0m 0 [2m [0m | [2m58:[0m 3f [2m?[0m | [2m59:[0m 0 [2m [0m
destination (test.utf16lebom, considered UTF-8):
| [2m 0:[0m 68 [2mh[0m | [2m 1:[0m 61 [2ma[0m | [2m 2:[0m 6c [2ml[0m | [2m 3:[0m 6c [2ml[0m | [2m 4:[0m 6f [2mo[0m | [2m 5:[0m 20 [2m [0m | [2m 6:[0m 74 [2mt[0m | [2m 7:[0m 68 [2mh[0m
| [2m 8:[0m 65 [2me[0m | [2m 9:[0m 72 [2mr[0m | [2m10:[0m 65 [2me[0m | [2m11:[0m 21 [2m![0m | [2m12:[0m a [2m [0m | [2m13:[0m 63 [2mc[0m | [2m14:[0m 61 [2ma[0m | [2m15:[0m 6e [2mn[0m
| [2m16:[0m 20 [2m [0m | [2m17:[0m 79 [2my[0m | [2m18:[0m 6f [2mo[0m | [2m19:[0m 75 [2mu[0m | [2m20:[0m 20 [2m [0m | [2m21:[0m 72 [2mr[0m | [2m22:[0m 65 [2me[0m | [2m23:[0m 61 [2ma[0m
| [2m24:[0m 64 [2md[0m | [2m25:[0m 20 [2m [0m | [2m26:[0m 6d [2mm[0m | [2m27:[0m 65 [2me[0m | [2m28:[0m 3f [2m?[0m
HEAD is now at f4cf22b initial
ok 5 - check $GIT_DIR/info/attributes support
expecting success of 0028.6 'check prohibited UTF-16 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
checking prerequisite: C_LOCALE_OUTPUT
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
! test_bool_env GIT_TEST_GETTEXT_POISON false
)
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):
| [2m 0:[0m ff [2m [0m | [2m 1:[0m fe [2m [0m | [2m 2:[0m 68 [2mh[0m | [2m 3:[0m 0 [2m [0m | [2m 4:[0m 61 [2ma[0m | [2m 5:[0m 0 [2m [0m | [2m 6:[0m 6c [2ml[0m | [2m 7:[0m 0 [2m [0m
| [2m 8:[0m 6c [2ml[0m | [2m 9:[0m 0 [2m [0m | [2m10:[0m 6f [2mo[0m | [2m11:[0m 0 [2m [0m | [2m12:[0m 20 [2m [0m | [2m13:[0m 0 [2m [0m | [2m14:[0m 74 [2mt[0m | [2m15:[0m 0 [2m [0m
| [2m16:[0m 68 [2mh[0m | [2m17:[0m 0 [2m [0m | [2m18:[0m 65 [2me[0m | [2m19:[0m 0 [2m [0m | [2m20:[0m 72 [2mr[0m | [2m21:[0m 0 [2m [0m | [2m22:[0m 65 [2me[0m | [2m23:[0m 0 [2m [0m
| [2m24:[0m 21 [2m![0m | [2m25:[0m 0 [2m [0m | [2m26:[0m a [2m [0m | [2m27:[0m 0 [2m [0m | [2m28:[0m 63 [2mc[0m | [2m29:[0m 0 [2m [0m | [2m30:[0m 61 [2ma[0m | [2m31:[0m 0 [2m [0m
| [2m32:[0m 6e [2mn[0m | [2m33:[0m 0 [2m [0m | [2m34:[0m 20 [2m [0m | [2m35:[0m 0 [2m [0m | [2m36:[0m 79 [2my[0m | [2m37:[0m 0 [2m [0m | [2m38:[0m 6f [2mo[0m | [2m39:[0m 0 [2m [0m
| [2m40:[0m 75 [2mu[0m | [2m41:[0m 0 [2m [0m | [2m42:[0m 20 [2m [0m | [2m43:[0m 0 [2m [0m | [2m44:[0m 72 [2mr[0m | [2m45:[0m 0 [2m [0m | [2m46:[0m 65 [2me[0m | [2m47:[0m 0 [2m [0m
| [2m48:[0m 61 [2ma[0m | [2m49:[0m 0 [2m [0m | [2m50:[0m 64 [2md[0m | [2m51:[0m 0 [2m [0m | [2m52:[0m 20 [2m [0m | [2m53:[0m 0 [2m [0m | [2m54:[0m 6d [2mm[0m | [2m55:[0m 0 [2m [0m
| [2m56:[0m 65 [2me[0m | [2m57:[0m 0 [2m [0m | [2m58:[0m 3f [2m?[0m | [2m59:[0m 0 [2m [0m
destination (test.utf16, considered UTF-8):
| [2m 0:[0m 68 [2mh[0m | [2m 1:[0m 61 [2ma[0m | [2m 2:[0m 6c [2ml[0m | [2m 3:[0m 6c [2ml[0m | [2m 4:[0m 6f [2mo[0m | [2m 5:[0m 20 [2m [0m | [2m 6:[0m 74 [2mt[0m | [2m 7:[0m 68 [2mh[0m
| [2m 8:[0m 65 [2me[0m | [2m 9:[0m 72 [2mr[0m | [2m10:[0m 65 [2me[0m | [2m11:[0m 21 [2m![0m | [2m12:[0m a [2m [0m | [2m13:[0m 63 [2mc[0m | [2m14:[0m 61 [2ma[0m | [2m15:[0m 6e [2mn[0m
| [2m16:[0m 20 [2m [0m | [2m17:[0m 79 [2my[0m | [2m18:[0m 6f [2mo[0m | [2m19:[0m 75 [2mu[0m | [2m20:[0m 20 [2m [0m | [2m21:[0m 72 [2mr[0m | [2m22:[0m 65 [2me[0m | [2m23:[0m 61 [2ma[0m
| [2m24:[0m 64 [2md[0m | [2m25:[0m 20 [2m [0m | [2m26:[0m 6d [2mm[0m | [2m27:[0m 65 [2me[0m | [2m28:[0m 3f [2m?[0m
source (test.utf16lebom, considered UTF-16LE-BOM):
| [2m 0:[0m ff [2m [0m | [2m 1:[0m fe [2m [0m | [2m 2:[0m 68 [2mh[0m | [2m 3:[0m 0 [2m [0m | [2m 4:[0m 61 [2ma[0m | [2m 5:[0m 0 [2m [0m | [2m 6:[0m 6c [2ml[0m | [2m 7:[0m 0 [2m [0m
| [2m 8:[0m 6c [2ml[0m | [2m 9:[0m 0 [2m [0m | [2m10:[0m 6f [2mo[0m | [2m11:[0m 0 [2m [0m | [2m12:[0m 20 [2m [0m | [2m13:[0m 0 [2m [0m | [2m14:[0m 74 [2mt[0m | [2m15:[0m 0 [2m [0m
| [2m16:[0m 68 [2mh[0m | [2m17:[0m 0 [2m [0m | [2m18:[0m 65 [2me[0m | [2m19:[0m 0 [2m [0m | [2m20:[0m 72 [2mr[0m | [2m21:[0m 0 [2m [0m | [2m22:[0m 65 [2me[0m | [2m23:[0m 0 [2m [0m
| [2m24:[0m 21 [2m![0m | [2m25:[0m 0 [2m [0m | [2m26:[0m a [2m [0m | [2m27:[0m 0 [2m [0m | [2m28:[0m 63 [2mc[0m | [2m29:[0m 0 [2m [0m | [2m30:[0m 61 [2ma[0m | [2m31:[0m 0 [2m [0m
| [2m32:[0m 6e [2mn[0m | [2m33:[0m 0 [2m [0m | [2m34:[0m 20 [2m [0m | [2m35:[0m 0 [2m [0m | [2m36:[0m 79 [2my[0m | [2m37:[0m 0 [2m [0m | [2m38:[0m 6f [2mo[0m | [2m39:[0m 0 [2m [0m
| [2m40:[0m 75 [2mu[0m | [2m41:[0m 0 [2m [0m | [2m42:[0m 20 [2m [0m | [2m43:[0m 0 [2m [0m | [2m44:[0m 72 [2mr[0m | [2m45:[0m 0 [2m [0m | [2m46:[0m 65 [2me[0m | [2m47:[0m 0 [2m [0m
| [2m48:[0m 61 [2ma[0m | [2m49:[0m 0 [2m [0m | [2m50:[0m 64 [2md[0m | [2m51:[0m 0 [2m [0m | [2m52:[0m 20 [2m [0m | [2m53:[0m 0 [2m [0m | [2m54:[0m 6d [2mm[0m | [2m55:[0m 0 [2m [0m
| [2m56:[0m 65 [2me[0m | [2m57:[0m 0 [2m [0m | [2m58:[0m 3f [2m?[0m | [2m59:[0m 0 [2m [0m
destination (test.utf16lebom, considered UTF-8):
| [2m 0:[0m 68 [2mh[0m | [2m 1:[0m 61 [2ma[0m | [2m 2:[0m 6c [2ml[0m | [2m 3:[0m 6c [2ml[0m | [2m 4:[0m 6f [2mo[0m | [2m 5:[0m 20 [2m [0m | [2m 6:[0m 74 [2mt[0m | [2m 7:[0m 68 [2mh[0m
| [2m 8:[0m 65 [2me[0m | [2m 9:[0m 72 [2mr[0m | [2m10:[0m 65 [2me[0m | [2m11:[0m 21 [2m![0m | [2m12:[0m a [2m [0m | [2m13:[0m 63 [2mc[0m | [2m14:[0m 61 [2ma[0m | [2m15:[0m 6e [2mn[0m
| [2m16:[0m 20 [2m [0m | [2m17:[0m 79 [2my[0m | [2m18:[0m 6f [2mo[0m | [2m19:[0m 75 [2mu[0m | [2m20:[0m 20 [2m [0m | [2m21:[0m 72 [2mr[0m | [2m22:[0m 65 [2me[0m | [2m23:[0m 61 [2ma[0m
| [2m24:[0m 64 [2md[0m | [2m25:[0m 20 [2m [0m | [2m26:[0m 6d [2mm[0m | [2m27:[0m 65 [2me[0m | [2m28:[0m 3f [2m?[0m
source (test.utf16, considered utf-16):
| [2m 0:[0m ff [2m [0m | [2m 1:[0m fe [2m [0m | [2m 2:[0m 68 [2mh[0m | [2m 3:[0m 0 [2m [0m | [2m 4:[0m 61 [2ma[0m | [2m 5:[0m 0 [2m [0m | [2m 6:[0m 6c [2ml[0m | [2m 7:[0m 0 [2m [0m
| [2m 8:[0m 6c [2ml[0m | [2m 9:[0m 0 [2m [0m | [2m10:[0m 6f [2mo[0m | [2m11:[0m 0 [2m [0m | [2m12:[0m 20 [2m [0m | [2m13:[0m 0 [2m [0m | [2m14:[0m 74 [2mt[0m | [2m15:[0m 0 [2m [0m
| [2m16:[0m 68 [2mh[0m | [2m17:[0m 0 [2m [0m | [2m18:[0m 65 [2me[0m | [2m19:[0m 0 [2m [0m | [2m20:[0m 72 [2mr[0m | [2m21:[0m 0 [2m [0m | [2m22:[0m 65 [2me[0m | [2m23:[0m 0 [2m [0m
| [2m24:[0m 21 [2m![0m | [2m25:[0m 0 [2m [0m | [2m26:[0m a [2m [0m | [2m27:[0m 0 [2m [0m | [2m28:[0m 63 [2mc[0m | [2m29:[0m 0 [2m [0m | [2m30:[0m 61 [2ma[0m | [2m31:[0m 0 [2m [0m
| [2m32:[0m 6e [2mn[0m | [2m33:[0m 0 [2m [0m | [2m34:[0m 20 [2m [0m | [2m35:[0m 0 [2m [0m | [2m36:[0m 79 [2my[0m | [2m37:[0m 0 [2m [0m | [2m38:[0m 6f [2mo[0m | [2m39:[0m 0 [2m [0m
| [2m40:[0m 75 [2mu[0m | [2m41:[0m 0 [2m [0m | [2m42:[0m 20 [2m [0m | [2m43:[0m 0 [2m [0m | [2m44:[0m 72 [2mr[0m | [2m45:[0m 0 [2m [0m | [2m46:[0m 65 [2me[0m | [2m47:[0m 0 [2m [0m
| [2m48:[0m 61 [2ma[0m | [2m49:[0m 0 [2m [0m | [2m50:[0m 64 [2md[0m | [2m51:[0m 0 [2m [0m | [2m52:[0m 20 [2m [0m | [2m53:[0m 0 [2m [0m | [2m54:[0m 6d [2mm[0m | [2m55:[0m 0 [2m [0m
| [2m56:[0m 65 [2me[0m | [2m57:[0m 0 [2m [0m | [2m58:[0m 3f [2m?[0m | [2m59:[0m 0 [2m [0m
destination (test.utf16, considered UTF-8):
| [2m 0:[0m 68 [2mh[0m | [2m 1:[0m 61 [2ma[0m | [2m 2:[0m 6c [2ml[0m | [2m 3:[0m 6c [2ml[0m | [2m 4:[0m 6f [2mo[0m | [2m 5:[0m 20 [2m [0m | [2m 6:[0m 74 [2mt[0m | [2m 7:[0m 68 [2mh[0m
| [2m 8:[0m 65 [2me[0m | [2m 9:[0m 72 [2mr[0m | [2m10:[0m 65 [2me[0m | [2m11:[0m 21 [2m![0m | [2m12:[0m a [2m [0m | [2m13:[0m 63 [2mc[0m | [2m14:[0m 61 [2ma[0m | [2m15:[0m 6e [2mn[0m
| [2m16:[0m 20 [2m [0m | [2m17:[0m 79 [2my[0m | [2m18:[0m 6f [2mo[0m | [2m19:[0m 75 [2mu[0m | [2m20:[0m 20 [2m [0m | [2m21:[0m 72 [2mr[0m | [2m22:[0m 65 [2me[0m | [2m23:[0m 61 [2ma[0m
| [2m24:[0m 64 [2md[0m | [2m25:[0m 20 [2m [0m | [2m26:[0m 6d [2mm[0m | [2m27:[0m 65 [2me[0m | [2m28:[0m 3f [2m?[0m
source (test.utf16lebom, considered UTF-16LE-BOM):
| [2m 0:[0m ff [2m [0m | [2m 1:[0m fe [2m [0m | [2m 2:[0m 68 [2mh[0m | [2m 3:[0m 0 [2m [0m | [2m 4:[0m 61 [2ma[0m | [2m 5:[0m 0 [2m [0m | [2m 6:[0m 6c [2ml[0m | [2m 7:[0m 0 [2m [0m
| [2m 8:[0m 6c [2ml[0m | [2m 9:[0m 0 [2m [0m | [2m10:[0m 6f [2mo[0m | [2m11:[0m 0 [2m [0m | [2m12:[0m 20 [2m [0m | [2m13:[0m 0 [2m [0m | [2m14:[0m 74 [2mt[0m | [2m15:[0m 0 [2m [0m
| [2m16:[0m 68 [2mh[0m | [2m17:[0m 0 [2m [0m | [2m18:[0m 65 [2me[0m | [2m19:[0m 0 [2m [0m | [2m20:[0m 72 [2mr[0m | [2m21:[0m 0 [2m [0m | [2m22:[0m 65 [2me[0m | [2m23:[0m 0 [2m [0m
| [2m24:[0m 21 [2m![0m | [2m25:[0m 0 [2m [0m | [2m26:[0m a [2m [0m | [2m27:[0m 0 [2m [0m | [2m28:[0m 63 [2mc[0m | [2m29:[0m 0 [2m [0m | [2m30:[0m 61 [2ma[0m | [2m31:[0m 0 [2m [0m
| [2m32:[0m 6e [2mn[0m | [2m33:[0m 0 [2m [0m | [2m34:[0m 20 [2m [0m | [2m35:[0m 0 [2m [0m | [2m36:[0m 79 [2my[0m | [2m37:[0m 0 [2m [0m | [2m38:[0m 6f [2mo[0m | [2m39:[0m 0 [2m [0m
| [2m40:[0m 75 [2mu[0m | [2m41:[0m 0 [2m [0m | [2m42:[0m 20 [2m [0m | [2m43:[0m 0 [2m [0m | [2m44:[0m 72 [2mr[0m | [2m45:[0m 0 [2m [0m | [2m46:[0m 65 [2me[0m | [2m47:[0m 0 [2m [0m
| [2m48:[0m 61 [2ma[0m | [2m49:[0m 0 [2m [0m | [2m50:[0m 64 [2md[0m | [2m51:[0m 0 [2m [0m | [2m52:[0m 20 [2m [0m | [2m53:[0m 0 [2m [0m | [2m54:[0m 6d [2mm[0m | [2m55:[0m 0 [2m [0m
| [2m56:[0m 65 [2me[0m | [2m57:[0m 0 [2m [0m | [2m58:[0m 3f [2m?[0m | [2m59:[0m 0 [2m [0m
destination (test.utf16lebom, considered UTF-8):
| [2m 0:[0m 68 [2mh[0m | [2m 1:[0m 61 [2ma[0m | [2m 2:[0m 6c [2ml[0m | [2m 3:[0m 6c [2ml[0m | [2m 4:[0m 6f [2mo[0m | [2m 5:[0m 20 [2m [0m | [2m 6:[0m 74 [2mt[0m | [2m 7:[0m 68 [2mh[0m
| [2m 8:[0m 65 [2me[0m | [2m 9:[0m 72 [2mr[0m | [2m10:[0m 65 [2me[0m | [2m11:[0m 21 [2m![0m | [2m12:[0m a [2m [0m | [2m13:[0m 63 [2mc[0m | [2m14:[0m 61 [2ma[0m | [2m15:[0m 6e [2mn[0m
| [2m16:[0m 20 [2m [0m | [2m17:[0m 79 [2my[0m | [2m18:[0m 6f [2mo[0m | [2m19:[0m 75 [2mu[0m | [2m20:[0m 20 [2m [0m | [2m21:[0m 72 [2mr[0m | [2m22:[0m 65 [2me[0m | [2m23:[0m 61 [2ma[0m
| [2m24:[0m 64 [2md[0m | [2m25:[0m 20 [2m [0m | [2m26:[0m 6d [2mm[0m | [2m27:[0m 65 [2me[0m | [2m28:[0m 3f [2m?[0m
HEAD is now at f4cf22b initial
ok 6 - check prohibited UTF-16 BOM
expecting success of 0028.7 'check required UTF-16 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.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.
HEAD is now at f4cf22b initial
ok 7 - check required UTF-16 BOM
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^" &&
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 &&
# 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} &&
# 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
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
test $(printf abc | iconv -f UTF-8 -t UTF-16 | wc -c) = 6
)
prerequisite NO_UTF16_BOM not satisfied
checking prerequisite: NO_UTF16_BOM
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
test $(printf abc | iconv -f UTF-8 -t UTF-16 | wc -c) = 6
)
prerequisite NO_UTF16_BOM not satisfied
source (eol.utf16, considered utf-16):
| [2m 0:[0m ff [2m [0m | [2m 1:[0m fe [2m [0m | [2m 2:[0m 6f [2mo[0m | [2m 3:[0m 0 [2m [0m | [2m 4:[0m 6e [2mn[0m | [2m 5:[0m 0 [2m [0m | [2m 6:[0m 65 [2me[0m | [2m 7:[0m 0 [2m [0m
| [2m 8:[0m d [2m [0m | [2m 9:[0m 0 [2m [0m | [2m10:[0m a [2m [0m | [2m11:[0m 0 [2m [0m | [2m12:[0m 74 [2mt[0m | [2m13:[0m 0 [2m [0m | [2m14:[0m 77 [2mw[0m | [2m15:[0m 0 [2m [0m
| [2m16:[0m 6f [2mo[0m | [2m17:[0m 0 [2m [0m | [2m18:[0m d [2m [0m | [2m19:[0m 0 [2m [0m | [2m20:[0m a [2m [0m | [2m21:[0m 0 [2m [0m | [2m22:[0m 74 [2mt[0m | [2m23:[0m 0 [2m [0m
| [2m24:[0m 68 [2mh[0m | [2m25:[0m 0 [2m [0m | [2m26:[0m 72 [2mr[0m | [2m27:[0m 0 [2m [0m | [2m28:[0m 65 [2me[0m | [2m29:[0m 0 [2m [0m | [2m30:[0m 65 [2me[0m | [2m31:[0m 0 [2m [0m
| [2m32:[0m d [2m [0m | [2m33:[0m 0 [2m [0m | [2m34:[0m a [2m [0m | [2m35:[0m 0 [2m [0m
destination (eol.utf16, considered UTF-8):
| [2m 0:[0m 6f [2mo[0m | [2m 1:[0m 6e [2mn[0m | [2m 2:[0m 65 [2me[0m | [2m 3:[0m d [2m [0m | [2m 4:[0m a [2m [0m | [2m 5:[0m 74 [2mt[0m | [2m 6:[0m 77 [2mw[0m | [2m 7:[0m 6f [2mo[0m
| [2m 8:[0m d [2m [0m | [2m 9:[0m a [2m [0m | [2m10:[0m 74 [2mt[0m | [2m11:[0m 68 [2mh[0m | [2m12:[0m 72 [2mr[0m | [2m13:[0m 65 [2me[0m | [2m14:[0m 65 [2me[0m | [2m15:[0m d [2m [0m
| [2m16:[0m a [2m [0m
warning: CRLF will be replaced by LF in eol.utf16.
The file will have its original line endings in your working directory
source (eol.utf16, considered utf-16):
| [2m 0:[0m ff [2m [0m | [2m 1:[0m fe [2m [0m | [2m 2:[0m 6f [2mo[0m | [2m 3:[0m 0 [2m [0m | [2m 4:[0m 6e [2mn[0m | [2m 5:[0m 0 [2m [0m | [2m 6:[0m 65 [2me[0m | [2m 7:[0m 0 [2m [0m
| [2m 8:[0m d [2m [0m | [2m 9:[0m 0 [2m [0m | [2m10:[0m a [2m [0m | [2m11:[0m 0 [2m [0m | [2m12:[0m 74 [2mt[0m | [2m13:[0m 0 [2m [0m | [2m14:[0m 77 [2mw[0m | [2m15:[0m 0 [2m [0m
| [2m16:[0m 6f [2mo[0m | [2m17:[0m 0 [2m [0m | [2m18:[0m d [2m [0m | [2m19:[0m 0 [2m [0m | [2m20:[0m a [2m [0m | [2m21:[0m 0 [2m [0m | [2m22:[0m 74 [2mt[0m | [2m23:[0m 0 [2m [0m
| [2m24:[0m 68 [2mh[0m | [2m25:[0m 0 [2m [0m | [2m26:[0m 72 [2mr[0m | [2m27:[0m 0 [2m [0m | [2m28:[0m 65 [2me[0m | [2m29:[0m 0 [2m [0m | [2m30:[0m 65 [2me[0m | [2m31:[0m 0 [2m [0m
| [2m32:[0m d [2m [0m | [2m33:[0m 0 [2m [0m | [2m34:[0m a [2m [0m | [2m35:[0m 0 [2m [0m
destination (eol.utf16, considered UTF-8):
| [2m 0:[0m 6f [2mo[0m | [2m 1:[0m 6e [2mn[0m | [2m 2:[0m 65 [2me[0m | [2m 3:[0m d [2m [0m | [2m 4:[0m a [2m [0m | [2m 5:[0m 74 [2mt[0m | [2m 6:[0m 77 [2mw[0m | [2m 7:[0m 6f [2mo[0m
| [2m 8:[0m d [2m [0m | [2m 9:[0m a [2m [0m | [2m10:[0m 74 [2mt[0m | [2m11:[0m 68 [2mh[0m | [2m12:[0m 72 [2mr[0m | [2m13:[0m 65 [2me[0m | [2m14:[0m 65 [2me[0m | [2m15:[0m d [2m [0m
| [2m16:[0m a [2m [0m
[master 1330ab8] eol
Author: A U Thor <author@example.com>
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 f4cf22b 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.
HEAD is now at f4cf22b 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.
HEAD is now at f4cf22b 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 &&
# 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} &&
# 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
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
test $(printf abc | iconv -f UTF-8 -t UTF-32 | wc -c) = 12
)
prerequisite NO_UTF32_BOM not satisfied
checking prerequisite: NO_UTF32_BOM
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
test $(printf abc | iconv -f UTF-8 -t UTF-32 | wc -c) = 12
)
prerequisite NO_UTF32_BOM not satisfied
source (eol.utf32, considered utf-32):
| [2m 0:[0m ff [2m [0m | [2m 1:[0m fe [2m [0m | [2m 2:[0m 0 [2m [0m | [2m 3:[0m 0 [2m [0m | [2m 4:[0m 6f [2mo[0m | [2m 5:[0m 0 [2m [0m | [2m 6:[0m 0 [2m [0m | [2m 7:[0m 0 [2m [0m
| [2m 8:[0m 6e [2mn[0m | [2m 9:[0m 0 [2m [0m | [2m10:[0m 0 [2m [0m | [2m11:[0m 0 [2m [0m | [2m12:[0m 65 [2me[0m | [2m13:[0m 0 [2m [0m | [2m14:[0m 0 [2m [0m | [2m15:[0m 0 [2m [0m
| [2m16:[0m d [2m [0m | [2m17:[0m 0 [2m [0m | [2m18:[0m 0 [2m [0m | [2m19:[0m 0 [2m [0m | [2m20:[0m a [2m [0m | [2m21:[0m 0 [2m [0m | [2m22:[0m 0 [2m [0m | [2m23:[0m 0 [2m [0m
| [2m24:[0m 74 [2mt[0m | [2m25:[0m 0 [2m [0m | [2m26:[0m 0 [2m [0m | [2m27:[0m 0 [2m [0m | [2m28:[0m 77 [2mw[0m | [2m29:[0m 0 [2m [0m | [2m30:[0m 0 [2m [0m | [2m31:[0m 0 [2m [0m
| [2m32:[0m 6f [2mo[0m | [2m33:[0m 0 [2m [0m | [2m34:[0m 0 [2m [0m | [2m35:[0m 0 [2m [0m | [2m36:[0m d [2m [0m | [2m37:[0m 0 [2m [0m | [2m38:[0m 0 [2m [0m | [2m39:[0m 0 [2m [0m
| [2m40:[0m a [2m [0m | [2m41:[0m 0 [2m [0m | [2m42:[0m 0 [2m [0m | [2m43:[0m 0 [2m [0m | [2m44:[0m 74 [2mt[0m | [2m45:[0m 0 [2m [0m | [2m46:[0m 0 [2m [0m | [2m47:[0m 0 [2m [0m
| [2m48:[0m 68 [2mh[0m | [2m49:[0m 0 [2m [0m | [2m50:[0m 0 [2m [0m | [2m51:[0m 0 [2m [0m | [2m52:[0m 72 [2mr[0m | [2m53:[0m 0 [2m [0m | [2m54:[0m 0 [2m [0m | [2m55:[0m 0 [2m [0m
| [2m56:[0m 65 [2me[0m | [2m57:[0m 0 [2m [0m | [2m58:[0m 0 [2m [0m | [2m59:[0m 0 [2m [0m | [2m60:[0m 65 [2me[0m | [2m61:[0m 0 [2m [0m | [2m62:[0m 0 [2m [0m | [2m63:[0m 0 [2m [0m
| [2m64:[0m d [2m [0m | [2m65:[0m 0 [2m [0m | [2m66:[0m 0 [2m [0m | [2m67:[0m 0 [2m [0m | [2m68:[0m a [2m [0m | [2m69:[0m 0 [2m [0m | [2m70:[0m 0 [2m [0m | [2m71:[0m 0 [2m [0m
destination (eol.utf32, considered UTF-8):
| [2m 0:[0m 6f [2mo[0m | [2m 1:[0m 6e [2mn[0m | [2m 2:[0m 65 [2me[0m | [2m 3:[0m d [2m [0m | [2m 4:[0m a [2m [0m | [2m 5:[0m 74 [2mt[0m | [2m 6:[0m 77 [2mw[0m | [2m 7:[0m 6f [2mo[0m
| [2m 8:[0m d [2m [0m | [2m 9:[0m a [2m [0m | [2m10:[0m 74 [2mt[0m | [2m11:[0m 68 [2mh[0m | [2m12:[0m 72 [2mr[0m | [2m13:[0m 65 [2me[0m | [2m14:[0m 65 [2me[0m | [2m15:[0m d [2m [0m
| [2m16:[0m a [2m [0m
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):
| [2m 0:[0m ff [2m [0m | [2m 1:[0m fe [2m [0m | [2m 2:[0m 0 [2m [0m | [2m 3:[0m 0 [2m [0m | [2m 4:[0m 6f [2mo[0m | [2m 5:[0m 0 [2m [0m | [2m 6:[0m 0 [2m [0m | [2m 7:[0m 0 [2m [0m
| [2m 8:[0m 6e [2mn[0m | [2m 9:[0m 0 [2m [0m | [2m10:[0m 0 [2m [0m | [2m11:[0m 0 [2m [0m | [2m12:[0m 65 [2me[0m | [2m13:[0m 0 [2m [0m | [2m14:[0m 0 [2m [0m | [2m15:[0m 0 [2m [0m
| [2m16:[0m d [2m [0m | [2m17:[0m 0 [2m [0m | [2m18:[0m 0 [2m [0m | [2m19:[0m 0 [2m [0m | [2m20:[0m a [2m [0m | [2m21:[0m 0 [2m [0m | [2m22:[0m 0 [2m [0m | [2m23:[0m 0 [2m [0m
| [2m24:[0m 74 [2mt[0m | [2m25:[0m 0 [2m [0m | [2m26:[0m 0 [2m [0m | [2m27:[0m 0 [2m [0m | [2m28:[0m 77 [2mw[0m | [2m29:[0m 0 [2m [0m | [2m30:[0m 0 [2m [0m | [2m31:[0m 0 [2m [0m
| [2m32:[0m 6f [2mo[0m | [2m33:[0m 0 [2m [0m | [2m34:[0m 0 [2m [0m | [2m35:[0m 0 [2m [0m | [2m36:[0m d [2m [0m | [2m37:[0m 0 [2m [0m | [2m38:[0m 0 [2m [0m | [2m39:[0m 0 [2m [0m
| [2m40:[0m a [2m [0m | [2m41:[0m 0 [2m [0m | [2m42:[0m 0 [2m [0m | [2m43:[0m 0 [2m [0m | [2m44:[0m 74 [2mt[0m | [2m45:[0m 0 [2m [0m | [2m46:[0m 0 [2m [0m | [2m47:[0m 0 [2m [0m
| [2m48:[0m 68 [2mh[0m | [2m49:[0m 0 [2m [0m | [2m50:[0m 0 [2m [0m | [2m51:[0m 0 [2m [0m | [2m52:[0m 72 [2mr[0m | [2m53:[0m 0 [2m [0m | [2m54:[0m 0 [2m [0m | [2m55:[0m 0 [2m [0m
| [2m56:[0m 65 [2me[0m | [2m57:[0m 0 [2m [0m | [2m58:[0m 0 [2m [0m | [2m59:[0m 0 [2m [0m | [2m60:[0m 65 [2me[0m | [2m61:[0m 0 [2m [0m | [2m62:[0m 0 [2m [0m | [2m63:[0m 0 [2m [0m
| [2m64:[0m d [2m [0m | [2m65:[0m 0 [2m [0m | [2m66:[0m 0 [2m [0m | [2m67:[0m 0 [2m [0m | [2m68:[0m a [2m [0m | [2m69:[0m 0 [2m [0m | [2m70:[0m 0 [2m [0m | [2m71:[0m 0 [2m [0m
destination (eol.utf32, considered UTF-8):
| [2m 0:[0m 6f [2mo[0m | [2m 1:[0m 6e [2mn[0m | [2m 2:[0m 65 [2me[0m | [2m 3:[0m d [2m [0m | [2m 4:[0m a [2m [0m | [2m 5:[0m 74 [2mt[0m | [2m 6:[0m 77 [2mw[0m | [2m 7:[0m 6f [2mo[0m
| [2m 8:[0m d [2m [0m | [2m 9:[0m a [2m [0m | [2m10:[0m 74 [2mt[0m | [2m11:[0m 68 [2mh[0m | [2m12:[0m 72 [2mr[0m | [2m13:[0m 65 [2me[0m | [2m14:[0m 65 [2me[0m | [2m15:[0m d [2m [0m
| [2m16:[0m a [2m [0m
[master c2fd07e] eol
Author: A U Thor <author@example.com>
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 f4cf22b 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 f4cf22b 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 f4cf22b 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
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 f4cf22b initial
ok 14 - error if encoding garbage is already in Git
checking prerequisite: ICONV_SHIFT_JIS
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
iconv -f UTF-8 -t SHIFT-JIS </dev/null
)
prerequisite ICONV_SHIFT_JIS ok
expecting success of 0028.15 'check roundtrip encoding':
test_when_finished "rm -f roundtrip.shift roundtrip.utf16" &&
test_when_finished "git reset --hard HEAD" &&
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 &&
# 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 &&
# ... 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 &&
# 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 &&
# ... 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
checking prerequisite: NO_UTF16_BOM
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
test $(printf abc | iconv -f UTF-8 -t UTF-16 | wc -c) = 6
)
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 f4cf22b 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 d6f9258] Test data
Author: A U Thor <author@example.com>
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 45b97a9] Test data
Author: A U Thor <author@example.com>
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 2cf7917] Test data
Author: A U Thor <author@example.com>
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 &&
# Test
printf $expect_bytes >$test_file.raw &&
test_cmp_bin $test_file.raw $test_file
[master 935df47] Test data
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 test.commit_utf8_checkout_UTF-16LE-BOM
ok 19 - Commit UTF-8, checkout UTF-16LE-BOM
expecting success of 0028.20 'Commit UTF-8, checkout UTF-16BE-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 &&
# Test
printf $expect_bytes >$test_file.raw &&
test_cmp_bin $test_file.raw $test_file
[master ece354d] Test data
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
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 fbf2bef] Test data
Author: A U Thor <author@example.com>
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" &&
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 1efcfc6] Test data
Author: A U Thor <author@example.com>
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 '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t0029-core-unsetenvvars.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0029-core-unsetenvvars/.git/
1..0 # SKIP skipping Windows-specific tests
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t0008-ignores.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
# test whether the filesystem supports symbolic links
ln -s x y && test -h y
)
prerequisite SYMLINKS ok
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0008-ignores/a/submodule/.git/
[master (root-commit) 8c523dd] commit in submodule
Author: A U Thor <author@example.com>
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 <url> 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
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 0008.4 '. corner-case with --quiet':
expect '' &&
test_check_ignore . 1
ok 4 - . corner-case with --quiet
expecting success of 0008.5 '. corner-case with -v':
expect '' &&
test_check_ignore . 1
ok 5 - . corner-case with -v
expecting success of 0008.6 '. corner-case with -v -n':
expect ':: .' &&
test_check_ignore . 1
ok 6 - . corner-case with -v -n
expecting success of 0008.7 '. corner-case with -v --non-matching':
expect ':: .' &&
test_check_ignore . 1
ok 7 - . corner-case with -v --non-matching
expecting success of 0008.8 '. corner-case with --verbose':
expect '' &&
test_check_ignore . 1
ok 8 - . corner-case with --verbose
expecting success of 0008.9 '. corner-case with --verbose -n':
expect ':: .' &&
test_check_ignore . 1
ok 9 - . corner-case with --verbose -n
expecting success of 0008.10 '. corner-case with --verbose --non-matching':
expect ':: .' &&
test_check_ignore . 1
ok 10 - . corner-case with --verbose --non-matching
expecting success of 0008.11 'empty command line':
expect "$expect" &&
eval "$code"
checking prerequisite: C_LOCALE_OUTPUT
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
! test_bool_env GIT_TEST_GETTEXT_POISON false
)
prerequisite C_LOCALE_OUTPUT ok
fatal: no path specified
ok 11 - empty command line
expecting success of 0008.12 'empty command line with -q':
expect '' &&
test_check_ignore "" 128 &&
stderr_contains "fatal: no path specified"
fatal: no path specified
ok 12 - empty command line with -q
expecting success of 0008.13 'empty command line with --quiet':
expect '' &&
test_check_ignore "" 128 &&
stderr_contains "fatal: no path specified"
fatal: no path specified
ok 13 - empty command line with --quiet
expecting success of 0008.14 'empty command line with -v':
expect '' &&
test_check_ignore "" 128 &&
stderr_contains "fatal: no path specified"
fatal: no path specified
ok 14 - empty command line with -v
expecting success of 0008.15 'empty command line with -v -n':
expect '' &&
test_check_ignore "" 128 &&
stderr_contains "fatal: no path specified"
fatal: no path specified
ok 15 - empty command line with -v -n
expecting success of 0008.16 'empty command line with -v --non-matching':
expect '' &&
test_check_ignore "" 128 &&
stderr_contains "fatal: no path specified"
fatal: no path specified
ok 16 - empty command line with -v --non-matching
expecting success of 0008.17 'empty command line with --verbose':
expect '' &&
test_check_ignore "" 128 &&
stderr_contains "fatal: no path specified"
fatal: no path specified
ok 17 - empty command line with --verbose
expecting success of 0008.18 'empty command line with --verbose -n':
expect '' &&
test_check_ignore "" 128 &&
stderr_contains "fatal: no path specified"
fatal: no path specified
ok 18 - empty command line with --verbose -n
expecting success of 0008.19 'empty command line with --verbose --non-matching':
expect '' &&
test_check_ignore "" 128 &&
stderr_contains "fatal: no path specified"
fatal: no path specified
ok 19 - empty command line with --verbose --non-matching
expecting success of 0008.20 '--stdin with empty STDIN':
expect "$expect" &&
eval "$code"
ok 20 - --stdin with empty STDIN
expecting success of 0008.21 '--stdin with empty STDIN with -q':
expect '' &&
test_check_ignore "--stdin" 1 </dev/null &&
test_stderr ""
ok 21 - --stdin with empty STDIN with -q
expecting success of 0008.22 '--stdin with empty STDIN with --quiet':
expect '' &&
test_check_ignore "--stdin" 1 </dev/null &&
test_stderr ""
ok 22 - --stdin with empty STDIN with --quiet
expecting success of 0008.23 '--stdin with empty STDIN with -v':
expect '' &&
test_check_ignore "--stdin" 1 </dev/null &&
test_stderr ""
ok 23 - --stdin with empty STDIN with -v
expecting success of 0008.24 '--stdin with empty STDIN with -v -n':
expect '' &&
test_check_ignore "--stdin" 1 </dev/null &&
test_stderr ""
ok 24 - --stdin with empty STDIN with -v -n
expecting success of 0008.25 '--stdin with empty STDIN with -v --non-matching':
expect '' &&
test_check_ignore "--stdin" 1 </dev/null &&
test_stderr ""
ok 25 - --stdin with empty STDIN with -v --non-matching
expecting success of 0008.26 '--stdin with empty STDIN with --verbose':
expect '' &&
test_check_ignore "--stdin" 1 </dev/null &&
test_stderr ""
ok 26 - --stdin with empty STDIN with --verbose
expecting success of 0008.27 '--stdin with empty STDIN with --verbose -n':
expect '' &&
test_check_ignore "--stdin" 1 </dev/null &&
test_stderr ""
ok 27 - --stdin with empty STDIN with --verbose -n
expecting success of 0008.28 '--stdin with empty STDIN with --verbose --non-matching':
expect '' &&
test_check_ignore "--stdin" 1 </dev/null &&
test_stderr ""
ok 28 - --stdin with empty STDIN with --verbose --non-matching
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"
fatal: --quiet is only valid with a single pathname
ok 29 - -q with multiple args
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"
fatal: --quiet is only valid with a single pathname
ok 30 - --quiet with multiple args
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 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 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 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 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"
fatal: --quiet is only valid with a single pathname
ok 35 - --quiet with multiple args
expecting success of 0008.36 'erroneous use of --':
expect "$expect" &&
eval "$code"
fatal: no path specified
ok 36 - erroneous use of --
expecting success of 0008.37 'erroneous use of -- with -q':
expect '' &&
test_check_ignore "--" 128 &&
stderr_contains "fatal: no path specified"
fatal: no path specified
ok 37 - erroneous use of -- with -q
expecting success of 0008.38 'erroneous use of -- with --quiet':
expect '' &&
test_check_ignore "--" 128 &&
stderr_contains "fatal: no path specified"
fatal: no path specified
ok 38 - erroneous use of -- with --quiet
expecting success of 0008.39 'erroneous use of -- with -v':
expect '' &&
test_check_ignore "--" 128 &&
stderr_contains "fatal: no path specified"
fatal: no path specified
ok 39 - erroneous use of -- with -v
expecting success of 0008.40 'erroneous use of -- with -v -n':
expect '' &&
test_check_ignore "--" 128 &&
stderr_contains "fatal: no path specified"
fatal: no path specified
ok 40 - erroneous use of -- with -v -n
expecting success of 0008.41 'erroneous use of -- with -v --non-matching':
expect '' &&
test_check_ignore "--" 128 &&
stderr_contains "fatal: no path specified"
fatal: no path specified
ok 41 - erroneous use of -- with -v --non-matching
expecting success of 0008.42 'erroneous use of -- with --verbose':
expect '' &&
test_check_ignore "--" 128 &&
stderr_contains "fatal: no path specified"
fatal: no path specified
ok 42 - erroneous use of -- with --verbose
expecting success of 0008.43 'erroneous use of -- with --verbose -n':
expect '' &&
test_check_ignore "--" 128 &&
stderr_contains "fatal: no path specified"
fatal: no path specified
ok 43 - erroneous use of -- with --verbose -n
expecting success of 0008.44 'erroneous use of -- with --verbose --non-matching':
expect '' &&
test_check_ignore "--" 128 &&
stderr_contains "fatal: no path specified"
fatal: no path specified
ok 44 - erroneous use of -- with --verbose --non-matching
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 0008.46 '--stdin with superfluous arg with -q':
expect '' &&
test_check_ignore "--stdin foo" 128 &&
stderr_contains "fatal: cannot specify pathnames with --stdin"
fatal: cannot specify pathnames with --stdin
ok 46 - --stdin with superfluous arg with -q
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"
fatal: cannot specify pathnames with --stdin
ok 47 - --stdin with superfluous arg with --quiet
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"
fatal: cannot specify pathnames with --stdin
ok 48 - --stdin with superfluous arg with -v
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"
fatal: cannot specify pathnames with --stdin
ok 49 - --stdin with superfluous arg with -v -n
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"
fatal: cannot specify pathnames with --stdin
ok 50 - --stdin with superfluous arg with -v --non-matching
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"
fatal: cannot specify pathnames with --stdin
ok 51 - --stdin with superfluous arg with --verbose
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"
fatal: cannot specify pathnames with --stdin
ok 52 - --stdin with superfluous arg with --verbose -n
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"
fatal: cannot specify pathnames with --stdin
ok 53 - --stdin with superfluous arg with --verbose --non-matching
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 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"
fatal: cannot specify pathnames with --stdin
ok 55 - --stdin -z with superfluous arg with -q
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"
fatal: cannot specify pathnames with --stdin
ok 56 - --stdin -z with superfluous arg with --quiet
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"
fatal: cannot specify pathnames with --stdin
ok 57 - --stdin -z with superfluous arg with -v
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"
fatal: cannot specify pathnames with --stdin
ok 58 - --stdin -z with superfluous arg with -v -n
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"
fatal: cannot specify pathnames with --stdin
ok 59 - --stdin -z with superfluous arg with -v --non-matching
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"
fatal: cannot specify pathnames with --stdin
ok 60 - --stdin -z with superfluous arg with --verbose
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"
fatal: cannot specify pathnames with --stdin
ok 61 - --stdin -z with superfluous arg with --verbose -n
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"
fatal: cannot specify pathnames with --stdin
ok 62 - --stdin -z with superfluous arg with --verbose --non-matching
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 0008.64 '-z without --stdin with -q':
expect '' &&
test_check_ignore "-z" 128 &&
stderr_contains "fatal: -z only makes sense with --stdin"
fatal: -z only makes sense with --stdin
ok 64 - -z without --stdin with -q
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"
fatal: -z only makes sense with --stdin
ok 65 - -z without --stdin with --quiet
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"
fatal: -z only makes sense with --stdin
ok 66 - -z without --stdin with -v
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"
fatal: -z only makes sense with --stdin
ok 67 - -z without --stdin with -v -n
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"
fatal: -z only makes sense with --stdin
ok 68 - -z without --stdin with -v --non-matching
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"
fatal: -z only makes sense with --stdin
ok 69 - -z without --stdin with --verbose
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"
fatal: -z only makes sense with --stdin
ok 70 - -z without --stdin with --verbose -n
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"
fatal: -z only makes sense with --stdin
ok 71 - -z without --stdin with --verbose --non-matching
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 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"
fatal: -z only makes sense with --stdin
ok 73 - -z without --stdin and superfluous arg with -q
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"
fatal: -z only makes sense with --stdin
ok 74 - -z without --stdin and superfluous arg with --quiet
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"
fatal: -z only makes sense with --stdin
ok 75 - -z without --stdin and superfluous arg with -v
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"
fatal: -z only makes sense with --stdin
ok 76 - -z without --stdin and superfluous arg with -v -n
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"
fatal: -z only makes sense with --stdin
ok 77 - -z without --stdin and superfluous arg with -v --non-matching
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"
fatal: -z only makes sense with --stdin
ok 78 - -z without --stdin and superfluous arg with --verbose
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"
fatal: -z only makes sense with --stdin
ok 79 - -z without --stdin and superfluous arg with --verbose -n
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"
fatal: -z only makes sense with --stdin
ok 80 - -z without --stdin and superfluous arg with --verbose --non-matching
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 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"
fatal: this operation must be run in a work tree
ok 82 - needs work tree with -q
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"
fatal: this operation must be run in a work tree
ok 83 - needs work tree with --quiet
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"
fatal: this operation must be run in a work tree
ok 84 - needs work tree with -v
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"
fatal: this operation must be run in a work tree
ok 85 - needs work tree with -v -n
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"
fatal: this operation must be run in a work tree
ok 86 - needs work tree with -v --non-matching
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"
fatal: this operation must be run in a work tree
ok 87 - needs work tree with --verbose
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"
fatal: this operation must be run in a work tree
ok 88 - needs work tree with --verbose -n
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"
fatal: this operation must be run in a work tree
ok 89 - needs work tree with --verbose --non-matching
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 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 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 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
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 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 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 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
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 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
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
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
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 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 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 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
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
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 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 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
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 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
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 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 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 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
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 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 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 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
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 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 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 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
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 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
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 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 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 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 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 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
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 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 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 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
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
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 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 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 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 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 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 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 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 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 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 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 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 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
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 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 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 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
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 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 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 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
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
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
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 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 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 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 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 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 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
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 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
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 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
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
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
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
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
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
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 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
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 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
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 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
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 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
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 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
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 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
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 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
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 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
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 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 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 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
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
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
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
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 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 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
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 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
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 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
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 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
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 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 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 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
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 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
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 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
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 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
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 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
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 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
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 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
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 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 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 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
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 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 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 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
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 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
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 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
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 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
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 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
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 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
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 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
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 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
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
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 0008.248 'existing tracked file in subdir a/ not ignored':
expect "$expect" &&
eval "$code"
ok 248 - existing tracked file in subdir a/ not ignored
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
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
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 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 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
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
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
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 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
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
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 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
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
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 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
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 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
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 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 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 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
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
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
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
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 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
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
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
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 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
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
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
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 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
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
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/
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
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 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
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 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
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 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 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 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 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
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 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
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 0008.298 'sub-directory local ignore':
expect "a/3-three" &&
test_check_ignore "a/3-three a/three-not-this-one"
ok 298 - sub-directory local ignore
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 299 - sub-directory local ignore with --verbose
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"
)
ok 300 - local ignore inside a sub-directory
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"
)
ok 301 - local ignore inside a sub-directory with --verbose
expecting success of 0008.302 'nested include of negated pattern':
expect "" &&
test_check_ignore "a/b/one" 1
ok 302 - nested include of negated pattern
expecting success of 0008.303 'nested include of negated pattern with -q':
expect "" &&
test_check_ignore "-q a/b/one" 1
ok 303 - nested include of negated pattern with -q
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
ok 304 - nested include of negated pattern with -v
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
ok 305 - nested include of negated pattern with -v -n
expecting success of 0008.306 'ignored sub-directory':
expect "$expect" &&
eval "$code"
ok 306 - ignored sub-directory
expecting success of 0008.307 'ignored sub-directory with -q':
expect '' &&
test_check_ignore "a/b/ignored-dir"
ok 307 - ignored sub-directory with -q
expecting success of 0008.308 'ignored sub-directory with --quiet':
expect '' &&
test_check_ignore "a/b/ignored-dir"
ok 308 - ignored sub-directory with --quiet
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 309 - ignored sub-directory with -v
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 310 - ignored sub-directory with -v -n
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 311 - ignored sub-directory with -v --non-matching
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 312 - ignored sub-directory with --verbose
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 313 - ignored sub-directory with --verbose -n
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 314 - ignored sub-directory with --verbose --non-matching
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
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
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
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
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"
)
ok 317 - cd to ignored sub-directory
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"
)
ok 318 - cd to ignored sub-directory with -v
expecting success of 0008.319 'symlink':
expect "$expect" &&
eval "$code"
ok 319 - symlink
expecting success of 0008.320 'symlink with -q':
expect '' &&
test_check_ignore "a/symlink" 1
ok 320 - symlink with -q
expecting success of 0008.321 'symlink with --quiet':
expect '' &&
test_check_ignore "a/symlink" 1
ok 321 - symlink with --quiet
expecting success of 0008.322 'symlink with -v':
expect '' &&
test_check_ignore "a/symlink" 1
ok 322 - symlink with -v
expecting success of 0008.323 'symlink with -v -n':
expect ':: a/symlink' &&
test_check_ignore "a/symlink" 1
ok 323 - symlink with -v -n
expecting success of 0008.324 'symlink with -v --non-matching':
expect ':: a/symlink' &&
test_check_ignore "a/symlink" 1
ok 324 - symlink with -v --non-matching
expecting success of 0008.325 'symlink with --verbose':
expect '' &&
test_check_ignore "a/symlink" 1
ok 325 - symlink with --verbose
expecting success of 0008.326 'symlink with --verbose -n':
expect ':: a/symlink' &&
test_check_ignore "a/symlink" 1
ok 326 - symlink with --verbose -n
expecting success of 0008.327 'symlink with --verbose --non-matching':
expect ':: a/symlink' &&
test_check_ignore "a/symlink" 1
ok 327 - symlink with --verbose --non-matching
expecting success of 0008.328 'beyond a symlink':
expect "$expect" &&
eval "$code"
ok 328 - beyond a symlink
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"
ok 329 - beyond a symlink with -q
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"
ok 330 - beyond a symlink with --quiet
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"
ok 331 - beyond a symlink with -v
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"
ok 332 - beyond a symlink with -v -n
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"
ok 333 - beyond a symlink with -v --non-matching
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"
ok 334 - beyond a symlink with --verbose
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"
ok 335 - beyond a symlink with --verbose -n
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"
ok 336 - beyond a symlink with --verbose --non-matching
expecting success of 0008.337 'beyond a symlink from subdirectory':
expect "$expect" &&
eval "$code"
ok 337 - beyond a symlink from subdirectory
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"
ok 338 - beyond a symlink from subdirectory with -q
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"
ok 339 - beyond a symlink from subdirectory with --quiet
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"
ok 340 - beyond a symlink from subdirectory with -v
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"
ok 341 - beyond a symlink from subdirectory with -v -n
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"
ok 342 - beyond a symlink from subdirectory with -v --non-matching
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 343 - beyond a symlink from subdirectory with --verbose
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 344 - beyond a symlink from subdirectory with --verbose -n
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 345 - beyond a symlink from subdirectory with --verbose --non-matching
expecting success of 0008.346 'submodule':
expect "$expect" &&
eval "$code"
ok 346 - submodule
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'"
ok 347 - submodule with -q
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 348 - submodule with --quiet
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 349 - submodule with -v
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'"
ok 350 - submodule with -v -n
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'"
ok 351 - submodule with -v --non-matching
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 352 - submodule with --verbose
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 353 - submodule with --verbose -n
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'"
ok 354 - submodule with --verbose --non-matching
expecting success of 0008.355 'submodule from subdirectory':
expect "$expect" &&
eval "$code"
ok 355 - submodule from subdirectory
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'"
ok 356 - submodule from subdirectory with -q
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'"
ok 357 - submodule from subdirectory with --quiet
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'"
ok 358 - submodule from subdirectory with -v
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'"
ok 359 - submodule from subdirectory with -v -n
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'"
ok 360 - submodule from subdirectory with -v --non-matching
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'"
ok 361 - submodule from subdirectory with --verbose
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'"
ok 362 - submodule from subdirectory with --verbose -n
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'"
ok 363 - submodule from subdirectory with --verbose --non-matching
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"
ok 364 - global ignore not yet enabled
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"
ok 365 - global ignore
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"
ok 366 - global ignore with -v
expecting success of 0008.367 '--stdin':
expect_from_stdin <expected-default &&
test_check_ignore "--stdin" <stdin
ok 367 - --stdin
expecting success of 0008.368 '--stdin -q':
expect "" &&
test_check_ignore "-q --stdin" <stdin
ok 368 - --stdin -q
expecting success of 0008.369 '--stdin -v':
expect_from_stdin <expected-verbose &&
test_check_ignore "-v --stdin" <stdin
ok 369 - --stdin -v
expecting success of 0008.370 '--stdin -z':
expect_from_stdin <expected-default0 &&
test_check_ignore '--stdin -z' <stdin0
ok 370 - --stdin -z
expecting success of 0008.371 '--stdin -z -q':
expect &&
test_check_ignore '-q --stdin -z' <stdin0
ok 371 - --stdin -z -q
expecting success of 0008.372 '--stdin -z -v':
expect_from_stdin <expected-verbose0 &&
test_check_ignore '-v --stdin -z' <stdin0
ok 372 - --stdin -z -v
expecting success of 0008.373 '-z --stdin':
expect_from_stdin <expected-default0 &&
test_check_ignore '-z --stdin' <stdin0
ok 373 - -z --stdin
expecting success of 0008.374 '-z --stdin -q':
expect &&
test_check_ignore '-q -z --stdin' <stdin0
ok 374 - -z --stdin -q
expecting success of 0008.375 '-z --stdin -v':
expect_from_stdin <expected-verbose0 &&
test_check_ignore '-v -z --stdin' <stdin0
ok 375 - -z --stdin -v
expecting success of 0008.376 '--stdin from subdirectory':
expect_from_stdin <expected-default &&
(
cd a &&
test_check_ignore "--stdin" <../stdin
)
ok 376 - --stdin from subdirectory
expecting success of 0008.377 '--stdin from subdirectory with -v':
expect_from_stdin <expected-verbose &&
(
cd a &&
test_check_ignore "--stdin -v" <../stdin
)
ok 377 - --stdin from subdirectory with -v
expecting success of 0008.378 '--stdin from subdirectory with -v -n':
expect_from_stdin <expected-all &&
(
cd a &&
test_check_ignore "--stdin -v -n" <../stdin
)
ok 378 - --stdin from subdirectory with -v -n
expecting success of 0008.379 '--stdin -z from subdirectory':
expect_from_stdin <expected-default0 &&
(
cd a &&
test_check_ignore "--stdin -z" <../stdin0
)
ok 379 - --stdin -z from subdirectory
expecting success of 0008.380 '--stdin -z from subdirectory with -v':
expect_from_stdin <expected-verbose0 &&
(
cd a &&
test_check_ignore "--stdin -z -v" <../stdin0
)
ok 380 - --stdin -z from subdirectory with -v
expecting success of 0008.381 '-z --stdin from subdirectory':
expect_from_stdin <expected-default0 &&
(
cd a &&
test_check_ignore "-z --stdin" <../stdin0
)
ok 381 - -z --stdin from subdirectory
expecting success of 0008.382 '-z --stdin from subdirectory with -v':
expect_from_stdin <expected-verbose0 &&
(
cd a &&
test_check_ignore "-z --stdin -v" <../stdin0
)
ok 382 - -z --stdin from subdirectory with -v
checking prerequisite: PIPE
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
# test whether the filesystem supports FIFOs
test_have_prereq !MINGW,!CYGWIN &&
rm -f testfifo && mkfifo testfifo
)
prerequisite PIPE ok
expecting success of 0008.383 'streaming support for --stdin':
mkfifo in out &&
(git check-ignore -n -v --stdin <in >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<out &&
test_when_finished "exec 9>&-" &&
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"
.gitignore:1:one one
:: two
ok 383 - streaming support for --stdin
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
one
top-level-dir
ok 384 - existing file and directory
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
one
top-level-dir
ok 385 - existing directory and file
expecting success of 0008.386 'trailing whitespace is ignored':
mkdir whitespace &&
>whitespace/trailing &&
>whitespace/untracked &&
echo "whitespace/trailing " >ignore &&
cat >expect <<EOF &&
whitespace/untracked
EOF
git ls-files -o -X ignore whitespace >actual 2>err &&
test_cmp expect actual &&
test_must_be_empty err
ok 386 - trailing whitespace is ignored
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
ok 387 - quoting allows trailing whitespace
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
ok 388 - correct handling of backslashes
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 status --porcelain usually-ignored >actual &&
test_cmp expect actual
ok 389 - info/exclude trumps core.excludesfile
# passed all 389 test(s)
1..389
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t0030-stripspace.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0030-stripspace/.git/
expecting success of 0030.1 'long lines without spaces should be unchanged':
echo "$ttt" >expect &&
git stripspace <expect >actual &&
test_cmp expect actual &&
echo "$ttt$ttt" >expect &&
git stripspace <expect >actual &&
test_cmp expect actual &&
echo "$ttt$ttt$ttt" >expect &&
git stripspace <expect >actual &&
test_cmp expect actual &&
echo "$ttt$ttt$ttt$ttt" >expect &&
git stripspace <expect >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 <expect >actual &&
test_cmp expect actual &&
echo "$sss$sss$ttt" >expect &&
git stripspace <expect >actual &&
test_cmp expect actual &&
echo "$sss$sss$sss$ttt" >expect &&
git stripspace <expect >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 <expect >actual &&
test_cmp expect actual &&
echo "$ttt$sss$sss$ttt" >expect &&
git stripspace <expect >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 &&
printf "$ttt\n$ttt$ttt\n$ttt\n" >expect &&
printf "$ttt\n$ttt$ttt\n$ttt\n" | git stripspace >actual &&
test_cmp expect actual &&
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 &&
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 &&
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
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 '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t0041-usage.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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 <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 v1.0.t
ok 1 - setup
expecting success of 0041.2 'tag --contains <existent_tag>':
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 <existent_tag>
expecting success of 0041.3 'tag --contains <inexistent_tag>':
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
checking prerequisite: C_LOCALE_OUTPUT
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
! test_bool_env GIT_TEST_GETTEXT_POISON false
)
prerequisite C_LOCALE_OUTPUT ok
error: malformed object name notag
ok 3 - tag --contains <inexistent_tag>
expecting success of 0041.4 'tag --no-contains <existent_tag>':
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 <existent_tag>
expecting success of 0041.5 'tag --no-contains <inexistent_tag>':
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 <inexistent_tag>
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 <key-id>] [-f] [-m <msg> | -F <file>]
ok 6 - tag usage error
expecting success of 0041.7 'branch --contains <existent_commit>':
git branch --contains "master" >actual 2>actual.err &&
test_i18ngrep "master" actual &&
test_line_count = 0 actual.err
* master
ok 7 - branch --contains <existent_commit>
expecting success of 0041.8 'branch --contains <inexistent_commit>':
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 <inexistent_commit>
expecting success of 0041.9 'branch --no-contains <existent_commit>':
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 <existent_commit>
expecting success of 0041.10 'branch --no-contains <inexistent_commit>':
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 <inexistent_commit>
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 [<options>] [-r | -a] [--merged | --no-merged]
ok 11 - branch usage error
expecting success of 0041.12 'for-each-ref --contains <existent_object>':
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 <existent_object>
expecting success of 0041.13 'for-each-ref --contains <inexistent_object>':
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 <inexistent_object>
expecting success of 0041.14 'for-each-ref --no-contains <existent_object>':
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 <existent_object>
expecting success of 0041.15 'for-each-ref --no-contains <inexistent_object>':
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 <inexistent_object>
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 [<options>] [<pattern>]
ok 16 - for-each-ref usage error
# passed all 16 test(s)
1..16
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t0040-parse-options.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
! 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 <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 <n> get a integer
-j <n> get a integer, too
-m, --magnitude <n> get a magnitude
--set23 set integer to 23
--mode1 set integer to 1 (cmdmode option)
--mode2 set integer to 2 (cmdmode option)
-L, --length <str> get length of <str>
-F, --file <file> set file to <file>
String options
-s, --string <string>
get a string
--string2 <str> get another string
--st <st> get another string (pervert ordering)
-o <str> get another string
--list <str> 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[=<n>] use <n> digits to display SHA-1s
-v, --verbose be verbose
-n, --dry-run dry run
-q, --quiet be quiet
--expect <string> expected output in the variable dump
Alias
-A, --alias-source <string>
get a string
-Z, --alias-target <string>
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 '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t0051-windows-named-pipe.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0051-windows-named-pipe/.git/
skipping test: o_append write to named pipe
GIT_TRACE="$(pwd)/expect" git status >/dev/null 2>&1 &&
{ test-tool windows-named-pipe t0051 >actual 2>&1 & } &&
pid=$! &&
sleep 1 &&
GIT_TRACE=//./pipe/t0051 git status >/dev/null 2>warning &&
wait $pid &&
test_cmp expect actual
ok 1 # skip o_append write to named pipe (missing MINGW)
# passed all 1 test(s)
1..1
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t0055-beyond-symlinks.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0055-beyond-symlinks/.git/
checking prerequisite: SYMLINKS
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
# 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 '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t0050-filesystem.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0050-filesystem/.git/
checking prerequisite: CASE_INSENSITIVE_FS
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
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" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
# 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" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
# 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) 4fefff7] initial
Author: A U Thor <author@example.com>
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 camelcase
Switched to a new branch 'topic'
[topic 54cc1d2] rename
Author: A U Thor <author@example.com>
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 54cc1d2] rename
Author: A U Thor <author@example.com>
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 4fefff7 initial
Updating 4fefff7..54cc1d2
Fast-forward
camelcase => CamelCase | 0
1 file changed, 0 insertions(+), 0 deletions(-)
rename camelcase => CamelCase (100%)
ok 5 - merge (case change)
skipping test: add directory (with different case)
git reset --hard initial &&
mkdir -p dir1/dir2 &&
echo >dir1/dir2/a &&
echo >dir1/dir2/b &&
git add dir1/dir2/a &&
git add dir1/DIR2/b &&
git ls-files >actual &&
cat >expected <<-\EOF &&
camelcase
dir1/dir2/a
dir1/dir2/b
EOF
test_cmp expected actual
ok 6 # skip add directory (with different case) (missing CASE_INSENSITIVE_FS)
skipping test: add (with different case)
git reset --hard initial &&
rm camelcase &&
echo 1 >CamelCase &&
git add CamelCase &&
camel=$(git ls-files | grep -i camelcase) &&
test $(echo "$camel" | wc -l) = 1 &&
test "z$(git cat-file blob :$camel)" = z1
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 /<<PKGBUILDDIR>>/t/trash directory.t0050-filesystem/unicode/.git/
[master (root-commit) 2fe2766] initial
Author: A U Thor <author@example.com>
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 "a\314\210"
Switched to a new branch 'topic'
[topic f1bad39] rename
Author: A U Thor <author@example.com>
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 f1bad39] rename
Author: A U Thor <author@example.com>
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 2fe2766 initial
Updating 2fe2766..f1bad39
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)
skipping test: checkout with no pathspec and a case insensitive fs
git init repo &&
(
cd repo &&
>Gitweb &&
git add Gitweb &&
git commit -m "add Gitweb" &&
git checkout --orphan todo &&
git reset --hard &&
mkdir -p gitweb/subdir &&
>gitweb/subdir/file &&
git add gitweb &&
git commit -m "add gitweb/subdir/file" &&
git checkout master
)
ok 11 # skip checkout with no pathspec and a case insensitive fs (missing CASE_INSENSITIVE_FS)
# passed all 11 test(s)
1..11
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t0056-git-C.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0056-git-C/.git/
expecting success of 0056.1 '"git -C <path>" runs git from the directory <path>':
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 /<<PKGBUILDDIR>>/t/trash directory.t0056-git-C/dir1/.git/
[master (root-commit) 8cc1736] initial in dir1
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 a.txt
ok 1 - "git -C <path>" runs git from the directory <path>
expecting success of 0056.2 '"git -C <path>" with an empty <path> 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 <path>" with an empty <path> 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 /<<PKGBUILDDIR>>/t/trash directory.t0056-git-C/dir1/dir2/.git/
[master (root-commit) 8e10e17] initial in dir1/dir2
Author: A U Thor <author@example.com>
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
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0056-git-C/c/a.git/
[master (root-commit) 89ee58c] initial
Author: A U Thor <author@example.com>
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 '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t0061-run-command.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0061-run-command/.git/
skipping test: subprocess inherits only std handles
test-tool run-command inherited-handle
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" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
! 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" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
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" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
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
skipping test: verify curlies are quoted properly
: force the rev-parse through the MSYS2 Bash &&
git -c alias.r="!git rev-parse" r -- a{b}c >actual &&
cat >expect <<-\EOF &&
--
a{b}c
EOF
test_cmp expect actual
ok 17 # skip verify curlies are quoted properly (missing MINGW)
skipping test: can spawn .bat with argv[0] containing spaces
bat="$TRASH_DIRECTORY/bat with spaces in name.bat" &&
# Every .bat invocation will log its arguments to file "out"
rm -f out &&
echo "echo %* >>out" >"$bat" &&
# Ask git to invoke .bat; clone will fail due to fake SSH helper
test_must_fail env GIT_SSH="$bat" git clone myhost:src ssh-clone &&
# Spawning .bat can fail if there are two quoted cmd.exe arguments.
# .bat itself is first (due to spaces in name), so just one more is
# needed to verify. GIT_SSH will invoke .bat multiple times:
# 1) -G myhost
# 2) myhost "git-upload-pack src"
# First invocation will always succeed. Test the second one.
grep "git-upload-pack" out
ok 18 # skip can spawn .bat with argv[0] containing spaces (missing MINGW)
# passed all 18 test(s)
1..18
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t0062-revision-walking.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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) 6f0f531] add a
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 a
[master 8fa5c36] add b
Author: A U Thor <author@example.com>
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 '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t0063-string-list.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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 '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t0064-sha1-array.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0064-sha1-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
ok 1 - ordered enumeration
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 &&
echo for_each_unique
} | test-tool oid-array >actual &&
test_cmp expect actual
ok 2 - ordered enumeration with duplicate suppression
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
ok 3 - lookup
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
expecting success of 0064.5 'lookup with duplicates':
{
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 2 &&
test "$n" -le 3
ok 5 - lookup with duplicates
expecting success of 0064.6 'lookup non-existing entry with duplicates':
{
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
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
ok 7 - lookup with almost duplicate values
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
# passed all 8 test(s)
1..8
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t0065-strcmp-offset.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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)
# passed all 4 test(s)
1..4
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t0021-conversion.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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 &&
{
echo "*.t filter=rot13"
echo "*.i ident"
} >.gitattributes &&
{
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 &&
echo "content-test2" >test2.o &&
echo "content-test3 - filename with special characters" >"test3 'sq',\$x=.o"
ok 1 - setup
expecting success of 0021.2 'check':
test_cmp test.o test &&
test_cmp test.o test.t &&
# 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" &&
git cat-file blob :test.t >test.r &&
./rot13.sh <test.o >test.t &&
test_cmp test.r test.t
ok 2 - check
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 &&
{
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) &&
{
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.0 &&
printf "\$Id: NoTerminatingSymbolAtEOF"
} >expected-output-crlf &&
{
echo "expanded-keywords ident"
echo "expanded-keywords-crlf ident text eol=crlf"
} >>.gitattributes &&
rm -f expanded-keywords expanded-keywords-crlf &&
git checkout -- expanded-keywords &&
test_cmp expected-output expanded-keywords &&
git checkout -- expanded-keywords-crlf &&
test_cmp expected-output-crlf expanded-keywords-crlf
[master (root-commit) c6fa965] File with keywords expanded
Author: A U Thor <author@example.com>
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 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 &&
# 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" &&
# 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" &&
# 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" &&
# 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" &&
:
ok 4 - filter shell-escaped filenames
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 &&
echo "*.r filter=required" >.gitattributes &&
cat test.o >test.r &&
git add test.r &&
rm -f test.r &&
git checkout -- test.r &&
test_cmp test.o test.r &&
./rot13.sh <test.o >expected &&
git cat-file blob :test.r >actual &&
test_cmp expected actual
ok 5 - required filter should filter data
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 &&
echo "*.fs filter=failsmudge" >.gitattributes &&
echo test >test.fs &&
git add test.fs &&
rm -f test.fs &&
test_must_fail git checkout -- test.fs
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 0021.7 'required filter clean failure':
test_config filter.failclean.smudge cat &&
test_config filter.failclean.clean false &&
test_config filter.failclean.required true &&
echo "*.fc filter=failclean" >.gitattributes &&
echo test >test.fc &&
test_must_fail git add test.fc
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 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
ok 8 - filtering large input to small output should use little memory
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
ok 9 - filter that does not read is fine
checking prerequisite: EXPENSIVE
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
test -n "$GIT_TEST_LONG"
)
prerequisite EXPENSIVE not satisfied
skipping test: filter large file
test_config filter.largefile.smudge cat &&
test_config filter.largefile.clean cat &&
for i in $(test_seq 1 2048); do printf "%1048576d" 1; done >2GB &&
echo "2GB filter=largefile" >.gitattributes &&
git add 2GB 2>err &&
test_must_be_empty err &&
rm -f 2GB &&
git checkout -- 2GB 2>err &&
test_must_be_empty err
ok 10 # skip filter large file (missing EXPENSIVE)
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" &&
echo "empty-in-worktree filter=in-repo-header" >>.gitattributes &&
>empty-in-worktree &&
echo cleaned >expected &&
git add empty-in-worktree &&
git show :empty-in-worktree >actual &&
test_cmp expected actual
ok 11 - filter: clean empty file
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" &&
echo "empty-in-repo filter=empty-in-repo" >>.gitattributes &&
echo dead data walking >empty-in-repo &&
git add empty-in-repo &&
echo smudged >expected &&
git checkout-index --prefix=filtered- empty-in-repo &&
test_cmp expected filtered-empty-in-repo
ok 12 - filter: smudge empty file
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 &&
echo "*.disable filter=disable" >.gitattributes &&
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
ok 13 - disable filter with empty override
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 &&
>count &&
git diff-tree -p HEAD &&
test_line_count = 0 count
[master 9b460dc] one
Author: A U Thor <author@example.com>
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 71489df] two
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
71489df7641a3180109d9e2ddf440e0b2698df09
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 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 &&
echo "*.r filter=protocol" >.gitattributes &&
git add . &&
git commit -m "test commit 1" &&
git branch empty-branch &&
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 &&
S=$(file_size test.r) &&
S2=$(file_size test2.r) &&
S3=$(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) &&
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 &&
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" &&
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 &&
# 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 &&
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 &&
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"
)
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0021-conversion/repo/.git/
[master (root-commit) 56d459b] test commit 1
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 .gitattributes
[master 9ea74df] test commit 2
Author: A U Thor <author@example.com>
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 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 &&
S=$(file_size test.r) &&
S2=$(file_size test2.r) &&
S3=$(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) &&
MASTER=$(git rev-parse --verify master) &&
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 &&
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 &&
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 &&
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 &&
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 &&
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
)
[master 07631f7] test commit 3
Author: A U Thor <author@example.com>
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
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 &&
echo "*.r filter=protocol" >.gitattributes &&
cp "$TEST_ROOT/test.o" test.r &&
S=$(file_size test.r) &&
# 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
)
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0021-conversion/repo/.git/
ok 17 - required process filter takes precedence
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 &&
echo "*.r filter=protocol" >.gitattributes &&
cp "$TEST_ROOT/test.o" test.r &&
S=$(file_size test.r) &&
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 &&
rm test.r &&
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
)
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0021-conversion/repo/.git/
ok 18 - required process filter should be used only for "clean" operation only
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 &&
rm -rf repo &&
mkdir repo &&
(
cd repo &&
git init &&
# 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 &&
for FILE in "$TEST_ROOT"/*.file
do
cp "$FILE" . &&
rot13.sh <"$FILE" >"$FILE.rot13"
done &&
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 &&
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 &&
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 &&
for FILE in *.file
do
test_cmp_committed_rot13 "$TEST_ROOT/$FILE" $FILE
done
)
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0021-conversion/repo/.git/
ok 19 - required process filter should process multiple packets
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 &&
echo "*.r filter=protocol" >.gitattributes &&
cp "$TEST_ROOT/test.o" test.r &&
echo "this is going to fail" >clean-write-fail.r &&
echo "content-test3-subdir" >test3.r &&
test_must_fail git add .
)
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0021-conversion/repo/.git/
clean write error at /<<PKGBUILDDIR>>/t/trash directory.t0021-conversion/rot13-filter.pl line 210.
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 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 &&
echo "*.r filter=protocol" >.gitattributes &&
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 &&
S=$(file_size test.r) &&
S2=$(file_size test2.r) &&
SF=$(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 &&
git add . &&
rm -f *.r &&
rm -f debug.log &&
git checkout --quiet --no-progress . 2>git-stderr.log &&
grep "smudge write error at" git-stderr.log &&
test_i18ngrep "error: external filter" git-stderr.log &&
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 &&
test_cmp_committed_rot13 "$TEST_ROOT/test.o" test.r &&
test_cmp_committed_rot13 "$TEST_ROOT/test2.o" test2.r &&
# Smudge failed
! test_cmp smudge-write-fail.o smudge-write-fail.r &&
rot13.sh <smudge-write-fail.o >expected &&
git cat-file blob :smudge-write-fail.r >actual &&
test_cmp expected actual
)
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0021-conversion/repo/.git/
smudge write error at /<<PKGBUILDDIR>>/t/trash directory.t0021-conversion/rot13-filter.pl line 210.
checking prerequisite: C_LOCALE_OUTPUT
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
! test_bool_env GIT_TEST_GETTEXT_POISON false
)
prerequisite C_LOCALE_OUTPUT ok
error: external filter 'rot13-filter.pl debug.log clean smudge' failed
--- smudge-write-fail.o 2020-06-12 06:31:01.034282907 +0000
+++ smudge-write-fail.r 2020-06-12 06:31:02.819352537 +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 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 &&
echo "*.r filter=protocol" >.gitattributes &&
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 &&
S=$(file_size test.r) &&
S2=$(file_size test2.r) &&
SE=$(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 &&
git add . &&
rm -f *.r &&
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 &&
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
)
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0021-conversion/repo/.git/
ok 22 - process filter should not be restarted if it signals an error
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 &&
echo "*.r filter=protocol" >.gitattributes &&
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 &&
M="blob=$(git hash-object abort.r)" &&
rm -f debug.log &&
SA=$(file_size abort.r) &&
git add . &&
rm -f *.r &&
# 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 &&
test_cmp "$TEST_ROOT/test.o" test.r &&
test_cmp "$TEST_ROOT/test2.o" test2.r &&
test_cmp abort.o abort.r
)
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0021-conversion/repo/.git/
ok 23 - process filter abort stops processing of all further files
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 &&
echo "*.r filter=protocol" >.gitattributes &&
cp "$TEST_ROOT/test.o" test.r &&
test_must_fail git add . 2>git-stderr.log &&
grep "expected git-filter-server" git-stderr.log
)
Initialized empty Git repository in /<<PKGBUILDDIR>>/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 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 &&
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"
) &&
S=$(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
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 &&
(
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 &&
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 &&
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
)
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0021-conversion/repo/.git/
[master (root-commit) 27d7fe8] test commit
Author: A U Thor <author@example.com>
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
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0021-conversion/repo/.git/
[master (root-commit) 5567259] test commit
Author: A U Thor <author@example.com>
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 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 &&
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"
) &&
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
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0021-conversion/repo/.git/
[master (root-commit) 636012f] test commit
Author: A U Thor <author@example.com>
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
# passed all 27 test(s)
1..27
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t0066-dir-iterator.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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
ok 2 - dir-iterator should iterate through all files
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
test-tool dir-iterator ./dir2 >actual-pre-order-output &&
test_cmp expected-pre-order-output actual-pre-order-output
ok 3 - dir-iterator should list files in the correct order
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
ok 4 - begin should fail upon inexistent paths
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
ok 5 - begin should fail upon non directory paths
checking prerequisite: SANITY
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
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 0066.6 'advance should not fail on errors by default':
cat >expected-no-permissions-output <<-EOF &&
[d] (a) [a] ./dir3/a
EOF
mkdir -p dir3/a &&
>dir3/a/b &&
chmod 0 dir3/a &&
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
warning: error opening directory './dir3/a/': Permission denied
ok 6 - advance should not fail on errors by default
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
mkdir -p dir3/a &&
>dir3/a/b &&
chmod 0 dir3/a &&
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
warning: error opening directory './dir3/a/': Permission denied
ok 7 - advance should fail on errors, w/ pedantic flag
checking prerequisite: SYMLINKS
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
# test whether the filesystem supports symbolic links
ln -s x y && test -h y
)
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 &&
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
ok 8 - setup dirs with symlinks
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
test-tool dir-iterator ./dir4 >out &&
sort out >actual-no-follow-sorted-output &&
test_cmp expected-no-follow-sorted-output actual-no-follow-sorted-output
ok 9 - dir-iterator should not follow symlinks by default
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
test-tool dir-iterator --follow-symlinks ./dir4 >out &&
sort out >actual-follow-sorted-output &&
test_cmp expected-follow-sorted-output actual-follow-sorted-output
ok 10 - dir-iterator should follow symlinks w/ follow flag
# passed all 10 test(s)
1..10
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t0067-parse_pathspec_file.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0067-parse_pathspec_file/.git/
expecting success of 0067.1 'one item from stdin':
cat >expect <<-\EOF &&
fileA.t
EOF
echo fileA.t |
test-tool parse-pathspec-file --pathspec-from-file=- >actual &&
test_cmp expect actual
ok 1 - one item from stdin
expecting success of 0067.2 'one item from file':
cat >expect <<-\EOF &&
fileA.t
EOF
echo fileA.t >list &&
test-tool parse-pathspec-file --pathspec-from-file=list >actual &&
test_cmp expect actual
ok 2 - one item from file
expecting success of 0067.3 'NUL delimiters':
cat >expect <<-\EOF &&
fileA.t
fileB.t
EOF
printf "fileA.t\0fileB.t\0" |
test-tool parse-pathspec-file --pathspec-from-file=- --pathspec-file-nul >actual &&
test_cmp expect actual
ok 3 - NUL delimiters
expecting success of 0067.4 'LF delimiters':
cat >expect <<-\EOF &&
fileA.t
fileB.t
EOF
printf "fileA.t\nfileB.t\n" |
test-tool parse-pathspec-file --pathspec-from-file=- >actual &&
test_cmp expect actual
ok 4 - LF delimiters
expecting success of 0067.5 'no trailing delimiter':
cat >expect <<-\EOF &&
fileA.t
fileB.t
EOF
printf "fileA.t\nfileB.t" |
test-tool parse-pathspec-file --pathspec-from-file=- >actual &&
test_cmp expect actual
ok 5 - no trailing delimiter
expecting success of 0067.6 'CRLF delimiters':
cat >expect <<-\EOF &&
fileA.t
fileB.t
EOF
printf "fileA.t\r\nfileB.t\r\n" |
test-tool parse-pathspec-file --pathspec-from-file=- >actual &&
test_cmp expect actual
ok 6 - CRLF delimiters
expecting success of 0067.7 'quotes':
cat >expect <<-\EOF &&
fileA.t
EOF
cat >list <<-\EOF &&
"file\101.t"
EOF
test-tool parse-pathspec-file --pathspec-from-file=list >actual &&
test_cmp expect actual
ok 7 - quotes
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"
EOF
cat >list <<-\EOF &&
"file\101.t"
EOF
test-tool parse-pathspec-file --pathspec-from-file=list --pathspec-file-nul >actual &&
test_cmp expect actual
ok 8 - --pathspec-file-nul takes quotes literally
# passed all 8 test(s)
1..8
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t0070-fundamental.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0070-fundamental/.git/
expecting success of 0070.1 'character classes (isspace, isalpha etc.)':
test-tool ctype
ok 1 - character classes (isspace, isalpha etc.)
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
fatal: Unable to create temporary file '/<<PKGBUILDDIR>>/t/trash directory.t0070-fundamental/doesnotexist/test0EuKmK': No such file or directory
ok 2 - mktemp to nonexistent directory prints filename
checking prerequisite: SANITY
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
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 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
fatal: Unable to create temporary file '/<<PKGBUILDDIR>>/t/trash directory.t0070-fundamental/cannotwrite/testuYxvHw': Permission denied
ok 3 - mktemp to unwritable directory prints filename
expecting success of 0070.4 'git_mkstemps_mode does not fail if fd 0 is not open':
git commit --allow-empty -m message <&-
[master (root-commit) 71c57db] message
Author: A U Thor <author@example.com>
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
# passed all 5 test(s)
1..5
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t0081-line-buffer.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0081-line-buffer/.git/
expecting success of 0081.1 'hello world':
echo ">HELLO" >expect &&
test-line-buffer <<-\EOF >actual &&
binary 6
HELLO
EOF
test_cmp expect actual
ok 1 - hello world
expecting success of 0081.2 '0-length read, send along greeting':
echo ">HELLO" >expect &&
test-line-buffer <<-\EOF >actual &&
binary 0
copy 6
HELLO
EOF
test_cmp expect actual
ok 2 - 0-length read, send along greeting
expecting success of 0081.3 'read from file descriptor':
rm -f input &&
echo hello >expect &&
echo hello >input &&
echo copy 6 |
test-line-buffer "&4" 4<input >actual &&
test_cmp expect actual
ok 3 - read from file descriptor
expecting success of 0081.4 'skip, copy null byte':
echo Q | q_to_nul >expect &&
q_to_nul <<-\EOF | test-line-buffer >actual &&
skip 2
Q
copy 2
Q
EOF
test_cmp expect actual
ok 4 - skip, copy null byte
expecting success of 0081.5 'read null byte':
echo ">QhelloQ" | q_to_nul >expect &&
q_to_nul <<-\EOF | test-line-buffer >actual &&
binary 8
QhelloQ
EOF
test_cmp expect actual
ok 5 - read null byte
expecting success of 0081.6 'long reads are truncated':
echo ">foo" >expect &&
test-line-buffer <<-\EOF >actual &&
binary 5
foo
EOF
test_cmp expect actual
ok 6 - long reads are truncated
expecting success of 0081.7 'long copies are truncated':
printf "%s\n" ">" foo >expect &&
test-line-buffer <<-\EOF >actual &&
binary 1
copy 5
foo
EOF
test_cmp expect actual
ok 7 - long copies are truncated
expecting success of 0081.8 'long binary reads are truncated':
echo ">foo" >expect &&
test-line-buffer <<-\EOF >actual &&
binary 5
foo
EOF
test_cmp expect actual
ok 8 - long binary reads are truncated
# passed all 8 test(s)
1..8
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t0091-bugreport.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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-check-headers.txt
Created new report at 'git-bugreport-check-headers.txt'.
grep: Thank you for filling out a Git bug report!: No such file or directory
grep: Please answer the following questions to help us understand your issue.: No such file or directory
grep: : No such file or directory
grep: What did you do before the bug happened? (Steps to reproduce your issue): No such file or directory
grep: : No such file or directory
grep: What did you expect to happen? (Expected behavior): No such file or directory
grep: : No such file or directory
grep: What happened instead? (Actual behavior): No such file or directory
grep: : No such file or directory
grep: What's different between what you expected and what actually happened?: No such file or directory
grep: : No such file or directory
grep: Anything else you want to add:: No such file or directory
grep: : No such file or directory
grep: Please review the rest of the bug report below.: No such file or directory
grep: You can delete any lines you don't wish to share.: No such file or directory
grep: : No such file or directory
grep: : No such file or directory
grep: [System Info]: No such file or directory
grep: git version:: No such file or directory
grep: git version 2.27.0: No such file or directory
grep: cpu: arm: No such file or directory
grep: no commit associated with this build: No such file or directory
grep: sizeof-long: 4: No such file or directory
grep: sizeof-size_t: 4: No such file or directory
grep: uname: Linux 4.9.0-0.bpo.6-armmp #1 SMP Debian 4.9.82-1+deb9u3~bpo8+1 (2018-03-22) armv7l: No such file or directory
grep: compiler info: gnuc: 9.3: No such file or directory
grep: libc info: glibc: 2.30: No such file or directory
grep: : No such file or directory
grep: : No such file or directory
grep: [Enabled Hooks]: No such file or directory
ok 1 - creates a report with content in the right places
expecting success of 0091.2 'dies if file with same name as report already exists':
test_when_finished rm git-bugreport-duplicate.txt &&
>>git-bugreport-duplicate.txt &&
test_must_fail git bugreport --suffix duplicate
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 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-*
Created new report at 'foo/git-bugreport-2020-06-12-0631.txt'.
ok 3 - --output-directory puts the report in the provided dir
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
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
! test_bool_env GIT_TEST_GETTEXT_POISON false
)
prerequisite C_LOCALE_OUTPUT ok
usage: git bugreport [-o|--output-directory <file>] [-s|--suffix <format>]
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-2020-06-12-0631.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-2020-06-12-0631.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 '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t0060-path-utils.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0060-path-utils/.git/
expecting success of 0060.1 'basename': test-tool path-utils basename
ok 1 - basename
expecting success of 0060.2 'dirname': test-tool path-utils dirname
ok 2 - dirname
expecting success of 0060.3 'normalize path: => ': test "$(test-tool path-utils normalize_path_copy '')" = ''
ok 3 - normalize path: =>
expecting success of 0060.4 'normalize path: . => ': test "$(test-tool path-utils normalize_path_copy '.')" = ''
ok 4 - normalize path: . =>
expecting success of 0060.5 'normalize path: ./ => ': test "$(test-tool path-utils normalize_path_copy './')" = ''
ok 5 - normalize path: ./ =>
expecting success of 0060.6 'normalize path: ./. => ': test "$(test-tool path-utils normalize_path_copy './.')" = ''
ok 6 - normalize path: ./. =>
expecting success of 0060.7 'normalize path: ./.. => ++failed++': test "$(test-tool path-utils normalize_path_copy './..')" = '++failed++'
ok 7 - normalize path: ./.. => ++failed++
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 0060.9 'normalize path: ./../.// => ++failed++': test "$(test-tool path-utils normalize_path_copy './.././/')" = '++failed++'
ok 9 - normalize path: ./../.// => ++failed++
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 0060.11 'normalize path: dir/sub/../.. => ': test "$(test-tool path-utils normalize_path_copy 'dir/sub/../..')" = ''
ok 11 - normalize path: dir/sub/../.. =>
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 0060.13 'normalize path: dir => dir': test "$(test-tool path-utils normalize_path_copy 'dir')" = 'dir'
ok 13 - normalize path: dir => dir
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 0060.15 'normalize path: ./dir => dir': test "$(test-tool path-utils normalize_path_copy './dir')" = 'dir'
ok 15 - normalize path: ./dir => dir
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 0060.17 'normalize path: dir///./ => dir/': test "$(test-tool path-utils normalize_path_copy 'dir///./')" = 'dir/'
ok 17 - normalize path: dir///./ => dir/
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/
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 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/
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 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/
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
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 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 0060.26 'normalize path: / => /': test "$(test-tool path-utils normalize_path_copy '/')" = '/'
ok 26 - normalize path: / => /
expecting success of 0060.27 'normalize path: // => /': test "$(test-tool path-utils normalize_path_copy '//')" = '/'
ok 27 - normalize path: // => /
expecting success of 0060.28 'normalize path: /// => /': test "$(test-tool path-utils normalize_path_copy '///')" = '/'
ok 28 - normalize path: /// => /
expecting success of 0060.29 'normalize path: /. => /': test "$(test-tool path-utils normalize_path_copy '/.')" = '/'
ok 29 - normalize path: /. => /
expecting success of 0060.30 'normalize path: /./ => /': test "$(test-tool path-utils normalize_path_copy '/./')" = '/'
ok 30 - normalize path: /./ => /
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 0060.32 'normalize path: /../. => ++failed++': test "$(test-tool path-utils normalize_path_copy '/../.')" = '++failed++'
ok 32 - normalize path: /../. => ++failed++
expecting success of 0060.33 'normalize path: /./../.// => ++failed++': test "$(test-tool path-utils normalize_path_copy '/./.././/')" = '++failed++'
ok 33 - normalize path: /./../.// => ++failed++
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 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 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 0060.37 'normalize path: /dir => /dir': test "$(test-tool path-utils normalize_path_copy '/dir')" = '/dir'
ok 37 - normalize path: /dir => /dir
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 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 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 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 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 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/
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 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/
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 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
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
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
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 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 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
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 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 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
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
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 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 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 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
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 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
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 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
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 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
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 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
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 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
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 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 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 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
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
expecting success of 0060.76 'strip_path_suffix':
test c:/msysgit = $(test-tool path-utils strip_path_suffix \
c:/msysgit/libexec//git-core libexec/git-core)
ok 76 - strip_path_suffix
expecting success of 0060.77 'absolute path rejects the empty string':
test_must_fail test-tool path-utils absolute_path ""
fatal: The empty string is not a valid path
ok 77 - absolute path rejects the empty string
skipping test: <drive-letter>:\\abc is an absolute path
for letter in : \" C Z 1 ä
do
path=$letter:\\abc &&
absolute="$(test-tool path-utils absolute_path "$path")" &&
test "$path" = "$absolute" || return 1
done
ok 78 # skip <drive-letter>:\\abc is an absolute path (missing MINGW)
expecting success of 0060.79 'real path rejects the empty string':
test_must_fail test-tool path-utils real_path ""
fatal: The empty string is not a valid path
ok 79 - real path rejects the empty string
expecting success of 0060.80 '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")"
ok 80 - real path works on absolute paths 1
expecting success of 0060.81 '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")"
ok 81 - real path works on absolute paths 2
expecting success of 0060.82 '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")"
ok 82 - real path removes extra leading slashes
expecting success of 0060.83 '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")"
ok 83 - real path removes other extra slashes
checking prerequisite: SYMLINKS
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
# test whether the filesystem supports symbolic links
ln -s x y && test -h y
)
prerequisite SYMLINKS ok
expecting success of 0060.84 '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")"
ok 84 - real path works on symlinks
expecting success of 0060.85 '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"
ok 85 - prefix_path works with absolute paths to work tree symlinks
expecting success of 0060.86 '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
ok 86 - prefix_path works with only absolute path to work tree
expecting success of 0060.87 '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"
fatal: '/<<PKGBUILDDIR>>/t/trash directory.t0060-path-utilsa' is outside repository at '/<<PKGBUILDDIR>>/t/trash directory.t0060-path-utils'
ok 87 - prefix_path rejects absolute path to dir with same beginning as work tree
expecting success of 0060.88 '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")"
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0060-path-utils/repo/.git/
ok 88 - prefix_path works with absolute path to a symlink to work tree having same beginning as work tree
expecting success of 0060.89 '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 89 - relative path: /foo/a/b/c/ /foo/a/b/ => c/
expecting success of 0060.90 '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 90 - relative path: /foo/a/b/c/ /foo/a/b => c/
expecting success of 0060.91 '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 91 - relative path: /foo/a//b//c/ ///foo/a/b// => c/
expecting success of 0060.92 'relative path: /foo/a/b /foo/a/b => ./': test "$(test-tool path-utils relative_path '/foo/a/b' '/foo/a/b')" = './'
ok 92 - relative path: /foo/a/b /foo/a/b => ./
expecting success of 0060.93 'relative path: /foo/a/b/ /foo/a/b => ./': test "$(test-tool path-utils relative_path '/foo/a/b/' '/foo/a/b')" = './'
ok 93 - relative path: /foo/a/b/ /foo/a/b => ./
expecting success of 0060.94 'relative path: /foo/a /foo/a/b => ../': test "$(test-tool path-utils relative_path '/foo/a' '/foo/a/b')" = '../'
ok 94 - relative path: /foo/a /foo/a/b => ../
expecting success of 0060.95 'relative path: / /foo/a/b/ => ../../../': test "$(test-tool path-utils relative_path '/' '/foo/a/b/')" = '../../../'
ok 95 - relative path: / /foo/a/b/ => ../../../
expecting success of 0060.96 'relative path: /foo/a/c /foo/a/b/ => ../c': test "$(test-tool path-utils relative_path '/foo/a/c' '/foo/a/b/')" = '../c'
ok 96 - relative path: /foo/a/c /foo/a/b/ => ../c
expecting success of 0060.97 'relative path: /foo/a/c /foo/a/b => ../c': test "$(test-tool path-utils relative_path '/foo/a/c' '/foo/a/b')" = '../c'
ok 97 - relative path: /foo/a/c /foo/a/b => ../c
expecting success of 0060.98 '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 98 - relative path: /foo/x/y /foo/a/b/ => ../../x/y
expecting success of 0060.99 'relative path: /foo/a/b <empty> => /foo/a/b': test "$(test-tool path-utils relative_path '/foo/a/b' '<empty>')" = '/foo/a/b'
ok 99 - relative path: /foo/a/b <empty> => /foo/a/b
expecting success of 0060.100 'relative path: /foo/a/b <null> => /foo/a/b': test "$(test-tool path-utils relative_path '/foo/a/b' '<null>')" = '/foo/a/b'
ok 100 - relative path: /foo/a/b <null> => /foo/a/b
expecting success of 0060.101 '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 101 - relative path: foo/a/b/c/ foo/a/b/ => c/
expecting success of 0060.102 '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 102 - relative path: foo/a/b/c/ foo/a/b => c/
expecting success of 0060.103 '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 103 - relative path: foo/a/b//c foo/a//b => c
expecting success of 0060.104 'relative path: foo/a/b/ foo/a/b/ => ./': test "$(test-tool path-utils relative_path 'foo/a/b/' 'foo/a/b/')" = './'
ok 104 - relative path: foo/a/b/ foo/a/b/ => ./
expecting success of 0060.105 'relative path: foo/a/b/ foo/a/b => ./': test "$(test-tool path-utils relative_path 'foo/a/b/' 'foo/a/b')" = './'
ok 105 - relative path: foo/a/b/ foo/a/b => ./
expecting success of 0060.106 'relative path: foo/a foo/a/b => ../': test "$(test-tool path-utils relative_path 'foo/a' 'foo/a/b')" = '../'
ok 106 - relative path: foo/a foo/a/b => ../
expecting success of 0060.107 '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 107 - relative path: foo/x/y foo/a/b => ../../x/y
expecting success of 0060.108 'relative path: foo/a/c foo/a/b => ../c': test "$(test-tool path-utils relative_path 'foo/a/c' 'foo/a/b')" = '../c'
ok 108 - relative path: foo/a/c foo/a/b => ../c
expecting success of 0060.109 '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 109 - relative path: foo/a/b /foo/x/y => foo/a/b
expecting success of 0060.110 '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 110 - relative path: /foo/a/b foo/x/y => /foo/a/b
skipping test: relative path: d:/a/b D:/a/c => ../b test "$(test-tool path-utils relative_path 'd:/a/b' 'D:/a/c')" = '../b'
ok 111 # skip relative path: d:/a/b D:/a/c => ../b (missing MINGW)
skipping test: relative path: C:/a/b D:/a/c => C:/a/b test "$(test-tool path-utils relative_path 'C:/a/b' 'D:/a/c')" = 'C:/a/b'
ok 112 # skip relative path: C:/a/b D:/a/c => C:/a/b (missing MINGW)
expecting success of 0060.113 'relative path: foo/a/b <empty> => foo/a/b': test "$(test-tool path-utils relative_path 'foo/a/b' '<empty>')" = 'foo/a/b'
ok 113 - relative path: foo/a/b <empty> => foo/a/b
expecting success of 0060.114 'relative path: foo/a/b <null> => foo/a/b': test "$(test-tool path-utils relative_path 'foo/a/b' '<null>')" = 'foo/a/b'
ok 114 - relative path: foo/a/b <null> => foo/a/b
expecting success of 0060.115 'relative path: <empty> /foo/a/b => ./': test "$(test-tool path-utils relative_path '<empty>' '/foo/a/b')" = './'
ok 115 - relative path: <empty> /foo/a/b => ./
expecting success of 0060.116 'relative path: <empty> <empty> => ./': test "$(test-tool path-utils relative_path '<empty>' '<empty>')" = './'
ok 116 - relative path: <empty> <empty> => ./
expecting success of 0060.117 'relative path: <empty> <null> => ./': test "$(test-tool path-utils relative_path '<empty>' '<null>')" = './'
ok 117 - relative path: <empty> <null> => ./
expecting success of 0060.118 'relative path: <null> <empty> => ./': test "$(test-tool path-utils relative_path '<null>' '<empty>')" = './'
ok 118 - relative path: <null> <empty> => ./
expecting success of 0060.119 'relative path: <null> <null> => ./': test "$(test-tool path-utils relative_path '<null>' '<null>')" = './'
ok 119 - relative path: <null> <null> => ./
expecting success of 0060.120 'relative path: <null> /foo/a/b => ./': test "$(test-tool path-utils relative_path '<null>' '/foo/a/b')" = './'
ok 120 - relative path: <null> /foo/a/b => ./
expecting success of 0060.121 '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 121 - git-path A=B info/grafts => .git/info/grafts
expecting success of 0060.122 '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 122 - git-path GIT_GRAFT_FILE=foo info/grafts => foo
expecting success of 0060.123 '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 123 - git-path GIT_GRAFT_FILE=foo info/////grafts => foo
expecting success of 0060.124 '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 124 - git-path GIT_INDEX_FILE=foo index => foo
expecting success of 0060.125 '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 125 - git-path GIT_INDEX_FILE=foo index/foo => .git/index/foo
expecting success of 0060.126 '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 126 - git-path GIT_INDEX_FILE=foo index2 => .git/index2
expecting success of 0060.127 'setup fake objects directory foo': mkdir foo
ok 127 - setup fake objects directory foo
expecting success of 0060.128 '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 128 - git-path GIT_OBJECT_DIRECTORY=foo objects => foo
expecting success of 0060.129 '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 129 - git-path GIT_OBJECT_DIRECTORY=foo objects/foo => foo/foo
expecting success of 0060.130 '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 130 - git-path GIT_OBJECT_DIRECTORY=foo objects2 => .git/objects2
expecting success of 0060.131 'setup common repository': git --git-dir=bar init
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0060-path-utils/bar/
ok 131 - setup common repository
expecting success of 0060.132 '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 132 - git-path GIT_COMMON_DIR=bar index => .git/index
expecting success of 0060.133 '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 133 - git-path GIT_COMMON_DIR=bar index.lock => .git/index.lock
expecting success of 0060.134 '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 134 - git-path GIT_COMMON_DIR=bar HEAD => .git/HEAD
expecting success of 0060.135 '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 135 - git-path GIT_COMMON_DIR=bar logs/HEAD => .git/logs/HEAD
expecting success of 0060.136 '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 136 - git-path GIT_COMMON_DIR=bar logs/HEAD.lock => .git/logs/HEAD.lock
expecting success of 0060.137 '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 137 - git-path GIT_COMMON_DIR=bar logs/refs/bisect/foo => .git/logs/refs/bisect/foo
expecting success of 0060.138 '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 138 - git-path GIT_COMMON_DIR=bar logs/refs => bar/logs/refs
expecting success of 0060.139 '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 139 - git-path GIT_COMMON_DIR=bar logs/refs/ => bar/logs/refs/
expecting success of 0060.140 '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 140 - git-path GIT_COMMON_DIR=bar logs/refs/bisec/foo => bar/logs/refs/bisec/foo
expecting success of 0060.141 '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 141 - git-path GIT_COMMON_DIR=bar logs/refs/bisec => bar/logs/refs/bisec
expecting success of 0060.142 '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 142 - git-path GIT_COMMON_DIR=bar logs/refs/bisectfoo => bar/logs/refs/bisectfoo
expecting success of 0060.143 '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 143 - git-path GIT_COMMON_DIR=bar objects => bar/objects
expecting success of 0060.144 '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 144 - git-path GIT_COMMON_DIR=bar objects/bar => bar/objects/bar
expecting success of 0060.145 '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
ok 145 - git-path GIT_COMMON_DIR=bar info/exclude => bar/info/exclude
expecting success of 0060.146 '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 146 - git-path GIT_COMMON_DIR=bar info/grafts => bar/info/grafts
expecting success of 0060.147 '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 147 - git-path GIT_COMMON_DIR=bar info/sparse-checkout => .git/info/sparse-checkout
expecting success of 0060.148 '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 148 - git-path GIT_COMMON_DIR=bar info//sparse-checkout => .git/info//sparse-checkout
expecting success of 0060.149 '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 149 - git-path GIT_COMMON_DIR=bar remotes/bar => bar/remotes/bar
expecting success of 0060.150 '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 150 - git-path GIT_COMMON_DIR=bar branches/bar => bar/branches/bar
expecting success of 0060.151 '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 151 - git-path GIT_COMMON_DIR=bar logs/refs/heads/master => bar/logs/refs/heads/master
expecting success of 0060.152 '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 152 - git-path GIT_COMMON_DIR=bar refs/heads/master => bar/refs/heads/master
expecting success of 0060.153 '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 153 - git-path GIT_COMMON_DIR=bar refs/bisect/foo => .git/refs/bisect/foo
expecting success of 0060.154 '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 154 - git-path GIT_COMMON_DIR=bar hooks/me => bar/hooks/me
expecting success of 0060.155 '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 155 - git-path GIT_COMMON_DIR=bar config => bar/config
expecting success of 0060.156 '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 156 - git-path GIT_COMMON_DIR=bar packed-refs => bar/packed-refs
expecting success of 0060.157 '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 157 - git-path GIT_COMMON_DIR=bar shallow => bar/shallow
expecting success of 0060.158 '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 158 - git-path GIT_COMMON_DIR=bar common => bar/common
expecting success of 0060.159 '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 159 - git-path GIT_COMMON_DIR=bar common/file => bar/common/file
expecting success of 0060.160 'test_submodule_relative_url: ../ ../foo ../submodule => ../../submodule':
actual=$(git submodule--helper resolve-relative-url-test '../' '../foo' '../submodule') &&
test "$actual" = '../../submodule'
ok 160 - test_submodule_relative_url: ../ ../foo ../submodule => ../../submodule
expecting success of 0060.161 '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 161 - test_submodule_relative_url: ../ ../foo/bar ../submodule => ../../foo/submodule
expecting success of 0060.162 '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 162 - test_submodule_relative_url: ../ ../foo/submodule ../submodule => ../../foo/submodule
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 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
expecting success of 0060.165 '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 165 - test_submodule_relative_url: ../../../ ../foo/bar ../sub/a/b/c => ../../../../foo/sub/a/b/c
expecting success of 0060.166 'test_submodule_relative_url: ../ /<<PKGBUILDDIR>>/t/trash directory.t0060-path-utils/addtest ../repo => /<<PKGBUILDDIR>>/t/trash directory.t0060-path-utils/repo':
actual=$(git submodule--helper resolve-relative-url-test '../' '/<<PKGBUILDDIR>>/t/trash directory.t0060-path-utils/addtest' '../repo') &&
test "$actual" = '/<<PKGBUILDDIR>>/t/trash directory.t0060-path-utils/repo'
ok 166 - test_submodule_relative_url: ../ /<<PKGBUILDDIR>>/t/trash directory.t0060-path-utils/addtest ../repo => /<<PKGBUILDDIR>>/t/trash directory.t0060-path-utils/repo
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 0060.168 'test_submodule_relative_url: ../ foo ../submodule => ../submodule':
actual=$(git submodule--helper resolve-relative-url-test '../' 'foo' '../submodule') &&
test "$actual" = '../submodule'
ok 168 - test_submodule_relative_url: ../ foo ../submodule => ../submodule
expecting success of 0060.169 '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 169 - test_submodule_relative_url: (null) ../foo/bar ../sub/a/b/c => ../foo/sub/a/b/c
expecting success of 0060.170 '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 170 - test_submodule_relative_url: (null) ../foo/bar ../sub/a/b/c/ => ../foo/sub/a/b/c
expecting success of 0060.171 '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 171 - test_submodule_relative_url: (null) ../foo/bar/ ../sub/a/b/c => ../foo/sub/a/b/c
expecting success of 0060.172 '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 172 - test_submodule_relative_url: (null) ../foo/bar ../submodule => ../foo/submodule
expecting success of 0060.173 '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 173 - test_submodule_relative_url: (null) ../foo/submodule ../submodule => ../foo/submodule
expecting success of 0060.174 'test_submodule_relative_url: (null) ../foo ../submodule => ../submodule':
actual=$(git submodule--helper resolve-relative-url-test '(null)' '../foo' '../submodule') &&
test "$actual" = '../submodule'
ok 174 - test_submodule_relative_url: (null) ../foo ../submodule => ../submodule
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 0060.176 'test_submodule_relative_url: (null) ./foo ../submodule => submodule':
actual=$(git submodule--helper resolve-relative-url-test '(null)' './foo' '../submodule') &&
test "$actual" = 'submodule'
ok 176 - test_submodule_relative_url: (null) ./foo ../submodule => submodule
expecting success of 0060.177 '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 177 - test_submodule_relative_url: (null) //somewhere else/repo ../subrepo => //somewhere else/subrepo
expecting success of 0060.178 '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 178 - test_submodule_relative_url: (null) //somewhere else/repo ../../subrepo => //subrepo
expecting success of 0060.179 '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 179 - test_submodule_relative_url: (null) //somewhere else/repo ../../../subrepo => /subrepo
expecting success of 0060.180 '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 180 - test_submodule_relative_url: (null) //somewhere else/repo ../../../../subrepo => subrepo
expecting success of 0060.181 'test_submodule_relative_url: (null) /<<PKGBUILDDIR>>/t/trash directory.t0060-path-utils/subsuper_update_r ../subsubsuper_update_r => /<<PKGBUILDDIR>>/t/trash directory.t0060-path-utils/subsubsuper_update_r':
actual=$(git submodule--helper resolve-relative-url-test '(null)' '/<<PKGBUILDDIR>>/t/trash directory.t0060-path-utils/subsuper_update_r' '../subsubsuper_update_r') &&
test "$actual" = '/<<PKGBUILDDIR>>/t/trash directory.t0060-path-utils/subsubsuper_update_r'
ok 181 - test_submodule_relative_url: (null) /<<PKGBUILDDIR>>/t/trash directory.t0060-path-utils/subsuper_update_r ../subsubsuper_update_r => /<<PKGBUILDDIR>>/t/trash directory.t0060-path-utils/subsubsuper_update_r
expecting success of 0060.182 'test_submodule_relative_url: (null) /<<PKGBUILDDIR>>/t/trash directory.t0060-path-utils/super_update_r2 ../subsuper_update_r => /<<PKGBUILDDIR>>/t/trash directory.t0060-path-utils/subsuper_update_r':
actual=$(git submodule--helper resolve-relative-url-test '(null)' '/<<PKGBUILDDIR>>/t/trash directory.t0060-path-utils/super_update_r2' '../subsuper_update_r') &&
test "$actual" = '/<<PKGBUILDDIR>>/t/trash directory.t0060-path-utils/subsuper_update_r'
ok 182 - test_submodule_relative_url: (null) /<<PKGBUILDDIR>>/t/trash directory.t0060-path-utils/super_update_r2 ../subsuper_update_r => /<<PKGBUILDDIR>>/t/trash directory.t0060-path-utils/subsuper_update_r
expecting success of 0060.183 'test_submodule_relative_url: (null) /<<PKGBUILDDIR>>/t/trash directory.t0060-path-utils/. ../. => /<<PKGBUILDDIR>>/t/trash directory.t0060-path-utils/.':
actual=$(git submodule--helper resolve-relative-url-test '(null)' '/<<PKGBUILDDIR>>/t/trash directory.t0060-path-utils/.' '../.') &&
test "$actual" = '/<<PKGBUILDDIR>>/t/trash directory.t0060-path-utils/.'
ok 183 - test_submodule_relative_url: (null) /<<PKGBUILDDIR>>/t/trash directory.t0060-path-utils/. ../. => /<<PKGBUILDDIR>>/t/trash directory.t0060-path-utils/.
expecting success of 0060.184 'test_submodule_relative_url: (null) /<<PKGBUILDDIR>>/t/trash directory.t0060-path-utils ./. => /<<PKGBUILDDIR>>/t/trash directory.t0060-path-utils/.':
actual=$(git submodule--helper resolve-relative-url-test '(null)' '/<<PKGBUILDDIR>>/t/trash directory.t0060-path-utils' './.') &&
test "$actual" = '/<<PKGBUILDDIR>>/t/trash directory.t0060-path-utils/.'
ok 184 - test_submodule_relative_url: (null) /<<PKGBUILDDIR>>/t/trash directory.t0060-path-utils ./. => /<<PKGBUILDDIR>>/t/trash directory.t0060-path-utils/.
expecting success of 0060.185 'test_submodule_relative_url: (null) /<<PKGBUILDDIR>>/t/trash directory.t0060-path-utils/addtest ../repo => /<<PKGBUILDDIR>>/t/trash directory.t0060-path-utils/repo':
actual=$(git submodule--helper resolve-relative-url-test '(null)' '/<<PKGBUILDDIR>>/t/trash directory.t0060-path-utils/addtest' '../repo') &&
test "$actual" = '/<<PKGBUILDDIR>>/t/trash directory.t0060-path-utils/repo'
ok 185 - test_submodule_relative_url: (null) /<<PKGBUILDDIR>>/t/trash directory.t0060-path-utils/addtest ../repo => /<<PKGBUILDDIR>>/t/trash directory.t0060-path-utils/repo
expecting success of 0060.186 'test_submodule_relative_url: (null) /<<PKGBUILDDIR>>/t/trash directory.t0060-path-utils ./å äö => /<<PKGBUILDDIR>>/t/trash directory.t0060-path-utils/å äö':
actual=$(git submodule--helper resolve-relative-url-test '(null)' '/<<PKGBUILDDIR>>/t/trash directory.t0060-path-utils' './å äö') &&
test "$actual" = '/<<PKGBUILDDIR>>/t/trash directory.t0060-path-utils/å äö'
ok 186 - test_submodule_relative_url: (null) /<<PKGBUILDDIR>>/t/trash directory.t0060-path-utils ./å äö => /<<PKGBUILDDIR>>/t/trash directory.t0060-path-utils/å äö
expecting success of 0060.187 'test_submodule_relative_url: (null) /<<PKGBUILDDIR>>/t/trash directory.t0060-path-utils/. ../submodule => /<<PKGBUILDDIR>>/t/trash directory.t0060-path-utils/submodule':
actual=$(git submodule--helper resolve-relative-url-test '(null)' '/<<PKGBUILDDIR>>/t/trash directory.t0060-path-utils/.' '../submodule') &&
test "$actual" = '/<<PKGBUILDDIR>>/t/trash directory.t0060-path-utils/submodule'
ok 187 - test_submodule_relative_url: (null) /<<PKGBUILDDIR>>/t/trash directory.t0060-path-utils/. ../submodule => /<<PKGBUILDDIR>>/t/trash directory.t0060-path-utils/submodule
expecting success of 0060.188 'test_submodule_relative_url: (null) /<<PKGBUILDDIR>>/t/trash directory.t0060-path-utils/submodule ../submodule => /<<PKGBUILDDIR>>/t/trash directory.t0060-path-utils/submodule':
actual=$(git submodule--helper resolve-relative-url-test '(null)' '/<<PKGBUILDDIR>>/t/trash directory.t0060-path-utils/submodule' '../submodule') &&
test "$actual" = '/<<PKGBUILDDIR>>/t/trash directory.t0060-path-utils/submodule'
ok 188 - test_submodule_relative_url: (null) /<<PKGBUILDDIR>>/t/trash directory.t0060-path-utils/submodule ../submodule => /<<PKGBUILDDIR>>/t/trash directory.t0060-path-utils/submodule
expecting success of 0060.189 'test_submodule_relative_url: (null) /<<PKGBUILDDIR>>/t/trash directory.t0060-path-utils/home2/../remote ../bundle1 => /<<PKGBUILDDIR>>/t/trash directory.t0060-path-utils/home2/../bundle1':
actual=$(git submodule--helper resolve-relative-url-test '(null)' '/<<PKGBUILDDIR>>/t/trash directory.t0060-path-utils/home2/../remote' '../bundle1') &&
test "$actual" = '/<<PKGBUILDDIR>>/t/trash directory.t0060-path-utils/home2/../bundle1'
ok 189 - test_submodule_relative_url: (null) /<<PKGBUILDDIR>>/t/trash directory.t0060-path-utils/home2/../remote ../bundle1 => /<<PKGBUILDDIR>>/t/trash directory.t0060-path-utils/home2/../bundle1
expecting success of 0060.190 'test_submodule_relative_url: (null) /<<PKGBUILDDIR>>/t/trash directory.t0060-path-utils/submodule_update_repo ./. => /<<PKGBUILDDIR>>/t/trash directory.t0060-path-utils/submodule_update_repo/.':
actual=$(git submodule--helper resolve-relative-url-test '(null)' '/<<PKGBUILDDIR>>/t/trash directory.t0060-path-utils/submodule_update_repo' './.') &&
test "$actual" = '/<<PKGBUILDDIR>>/t/trash directory.t0060-path-utils/submodule_update_repo/.'
ok 190 - test_submodule_relative_url: (null) /<<PKGBUILDDIR>>/t/trash directory.t0060-path-utils/submodule_update_repo ./. => /<<PKGBUILDDIR>>/t/trash directory.t0060-path-utils/submodule_update_repo/.
expecting success of 0060.191 '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 191 - test_submodule_relative_url: (null) file:///tmp/repo ../subrepo => file:///tmp/subrepo
expecting success of 0060.192 '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 192 - test_submodule_relative_url: (null) foo/bar ../submodule => foo/submodule
expecting success of 0060.193 'test_submodule_relative_url: (null) foo ../submodule => submodule':
actual=$(git submodule--helper resolve-relative-url-test '(null)' 'foo' '../submodule') &&
test "$actual" = 'submodule'
ok 193 - test_submodule_relative_url: (null) foo ../submodule => submodule
expecting success of 0060.194 '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 194 - test_submodule_relative_url: (null) helper:://hostname/repo ../subrepo => helper:://hostname/subrepo
expecting success of 0060.195 '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 195 - test_submodule_relative_url: (null) helper:://hostname/repo ../../subrepo => helper:://subrepo
expecting success of 0060.196 '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 196 - test_submodule_relative_url: (null) helper:://hostname/repo ../../../subrepo => helper::/subrepo
expecting success of 0060.197 '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 197 - test_submodule_relative_url: (null) helper:://hostname/repo ../../../../subrepo => helper::subrepo
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 0060.199 '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 199 - test_submodule_relative_url: (null) helper:://hostname/repo ../../../../../../subrepo => .:subrepo
expecting success of 0060.200 '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 200 - test_submodule_relative_url: (null) ssh://hostname/repo ../subrepo => ssh://hostname/subrepo
expecting success of 0060.201 '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 201 - test_submodule_relative_url: (null) ssh://hostname/repo ../../subrepo => ssh://subrepo
expecting success of 0060.202 '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 202 - test_submodule_relative_url: (null) ssh://hostname/repo ../../../subrepo => ssh:/subrepo
expecting success of 0060.203 '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 203 - test_submodule_relative_url: (null) ssh://hostname/repo ../../../../subrepo => ssh:subrepo
expecting success of 0060.204 '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 204 - test_submodule_relative_url: (null) ssh://hostname/repo ../../../../../subrepo => .:subrepo
expecting success of 0060.205 '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 205 - test_submodule_relative_url: (null) ssh://hostname:22/repo ../subrepo => ssh://hostname:22/subrepo
expecting success of 0060.206 '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 206 - test_submodule_relative_url: (null) user@host:path/to/repo ../subrepo => user@host:path/to/subrepo
expecting success of 0060.207 '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 207 - test_submodule_relative_url: (null) user@host:repo ../subrepo => user@host:subrepo
expecting success of 0060.208 '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 208 - test_submodule_relative_url: (null) user@host:repo ../../subrepo => .:subrepo
expecting success of 0060.209 '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
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: '.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 209 - match .gitmodules
skipping test: is_valid_path() on Windows
test-tool path-utils is_valid_path \
win32 \
"win32 x" \
../hello.txt \
C:\\git \
comm \
conout.c \
com0.c \
lptN \
\
--not \
"win32 " \
"win32 /x " \
"win32." \
"win32 . ." \
.../hello.txt \
colon:test \
"AUX.c" \
"abc/conOut\$ .xyz/test" \
lpt8 \
com9.c \
"lpt*" \
Nul \
"PRN./abc"
ok 210 # skip is_valid_path() on Windows (missing MINGW)
# passed all 210 test(s)
1..210
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t0095-bloom.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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
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
ok 7 - compute bloom key for test string 2
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:0
Filter_Data:
EOF
test-tool bloom get_filter_for_commit "$(git rev-parse HEAD)" >actual &&
test_cmp expect actual
Reinitialized existing Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0095-bloom/.git/
[master (root-commit) 503488c] c0
Author: A U Thor <author@example.com>
ok 8 - get bloom filters for commit with no changes
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
[master 6863ee5] commit with 10 changes
Author: A U Thor <author@example.com>
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 prerequisite: EXPENSIVE
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
test -n "$GIT_TEST_LONG"
)
prerequisite EXPENSIVE not satisfied
skipping test: get bloom filter for commit with 513 changes
rm actual &&
rm expect &&
mkdir bigDir &&
for i in $(test_seq 0 511)
do
echo $i >bigDir/$i
done &&
git add bigDir &&
git commit -m "commit with 513 changes" &&
cat >expect <<-\EOF &&
Filter_Length:0
Filter_Data:
EOF
test-tool bloom get_filter_for_commit "$(git rev-parse HEAD)" >actual &&
test_cmp expect actual
ok 10 # skip get bloom filter for commit with 513 changes (missing EXPENSIVE)
# passed all 10 test(s)
1..10
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t0101-at-syntax.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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 <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 one.t
[master 139b20d] two
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 two.t
ok 1 - setup
expecting success of 0101.2 '@{0} shows current':
check_at @{0} two
ok 2 - @{0} shows current
expecting success of 0101.3 '@{1} shows old':
check_at @{1} one
ok 3 - @{1} shows old
expecting success of 0101.4 '@{now} shows current':
check_at @{now} two
ok 4 - @{now} shows current
expecting success of 0101.5 '@{2001-09-17} (before the first commit) shows old':
check_at @{2001-09-17} one
warning: log for 'master' only goes back to Thu, 7 Apr 2005 15:13:13 -0700
ok 5 - @{2001-09-17} (before the first commit) shows old
expecting success of 0101.6 'silly approxidates work':
check_at @{3.hot.dogs.on.2001-09-17} one
warning: log for 'master' only goes back to Thu, 7 Apr 2005 15:13:13 -0700
ok 6 - silly approxidates work
expecting success of 0101.7 'notice misspelled upstream':
test_must_fail git log -1 --format=%s @{usptream}
fatal: ambiguous argument '@{usptream}': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
ok 7 - notice misspelled upstream
expecting success of 0101.8 'complain about total nonsense':
test_must_fail git log -1 --format=%s @{utter.bogosity}
fatal: ambiguous argument '@{utter.bogosity}': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
ok 8 - complain about total nonsense
# passed all 8 test(s)
1..8
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t0100-previous.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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
Author: A U Thor <author@example.com>
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'.
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 <new-branch-name>
Or undo this operation with:
git switch -
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 <author@example.com>
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 <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 C.t
[detached HEAD 12bd07b] D
Author: A U Thor <author@example.com>
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 C.t
create mode 100644 D.t
Merge branch 'other'
ok 3 - merge @{-1}
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
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
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}
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 '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t0200-gettext-basic.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0200-gettext-basic/.git/
checking prerequisite: C_LOCALE_OUTPUT
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
! test_bool_env GIT_TEST_GETTEXT_POISON false
)
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 0200.1 'sanity: $GIT_INTERNAL_GETTEXT_SH_SCHEME is set (to gnu)':
test -n "$GIT_INTERNAL_GETTEXT_SH_SCHEME"
ok 1 - sanity: $GIT_INTERNAL_GETTEXT_SH_SCHEME is set (to gnu)
expecting success of 0200.2 'sanity: $TEXTDOMAIN is git':
test $TEXTDOMAIN = "git"
ok 2 - sanity: $TEXTDOMAIN is git
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
ok 3 - xgettext sanity: Perl _() strings are not extracted
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
ok 4 - xgettext sanity: Comment extraction with --add-comments
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
ok 5 - xgettext sanity: Comment extraction with --add-comments stops at statements
expecting success of 0200.6 'sanity: $TEXTDOMAINDIR exists without NO_GETTEXT=YesPlease':
test -d "$TEXTDOMAINDIR" &&
test "$TEXTDOMAINDIR" = "$GIT_TEXTDOMAINDIR"
ok 6 - sanity: $TEXTDOMAINDIR exists without NO_GETTEXT=YesPlease
expecting success of 0200.7 'sanity: Icelandic locale was compiled':
test -f "$TEXTDOMAINDIR/is/LC_MESSAGES/git.mo"
ok 7 - sanity: Icelandic locale was compiled
skipping test: 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 <git@vger.kernel.org>" zero-expect &&
grep "Content-Type: text/plain; charset=UTF-8" zero-expect &&
grep "Content-Transfer-Encoding: 8bit" zero-expect
ok 8 # skip sanity: gettext("") metadata is OK (missing GETTEXT_LOCALE)
skipping test: 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
ok 9 # skip sanity: gettext(unknown) is passed through (missing GETTEXT_LOCALE)
skipping test: 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
ok 10 # skip xgettext: C extraction of _() and N_() strings (missing GETTEXT_LOCALE)
skipping test: 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 11 # skip xgettext: C extraction with %s (missing GETTEXT_LOCALE)
skipping test: 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 12 # skip xgettext: Shell extraction (missing GETTEXT_LOCALE)
skipping test: 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 13 # skip xgettext: Shell extraction with $variable (missing GETTEXT_LOCALE)
skipping test: 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
ok 14 # skip xgettext: Perl extraction (missing GETTEXT_LOCALE)
skipping test: 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 15 # skip xgettext: Perl extraction with %s (missing GETTEXT_LOCALE)
skipping test: sanity: Some gettext("") data for real locale
LANGUAGE=is LC_ALL="$is_IS_locale" gettext "" >real-locale &&
test -s real-locale
ok 16 # skip sanity: Some gettext("") data for real locale (missing GETTEXT_LOCALE)
# passed all 16 test(s)
1..16
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t0201-gettext-fallbacks.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0201-gettext-fallbacks/.git/
checking prerequisite: C_LOCALE_OUTPUT
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
! test_bool_env GIT_TEST_GETTEXT_POISON false
)
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"
ok 1 - sanity: $GIT_INTERNAL_GETTEXT_SH_SCHEME is set (to fallthrough)
expecting success of 0201.2 'sanity: $GIT_INTERNAL_GETTEXT_TEST_FALLBACKS is set':
test -n "$GIT_INTERNAL_GETTEXT_TEST_FALLBACKS"
ok 2 - sanity: $GIT_INTERNAL_GETTEXT_TEST_FALLBACKS is set
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
ok 3 - sanity: $GIT_INTERNAL_GETTEXT_SH_SCHEME" is fallthrough
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
ok 4 - gettext: our gettext() fallback has pass-through semantics
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
ok 5 - eval_gettext: our eval_gettext() fallback has pass-through semantics
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
ok 6 - eval_gettext: our eval_gettext() fallback can interpolate variables
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
ok 7 - eval_gettext: our eval_gettext() fallback can interpolate variables with spaces
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
ok 8 - eval_gettext: our eval_gettext() fallback can interpolate variables with spaces and quotes
# passed all 8 test(s)
1..8
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t0110-urlmatch-normalization.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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....:["
ok 2 - url authority
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 3 - url port checks
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 4 - url port normalization
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/?!"
ok 5 - url general escapes
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"
ok 6 - url high-bit escapes
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"
ok 7 - url utf-8 escapes
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/"
ok 8 - url username/password escapes
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
ok 9 - url normalized lengths
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/"
ok 10 - url . and .. segments
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/"
ok 11 - url equivalents
# passed all 11 test(s)
1..11
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t0203-gettext-setlocale-sanity.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0203-gettext-setlocale-sanity/.git/
checking prerequisite: C_LOCALE_OUTPUT
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
! test_bool_env GIT_TEST_GETTEXT_POISON false
)
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 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
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: Áéí óú <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 iso-under-c
ok 1 - git show a ISO-8859-1 commit under C locale
skipping test: 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
ok 2 # skip git show a ISO-8859-1 commit under a UTF-8 locale (missing GETTEXT_LOCALE)
# passed all 2 test(s)
1..2
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t0090-cache-tree.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0090-cache-tree/.git/
expecting success of 0090.1 'initial commit has cache-tree':
test_commit foo &&
test_cache_tree
[master (root-commit) ddd63c9] foo
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 foo.t
ok 1 - initial commit has cache-tree
expecting success of 0090.2 'read-tree HEAD establishes cache-tree':
git read-tree HEAD &&
test_cache_tree
ok 2 - read-tree HEAD establishes cache-tree
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
HEAD is now at ddd63c9 foo
ok 3 - git-add invalidates cache-tree
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
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 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
[master 365c8fc] dir1/a
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 dir1/a.t
[master 8be4607] dir2/b
Author: A U Thor <author@example.com>
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 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
HEAD is now at ddd63c9 foo
ok 6 - update-index invalidates cache-tree
expecting success of 0090.7 'write-tree establishes cache-tree':
test-tool scrap-cache-tree &&
git write-tree &&
test_cache_tree
64fd3796c57084e7b8cbae358ce37970b8e954f6
ok 7 - write-tree establishes cache-tree
expecting success of 0090.8 'test-tool scrap-cache-tree works':
git read-tree HEAD &&
test-tool scrap-cache-tree &&
test_no_cache_tree
ok 8 - test-tool scrap-cache-tree works
expecting success of 0090.9 'second commit has cache-tree':
test_commit bar &&
test_cache_tree
[master eeeeed8] bar
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 bar.t
ok 9 - second commit has cache-tree
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
[master d1075a6] add a file
Author: A U Thor <author@example.com>
1 file changed, 8 insertions(+)
create mode 100644 foo.c
staged unstaged path
1: unchanged +2/-2 foo.c
*** 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 <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
ok 10 - commit --interactive gives cache-tree on partial commit
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 &&
before=$(wc -c <.git/index) &&
git commit -m delete -p &&
after=$(wc -c <.git/index) &&
# double check that the index shrank
test $before -gt $after &&
# and that our index was not corrupted
git fsck
[master 10c383a] add
Author: A U Thor <author@example.com>
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 <author@example.com>
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 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
[master d3413ee] dir/child.t
Author: A U Thor <author@example.com>
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
expecting success of 0090.14 'reset --hard without index gives cache-tree':
rm -f .git/index &&
git reset --hard &&
test_cache_tree
HEAD is now at d3413ee dir/child.t
ok 14 - reset --hard without index gives cache-tree
expecting success of 0090.15 'checkout gives cache-tree':
git tag current &&
git checkout HEAD^ &&
test_cache_tree
Note: switching to 'HEAD^'.
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 <new-branch-name>
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
HEAD is now at 73c66c3 delete
ok 15 - checkout gives cache-tree
expecting success of 0090.16 'checkout -b gives cache-tree':
git checkout current &&
git checkout -b prev HEAD^ &&
test_cache_tree
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 0090.17 'checkout -B gives cache-tree':
git checkout current &&
git checkout -B prev HEAD^ &&
test_cache_tree
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:
git switch -c <new-branch-name>
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
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 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
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:
git switch -c <new-branch-name>
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
HEAD is now at d3413ee dir/child.t
Switched to a new branch 'changes'
[changes 229c856] llamas
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 llamas.t
[changes f10d9f3] pachyderm
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 pachyderm.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:
git switch -c <new-branch-name>
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
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 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
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 <author@example.com>
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:
git switch -c <new-branch-name>
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
HEAD is now at d3413ee dir/child.t
[detached HEAD 5a63c6d] struthio
Author: A U Thor <author@example.com>
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
Warning: you are leaving 1 commit behind, not connected to
any of your branches:
e104fa1 Merge branch 'changes2' into HEAD
If you want to keep it by creating a new branch, this may be a good time
to do so with:
git branch <new-branch-name> e104fa1
Switched to a new branch 'partial'
[partial 6771940] one
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 one.t
[partial cd7fad9] two
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 two.t
[partial f24c7c2] partial
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
ok 20 - partial commit gives cache-tree
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
A newdir/one
M one.t
ok 21 - no phantom error when switching trees
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
)
[partial dc7a831] as-is
Author: A U Thor <author@example.com>
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
# passed all 22 test(s)
1..22
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t0204-gettext-reencode-sanity.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0204-gettext-reencode-sanity/.git/
checking prerequisite: C_LOCALE_OUTPUT
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
! test_bool_env GIT_TEST_GETTEXT_POISON false
)
prerequisite C_LOCALE_OUTPUT ok
# lib-gettext: No is_IS UTF-8 locale available
# lib-gettext: No is_IS ISO-8859-1 locale available
skipping test: 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
ok 1 # skip gettext: Emitting UTF-8 from our UTF-8 *.mo files / Icelandic (missing GETTEXT_LOCALE)
skipping test: 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
ok 2 # skip gettext: Emitting UTF-8 from our UTF-8 *.mo files / Runes (missing GETTEXT_LOCALE)
skipping test: gettext: Emitting ISO-8859-1 from our UTF-8 *.mo files / Icelandic
printf "TILRAUN: Halló Heimur!" | iconv -f UTF-8 -t ISO8859-1 >expect &&
LANGUAGE=is LC_ALL="$is_IS_iso_locale" gettext "TEST: Hello World!" >actual &&
test_cmp expect actual
ok 3 # skip gettext: Emitting ISO-8859-1 from our UTF-8 *.mo files / Icelandic (missing GETTEXT_ISO_LOCALE)
skipping test: gettext: impossible ISO-8859-1 output
LANGUAGE=is LC_ALL="$is_IS_iso_locale" gettext "$MSGKEY" >runes &&
case "$(cat runes)" in
"$MSGKEY")
say "Your system gives back the key to message catalog"
;;
"$PUNTS")
say "Your system replaces an impossible character with ?"
;;
"$RUNES")
say "Your system gives back the raw message for an impossible request"
;;
*)
say "We never saw the error behaviour your system exhibits"
false
;;
esac
ok 4 # skip gettext: impossible ISO-8859-1 output (missing GETTEXT_ISO_LOCALE)
skipping test: 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 # skip gettext: Fetching a UTF-8 msgid -> UTF-8 (missing GETTEXT_LOCALE)
skipping test: gettext: Fetching a UTF-8 msgid -> ISO-8859-1
LANGUAGE=is LC_ALL="$is_IS_iso_locale" gettext "TEST: ‘single’ and “double” quotes" >actual &&
grep "einfaldar" actual &&
grep "$(echo tvöfaldar | iconv -f UTF-8 -t ISO8859-1)" actual
ok 6 # skip gettext: Fetching a UTF-8 msgid -> ISO-8859-1 (missing GETTEXT_ISO_LOCALE)
skipping test: 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
ok 7 # skip gettext.c: git init UTF-8 -> UTF-8 (missing GETTEXT_LOCALE)
skipping test: gettext.c: git init UTF-8 -> ISO-8859-1
printf "Bjó til tóma Git lind" >expect &&
LANGUAGE=is LC_ALL="$is_IS_iso_locale" git init repo >actual &&
test_when_finished "rm -rf repo" &&
grep "^$(cat expect | iconv -f UTF-8 -t ISO8859-1) " actual
ok 8 # skip gettext.c: git init UTF-8 -> ISO-8859-1 (missing GETTEXT_ISO_LOCALE)
# passed all 8 test(s)
1..8
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t0202-gettext-perl.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0202-gettext-perl/.git/
checking prerequisite: C_LOCALE_OUTPUT
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
! test_bool_env GIT_TEST_GETTEXT_POISON false
)
prerequisite C_LOCALE_OUTPUT ok
# lib-gettext: No is_IS UTF-8 locale available
# lib-gettext: No is_IS ISO-8859-1 locale available
# run 0: Perl Git::I18N API (perl /<<PKGBUILDDIR>>/t/t0202/test.pl)
1..13
ok 1 - Testing Git::I18N with NO Perl gettext library
ok 2 - Git::I18N is located at /<<PKGBUILDDIR>>/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: __n has a $$$ prototype
ok 7 - sanity: __ 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 # skip GETTEXT_LOCALE must be set by lib-gettext.sh for exhaustive Git::I18N tests
ok 13 # skip GETTEXT_LOCALE must be set by lib-gettext.sh for exhaustive Git::I18N tests
# 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 '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t0205-gettext-poison.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0205-gettext-poison/.git/
checking prerequisite: C_LOCALE_OUTPUT
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
! test_bool_env GIT_TEST_GETTEXT_POISON false
)
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"
ok 1 - sanity: $GIT_INTERNAL_GETTEXT_SH_SCHEME" is poison
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
ok 2 - gettext: our gettext() fallback has poison semantics
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
ok 3 - eval_gettext: our eval_gettext() fallback has poison semantics
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
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
# passed all 4 test(s)
1..4
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t0211-trace2-perf.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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" <trace.perf >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" <trace.perf >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 2 - perf stream, return code 1
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" <trace.perf >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
error: hello world
error: this is a test
ok 3 - perf stream, error event
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" <trace.perf >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 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" <trace.perf >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 5 - using global config, perf stream, return code 0
# passed all 5 test(s)
1..5
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t0210-trace2-normal.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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" <trace.normal >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 1 - normal stream, return code 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" <trace.normal >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 2 - normal stream, return code 1
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 3 - automatic filename
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" <trace.normal >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 4 - normal stream, exit code 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" <trace.normal >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 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" <trace.normal >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
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" <trace.normal >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 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" <trace.normal >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 8 - using global config with include
# passed all 8 test(s)
1..8
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t0212-trace2-event.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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" <trace.event >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 1 - event stream, error event
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" <trace.event >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
ok 2 - event stream, return code 0
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" <trace.event >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
ok 3 - event stream, list config
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" <trace.event >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
ok 4 - event stream, list env vars
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" <trace.event >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" <trace.event >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":"20200612T063135.558235Z-H8ca3ff43-P00005f32","thread":"main","time":"2020-06-12T06:31:35.559549Z","file":"common-main.c","line":48,"evt":"2","exe":"2.27.0"}
{"event":"too_many_files","sid":"20200612T063135.558235Z-H8ca3ff43-P00005f32","thread":"main","time":"2020-06-12T06:31:35.559803Z","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 '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t0300-credentials.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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
write_script git-credential-useless <<-\EOF &&
. ./dump
exit 0
EOF
write_script git-credential-quit <<-\EOF &&
. ./dump
echo quit=1
EOF
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
PATH="$PWD:$PATH"
ok 1 - setup helper scripts
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
checking prerequisite: C_LOCALE_OUTPUT
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
! test_bool_env GIT_TEST_GETTEXT_POISON false
)
prerequisite C_LOCALE_OUTPUT ok
ok 2 - credential_fill invokes helper
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
ok 3 - credential_fill invokes multiple helpers
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
ok 4 - credential_fill stops when we get a full response
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
ok 5 - credential_fill continues through partial response
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
ok 6 - credential_fill passes along metadata
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
ok 7 - credential_approve calls all helpers
expecting success of 0300.8 'do not bother storing password-less credential':
check approve useless <<-\EOF
protocol=http
host=example.com
username=foo
--
--
EOF
ok 8 - do not bother storing password-less credential
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
ok 9 - credential_reject calls all helpers
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 10 - usernames can be preserved
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
ok 11 - usernames can be overridden
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 12 - do not bother completing already-full credential
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
ok 13 - empty helper list falls back to internal getpass
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
ok 14 - internal getpass does not ask for known username
expecting success of 0300.15 '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
ok 15 - respect configured credentials
expecting success of 0300.16 '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
ok 16 - match configured credential
expecting success of 0300.17 '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
ok 17 - do not match configured credential
expecting success of 0300.18 '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
ok 18 - match multiple configured helpers
expecting success of 0300.19 '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 19 - match multiple configured helpers with URLs
expecting success of 0300.20 '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
ok 20 - match percent-encoded values
expecting success of 0300.21 '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
ok 21 - match percent-encoded UTF-8 values in path
expecting success of 0300.22 '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
ok 22 - match percent-encoded values in username
expecting success of 0300.23 '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
ok 23 - fetch with multiple path components
expecting success of 0300.24 '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 24 - pull username from config
expecting success of 0300.25 '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
ok 25 - honors username from URL over helper (URL)
expecting success of 0300.26 '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
ok 26 - honors username from URL over helper (components)
expecting success of 0300.27 '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
ok 27 - last matching username wins
expecting success of 0300.28 '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
ok 28 - http paths can be part of context
expecting success of 0300.29 '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 29 - context uses urlmatch
expecting success of 0300.30 '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
ok 30 - helpers can abort the process
expecting success of 0300.31 '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
ok 31 - empty helper spec resets helper list
expecting success of 0300.32 '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
ok 32 - url parser rejects embedded newlines
expecting success of 0300.33 '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
ok 33 - host-less URLs are parsed as empty host
expecting success of 0300.34 '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
ok 34 - credential system refuses to work with missing host
expecting success of 0300.35 '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
ok 35 - credential system refuses to work with missing protocol
expecting success of 0300.36 'url parser handles bare query marker':
check_host_and_path https://example.com?foo.git example.com ?foo.git
ok 36 - url parser handles bare query marker
expecting success of 0300.37 'url parser handles bare fragment marker':
check_host_and_path https://example.com#foo.git example.com "#foo.git"
ok 37 - url parser handles bare fragment marker
expecting success of 0300.38 'url parser not confused by encoded markers':
check_host_and_path https://example.com%23%3f%2f/foo.git \
"example.com#?/" foo.git
ok 38 - url parser not confused by encoded markers
expecting success of 0300.39 '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 <stdin >stdout &&
grep yep stdout ||
return 1
done &&
for partial in \
dont.use.this \
http:// \
/repo
do
git -c credential.$partial.helper=yep \
credential fill <stdin >stdout &&
! grep yep stdout ||
return 1
done &&
git -c credential.$partial.helper=yep \
-c credential.with%0anewline.username=uh-oh \
credential fill <stdin >stdout 2>stderr &&
test_i18ngrep "skipping credential lookup for key" stderr
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 39 - credential config with partial URLs
# passed all 39 test(s)
1..39
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t0303-credential-external.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0303-credential-external/.git/
1..0 # SKIP used to test external credential helpers
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t0301-credential-cache.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
! test_bool_env GIT_TEST_GETTEXT_POISON false
)
prerequisite C_LOCALE_OUTPUT ok
ok 1 - helper (cache) has no existing data
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 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
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
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 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 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
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
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
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 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"
ok 13 - socket defaults to ~/.cache/git/credential/socket
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
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 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
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
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
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 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
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 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
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 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
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 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 26 - use custom XDG_CACHE_HOME if set and default sockets are not created
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 -S "$HOME/dir/socket"
ok 27 - credential-cache --socket option overrides default location
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
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
test -S "$XDG_CACHE_HOME/git/credential/socket"
ok 28 - use custom XDG_CACHE_HOME even if xdg socket exists
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
test -S "$HOME/.git-credential-cache/socket"
ok 29 - use user socket if user directory exists
checking prerequisite: SYMLINKS
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
# test whether the filesystem supports symbolic links
ln -s x y && test -h y
)
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
test -S "$HOME/.git-credential-cache/socket"
ok 30 - use user socket if user directory is a symlink to a directory
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
# passed all 31 test(s)
1..31
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t0500-progress-display.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0500-progress-display/.git/
expecting success of 0500.1 'simple progress display':
cat >expect <<-\EOF &&
Working hard: 1<CR>
Working hard: 2<CR>
Working hard: 5<CR>
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" <in 2>stderr &&
show_cr <stderr >out &&
test_i18ncmp expect out
checking prerequisite: C_LOCALE_OUTPUT
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
! test_bool_env GIT_TEST_GETTEXT_POISON false
)
prerequisite C_LOCALE_OUTPUT ok
ok 1 - simple progress display
expecting success of 0500.2 'progress display with total':
cat >expect <<-\EOF &&
Working hard: 33% (1/3)<CR>
Working hard: 66% (2/3)<CR>
Working hard: 100% (3/3)<CR>
Working hard: 100% (3/3), done.
EOF
cat >in <<-\EOF &&
progress 1
progress 2
progress 3
EOF
test-tool progress --total=3 "Working hard" <in 2>stderr &&
show_cr <stderr >out &&
test_i18ncmp expect out
ok 2 - progress display with total
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)<CR>
Working hard.......2.........3.........4.........5.........6: 1% (1000/100000)<CR>
Working hard.......2.........3.........4.........5.........6: Z
10% (10000/100000)<CR>
100% (100000/100000)<CR>
100% (100000/100000), done.
EOF
cat >in <<-\EOF &&
progress 100
progress 1000
progress 10000
progress 100000
EOF
test-tool progress --total=100000 \
"Working hard.......2.........3.........4.........5.........6" \
<in 2>stderr &&
show_cr <stderr >out &&
test_i18ncmp expect out
ok 3 - progress display breaks long lines #1
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)<CR>
Working hard.......2.........3.........4.........5.........6: 0% (2/100000)<CR>
Working hard.......2.........3.........4.........5.........6: Z
10% (10000/100000)<CR>
100% (100000/100000)<CR>
100% (100000/100000), done.
EOF
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" \
<in 2>stderr &&
show_cr <stderr >out &&
test_i18ncmp expect out
ok 4 - progress display breaks long lines #2
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)<CR>
50% (50000/100000)<CR>
75% (75000/100000)<CR>
100% (100000/100000)<CR>
100% (100000/100000), done.
EOF
cat >in <<-\EOF &&
progress 25000
progress 50000
progress 75000
progress 100000
EOF
test-tool progress --total=100000 \
"Working hard.......2.........3.........4.........5.........6" \
<in 2>stderr &&
show_cr <stderr >out &&
test_i18ncmp expect out
ok 5 - progress display breaks long lines #3 - even the first is too long
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)<CR>
50% (50000/100000)<CR>
75% (75000/100000)<CR>
100% (100000/100000)<CR>
100% (100000/100000), done.
EOF
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........." \
<in 2>stderr &&
show_cr <stderr >out &&
test_i18ncmp expect out
ok 6 - progress display breaks long lines #4 - title line matches terminal width
expecting success of 0500.7 'progress shortens - crazy caller':
cat >expect <<-\EOF &&
Working hard: 10% (100/1000)<CR>
Working hard: 20% (200/1000)<CR>
Working hard: 0% (1/1000) <CR>
Working hard: 100% (1000/1000)<CR>
Working hard: 100% (1000/1000), done.
EOF
cat >in <<-\EOF &&
progress 100
progress 200
progress 1
progress 1000
EOF
test-tool progress --total=1000 "Working hard" <in 2>stderr &&
show_cr <stderr >out &&
test_i18ncmp expect out
ok 7 - progress shortens - crazy caller
expecting success of 0500.8 'progress display with throughput':
cat >expect <<-\EOF &&
Working hard: 10<CR>
Working hard: 20, 200.00 KiB | 100.00 KiB/s<CR>
Working hard: 30, 300.00 KiB | 100.00 KiB/s<CR>
Working hard: 40, 400.00 KiB | 100.00 KiB/s<CR>
Working hard: 40, 400.00 KiB | 100.00 KiB/s, done.
EOF
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" <in 2>stderr &&
show_cr <stderr >out &&
test_i18ncmp expect out
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)<CR>
Working hard: 50% (20/40), 200.00 KiB | 100.00 KiB/s<CR>
Working hard: 75% (30/40), 300.00 KiB | 100.00 KiB/s<CR>
Working hard: 100% (40/40), 400.00 KiB | 100.00 KiB/s<CR>
Working hard: 100% (40/40), 400.00 KiB | 100.00 KiB/s, done.
EOF
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" <in 2>stderr &&
show_cr <stderr >out &&
test_i18ncmp expect out
ok 9 - progress display with throughput and total
expecting success of 0500.10 'cover up after throughput shortens':
cat >expect <<-\EOF &&
Working hard: 1<CR>
Working hard: 2, 800.00 KiB | 400.00 KiB/s<CR>
Working hard: 3, 1.17 MiB | 400.00 KiB/s <CR>
Working hard: 4, 1.56 MiB | 400.00 KiB/s<CR>
Working hard: 4, 1.56 MiB | 400.00 KiB/s, done.
EOF
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" <in 2>stderr &&
show_cr <stderr >out &&
test_i18ncmp expect out
ok 10 - cover up after throughput shortens
expecting success of 0500.11 'cover up after throughput shortens a lot':
cat >expect <<-\EOF &&
Working hard: 1<CR>
Working hard: 2, 1000.00 KiB | 1000.00 KiB/s<CR>
Working hard: 3, 3.00 MiB | 1.50 MiB/s <CR>
Working hard: 3, 3.00 MiB | 1024.00 KiB/s, done.
EOF
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" <in 2>stderr &&
show_cr <stderr >out &&
test_i18ncmp expect out
ok 11 - cover up after throughput shortens a lot
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
GIT_TRACE2_EVENT="$(pwd)/trace.event" test-tool progress --total=40 \
"Working hard" <in 2>stderr &&
# 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
{"event":"region_enter","sid":"20200612T063142.670968Z-H8ca3ff43-P000069d9","thread":"main","time":"2020-06-12T06:31:42.672264Z","file":"progress.c","line":268,"repo":0,"nesting":1,"category":"progress","label":"Working hard"}
{"event":"data","sid":"20200612T063142.670968Z-H8ca3ff43-P000069d9","thread":"main","time":"2020-06-12T06:31:42.673194Z","file":"progress.c","line":325,"repo":0,"t_abs":0.004669,"t_rel":0.000928,"nesting":2,"category":"progress","key":"total_objects","value":"40"}
{"event":"data","sid":"20200612T063142.670968Z-H8ca3ff43-P000069d9","thread":"main","time":"2020-06-12T06:31:42.673339Z","file":"progress.c","line":329,"repo":0,"t_abs":0.004829,"t_rel":0.001088,"nesting":2,"category":"progress","key":"total_bytes","value":"409600"}
{"event":"region_leave","sid":"20200612T063142.670968Z-H8ca3ff43-P000069d9","thread":"main","time":"2020-06-12T06:31:42.673504Z","file":"progress.c","line":333,"repo":0,"t_rel":0.001238,"nesting":1,"category":"progress","label":"Working hard"}
{"event":"region_enter","sid":"20200612T063142.670968Z-H8ca3ff43-P000069d9","thread":"main","time":"2020-06-12T06:31:42.672264Z","file":"progress.c","line":268,"repo":0,"nesting":1,"category":"progress","label":"Working hard"}
{"event":"data","sid":"20200612T063142.670968Z-H8ca3ff43-P000069d9","thread":"main","time":"2020-06-12T06:31:42.673194Z","file":"progress.c","line":325,"repo":0,"t_abs":0.004669,"t_rel":0.000928,"nesting":2,"category":"progress","key":"total_objects","value":"40"}
{"event":"data","sid":"20200612T063142.670968Z-H8ca3ff43-P000069d9","thread":"main","time":"2020-06-12T06:31:42.673339Z","file":"progress.c","line":329,"repo":0,"t_abs":0.004829,"t_rel":0.001088,"nesting":2,"category":"progress","key":"total_bytes","value":"409600"}
{"event":"region_leave","sid":"20200612T063142.670968Z-H8ca3ff43-P000069d9","thread":"main","time":"2020-06-12T06:31:42.673504Z","file":"progress.c","line":333,"repo":0,"t_rel":0.001238,"nesting":1,"category":"progress","label":"Working hard"}
{"event":"data","sid":"20200612T063142.670968Z-H8ca3ff43-P000069d9","thread":"main","time":"2020-06-12T06:31:42.673194Z","file":"progress.c","line":325,"repo":0,"t_abs":0.004669,"t_rel":0.000928,"nesting":2,"category":"progress","key":"total_objects","value":"40"}
{"event":"data","sid":"20200612T063142.670968Z-H8ca3ff43-P000069d9","thread":"main","time":"2020-06-12T06:31:42.673339Z","file":"progress.c","line":329,"repo":0,"t_abs":0.004829,"t_rel":0.001088,"nesting":2,"category":"progress","key":"total_bytes","value":"409600"}
ok 12 - progress generates traces
# passed all 12 test(s)
1..12
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t0302-credential-store.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
! test_bool_env GIT_TEST_GETTEXT_POISON false
)
prerequisite C_LOCALE_OUTPUT ok
ok 1 - helper (store) has no existing data
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 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 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 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 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 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 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 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 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 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 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 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"
ok 13 - when xdg file does not exist, xdg file not created
expecting success of 0302.14 'setup xdg file':
rm -f "$HOME/.git-credentials" &&
mkdir -p "$HOME/.config/git" &&
>"$HOME/.config/git/credentials"
ok 14 - setup xdg file
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 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 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 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 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 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 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 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 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 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 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 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 0302.27 'when xdg file exists, home file not created':
test -s "$HOME/.config/git/credentials" &&
test_path_is_missing "$HOME/.git-credentials"
ok 27 - when xdg file exists, home file not created
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 28 - setup custom xdg file
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 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
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 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
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 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
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 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
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 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
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 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
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"
ok 41 - if custom xdg file exists, home and xdg files not created
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
ok 42 - get: use home file if both home and xdg files have matches
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
ok 43 - get: use xdg file if home file has no matches
checking prerequisite: SANITY
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
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 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 44 - get: use xdg file if home file is unreadable
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 45 - store: if both xdg and home files exist, only store in home file
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 46 - erase: erase matching credentials from both xdg and home files
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 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 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 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
ok 50 - get: credentials with DOS line endings are invalid
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
ok 51 - get: credentials with path and DOS line endings are valid
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
ok 52 - get: credentials with DOS line endings are invalid if path is relevant
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 53 - get: store file can contain empty/bogus lines
# passed all 53 test(s)
1..53
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t1001-read-tree-m-2way.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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 &&
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 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
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 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
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 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
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 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
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 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
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 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
error: Entry 'frotz' would be overwritten by merge. Cannot merge.
ok 7 - 8 - conflicting addition.
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
error: Entry 'frotz' would be overwritten by merge. Cannot merge.
ok 8 - 9 - conflicting addition.
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
100644 346d4e61f111336a1443ef6b2e834aa5b1a7f91a 0 bozbar
100644 8e4020bb5a8d8c873b25de15933e75cc0fc275df 0 frotz
100644 dca6b92303befc93086aa025d90a5facd7eb2812 0 nitfol
ok 9 - 10 - path removed.
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
error: Entry 'rezrov' not uptodate. Cannot merge.
ok 10 - 11 - dirty path removed.
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
error: Entry 'rezrov' would be overwritten by merge. Cannot merge.
ok 11 - 12 - unmatching local changes being removed.
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
error: Entry 'rezrov' would be overwritten by merge. Cannot merge.
ok 12 - 13 - unmatching local changes being removed.
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
100644 346d4e61f111336a1443ef6b2e834aa5b1a7f91a 0 bozbar
100644 8e4020bb5a8d8c873b25de15933e75cc0fc275df 0 frotz
100644 7e1bf714fb103c778a21dd67411666901222425a 0 nitfol
nitfol: clean
ok 13 - 14 - unchanged in two heads.
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
100644 346d4e61f111336a1443ef6b2e834aa5b1a7f91a 0 bozbar
100644 8e4020bb5a8d8c873b25de15933e75cc0fc275df 0 frotz
100644 7e1bf714fb103c778a21dd67411666901222425a 0 nitfol
nitfol: dirty
ok 14 - 15 - unchanged in two heads.
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
error: Entry 'bozbar' would be overwritten by merge. Cannot merge.
ok 15 - 16 - conflicting local change.
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
error: Entry 'bozbar' would be overwritten by merge. Cannot merge.
ok 16 - 17 - conflicting local change.
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
100644 346d4e61f111336a1443ef6b2e834aa5b1a7f91a 0 bozbar
100644 8e4020bb5a8d8c873b25de15933e75cc0fc275df 0 frotz
100644 dca6b92303befc93086aa025d90a5facd7eb2812 0 nitfol
bozbar: clean
ok 17 - 18 - local change already having a good result.
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
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
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 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
error: Entry 'bozbar' not uptodate. Cannot merge.
ok 20 - 21 - no local change, dirty cache.
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
error: Entry 'bozbar' would be overwritten by merge. Cannot merge.
ok 21 - 22 - local change cache updated.
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 &&
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 22 - DF vs DF/DF case setup.
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 &&
:
100644 b90ea14b2dd74b6f377c10870b3757344bbe077c 0 DF/DF
DF/DF: dirty
ok 23 - DF vs DF/DF case test.
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 &&
rm -f a &&
git update-index --remove a &&
mkdir a &&
: >a/b &&
treeH=$(git write-tree) &&
echo treeH $treeH &&
git ls-tree $treeH
treeM 496d6428b9cf92981dc9495211e6e1120fb6f2ba
100644 blob e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 a
treeH 4b825dc642cb6eb9a060e54bf8d69288fbee4904
ok 24 - a/b (untracked) vs a case setup.
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
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.
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
ok 26 - read-tree supports the super-prefix
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 &&
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
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 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 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
[master (root-commit) 6b49dbf] test for correct modified tree
Author: A U Thor <author@example.com>
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 785247e] B
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
ok 29 - -m references the correct modified tree
# passed all 29 test(s)
1..29
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t1000-read-tree-m-3way.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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 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
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 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
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 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
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 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
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 1000.10 'adding test file SS': git update-index --add SS
ok 10 - adding test file SS
expecting success of 1000.11 'adding test file TT': git update-index --add TT
ok 11 - adding test file TT
expecting success of 1000.12 'prepare initial tree': tree_O=$(git write-tree)
ok 12 - prepare initial tree
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 1000.14 'change in branch A (modification)': git update-index MD
ok 14 - change in branch A (modification)
expecting success of 1000.15 'change in branch A (modification)': git update-index MM
ok 15 - change in branch A (modification)
expecting success of 1000.16 'change in branch A (modification)': git update-index MN
ok 16 - change in branch A (modification)
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 1000.18 'change in branch A (modification)': git update-index Z/MM
ok 18 - change in branch A (modification)
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 1000.20 'change in branch A (addition)': git update-index --add AN
ok 20 - change in branch A (addition)
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 1000.22 'change in branch A (addition)': git update-index --add Z/AN
ok 22 - change in branch A (addition)
expecting success of 1000.23 'change in branch A (addition)': git update-index --add Z/AA
ok 23 - change in branch A (addition)
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 1000.25 'change in branch A (edit)': git update-index TT
ok 25 - change in branch A (edit)
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 1000.27 'recording branch A tree': tree_A=$(git write-tree)
ok 27 - recording branch A tree
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 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)
expecting success of 1000.30 'change in branch B (modification)': git update-index DM
ok 30 - change in branch B (modification)
expecting success of 1000.31 'change in branch B (modification)': git update-index MM
ok 31 - change in branch B (modification)
expecting success of 1000.32 'change in branch B (modification)': git update-index NM
ok 32 - change in branch B (modification)
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 1000.34 'change in branch B (modification)': git update-index Z/MM
ok 34 - change in branch B (modification)
expecting success of 1000.35 'change in branch B (modification)': git update-index Z/NM
ok 35 - change in branch B (modification)
expecting success of 1000.36 'change in branch B (addition)': git update-index --add NA
ok 36 - change in branch B (addition)
expecting success of 1000.37 'change in branch B (addition)': git update-index --add AA
ok 37 - change in branch B (addition)
expecting success of 1000.38 'change in branch B (addition)': git update-index --add Z/NA
ok 38 - change in branch B (addition)
expecting success of 1000.39 'change in branch B (addition)': git update-index --add Z/AA
ok 39 - change in branch B (addition)
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)
expecting success of 1000.41 'change in branch B (modification)': git update-index TT
ok 41 - change in branch B (modification)
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)
expecting success of 1000.43 'recording branch B tree': tree_B=$(git write-tree)
ok 43 - recording branch B tree
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
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
ok 45 - 3-way merge with git read-tree -m, empty cache
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
ok 46 - 3-way merge with git read-tree -m, match H
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
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.
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
ok 48 - 2 - must match B in !O && !A && B case.
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
ok 49 - 2 - matching B alone is OK in !O && !A && B case.
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
ok 50 - 3 - must match A in !O && A && !B case.
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
ok 51 - 3 - matching A alone is OK in !O && A && !B case.
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
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 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
ok 53 - 4 - must match and be up-to-date in !O && A && B && A!=B case.
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
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 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
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 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
ok 56 - 5 - must match in !O && A && B && A==B case.
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
ok 57 - 5 - must match in !O && A && B && A==B case.
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
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 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
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 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
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 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
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
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 62 - 9 - must match and be up-to-date in O && A && !B && O!=A case
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
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 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
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 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 65 - 10 - must match and be up-to-date in O && A && !B && O==A case
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
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 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
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 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 68 - 11 - must match and be up-to-date in O && A && B && O!=A && O!=B && A!=B case
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
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 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
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 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
ok 71 - 12 - must match A in O && A && B && O!=A && A==B case
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
ok 72 - 12 - must match A in O && A && B && O!=A && A==B case
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
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 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
ok 74 - 13 - must match A in O && A && B && O!=A && O==B case
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 75 - 13 - must match A in O && A && B && O!=A && O==B case
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 76 - 14 - must match and be up-to-date in O && A && B && O==A && O!=B case
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 77 - 14 - may match B in O && A && B && O==A && O!=B case
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
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
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
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
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 80 - 15 - must match A in O && A && B && O==A && O==B case
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
ok 81 - 15 - must match A in O && A && B && O==A && O==B case
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
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 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
100644 ecbec6db011caa3ae26739812f092f76875fe6b6 2 F16
100644 bcf4afda2c30299bf6538240d40bcb8fb3857691 3 F16
ok 83 - 16 - A matches in one and B matches in another.
# passed all 83 test(s)
1..83
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t1003-read-tree-prefix.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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
tree is 700196ec4e5b1c75e9f5481e5b545d78533ff917
ok 1 - setup
expecting success of 1003.2 'read-tree --prefix':
git read-tree --prefix=two/ $tree &&
git ls-files >actual &&
cmp expect actual
ok 2 - read-tree --prefix
# passed all 2 test(s)
1..2
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t1004-read-tree-m-u-wf.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1004-read-tree-m-u-wf/.git/
expecting success of 1004.1 'two-way setup':
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 &&
git branch side &&
git tag -f branch-point &&
echo file2 is not tracked on the master anymore &&
rm -f file2 subdir/file2 &&
git update-index --remove file2 subdir/file2 &&
git commit -a -m "master removes file2 and subdir/file2"
[master (root-commit) abe2798] initial
Author: A U Thor <author@example.com>
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 anymore
[master 2707895] master removes file2 and subdir/file2
Author: A U Thor <author@example.com>
2 files changed, 2 deletions(-)
delete mode 100644 file2
delete mode 100644 subdir/file2
ok 1 - two-way setup
expecting success of 1004.2 'two-way not clobbering':
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
happy to see error: Untracked working tree file 'file2' would be overwritten by merge.
ok 2 - two-way not clobbering
expecting success of 1004.3 'two-way with incorrect --exclude-per-directory (1)':
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
happy to see fatal: --exclude-per-directory is meaningless unless -u
ok 3 - two-way with incorrect --exclude-per-directory (1)
expecting success of 1004.4 'two-way with incorrect --exclude-per-directory (2)':
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
happy to see fatal: more than one --exclude-per-directory given.
ok 4 - two-way with incorrect --exclude-per-directory (2)
expecting success of 1004.5 'two-way clobbering a ignored file':
read_tree_u_must_succeed -m -u --exclude-per-directory=.gitignore master side
ok 5 - two-way clobbering a ignored file
expecting success of 1004.6 'three-way not complaining on an untracked path in both':
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" &&
git checkout master &&
echo >file2 file two is untracked on the master side &&
echo >subdir/file2 file two is untracked on the master side &&
read_tree_u_must_succeed -m -u branch-point master side
Switched to branch 'side'
D file2
D subdir/file2
[side e6163fd] side adds file3 and removes file2
Author: A U Thor <author@example.com>
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 1004.7 'three-way not clobbering a working tree file':
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
HEAD is now at 2707895 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 1004.8 'three-way not complaining on an untracked file':
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 &&
read_tree_u_must_succeed -m -u --exclude-per-directory=.gitignore branch-point master side
HEAD is now at 2707895 master removes file2 and subdir/file2
Already on 'master'
ok 8 - three-way not complaining on an untracked file
expecting success of 1004.9 '3-way not overwriting local changes (setup)':
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
HEAD is now at 2707895 master removes file2 and subdir/file2
Switched to a new branch 'side-a'
[side-a f2fcf7b] side-a changes file1
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
Switched to a new branch 'side-b'
[side-b a59de97] side-b changes file2
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
Switched to branch 'side-a'
ok 9 - 3-way not overwriting local changes (setup)
expecting success of 1004.10 '3-way not overwriting local changes (our side)':
# At this point, file1 from side-a should be kept as side-b
# did not touch it.
git reset --hard &&
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
HEAD is now at f2fcf7b 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 1004.11 '3-way not overwriting local changes (their side)':
# At this point, file2 from side-b should be taken as side-a
# did not touch it.
git reset --hard &&
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
HEAD is now at f2fcf7b 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 1004.12 'funny symlink in work tree':
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" &&
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" &&
read_tree_u_must_succeed -m -u sym-a sym-a sym-b
HEAD is now at f2fcf7b side-a changes file1
Switched to a new branch 'sym-b'
[sym-b 17bf174] side adds a/b
Author: A U Thor <author@example.com>
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 a/b
Switched to a new branch 'sym-a'
checking prerequisite: SYMLINKS
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
# test whether the filesystem supports symbolic links
ln -s x y && test -h y
)
prerequisite SYMLINKS ok
[sym-a b9a5ab5] we add a/b
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 120000 a/b
ok 12 - funny symlink in work tree
checking prerequisite: SANITY
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
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 1004.13 'funny symlink in work tree, un-unlink-able':
test_when_finished "chmod u+w a 2>/dev/null; rm -fr a b" &&
rm -fr a b &&
git reset --hard &&
git checkout sym-a &&
chmod a-w a &&
test_must_fail git read-tree -m -u sym-a sym-a sym-b
HEAD is now at b9a5ab5 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
expecting success of 1004.14 'D/F setup':
git reset --hard &&
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"
HEAD is now at b9a5ab5 we add a/b
Switched to branch 'side-a'
[side-a ff466af] side-a changes file2 to directory
Author: A U Thor <author@example.com>
2 files changed, 1 insertion(+), 1 deletion(-)
delete mode 100644 subdir/file2
create mode 100644 subdir/file2/another
ok 14 - D/F setup
expecting success of 1004.15 'D/F':
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 'side-b'
ok 15 - D/F
expecting success of 1004.16 'D/F resolve':
git reset --hard &&
git checkout side-b &&
git merge-resolve branch-point -- side-b side-a
warning: unable to unlink 'subdir/file2/another': Not a directory
HEAD is now at a59de97 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
expecting success of 1004.17 'D/F recursive':
git reset --hard &&
git checkout side-b &&
git merge-recursive branch-point -- side-b side-a
HEAD is now at a59de97 side-b changes file2
Already on 'side-b'
Merging side-b with side-a
Merging:
a59de97 side-b changes file2
ff466af side-a changes file2 to directory
found 1 common ancestor:
abe2798 initial
Adding subdir/file2/another
Removing subdir/file2 to make room for subdirectory
Removing subdir/file2
ok 17 - D/F recursive
# passed all 17 test(s)
1..17
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t1002-read-tree-m-u-2way.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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 &&
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 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.
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 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 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 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 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.
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 9 - 10 - path removed.
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 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 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 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.
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 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.
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 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
bozbar: clean
ok 17 - 18 - local change already having a good result.
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.
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
bozbar: clean
ok 19 - 20 - no local change, use new 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.
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 &&
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 '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t1005-read-tree-reset.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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
Reinitialized existing Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1005-read-tree-reset/.git/
[master (root-commit) 62eb1a4] one
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 df/file
[master fc9e9b8] two
Author: A U Thor <author@example.com>
2 files changed, 1 insertion(+)
rename df/file => df (100%)
create mode 100644 new
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
ok 2 - reset should work
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
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 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
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
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
100644 d95f3ad14dee633a758d2e331151e950dd13e4ed 0 df
100644 d95f3ad14dee633a758d2e331151e950dd13e4ed 0 new
100644 d95f3ad14dee633a758d2e331151e950dd13e4ed 1 old
100644 d95f3ad14dee633a758d2e331151e950dd13e4ed 3 old
HEAD is now at fc9e9b8 two
ok 5 - Porcelain reset should remove remnants too
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
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
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
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 7 test(s)
1..7
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t0410-partial-clone.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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
Initialized empty Git repository in /<<PKGBUILDDIR>>/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 0410.2 'missing reflog object, but promised by a commit, passes fsck':
rm -rf repo &&
test_create_repo repo &&
test_commit -C repo my_commit &&
A=$(git -C repo commit-tree -m a HEAD^{tree}) &&
C=$(git -C repo commit-tree -m c -p $A HEAD^{tree}) &&
# 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" &&
# State that we got $C, which refers to $A, from promisor
printf "$C\n" | pack_as_from_promisor &&
# Normally, it fails
test_must_fail git -C repo fsck &&
# 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
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0410-partial-clone/repo/.git/
[master (root-commit) f875b73] my_commit
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 my_commit.t
738adde9f5fe99553a2e3813bb92cbbbdef79ef1
error: refs/heads/my_branch: invalid reflog entry 31566d0be6253fd37a1ef5087a6d3933a45883a0
error: refs/heads/my_branch: invalid reflog entry 31566d0be6253fd37a1ef5087a6d3933a45883a0
dangling commit 4a7ce5332e0d121c1ab9428e15a83f4bb770acd7
dangling commit 4a7ce5332e0d121c1ab9428e15a83f4bb770acd7
ok 2 - missing reflog object, but promised by a commit, passes fsck
expecting success of 0410.3 'missing reflog object, but promised by a tag, passes fsck':
rm -rf repo &&
test_create_repo repo &&
test_commit -C repo my_commit &&
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 &&
# 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" &&
# State that we got $T, which refers to $A, from promisor
printf "$T\n" | pack_as_from_promisor &&
git -C repo config core.repositoryformatversion 1 &&
git -C repo config extensions.partialclone "arbitrary string" &&
git -C repo fsck
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0410-partial-clone/repo/.git/
[master (root-commit) 4ce2b9b] my_commit
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 my_commit.t
Deleted tag 'my_tag_name' (was 7a32993)
7fd8925735cc15e2e2034644b64afda491571ff8
dangling tag 7a329936d66f427bedc89d9ab903f38b07d44de7
ok 3 - missing reflog object, but promised by a tag, passes fsck
expecting success of 0410.4 'missing reflog object alone fails fsck, even with extension set':
rm -rf repo &&
test_create_repo repo &&
test_commit -C repo my_commit &&
A=$(git -C repo commit-tree -m a HEAD^{tree}) &&
B=$(git -C repo commit-tree -m b HEAD^{tree}) &&
# 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" &&
git -C repo config core.repositoryformatversion 1 &&
git -C repo config extensions.partialclone "arbitrary string" &&
test_must_fail git -C repo fsck
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0410-partial-clone/repo/.git/
[master (root-commit) 2f3d175] my_commit
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 my_commit.t
error: refs/heads/my_branch: invalid reflog entry c51de19226c13fa1daecab9e08d2f0b99a29784c
error: refs/heads/my_branch: invalid reflog entry c51de19226c13fa1daecab9e08d2f0b99a29784c
dangling commit e376c76e48cd8763bb0961aa8f03e5b8642908a8
ok 4 - missing reflog object alone fails fsck, even with extension set
expecting success of 0410.5 'missing ref object, but promised, passes fsck':
rm -rf repo &&
test_create_repo repo &&
test_commit -C repo my_commit &&
A=$(git -C repo commit-tree -m a HEAD^{tree}) &&
# Reference $A only from ref
git -C repo branch my_branch "$A" &&
promise_and_delete "$A" &&
git -C repo config core.repositoryformatversion 1 &&
git -C repo config extensions.partialclone "arbitrary string" &&
git -C repo fsck
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0410-partial-clone/repo/.git/
[master (root-commit) 9df77b9] my_commit
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 my_commit.t
a391e3e0447189aa0050c8f206462a1b0530a34a
dangling tag e5f4cb9fd329c512b08fb81a8e6b1f5e27658263
ok 5 - missing ref object, but promised, passes fsck
expecting success of 0410.6 '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" &&
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) &&
promise_and_delete "$C" &&
promise_and_delete "$T" &&
promise_and_delete "$B" &&
promise_and_delete "$AT" &&
git -C repo config core.repositoryformatversion 1 &&
git -C repo config extensions.partialclone "arbitrary string" &&
git -C repo fsck
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0410-partial-clone/repo/.git/
[master (root-commit) 6591d03] 1
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 1.t
[master 5355e57] 2
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 2.t
[master a3007a6] 3
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 3.t
fa10eb4e855a356f0abe9c352b62b71d481918b1
error: refs/tags/1 does not point to a valid object!
7f935f1293a005998d684b122686a1125dc47996
error: refs/tags/1 does not point to a valid object!
43db30889c483ee89571157f1466e2809e137c7d
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 3936a07032bfd1b3a5ba103a4a94cd2be57b9ce4^{}
hint: Disable this message with "git config advice.nestedTag false"
error: refs/tags/1 does not point to a valid object!
544d2af112f571c9dceb598e755c68cb22911767
dangling tag 8e5058c0196ed6a9b285609a259f40e05437cfad
dangling tag 4ff31e389c270b26919d9e89e743f1bc4e9d1907
dangling tree dcf3d5d7c6d10fb961287ca9bc59a5bf8a4b2afc
dangling tag 5d1357650c0c7fa7890a88ef5f3b44637843a883
dangling tag be645be2ea79274538b1d7a002db7f261d7dc509
ok 6 - missing object, but promised, passes fsck
expecting success of 0410.7 'missing CLI object, but promised, passes fsck':
rm -rf repo &&
test_create_repo repo &&
test_commit -C repo my_commit &&
A=$(git -C repo commit-tree -m a HEAD^{tree}) &&
promise_and_delete "$A" &&
git -C repo config core.repositoryformatversion 1 &&
git -C repo config extensions.partialclone "arbitrary string" &&
git -C repo fsck "$A"
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0410-partial-clone/repo/.git/
[master (root-commit) da2e7de] my_commit
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 my_commit.t
4337bf55380117d69ad62e8b0aa5d048dce2f274
dangling tag 802319328bf3f4f53ce55aecd93e94ecf6f26c32
dangling commit da2e7de93032e847edfceb74ec173302d3f32ceb
ok 7 - missing CLI object, but promised, passes fsck
expecting success of 0410.8 'fetching of missing objects':
rm -rf repo &&
test_create_repo server &&
test_commit -C server foo &&
git -C server repack -a -d --write-bitmap-index &&
git clone "file://$(pwd)/server" repo &&
HASH=$(git -C repo rev-parse foo) &&
rm -rf repo/.git/objects/* &&
git -C repo config core.repositoryformatversion 1 &&
git -C repo config extensions.partialclone "origin" &&
git -C repo cat-file -p "$HASH" &&
# 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
Reinitialized existing Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0410-partial-clone/server/.git/
[master (root-commit) 92a62de] foo
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 foo.t
Cloning into 'repo'...
warning: filtering not recognized by server, ignoring
tree 64fd3796c57084e7b8cbae358ce37970b8e954f6
author A U Thor <author@example.com> 1112912473 -0700
committer C O Mitter <committer@example.com> 1112912473 -0700
foo
92a62decadb5642314a1fd56b51afd125b27f208 commit 167 126 12
ok 8 - fetching of missing objects
expecting success of 0410.9 '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 &&
rm -rf repo/.git/objects/* &&
rm -f trace &&
GIT_TRACE_PACKET="$(pwd)/trace" git -C repo cat-file -p "$HASH" &&
grep "git< fetch=.*ref-in-want" trace
warning: filtering not recognized by server, ignoring
tree 64fd3796c57084e7b8cbae358ce37970b8e954f6
author A U Thor <author@example.com> 1112912473 -0700
committer C O Mitter <committer@example.com> 1112912473 -0700
foo
packet: git< fetch=shallow ref-in-want
ok 9 - fetching of missing objects works with ref-in-want enabled
expecting success of 0410.10 '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) &&
git -C repo remote add server2 "file://$(pwd)/server2" &&
git -C repo config remote.server2.promisor true &&
git -C repo cat-file -p "$HASH2" &&
git -C repo fetch server2 &&
rm -rf repo/.git/objects/* &&
git -C repo cat-file -p "$HASH2" &&
# 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
Cloning into 'server2'...
[master 92e3d69] bar
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 bar.t
warning: filtering not recognized by server, ignoring
tree 12e519f9839344d0202cbb4a0286099ef31e2196
parent 92a62decadb5642314a1fd56b51afd125b27f208
author A U Thor <author@example.com> 1112912533 -0700
committer C O Mitter <committer@example.com> 1112912533 -0700
bar
From file:///<<PKGBUILDDIR>>/t/trash directory.t0410-partial-clone/server2
* [new branch] master -> server2/master
* [new tag] bar -> bar
warning: filtering not recognized by server, ignoring
tree 12e519f9839344d0202cbb4a0286099ef31e2196
parent 92a62decadb5642314a1fd56b51afd125b27f208
author A U Thor <author@example.com> 1112912533 -0700
committer C O Mitter <committer@example.com> 1112912533 -0700
bar
92e3d69064384b085d0a953f95f69da13ad13731 commit 215 155 12
ok 10 - fetching of missing objects from another promisor remote
expecting success of 0410.11 '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 &&
rm repo/.git/objects/pack/pack-*.promisor &&
git -C repo remote add server3 "file://$(pwd)/server3" &&
git -C repo fetch --filter="blob:none" server3 $HASH3 &&
test_cmp_config -C repo true remote.server3.promisor &&
# 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
Cloning into 'server3'...
[master 272088c] baz
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 baz.t
From file:///<<PKGBUILDDIR>>/t/trash directory.t0410-partial-clone/server3
* branch 272088cc86d0f7d8e0216bcc620729ed18c6d253 -> FETCH_HEAD
272088cc86d0f7d8e0216bcc620729ed18c6d253 commit 215 155 12
ok 11 - fetching of missing objects configures a promisor remote
expecting success of 0410.12 '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 &&
git clone "file://$(pwd)/server" repo &&
git hash-object repo/foo.t >blobhash &&
rm -rf repo/.git/objects/* &&
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 blobhash)
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0410-partial-clone/server/.git/
[master (root-commit) 7745948] foo
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 foo.t
Cloning into 'repo'...
foo
ok 12 - fetching of missing blobs works
expecting success of 0410.13 '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 &&
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/* &&
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) &&
# 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
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0410-partial-clone/server/.git/
[master (root-commit) 6ca612c] foo
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 foo.t
Cloning into 'repo'...
100644 blob 257cc5642cb1a054f08cc83f2d943e56fd3ebe99 foo.t
64fd3796c57084e7b8cbae358ce37970b8e954f6
?257cc5642cb1a054f08cc83f2d943e56fd3ebe99
ok 13 - fetching of missing trees does not fetch blobs
expecting success of 0410.14 '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 &&
FOO=$(git -C repo rev-parse foo) &&
promise_and_delete "$FOO" &&
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
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0410-partial-clone/repo/.git/
[master (root-commit) 04ebf83] foo
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 foo.t
[master 5d5378c] bar
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 bar.t
61c51a403615e6178575c43237232a3957f5f52a
5d5378c22fa5f1cc1386b5c5a0e7b313e8bf66a4
ok 14 - rev-list stops traversal at missing and promised commit
expecting success of 0410.15 '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 &&
promise_and_delete $(git -C repo rev-parse bar^{tree}) &&
promise_and_delete $(git -C repo rev-parse foo^{tree}) &&
git -C repo config core.repositoryformatversion 1 &&
git -C repo config extensions.partialclone "arbitrary string" &&
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 &&
# 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
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0410-partial-clone/repo/.git/
[master (root-commit) 179b371] foo
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 foo.t
[master a50e76f] bar
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 bar.t
[master 25c7865] baz
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 baz.t
ba3fa1bb3a89a0c612092b751dec9976fdae6c42
152935b62c14fbf78d6ffae9474a24afa8958758
683a872ce0cf8c72475599e8a9be4d84c25e9f46
ok 15 - missing tree objects with --missing=allow-promisor and --exclude-promisor-objects
expecting success of 0410.16 '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" &&
promise_and_delete $(git -C repo rev-parse HEAD:dir) &&
git -C repo config core.repositoryformatversion 1 &&
git -C repo config extensions.partialclone "arbitrary string" &&
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
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0410-partial-clone/repo/.git/
[master (root-commit) 8b9285b] commit dir/foo
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 dir/foo
b626be8db7f96438104797e9a71d28b45aa06464
ok 16 - missing non-root tree object and rev-list
expecting success of 0410.17 '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 &&
# foo^{tree} (tree referenced from commit)
TREE=$(git -C repo rev-parse foo^{tree}) &&
# 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) &&
promise_and_delete "$TREE" &&
promise_and_delete "$TREE2" &&
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
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0410-partial-clone/repo/.git/
[master (root-commit) bbef54c] foo
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 foo.t
[master d2733d7] bar
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 a_dir/something
e33389c7bfcecc261cd3b0387ffece9ebe9dc00e
04d8ddc636fbf277b63116026d5ee956c266d8c0
bbef54c7a01eddc171db7a9aadf8ddd42a3c8f2f
d2733d793a09ed94aeb3f5dea2fac12b439f7e13
ok 17 - rev-list stops traversal at missing and promised tree
expecting success of 0410.18 '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 &&
BLOB=$(git -C repo hash-object -w something) &&
promise_and_delete "$BLOB" &&
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
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0410-partial-clone/repo/.git/
[master (root-commit) f82972e] foo
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 something
620da0bac7e4ab12d2de07259b55c4f24e694148
f82972e9b056064d7d70233ac06cc92f3874671e
ok 18 - rev-list stops traversal at missing and promised blob
expecting success of 0410.19 '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 &&
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 &&
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
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0410-partial-clone/repo/.git/
[master (root-commit) 6aab15f] foo
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 foo.t
[master b1dec3b] bar
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 bar.t
[master 03789c0] baz
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 baz.t
a79c1e7b744caf56dbdf7c3cc6eb3e82198608c5
b1dec3bac444a8f7cf518a7b91ace0b63f3a2b4d
ok 19 - rev-list stops traversal at promisor commit, tree, and blob
expecting success of 0410.20 '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 &&
COMMIT=$(git -C repo rev-parse foo) &&
TREE=$(git -C repo rev-parse bar^{tree}) &&
BLOB=$(git hash-object repo/baz.t) &&
promise_and_delete $COMMIT &&
promise_and_delete $TREE &&
promise_and_delete $BLOB &&
git -C repo config core.repositoryformatversion 1 &&
git -C repo config extensions.partialclone "arbitrary string" &&
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" &&
# 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
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0410-partial-clone/repo/.git/
[master (root-commit) da360a9] foo
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 foo.t
[master 8e63723] bar
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 bar.t
[master 9f4b2de] baz
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 baz.t
92f51ebfe597599d817e0c2f8414e9b12cb0733c
error: refs/tags/foo does not point to a valid object!
6550f6c14e11be8aa8fd4775f1cbac8a86d3c020
error: refs/tags/foo does not point to a valid object!
17678bb9e6c8bf2fd238c4667b0bb1dd59727c19
fatal: ambiguous argument 'da360a915167a4325ebd8d3099943658d1c22011': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
fatal: ambiguous argument 'da360a915167a4325ebd8d3099943658d1c22011': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
fatal: ambiguous argument '12e519f9839344d0202cbb4a0286099ef31e2196': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
fatal: ambiguous argument '12e519f9839344d0202cbb4a0286099ef31e2196': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
fatal: ambiguous argument '76018072e09c5d31c8c6e3113b8aa0fe625195ca': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
fatal: ambiguous argument '76018072e09c5d31c8c6e3113b8aa0fe625195ca': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
ok 20 - rev-list dies for missing objects on cmd line
expecting success of 0410.21 '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 /<<PKGBUILDDIR>>/t/trash directory.t0410-partial-clone/repo/.git/
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0410-partial-clone/other/.git/
ok 21 - single promisor remote can be re-initialized gracefully
expecting success of 0410.22 '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 &&
# 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/" <promisorlist) &&
git verify-pack $PROMISOR_PACKFILE -v >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 &&
# Remove the promisor packfile and associated files
rm $(sed "s/.promisor//" <promisorlist).* &&
# Ensure that the single other pack contains the commits, but not the
# trees
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 one)" out &&
grep "$(git -C repo rev-parse two)" out &&
! grep "$TREE_ONE" out &&
! grep "$TREE_TWO" out
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0410-partial-clone/repo/.git/
[master (root-commit) 46d8c68] one
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 one.t
[master 85bb3a3] two
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 two.t
80b0d61182f42d417d3f1080999c86acd16276f7
4f4b1c441e35611dff006a309fbda4370b40fc90
a7cddf35737959e1438bc929b665619e9e79bfee tree 33 44 85
2f00a404aed7e63d867313d504bd0fccea53fd25 tree 66 73 12
46d8c6864bc884cef34596be561c681d16038c66 commit 167 126 168
85bb3a3067af4c13aac07caef4bb77d41cd98d40 commit 215 156 12
ok 22 - gc repacks promisor objects separately from non-promisor objects
expecting success of 0410.23 'gc does not repack promisor objects if there are none':
rm -rf repo &&
test_create_repo repo &&
test_commit -C repo one &&
git -C repo config core.repositoryformatversion 1 &&
git -C repo config extensions.partialclone "arbitrary string" &&
git -C repo gc &&
# Ensure that only one pack exists
ls repo/.git/objects/pack/pack-*.pack >packlist &&
test_line_count = 1 packlist
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0410-partial-clone/repo/.git/
[master (root-commit) bcc6ddb] one
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 one.t
ok 23 - gc does not repack promisor objects if there are none
expecting success of 0410.24 '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" &&
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^) &&
printf "$TWO\n" | pack_as_from_promisor &&
printf "$THREE\n" | pack_as_from_promisor &&
delete_object repo "$ONE" &&
repack_and_check -a "$TWO" "$THREE" &&
repack_and_check -A "$TWO" "$THREE" &&
repack_and_check -l "$TWO" "$THREE"
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0410-partial-clone/repo/.git/
[master (root-commit) 71905df] one
Author: A U Thor <author@example.com>
[master 202c4a3] two
Author: A U Thor <author@example.com>
[master 4737577] three
Author: A U Thor <author@example.com>
[master d6ba7e0] four
Author: A U Thor <author@example.com>
2e675cd706e508d6c52a21d28cfcddde5ec02a06
31f7d2797549ab9b1c425a9e60eb2030481170e5
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 24 - repack -d does not irreversibly delete promisor objects
expecting success of 0410.25 'gc stops traversal when a missing but promised object is reached':
rm -rf repo &&
test_create_repo repo &&
test_commit -C repo my_commit &&
TREE_HASH=$(git -C repo rev-parse HEAD^{tree}) &&
HASH=$(promise_and_delete $TREE_HASH) &&
git -C repo config core.repositoryformatversion 1 &&
git -C repo config extensions.partialclone "arbitrary string" &&
git -C repo gc &&
# 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.* &&
# 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
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0410-partial-clone/repo/.git/
[master (root-commit) 9d5e23a] my_commit
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 my_commit.t
9d5e23a7223ce2fa7c0cb2c89fa3548addceb59c commit 173 129 12
ok 25 - gc stops traversal when a missing but promised object is reached
expecting success of 0410.26 '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 &&
git -C repo config core.repositoryformatversion 1 &&
git -C repo config extensions.partialclone "arbitrary string" &&
git -C repo cherry-pick side1
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0410-partial-clone/repo/.git/
[master (root-commit) 0e47078] base
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 base.t
[master 213a993] side1
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 side1.t
Note: switching to 'base'.
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 <new-branch-name>
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
HEAD is now at 0e47078 base
[detached HEAD 2c41772] side2
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 side2.t
[detached HEAD 2566e54] side1
Author: A U Thor <author@example.com>
Date: Thu Apr 7 15:43:13 2005 -0700
1 file changed, 1 insertion(+)
create mode 100644 side1.t
ok 26 - do not fetch when checking existence of tree we construct ourselves
checking prerequisite: NOT_ROOT
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
uid=$(id -u) &&
test "$uid" != 0
)
prerequisite NOT_ROOT ok
# passed all 26 test(s)
# SKIP no web server found at '/usr/sbin/apache2'
1..26
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t1008-read-tree-overlay.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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
[master (root-commit) cc904ca] initial
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 a
[master 97e482a] second
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 b
Switched to a new branch 'side'
[side fb7549d] third
Author: A U Thor <author@example.com>
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
ok 2 - multi-read
# passed all 2 test(s)
1..2
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t1009-read-tree-new-index.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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
[master (root-commit) 63cb75f] initial
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 a
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
ok 3 - empty index file
# passed all 3 test(s)
1..3
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t1010-mktree.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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 <top >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 <top.withsub >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 <>" <top |
git mktree >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 <>" <top.withsub |
git mktree >actual &&
test_cmp tree.withsub actual
ok 5 - ls-tree output in wrong order given to mktree (2)
expecting success of 1010.6 'allow missing object with --missing':
git mktree --missing <top.missing >actual &&
test_cmp tree.missing actual
ok 6 - allow missing object with --missing
expecting success of 1010.7 'mktree refuses to read ls-tree -r output (1)':
test_must_fail git mktree <all >actual
fatal: path a./one contains slash
ok 7 - mktree refuses to read ls-tree -r output (1)
expecting success of 1010.8 'mktree refuses to read ls-tree -r output (2)':
test_must_fail git mktree <all.withsub >actual
fatal: path a./one contains slash
ok 8 - mktree refuses to read ls-tree -r output (2)
# passed all 8 test(s)
1..8
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t1007-hash-object.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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
example sha1:ddd3f836d3e3fbb7ae289aa9ae83536f76956399
example sha256:b44fe1fe65589848253737db859bd490453510719d7424daab03daf0767b85ae
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 <type>] [-w] [--path=<file> | --no-filters] [--stdin] [--] <file>...
or: git hash-object --stdin-paths
-t <type> 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 <file> 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 <type>] [-w] [--path=<file> | --no-filters] [--stdin] [--] <file>...
or: git hash-object --stdin-paths
-t <type> 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 <file> process file as it were from this path
error: Can't use --stdin-paths with --stdin
usage: git hash-object [-t <type>] [-w] [--path=<file> | --no-filters] [--stdin] [--] <file>...
or: git hash-object --stdin-paths
-t <type> 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 <file> 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 <type>] [-w] [--path=<file> | --no-filters] [--stdin] [--] <file>...
or: git hash-object --stdin-paths
-t <type> 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 <file> 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
error: Can't use --stdin-paths with --path
usage: git hash-object [-t <type>] [-w] [--path=<file> | --no-filters] [--stdin] [--] <file>...
or: git hash-object --stdin-paths
-t <type> 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 <file> process file as it were from this path
ok 5 - Can't use --path with --stdin-paths
expecting success of 1007.6 'Can't use --path with --no-filters':
test_must_fail git hash-object --no-filters --path=foo
error: Can't use --path with --no-filters
usage: git hash-object [-t <type>] [-w] [--path=<file> | --no-filters] [--stdin] [--] <file>...
or: git hash-object --stdin-paths
-t <type> 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 <file> process file as it were from this path
ok 6 - Can't use --path with --no-filters
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1007-hash-object/test/.git/
expecting success of 1007.7 'hash a file':
test "$(test_oid hello)" = $(git hash-object hello)
ok 7 - hash a file
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 1007.9 'hash from stdin':
test "$(test_oid example)" = $(git hash-object --stdin < example)
ok 9 - hash from stdin
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 1007.11 'hash a file and write to database':
test "$(test_oid hello)" = $(git hash-object -w hello)
ok 11 - hash a file and write to database
expecting success of 1007.12 'blob exists in database':
git cat-file blob 5e1c309dae7f45e0f39b1bf3ac3cd9db12e7d689
Hello Worldok 12 - blob exists in database
expecting success of 1007.13 'git hash-object --stdin file1 <file0 first operates on file0, then file1':
echo foo > 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"
ok 13 - git hash-object --stdin file1 <file0 first operates on file0, then file1
expecting success of 1007.14 'set up crlf tests':
echo fooQ | tr Q "\\015" >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"
ok 14 - set up crlf tests
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"
ok 15 - check that appropriate filter is invoke when --path is used
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"
)
ok 16 - gitattributes also work in a subdirectory
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"
)
ok 17 - --path works in a subdirectory
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"
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 /<<PKGBUILDDIR>>/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 1007.21 'blob exists in database':
git cat-file blob ddd3f836d3e3fbb7ae289aa9ae83536f76956399
This is an exampleok 21 - blob exists in database
Initialized empty Git repository in /<<PKGBUILDDIR>>/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 1007.23 'blob exists in database':
git cat-file blob ddd3f836d3e3fbb7ae289aa9ae83536f76956399
This is an exampleok 23 - blob exists in database
expecting success of 1007.24 'hash two files with names on stdin':
test "$oids" = "$(echo_without_newline "$filenames" | git hash-object --stdin-paths)"
ok 24 - hash two files with names on stdin
Initialized empty Git repository in /<<PKGBUILDDIR>>/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 1007.26 'blob exists in database':
git cat-file blob 5e1c309dae7f45e0f39b1bf3ac3cd9db12e7d689
Hello Worldok 26 - blob exists in database
expecting success of 1007.27 'blob exists in database':
git cat-file blob ddd3f836d3e3fbb7ae289aa9ae83536f76956399
This is an exampleok 27 - blob exists in database
Initialized empty Git repository in /<<PKGBUILDDIR>>/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)
expecting success of 1007.29 'blob exists in database':
git cat-file blob 5e1c309dae7f45e0f39b1bf3ac3cd9db12e7d689
Hello Worldok 29 - blob exists in database
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 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
checking prerequisite: C_LOCALE_OUTPUT
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
! test_bool_env GIT_TEST_GETTEXT_POISON false
)
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
fatal: malformed mode in tree entry
ok 32 - malformed mode in tree
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
fatal: empty filename in tree entry
ok 33 - empty filename in tree
expecting success of 1007.34 'corrupt commit':
test_must_fail git hash-object -t commit --stdin </dev/null
error: bogus commit object 0000000000000000000000000000000000000000
fatal: corrupt commit
ok 34 - corrupt commit
expecting success of 1007.35 'corrupt tag':
test_must_fail git hash-object -t tag --stdin </dev/null
fatal: corrupt tag
ok 35 - corrupt tag
expecting success of 1007.36 'hash-object complains about bogus type name':
test_must_fail git hash-object -t bogus --stdin </dev/null
fatal: invalid object type "bogus"
ok 36 - hash-object complains about bogus type name
expecting success of 1007.37 'hash-object complains about truncated type name':
test_must_fail git hash-object -t bl --stdin </dev/null
fatal: invalid object type "bl"
ok 37 - hash-object complains about truncated type name
expecting success of 1007.38 '--literally':
t=1234567890 &&
echo example | git hash-object -t $t --literally --stdin
f78b23c3f872d473c764d5fcf4fb39af8bbf2123
ok 38 - --literally
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
2a881776ee43e849175ee7158075560ca0ae7692
ok 39 - --literally with extra-long type
# passed all 39 test(s)
1..39
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t1012-read-tree-df.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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 &&
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: &&
maketree O-020 ds/dma/ioat.c ds/dma/ioat_dca.c &&
maketree A-020 ds/dma/ioat/Makefile ds/dma/ioat/registers.h &&
:
ok 1 - setup
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
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
ok 3 - 3-way (2)
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
ok 4 - 3-way (3)
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 '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t1011-read-tree-sparse-checkout.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1011-read-tree-sparse-checkout/.git/
expecting success of 1011.1 'setup':
test_commit init &&
echo modified >>init.t &&
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
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
[master (root-commit) 2519212] init
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 init.t
[master 9598e22] modified and added
Author: A U Thor <author@example.com>
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 <author@example.com>
1 file changed, 0 insertions(+), 0 deletions(-)
delete mode 100644 sub/added
Note: switching to 'top'.
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 <new-branch-name>
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
HEAD is now at 9598e22 modified and added
ok 1 - setup
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
ok 2 - read-tree without .git/info/sparse-checkout
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
ok 3 - read-tree with .git/info/sparse-checkout but disabled
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
ok 4 - read-tree --no-sparse-checkout with empty .git/info/sparse-checkout and enabled
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
ok 5 - read-tree with empty .git/info/sparse-checkout
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
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
ok 6 - match directories with trailing slash
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
ok 7 - match directories without trailing slash
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
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 8 - match directories with negated patterns
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
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
ok 9 - match directories with negated patterns (2)
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
ok 10 - match directory pattern
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
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 11 - checkout area changes
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
HEAD is now at 9598e22 modified and added
ok 12 - read-tree updates worktree, absent case
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
HEAD is now at 9598e22 modified and added
ok 13 - read-tree updates worktree, dirty case
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
HEAD is now at 9598e22 modified and added
ok 14 - read-tree removes worktree, dirty case
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
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 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
HEAD is now at de70956 removed
ok 16 - read-tree adds to worktree, dirty case
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
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 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
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 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
After fixing the above paths, you may want to run `git sparse-checkout reapply`.
EOF
test_i18ncmp expected actual
Previous HEAD position was de70956 removed
HEAD is now at 2519212 init
checking prerequisite: C_LOCALE_OUTPUT
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
! test_bool_env GIT_TEST_GETTEXT_POISON false
)
prerequisite C_LOCALE_OUTPUT ok
ok 19 - print warnings when some worktree updates disabled
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
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 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
HEAD is now at 9598e22 modified and added
Updated 3 paths from the index
ok 21 - checkout with --ignore-skip-worktree-bits
# passed all 21 test(s)
1..21
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t1006-cat-file.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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 1006.2 'blob exists':
git cat-file -e $sha1
ok 2 - blob exists
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 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 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 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 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 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 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 "$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 "$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 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
ok 15 - --batch-check without %(rest) considers whole line
expecting success of 1006.16 'tree exists':
git cat-file -e $sha1
ok 16 - tree exists
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 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 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 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 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 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 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 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 1006.25 'commit exists':
git cat-file -e $sha1
ok 25 - commit exists
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 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 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
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 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
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
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
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 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
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)
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)
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 1006.38 'tag exists':
git cat-file -e $sha1
ok 38 - tag exists
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 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
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
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
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
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 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
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
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
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 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)
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)
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
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 | <type> | --textconv | --filters) [--path=<path>] <object>
or: git cat-file (--batch | --batch-check) [--follow-symlinks] [--textconv | --filters]
<type> 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 <blob> 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[=<format>] show info and content of objects fed from the standard input
--batch-check[=<format>]
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 52 - Passing -t with --batch fails
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 | <type> | --textconv | --filters) [--path=<path>] <object>
or: git cat-file (--batch | --batch-check) [--follow-symlinks] [--textconv | --filters]
<type> 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 <blob> 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[=<format>] show info and content of objects fed from the standard input
--batch-check[=<format>]
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 53 - Passing --batch with -t fails
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 | <type> | --textconv | --filters) [--path=<path>] <object>
or: git cat-file (--batch | --batch-check) [--follow-symlinks] [--textconv | --filters]
<type> 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 <blob> 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[=<format>] show info and content of objects fed from the standard input
--batch-check[=<format>]
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 54 - Passing -s with --batch fails
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 | <type> | --textconv | --filters) [--path=<path>] <object>
or: git cat-file (--batch | --batch-check) [--follow-symlinks] [--textconv | --filters]
<type> 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 <blob> 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[=<format>] show info and content of objects fed from the standard input
--batch-check[=<format>]
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 55 - Passing --batch with -s fails
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 | <type> | --textconv | --filters) [--path=<path>] <object>
or: git cat-file (--batch | --batch-check) [--follow-symlinks] [--textconv | --filters]
<type> 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 <blob> 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[=<format>] show info and content of objects fed from the standard input
--batch-check[=<format>]
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 56 - Passing -e with --batch fails
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 | <type> | --textconv | --filters) [--path=<path>] <object>
or: git cat-file (--batch | --batch-check) [--follow-symlinks] [--textconv | --filters]
<type> 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 <blob> 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[=<format>] show info and content of objects fed from the standard input
--batch-check[=<format>]
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 57 - Passing --batch with -e fails
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 | <type> | --textconv | --filters) [--path=<path>] <object>
or: git cat-file (--batch | --batch-check) [--follow-symlinks] [--textconv | --filters]
<type> 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 <blob> 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[=<format>] show info and content of objects fed from the standard input
--batch-check[=<format>]
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 58 - Passing -p with --batch fails
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 | <type> | --textconv | --filters) [--path=<path>] <object>
or: git cat-file (--batch | --batch-check) [--follow-symlinks] [--textconv | --filters]
<type> 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 <blob> 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[=<format>] show info and content of objects fed from the standard input
--batch-check[=<format>]
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 59 - Passing --batch with -p fails
expecting success of 1006.60 'Passing <type> 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 | <type> | --textconv | --filters) [--path=<path>] <object>
or: git cat-file (--batch | --batch-check) [--follow-symlinks] [--textconv | --filters]
<type> 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 <blob> 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[=<format>] show info and content of objects fed from the standard input
--batch-check[=<format>]
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 60 - Passing <type> with --batch fails
expecting success of 1006.61 'Passing --batch with <type> 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 | <type> | --textconv | --filters) [--path=<path>] <object>
or: git cat-file (--batch | --batch-check) [--follow-symlinks] [--textconv | --filters]
<type> 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 <blob> 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[=<format>] show info and content of objects fed from the standard input
--batch-check[=<format>]
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 61 - Passing --batch with <type> fails
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 | <type> | --textconv | --filters) [--path=<path>] <object>
or: git cat-file (--batch | --batch-check) [--follow-symlinks] [--textconv | --filters]
<type> 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 <blob> 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[=<format>] show info and content of objects fed from the standard input
--batch-check[=<format>]
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 62 - Passing sha1 with --batch fails
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 | <type> | --textconv | --filters) [--path=<path>] <object>
or: git cat-file (--batch | --batch-check) [--follow-symlinks] [--textconv | --filters]
<type> 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 <blob> 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[=<format>] show info and content of objects fed from the standard input
--batch-check[=<format>]
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 63 - Passing -t with --batch-check fails
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 | <type> | --textconv | --filters) [--path=<path>] <object>
or: git cat-file (--batch | --batch-check) [--follow-symlinks] [--textconv | --filters]
<type> 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 <blob> 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[=<format>] show info and content of objects fed from the standard input
--batch-check[=<format>]
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 64 - Passing --batch-check with -t fails
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 | <type> | --textconv | --filters) [--path=<path>] <object>
or: git cat-file (--batch | --batch-check) [--follow-symlinks] [--textconv | --filters]
<type> 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 <blob> 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[=<format>] show info and content of objects fed from the standard input
--batch-check[=<format>]
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 65 - Passing -s with --batch-check fails
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 | <type> | --textconv | --filters) [--path=<path>] <object>
or: git cat-file (--batch | --batch-check) [--follow-symlinks] [--textconv | --filters]
<type> 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 <blob> 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[=<format>] show info and content of objects fed from the standard input
--batch-check[=<format>]
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 66 - Passing --batch-check with -s fails
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 | <type> | --textconv | --filters) [--path=<path>] <object>
or: git cat-file (--batch | --batch-check) [--follow-symlinks] [--textconv | --filters]
<type> 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 <blob> 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[=<format>] show info and content of objects fed from the standard input
--batch-check[=<format>]
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 67 - Passing -e with --batch-check fails
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 | <type> | --textconv | --filters) [--path=<path>] <object>
or: git cat-file (--batch | --batch-check) [--follow-symlinks] [--textconv | --filters]
<type> 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 <blob> 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[=<format>] show info and content of objects fed from the standard input
--batch-check[=<format>]
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 68 - Passing --batch-check with -e fails
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 | <type> | --textconv | --filters) [--path=<path>] <object>
or: git cat-file (--batch | --batch-check) [--follow-symlinks] [--textconv | --filters]
<type> 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 <blob> 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[=<format>] show info and content of objects fed from the standard input
--batch-check[=<format>]
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 69 - Passing -p with --batch-check fails
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 | <type> | --textconv | --filters) [--path=<path>] <object>
or: git cat-file (--batch | --batch-check) [--follow-symlinks] [--textconv | --filters]
<type> 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 <blob> 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[=<format>] show info and content of objects fed from the standard input
--batch-check[=<format>]
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 70 - Passing --batch-check with -p fails
expecting success of 1006.71 'Passing <type> 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 | <type> | --textconv | --filters) [--path=<path>] <object>
or: git cat-file (--batch | --batch-check) [--follow-symlinks] [--textconv | --filters]
<type> 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 <blob> 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[=<format>] show info and content of objects fed from the standard input
--batch-check[=<format>]
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 71 - Passing <type> with --batch-check fails
expecting success of 1006.72 'Passing --batch-check with <type> 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 | <type> | --textconv | --filters) [--path=<path>] <object>
or: git cat-file (--batch | --batch-check) [--follow-symlinks] [--textconv | --filters]
<type> 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 <blob> 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[=<format>] show info and content of objects fed from the standard input
--batch-check[=<format>]
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 72 - Passing --batch-check with <type> fails
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 | <type> | --textconv | --filters) [--path=<path>] <object>
or: git cat-file (--batch | --batch-check) [--follow-symlinks] [--textconv | --filters]
<type> 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 <blob> 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[=<format>] show info and content of objects fed from the standard input
--batch-check[=<format>]
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 73 - Passing sha1 with --batch-check fails
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 | <type> | --textconv | --filters) [--path=<path>] <object>
or: git cat-file (--batch | --batch-check) [--follow-symlinks] [--textconv | --filters]
<type> 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 <blob> 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[=<format>] show info and content of objects fed from the standard input
--batch-check[=<format>]
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 74 - Passing -t with --follow-symlinks fails
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 | <type> | --textconv | --filters) [--path=<path>] <object>
or: git cat-file (--batch | --batch-check) [--follow-symlinks] [--textconv | --filters]
<type> 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 <blob> 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[=<format>] show info and content of objects fed from the standard input
--batch-check[=<format>]
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 75 - Passing -s with --follow-symlinks fails
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 | <type> | --textconv | --filters) [--path=<path>] <object>
or: git cat-file (--batch | --batch-check) [--follow-symlinks] [--textconv | --filters]
<type> 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 <blob> 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[=<format>] show info and content of objects fed from the standard input
--batch-check[=<format>]
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 76 - Passing -e with --follow-symlinks fails
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 | <type> | --textconv | --filters) [--path=<path>] <object>
or: git cat-file (--batch | --batch-check) [--follow-symlinks] [--textconv | --filters]
<type> 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 <blob> 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[=<format>] show info and content of objects fed from the standard input
--batch-check[=<format>]
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 77 - Passing -p with --follow-symlinks fails
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
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 79 - --batch-check for a non-existent hash
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)"
ok 80 - --batch for an existent and a non-existent hash
expecting success of 1006.81 '--batch-check for an empty line':
test " missing" = "$(echo | git cat-file --batch-check)"
ok 81 - --batch-check for an empty line
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 82 - empty --batch-check notices missing object
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)"
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
[master (root-commit) 742e95c] foo
Author: A U Thor <author@example.com>
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 1006.86 'confirm that neither loose blob is a delta':
cat >expect <<-EOF &&
$ZERO_OID
$ZERO_OID
EOF
git cat-file --batch-check="%(deltabase)" <blobs >actual &&
test_cmp expect actual
ok 86 - confirm that neither loose blob is a delta
expecting success of 1006.87 '%(deltabase) reports packed delta bases':
git repack -ad &&
git cat-file --batch-check="%(deltabase)" <blobs >actual &&
{
grep "$(git rev-parse HEAD:foo)" actual ||
grep "$(git rev-parse HEAD:foo-plus)" actual
}
9b546ef00c80e00a1733cb882d607028fcd562fc
ok 87 - %(deltabase) reports packed delta bases
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 88 - Type of broken object is correct
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 89 - Size of broken object is correct
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
ok 90 - Type of broken object is correct when type is large
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
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
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
# test whether the filesystem supports symbolic links
ln -s x y && test -h y
)
prerequisite SYMLINKS ok
[master 13756af] test
Author: A U Thor <author@example.com>
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 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
ok 93 - git cat-file --batch-check --follow-symlinks works for non-links
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
ok 94 - git cat-file --batch-check --follow-symlinks works for in-repo, same-dir links
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 95 - git cat-file --batch-check --follow-symlinks works for in-repo, links to dirs
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
ok 96 - git cat-file --batch-check --follow-symlinks works for broken in-repo, same-dir links
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 97 - git cat-file --batch-check --follow-symlinks works for same-dir links-to-links
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 98 - git cat-file --batch-check --follow-symlinks works for parent-dir links
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 99 - git cat-file --batch-check --follow-symlinks works for .. links
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 100 - git cat-file --batch-check --follow-symlinks works for ../.. links
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 101 - git cat-file --batch-check --follow-symlinks works for dir/ links
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 102 - git cat-file --batch-check --follow-symlinks works for dir/subdir links
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 103 - git cat-file --batch-check --follow-symlinks works for dir ->subdir links
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
ok 104 - git cat-file --batch-check --follow-symlinks works for out-of-repo symlinks
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
ok 105 - git cat-file --batch-check --follow-symlinks works for out-of-repo symlinks in dirs
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
ok 106 - git cat-file --batch-check --follow-symlinks works for out-of-repo symlinks in subdirs
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
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 108 - git cat-file --batch-check --follow-symlink breaks loops
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
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.unsorted >expect &&
git -C all-two cat-file --batch-all-objects \
--batch-check="%(objectname)" >actual &&
test_cmp expect actual
Initialized empty Git repository in /<<PKGBUILDDIR>>/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 1006.111 'cat-file --unordered works':
git -C all-two cat-file --batch-all-objects --unordered \
--batch-check="%(objectname)" >actual.unsorted &&
sort <actual.unsorted >actual &&
test_cmp expect actual
ok 111 - cat-file --unordered works
# passed all 111 test(s)
1..111
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t1014-read-tree-confusing.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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})
[master (root-commit) 688eed8] base
Author: A U Thor <author@example.com>
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
expecting success of 1014.4 'reject . at end of path':
printf "100644 blob %s\t%s" "$blob" "$path" >tree &&
bogus=$(git mktree <tree) &&
test_must_fail git read-tree $bogus
error: invalid path '.'
ok 4 - reject . at end of path
expecting success of 1014.5 'reject . as subtree':
printf "040000 tree %s\t%s" "$tree" "$path" >tree &&
bogus=$(git mktree <tree) &&
test_must_fail git read-tree $bogus
error: invalid path './file'
ok 5 - reject . as subtree
expecting success of 1014.6 'reject .. at end of path':
printf "100644 blob %s\t%s" "$blob" "$path" >tree &&
bogus=$(git mktree <tree) &&
test_must_fail git read-tree $bogus
error: invalid path '..'
ok 6 - reject .. at end of path
expecting success of 1014.7 'reject .. as subtree':
printf "040000 tree %s\t%s" "$tree" "$path" >tree &&
bogus=$(git mktree <tree) &&
test_must_fail git read-tree $bogus
error: invalid path '../file'
ok 7 - reject .. as subtree
expecting success of 1014.8 'reject .git at end of path':
printf "100644 blob %s\t%s" "$blob" "$path" >tree &&
bogus=$(git mktree <tree) &&
test_must_fail git read-tree $bogus
error: invalid path '.git'
ok 8 - reject .git at end of path
expecting success of 1014.9 'reject .git as subtree':
printf "040000 tree %s\t%s" "$tree" "$path" >tree &&
bogus=$(git mktree <tree) &&
test_must_fail git read-tree $bogus
error: invalid path '.git/file'
ok 9 - reject .git as subtree
expecting success of 1014.10 'reject .GIT at end of path':
printf "100644 blob %s\t%s" "$blob" "$path" >tree &&
bogus=$(git mktree <tree) &&
test_must_fail git read-tree $bogus
error: invalid path '.GIT'
ok 10 - reject .GIT at end of path
expecting success of 1014.11 'reject .GIT as subtree':
printf "040000 tree %s\t%s" "$tree" "$path" >tree &&
bogus=$(git mktree <tree) &&
test_must_fail git read-tree $bogus
error: invalid path '.GIT/file'
ok 11 - reject .GIT as subtree
expecting success of 1014.12 'reject {u200c}.Git at end of path':
printf "100644 blob %s\t%s" "$blob" "$path" >tree &&
bogus=$(git mktree <tree) &&
test_must_fail git read-tree $bogus
error: invalid path '.Git'
ok 12 - reject {u200c}.Git at end of path
expecting success of 1014.13 'reject {u200c}.Git as subtree':
printf "040000 tree %s\t%s" "$tree" "$path" >tree &&
bogus=$(git mktree <tree) &&
test_must_fail git read-tree $bogus
error: invalid path '.Git/file'
ok 13 - reject {u200c}.Git as subtree
expecting success of 1014.14 'reject .gI{u200c}T at end of path':
printf "100644 blob %s\t%s" "$blob" "$path" >tree &&
bogus=$(git mktree <tree) &&
test_must_fail git read-tree $bogus
error: invalid path '.gIT'
ok 14 - reject .gI{u200c}T at end of path
expecting success of 1014.15 'reject .gI{u200c}T as subtree':
printf "040000 tree %s\t%s" "$tree" "$path" >tree &&
bogus=$(git mktree <tree) &&
test_must_fail git read-tree $bogus
error: invalid path '.gIT/file'
ok 15 - reject .gI{u200c}T as subtree
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) &&
test_must_fail git read-tree $bogus
error: invalid path '.GiT'
ok 16 - reject .GiT{u200c} at end of path
expecting success of 1014.17 'reject .GiT{u200c} as subtree':
printf "040000 tree %s\t%s" "$tree" "$path" >tree &&
bogus=$(git mktree <tree) &&
test_must_fail git read-tree $bogus
error: invalid path '.GiT/file'
ok 17 - reject .GiT{u200c} as subtree
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) &&
test_must_fail git read-tree $bogus
error: invalid path 'git~1'
ok 18 - reject git~1 at end of path
expecting success of 1014.19 'reject git~1 as subtree':
printf "040000 tree %s\t%s" "$tree" "$path" >tree &&
bogus=$(git mktree <tree) &&
test_must_fail git read-tree $bogus
error: invalid path 'git~1/file'
ok 19 - reject git~1 as subtree
expecting success of 1014.20 'reject .git.{space} at end of path':
printf "100644 blob %s\t%s" "$blob" "$path" >tree &&
bogus=$(git mktree <tree) &&
test_must_fail git read-tree $bogus
error: invalid path '.git. '
ok 20 - reject .git.{space} at end of path
expecting success of 1014.21 'reject .git.{space} as subtree':
printf "040000 tree %s\t%s" "$tree" "$path" >tree &&
bogus=$(git mktree <tree) &&
test_must_fail git read-tree $bogus
error: invalid path '.git. /file'
ok 21 - reject .git.{space} as subtree
expecting success of 1014.22 'reject backslashes at end of path':
printf "100644 blob %s\t%s" "$blob" "$path" >tree &&
bogus=$(git mktree <tree) &&
test_must_fail git read-tree $bogus
error: invalid path '.\.GIT\foobar'
ok 22 - reject backslashes at end of path
expecting success of 1014.23 'reject backslashes as subtree':
printf "040000 tree %s\t%s" "$tree" "$path" >tree &&
bogus=$(git mktree <tree) &&
test_must_fail git read-tree $bogus
error: invalid path '.\.GIT\foobar/file'
ok 23 - reject backslashes as subtree
expecting success of 1014.24 'reject backslashes2 at end of path':
printf "100644 blob %s\t%s" "$blob" "$path" >tree &&
bogus=$(git mktree <tree) &&
test_must_fail git read-tree $bogus
error: invalid path '.git\foobar'
ok 24 - reject backslashes2 at end of path
expecting success of 1014.25 'reject backslashes2 as subtree':
printf "040000 tree %s\t%s" "$tree" "$path" >tree &&
bogus=$(git mktree <tree) &&
test_must_fail git read-tree $bogus
error: invalid path '.git\foobar/file'
ok 25 - reject backslashes2 as subtree
expecting success of 1014.26 'reject .git...:alternate-stream at end of path':
printf "100644 blob %s\t%s" "$blob" "$path" >tree &&
bogus=$(git mktree <tree) &&
test_must_fail git read-tree $bogus
error: invalid path '.git...:alternate-stream'
ok 26 - reject .git...:alternate-stream at end of path
expecting success of 1014.27 'reject .git...:alternate-stream as subtree':
printf "040000 tree %s\t%s" "$tree" "$path" >tree &&
bogus=$(git mktree <tree) &&
test_must_fail git read-tree $bogus
error: invalid path '.git...:alternate-stream/file'
ok 27 - reject .git...:alternate-stream as subtree
expecting success of 1014.28 'utf-8 paths allowed with core.protectHFS off':
test_when_finished "git read-tree HEAD" &&
test_config core.protectHFS false &&
printf "100644 blob %s\t%s" "$blob" ".gi${u200c}t" >tree &&
ok=$(git mktree <tree) &&
git read-tree $ok
ok 28 - utf-8 paths allowed with core.protectHFS off
# passed all 28 test(s)
1..28
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t1015-read-index-unmerged.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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
)
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1015-read-index-unmerged/df_plus_modify_delete/.git/
[master (root-commit) b53ba7d] initial
Author: A U Thor <author@example.com>
1 file changed, 8 insertions(+)
create mode 100644 letters
Switched to a new branch 'modify'
[modify 0176d4a] modified
Author: A U Thor <author@example.com>
2 files changed, 2 insertions(+)
create mode 100644 letters.txt
Switched to a new branch 'delete'
rm 'letters'
[delete 93c1384] deleted
Author: A U Thor <author@example.com>
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 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 &&
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
)
Note: switching to 'delete^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 <new-branch-name>
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
HEAD is now at 93c1384 deleted
Merging:
93c1384 deleted
virtual modify
found 1 common ancestor:
b53ba7d 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 93c1384 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 93c1384 deleted
Merging:
93c1384 deleted
virtual modify
found 1 common ancestor:
b53ba7d 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 93c1384 deleted
HEAD is now at 93c1384 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 /<<PKGBUILDDIR>>/t/trash directory.t1015-read-index-unmerged/df_plus_edit_edit/.git/
[master (root-commit) 523dbba] initial
Author: A U Thor <author@example.com>
1 file changed, 10 insertions(+)
create mode 100644 numbers
Switched to a new branch 'd-edit'
[d-edit fa086d2] directory and edit
Author: A U Thor <author@example.com>
2 files changed, 2 insertions(+)
create mode 100644 foo/bar
Switched to a new branch 'f-edit'
[f-edit 8e93218] file and edit
Author: A U Thor <author@example.com>
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 <new-branch-name>
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
HEAD is now at 8e93218 file and edit
Merging:
8e93218 file and edit
virtual d-edit^0
found 1 common ancestor:
523dbba 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 8e93218 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 &&
git checkout f-edit^0 &&
git format-patch -1 d-edit &&
test_must_fail git am -3 0001*.patch &&
git am --skip &&
test_path_is_missing .git/rebase-apply &&
git ls-files -u >conflicts &&
test_must_be_empty conflicts
)
HEAD is now at 8e93218 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:
8e93218 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
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 8e93218 file and edit
Removing 0001-directory-and-edit.patch
Removing conflicts
Removing foo~HEAD
ok 6 - git am --skip succeeds despite D/F conflict
# passed all 6 test(s)
1..6
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t1020-subdirectory.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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
ok 1 - setup
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
pass one
pass two
pass both
ok 2 - update-index and ls-files
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 <file>..." to unstage)
new file: two
new file: ../one
Untracked files:
(use "git add <file>..." 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 <file>..." to unstage)
new file: two
new file: ../one
Untracked files:
(use "git add <file>..." 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) 6101527] 1
Author: A U Thor <author@example.com>
2 files changed, 58 insertions(+)
create mode 100644 dir/two
create mode 100644 one
commit 6101527a4cd9c2eeaa10a54ed280f2e3353cc134
Author: A U Thor <author@example.com>
Date: Fri Jun 12 06:32:25 2020 +0000
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 6101527a4cd9c2eeaa10a54ed280f2e3353cc134
Author: A U Thor <author@example.com>
Date: Fri Jun 12 06:32:25 2020 +0000
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 6101527a4cd9c2eeaa10a54ed280f2e3353cc134
Author: A U Thor <author@example.com>
Date: Fri Jun 12 06:32:25 2020 +0000
1
ok 14 - no file/rev ambiguity check inside a bare repo
checking prerequisite: SYMLINKS
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
# 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 6101527a4cd9c2eeaa10a54ed280f2e3353cc134
Author: A U Thor <author@example.com>
Date: Fri Jun 12 06:32:25 2020 +0000
1
ok 15 - detection should not be fooled by a symlink
# passed all 15 test(s)
1..15
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t1021-rerere-in-workdir.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1021-rerere-in-workdir/.git/
checking prerequisite: SYMLINKS
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
# test whether the filesystem supports symbolic links
ln -s x y && test -h y
)
prerequisite SYMLINKS ok
expecting success of 1021.1 'setup':
git config rerere.enabled true &&
>world &&
git add world &&
test_tick &&
git commit -m initial &&
echo hello >world &&
test_tick &&
git commit -a -m hello &&
git checkout -b side HEAD^ &&
echo goodbye >world &&
test_tick &&
git commit -a -m goodbye &&
git checkout master
[master (root-commit) 21975ff] initial
Author: A U Thor <author@example.com>
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 world
[master 02943d2] hello
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
Switched to a new branch 'side'
[side 5611ff9] goodbye
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
Switched to branch 'master'
ok 1 - setup
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
)
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 '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t1051-large-conversion.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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/"
ok 1 - setup input tests
expecting success of 1051.2 'autocrlf=true converts on input':
test_config core.autocrlf true &&
check_input
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 >small.clean &&
head -n 1 large >large.head &&
sed -n "s/Id: .*/Id: SHA/p" <large.head >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 '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t1060-object-corruption.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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
)
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1060-object-corruption/bit-error/.git/
[master (root-commit) 0df6d69] content
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 content.t
1+0 records in
1+0 records out
1 byte copied, 0.000498352 s, 2.0 kB/s
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1060-object-corruption/no-bit-error/.git/
[master (root-commit) f374eba] content
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 content.t
ok 1 - setup corrupt repo
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)"
)
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1060-object-corruption/missing/.git/
[master (root-commit) 0df6d69] content
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 content.t
ok 2 - setup repo with missing object
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"
)
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1060-object-corruption/misnamed/.git/
[master (root-commit) 0df6d69] content
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 content.t
ok 3 - setup repo with misnamed object
expecting success of 1060.4 'streaming a corrupt blob fails':
(
cd bit-error &&
test_must_fail git cat-file blob HEAD:content.t
)
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 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'...
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
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: 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'...
remote: fatal: unable to read d95f3ad14dee633a758d2e331151e950dd13e4ed
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: 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 /<<PKGBUILDDIR>>/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" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
! 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
)
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1060-object-corruption/missing-empty/.git/
0cb53ebfab6b74cf1c2015fb6b83eae129d40b4d
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 '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t1090-sparse-checkout-scope.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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) 066e438] initial commit
Author: A U Thor <author@example.com>
3 files changed, 3 insertions(+)
create mode 100644 a
create mode 100644 b
create mode 100644 c
ok 1 - setup
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"
Switched to a new branch 'feature'
[feature ea5226a] modification
Author: A U Thor <author@example.com>
2 files changed, 2 insertions(+), 2 deletions(-)
ok 2 - create feature branch
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
Switched to branch 'master'
ok 3 - perform sparse checkout of master
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"
Updating 066e438..ea5226a
Fast-forward
b | 2 +-
c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
ok 4 - merge feature branch into sparse checkout of master
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"
Switched to branch 'feature'
Switched to branch 'master'
ok 5 - return to full checkout of master
expecting success of 1090.6 'in partial clone, sparse checkout only fetches needed blobs':
test_create_repo server &&
git clone "file://$(pwd)/server" client &&
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 &&
test_config -C client core.sparsecheckout 1 &&
test_config -C client extensions.partialclone origin &&
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 &&
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
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1090-sparse-checkout-scope/server/.git/
Cloning into 'client'...
warning: You appear to have cloned an empty repository.
[master (root-commit) 52aefec] message
Author: A U Thor <author@example.com>
3 files changed, 3 insertions(+)
create mode 100644 a
create mode 100644 b
create mode 100644 c/c
From file:///<<PKGBUILDDIR>>/t/trash directory.t1090-sparse-checkout-scope/server
* [new branch] master -> origin/master
Note: switching to 'FETCH_HEAD'.
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 <new-branch-name>
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
HEAD is now at 52aefec message
ok 6 - in partial clone, sparse checkout only fetches needed blobs
# passed all 6 test(s)
1..6
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t1050-large.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1050-large/.git/
expecting success of 1050.1 'setup':
# clone does not allow us to pass core.bigfilethreshold to
# new repos, so set core.bigfilethreshold globally
git config --global core.bigfilethreshold 200k &&
printf "%2000000s" X >large1 &&
cp large1 large2 &&
cp large1 large3 &&
printf "%2500000s" Y >huge &&
GIT_ALLOC_LIMIT=1500k &&
export GIT_ALLOC_LIMIT
ok 1 - setup
expecting success of 1050.2 'add with -c core.compression=0':
test_when_finished "rm -f .git/objects/pack/pack-*.* .git/index" &&
git $config add large1 &&
sz=$(file_size .git/objects/pack/pack-*.pack) &&
case "$expect" in
small) test "$sz" -le 100000 ;;
large) test "$sz" -ge 100000 ;;
esac
ok 2 - add with -c core.compression=0
expecting success of 1050.3 'add with -c core.compression=9':
test_when_finished "rm -f .git/objects/pack/pack-*.* .git/index" &&
git $config add large1 &&
sz=$(file_size .git/objects/pack/pack-*.pack) &&
case "$expect" in
small) test "$sz" -le 100000 ;;
large) test "$sz" -ge 100000 ;;
esac
ok 3 - add with -c core.compression=9
expecting success of 1050.4 'add with -c core.compression=0 -c pack.compression=0':
test_when_finished "rm -f .git/objects/pack/pack-*.* .git/index" &&
git $config add large1 &&
sz=$(file_size .git/objects/pack/pack-*.pack) &&
case "$expect" in
small) test "$sz" -le 100000 ;;
large) test "$sz" -ge 100000 ;;
esac
ok 4 - add with -c core.compression=0 -c pack.compression=0
expecting success of 1050.5 'add with -c core.compression=9 -c pack.compression=0':
test_when_finished "rm -f .git/objects/pack/pack-*.* .git/index" &&
git $config add large1 &&
sz=$(file_size .git/objects/pack/pack-*.pack) &&
case "$expect" in
small) test "$sz" -le 100000 ;;
large) test "$sz" -ge 100000 ;;
esac
ok 5 - add with -c core.compression=9 -c pack.compression=0
expecting success of 1050.6 'add with -c core.compression=0 -c pack.compression=9':
test_when_finished "rm -f .git/objects/pack/pack-*.* .git/index" &&
git $config add large1 &&
sz=$(file_size .git/objects/pack/pack-*.pack) &&
case "$expect" in
small) test "$sz" -le 100000 ;;
large) test "$sz" -ge 100000 ;;
esac
ok 6 - add with -c core.compression=0 -c pack.compression=9
expecting success of 1050.7 'add with -c core.compression=9 -c pack.compression=9':
test_when_finished "rm -f .git/objects/pack/pack-*.* .git/index" &&
git $config add large1 &&
sz=$(file_size .git/objects/pack/pack-*.pack) &&
case "$expect" in
small) test "$sz" -le 100000 ;;
large) test "$sz" -ge 100000 ;;
esac
ok 7 - add with -c core.compression=9 -c pack.compression=9
expecting success of 1050.8 'add with -c pack.compression=0':
test_when_finished "rm -f .git/objects/pack/pack-*.* .git/index" &&
git $config add large1 &&
sz=$(file_size .git/objects/pack/pack-*.pack) &&
case "$expect" in
small) test "$sz" -le 100000 ;;
large) test "$sz" -ge 100000 ;;
esac
ok 8 - add with -c pack.compression=0
expecting success of 1050.9 'add with -c pack.compression=9':
test_when_finished "rm -f .git/objects/pack/pack-*.* .git/index" &&
git $config add large1 &&
sz=$(file_size .git/objects/pack/pack-*.pack) &&
case "$expect" in
small) test "$sz" -le 100000 ;;
large) test "$sz" -ge 100000 ;;
esac
ok 9 - add with -c pack.compression=9
expecting success of 1050.10 'add a large file or two':
git add large1 huge large2 &&
# make sure we got a single packfile and no loose objects
bad= count=0 idx= &&
for p in .git/objects/pack/pack-*.pack
do
count=$(( $count + 1 ))
if test_path_is_file "$p" &&
idx=${p%.pack}.idx && test_path_is_file "$idx"
then
continue
fi
bad=t
done &&
test -z "$bad" &&
test $count = 1 &&
cnt=$(git show-index <"$idx" | wc -l) &&
test $cnt = 2 &&
for l in .git/objects/??/??????????????????????????????????????
do
test_path_is_file "$l" || continue
bad=t
done &&
test -z "$bad" &&
# attempt to add another copy of the same
git add large3 &&
bad= count=0 &&
for p in .git/objects/pack/pack-*.pack
do
count=$(( $count + 1 ))
if test_path_is_file "$p" &&
idx=${p%.pack}.idx && test_path_is_file "$idx"
then
continue
fi
bad=t
done &&
test -z "$bad" &&
test $count = 1
File .git/objects/??/?????????????????????????????????????? doesn't exist.
ok 10 - add a large file or two
expecting success of 1050.11 'checkout a large file':
large1=$(git rev-parse :large1) &&
git update-index --add --cacheinfo 100644 $large1 another &&
git checkout another &&
test_cmp large1 another
Updated 1 path from the index
ok 11 - checkout a large file
expecting success of 1050.12 'packsize limit':
test_create_repo mid &&
(
cd mid &&
git config core.bigfilethreshold 64k &&
git config pack.packsizelimit 256k &&
# mid1 and mid2 will fit within 256k limit but
# appending mid3 will bust the limit and will
# result in a separate packfile.
test-tool genrandom "a" $(( 66 * 1024 )) >mid1 &&
test-tool genrandom "b" $(( 80 * 1024 )) >mid2 &&
test-tool genrandom "c" $(( 128 * 1024 )) >mid3 &&
git add mid1 mid2 mid3 &&
count=0 &&
for pi in .git/objects/pack/pack-*.idx
do
test_path_is_file "$pi" && count=$(( $count + 1 ))
done &&
test $count = 2 &&
(
git hash-object --stdin <mid1 &&
git hash-object --stdin <mid2 &&
git hash-object --stdin <mid3
) |
sort >expect &&
for pi in .git/objects/pack/pack-*.idx
do
git show-index <"$pi"
done |
sed -e "s/^[0-9]* \([0-9a-f]*\) .*/\1/" |
sort >actual &&
test_cmp expect actual
)
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1050-large/mid/.git/
ok 12 - packsize limit
expecting success of 1050.13 'diff --raw':
git commit -q -m initial &&
echo modified >>large1 &&
git add large1 &&
git commit -q -m modified &&
git diff --raw HEAD^
:100644 100644 6cef6d8 171a2cf M large1
ok 13 - diff --raw
expecting success of 1050.14 'diff --stat':
git diff --stat HEAD^ HEAD
large1 | Bin 2000000 -> 2000009 bytes
1 file changed, 0 insertions(+), 0 deletions(-)
ok 14 - diff --stat
expecting success of 1050.15 'diff':
git diff HEAD^ HEAD >actual &&
grep "Binary files.*differ" actual
Binary files a/large1 and b/large1 differ
ok 15 - diff
expecting success of 1050.16 'diff --cached':
git diff --cached HEAD^ >actual &&
grep "Binary files.*differ" actual
Binary files a/large1 and b/large1 differ
ok 16 - diff --cached
expecting success of 1050.17 'hash-object':
git hash-object large1
171a2cf5cd75bd8d405266c986591716925e9712
ok 17 - hash-object
expecting success of 1050.18 'cat-file a large file':
git cat-file blob :large1 >/dev/null
ok 18 - cat-file a large file
expecting success of 1050.19 'cat-file a large file from a tag':
git tag -m largefile largefiletag :large1 &&
git cat-file blob largefiletag >/dev/null
ok 19 - cat-file a large file from a tag
expecting success of 1050.20 'git-show a large file':
git show :large1 >/dev/null
ok 20 - git-show a large file
expecting success of 1050.21 'index-pack':
git clone file://"$(pwd)"/.git foo &&
GIT_DIR=non-existent git index-pack --strict --verify foo/.git/objects/pack/*.pack
Cloning into 'foo'...
ok 21 - index-pack
expecting success of 1050.22 'repack':
git repack -ad
ok 22 - repack
expecting success of 1050.23 'pack-objects with large loose object':
SHA1=$(git hash-object huge) &&
test_create_repo loose &&
echo $SHA1 | git pack-objects --stdout |
GIT_ALLOC_LIMIT=0 GIT_DIR=loose/.git git unpack-objects &&
echo $SHA1 | GIT_DIR=loose/.git git pack-objects pack &&
test_create_repo packed &&
mv pack-* packed/.git/objects/pack &&
GIT_DIR=packed/.git git cat-file blob $SHA1 >actual &&
test_cmp huge actual
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1050-large/loose/.git/
dc5b4c5413c9a2a6ca4f121474e1c9c8ea086153
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1050-large/packed/.git/
ok 23 - pack-objects with large loose object
expecting success of 1050.24 'tar archiving':
git archive --format=tar HEAD >/dev/null
ok 24 - tar archiving
expecting success of 1050.25 'zip archiving, store only':
git archive --format=zip -0 HEAD >/dev/null
ok 25 - zip archiving, store only
expecting success of 1050.26 'zip archiving, deflate':
git archive --format=zip HEAD >/dev/null
ok 26 - zip archiving, deflate
expecting success of 1050.27 'fsck large blobs':
git fsck 2>err &&
test_must_be_empty err
ok 27 - fsck large blobs
# passed all 27 test(s)
1..27
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t1100-commit-tree-options.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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 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
expecting success of 1100.3 'read commit': git cat-file commit $(cat commitid) >commit
ok 3 - read commit
expecting success of 1100.4 'compare commit': test_cmp expected commit
ok 4 - compare commit
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 5 - flags and then non flags
# passed all 5 test(s)
1..5
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t1091-sparse-checkout-builtin.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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"
)
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1091-sparse-checkout-builtin/repo/.git/
[master (root-commit) 3f01f91] initial commit
Author: A U Thor <author@example.com>
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" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
! 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 '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
)
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1091-sparse-checkout-builtin/empty-config/.git/
[master (root-commit) 236e830] test
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 file
ok 8 - set enables config
expecting success of 1091.9 '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 9 - set sparse-checkout using builtin
expecting success of 1091.10 'set sparse-checkout using --stdin':
cat >expect <<-\EOF &&
/*
!/*/
/folder1/
/folder2/
EOF
git -C repo sparse-checkout set --stdin <expect &&
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 --stdin
expecting success of 1091.11 '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 <add &&
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 11 - add to sparse-checkout
expecting success of 1091.12 '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 3f01f91 initial commit
ok 12 - cone mode: match patterns
expecting success of 1091.13 '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 13 - cone mode: warn on bad pattern
expecting success of 1091.14 '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 14 - sparse-checkout disable
expecting success of 1091.15 '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 15 - cone mode: init and set
expecting success of 1091.16 'cone mode: list':
cat >expect <<-\EOF &&
folder1
folder2
EOF
git -C repo sparse-checkout set --stdin <expect &&
git -C repo sparse-checkout list >actual 2>err &&
test_must_be_empty err &&
test_cmp expect actual
ok 16 - cone mode: list
expecting success of 1091.17 '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 17 - cone mode: set with nested folders
expecting success of 1091.18 '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 18 - cone mode: add independent path
expecting success of 1091.19 '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 19 - cone mode: add sibling path
expecting success of 1091.20 '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 20 - cone mode: add parent path
expecting success of 1091.21 '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 3f01f91 initial commit
ok 21 - not-up-to-date does not block rest of sparsification
expecting success of 1091.22 '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
)
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1091-sparse-checkout-builtin/empty-test/.git/
[master (root-commit) 47afd58] test
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 file
ok 22 - revert to old sparse-checkout on empty update
expecting success of 1091.23 '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 '/<<PKGBUILDDIR>>/t/trash directory.t1091-sparse-checkout-builtin/repo/.git/info/sparse-checkout.lock': File exists.
ok 23 - fail when lock is taken
expecting success of 1091.24 '.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 3f01f91 initial commit
ok 24 - .gitignore should not warn about cone mode
expecting success of 1091.25 '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 3f01f91 initial commit
ok 25 - sparse-checkout (init|set|disable) warns with dirty status
expecting success of 1091.26 'sparse-checkout (init|set|disable) warns with unmerged status':
git clone repo unmerged &&
cat >input <<-EOF &&
0 0000000000000000000000000000000000000000 folder1/a
100644 $(git -C unmerged rev-parse HEAD:folder1/a) 1 folder1/a
EOF
git -C unmerged update-index --index-info <input &&
git -C unmerged sparse-checkout init 2>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 3f01f91 initial commit
ok 26 - sparse-checkout (init|set|disable) warns with unmerged status
expecting success of 1091.27 'sparse-checkout reapply':
git clone repo tweak &&
echo dirty >tweak/deep/deeper2/a &&
cat >input <<-EOF &&
0 0000000000000000000000000000000000000000 folder1/a
100644 $(git -C tweak rev-parse HEAD:folder1/a) 1 folder1/a
EOF
git -C tweak update-index --index-info <input &&
git -C tweak sparse-checkout init --cone 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 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 27 - sparse-checkout reapply
expecting success of 1091.28 '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 28 - cone mode: set with core.ignoreCase=true
expecting success of 1091.29 'interaction with submodules':
git clone repo super &&
(
cd super &&
mkdir modules &&
git 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 '/<<PKGBUILDDIR>>/t/trash directory.t1091-sparse-checkout-builtin/super/modules/child'...
done.
[master bd93c42] add submodule
Author: A U Thor <author@example.com>
2 files changed, 4 insertions(+)
create mode 100644 .gitmodules
create mode 160000 modules/child
warning: unable to rmdir 'modules/child': Directory not empty
ok 29 - interaction with submodules
expecting success of 1091.30 '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 3f01f91)
HEAD is now at 3f01f91 initial commit
ok 30 - different sparse-checkouts with worktrees
expecting success of 1091.31 '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 31 - set using filename keeps file on-disk
expecting success of 1091.32 '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 32 - pattern-checks: /A/**
expecting success of 1091.33 '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 33 - pattern-checks: /A/**/B/
expecting success of 1091.34 '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 34 - pattern-checks: too short
expecting success of 1091.35 '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 35 - pattern-checks: not too short
expecting success of 1091.36 '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 36 - pattern-checks: trailing "*"
expecting success of 1091.37 '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 37 - pattern-checks: starting "*"
expecting success of 1091.38 '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 38 - pattern-checks: contained glob characters
expecting success of 1091.39 '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 <list-expect &&
cat >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 1ecce45
ok 39 - pattern-checks: escaped characters
skipping test: cone mode replaces backslashes with slashes
git -C repo sparse-checkout set deep\\deeper1 &&
cat >expect <<-\EOF &&
/*
!/*/
/deep/
!/deep/*/
/deep/deeper1/
EOF
test_cmp expect repo/.git/info/sparse-checkout &&
check_files repo a deep &&
check_files repo/deep a deeper1
ok 40 # skip cone mode replaces backslashes with slashes (missing MINGW)
# passed all 40 test(s)
1..40
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t1301-shared-repo.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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
Initialized empty shared Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1301-shared-repo/sub/.git/
ok 2 - shared=1 does not clear bits preset by umask 002
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
Initialized empty shared Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1301-shared-repo/sub/.git/
ok 3 - shared=1 does not clear bits preset by umask 022
expecting success of 1301.4 'shared=all':
mkdir sub &&
cd sub &&
git init --shared=all &&
test 2 = $(git config core.sharedrepository)
Initialized empty shared Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1301-shared-repo/sub/.git/
ok 4 - shared=all
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
[master (root-commit) a2bd363] a1
Author: A U Thor <author@example.com>
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 a1
ok 5 - update-server-info honors core.sharedRepository
expecting success of 1301.6 'shared = 0660 (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 6 - shared = 0660 (r--r-----) ro
expecting success of 1301.7 'shared = 0660 (rw-rw----) rw':
rm -f .git/info/refs &&
git update-server-info &&
actual="$(test_modebits .git/info/refs)" &&
verbose test "x$actual" = "x-$x"
ok 7 - shared = 0660 (rw-rw----) rw
expecting success of 1301.8 'shared = 0640 (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 8 - shared = 0640 (r--r-----) ro
expecting success of 1301.9 'shared = 0640 (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 9 - shared = 0640 (rw-r-----) rw
expecting success of 1301.10 'shared = 0600 (r--------) ro':
rm -f .git/info/refs &&
git update-server-info &&
actual="$(test_modebits .git/info/refs)" &&
verbose test "x$actual" = "x-$y"
ok 10 - shared = 0600 (r--------) ro
expecting success of 1301.11 'shared = 0600 (rw-------) rw':
rm -f .git/info/refs &&
git update-server-info &&
actual="$(test_modebits .git/info/refs)" &&
verbose test "x$actual" = "x-$x"
ok 11 - shared = 0600 (rw-------) rw
expecting success of 1301.12 'shared = 0666 (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 12 - shared = 0666 (r--r--r--) ro
expecting success of 1301.13 'shared = 0666 (rw-rw-rw-) rw':
rm -f .git/info/refs &&
git update-server-info &&
actual="$(test_modebits .git/info/refs)" &&
verbose test "x$actual" = "x-$x"
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 /<<PKGBUILDDIR>>/t/trash directory.t1301-shared-repo/sub/new/templates
Initialized empty shared Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1301-shared-repo/sub/new/.git/
[master (root-commit) e4c5dc6] initial
Author: A U Thor <author@example.com>
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
Initialized empty Git repository in /<<PKGBUILDDIR>>/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 /<<PKGBUILDDIR>>/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
Initialized empty shared Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1301-shared-repo/sub/child.git/
Reinitialized existing shared Git repository in /<<PKGBUILDDIR>>/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
Initialized empty shared Git repository in /<<PKGBUILDDIR>>/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 '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t1302-repo-version.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1302-repo-version/.git/
expecting success of 1302.1 'setup':
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
test_create_repo "test" &&
test_create_repo "test2" &&
git config --file=test2/.git/config core.repositoryformatversion 99
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1302-repo-version/test/.git/
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1302-repo-version/test2/.git/
ok 1 - setup
expecting success of 1302.2 'gitdir selection on normal repos':
echo 0 >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(+)
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 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
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 1302.6 'allow version=0 ':
mkconfig 0 >.git/config &&
check_allow
ok 6 - allow version=0
expecting success of 1302.7 'allow version=1 ':
mkconfig 1 >.git/config &&
check_allow
ok 7 - allow version=1
expecting success of 1302.8 'allow version=1 noop':
mkconfig 1 noop >.git/config &&
check_allow
ok 8 - allow version=1 noop
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 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
expecting success of 1302.11 'precious-objects allowed':
mkconfig 1 preciousObjects >.git/config &&
check_allow
ok 11 - precious-objects allowed
expecting success of 1302.12 'precious-objects blocks destructive repack':
test_must_fail git repack -ad
fatal: cannot delete packs in a precious-objects repo
ok 12 - precious-objects blocks destructive repack
expecting success of 1302.13 'other repacks are OK':
test_commit foo &&
git repack
[master (root-commit) ddd63c9] foo
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 foo.t
ok 13 - other repacks are OK
expecting success of 1302.14 'precious-objects blocks prune':
test_must_fail git prune
fatal: cannot prune in a precious-objects repo
ok 14 - precious-objects blocks prune
expecting success of 1302.15 'gc runs without complaint':
git gc
ok 15 - gc runs without complaint
# passed all 15 test(s)
1..15
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t1303-wacky-config.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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 '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t1304-default-acl.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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
t1304-default-acl.sh: 4: eval: setfacl: not found
ok 1 - checking for a working acl setup
skipping test: Setup test repo
setfacl -m d:u::rwx,d:g::---,d:o:---,d:m:rwx $dirs_to_set &&
setfacl -m m:rwx $dirs_to_set &&
setfacl -m u:root:rwx $dirs_to_set &&
setfacl -m d:u:"$LOGNAME":rwx $dirs_to_set &&
setfacl -m d:u:root:rwx $dirs_to_set &&
touch file.txt &&
git add file.txt &&
git commit -m "init"
ok 2 # skip Setup test repo (missing SETFACL)
skipping test: Objects creation does not break ACLs with restrictive umask
# SHA1 for empty blob
check_perms_and_acl .git/objects/$(echo $EMPTY_BLOB | sed -e "s,^\(..\),\1/,")
ok 3 # skip Objects creation does not break ACLs with restrictive umask (missing SETFACL)
skipping test: git gc does not break ACLs with restrictive umask
git gc &&
check_perms_and_acl .git/objects/pack/*.pack
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 '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t1305-config-include.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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
)
Initialized empty Git repository in /<<PKGBUILDDIR>>/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
Initialized empty Git repository in /<<PKGBUILDDIR>>/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" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
# 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
)
Initialized empty Git repository in /<<PKGBUILDDIR>>/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
Initialized empty Git repository in /<<PKGBUILDDIR>>/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 '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t1306-xdg-files.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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
Initialized empty Git repository in /<<PKGBUILDDIR>>/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 '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t1300-config.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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 core.penguin "little blue" &&
test_cmp expect .git/config
ok 2 - initial
expecting success of 1300.3 'mixed case':
git config Core.Movie BadPhysics &&
test_cmp expect .git/config
ok 3 - mixed case
expecting success of 1300.4 'similar section':
git config Cores.WhatEver Second &&
test_cmp expect .git/config
ok 4 - similar section
expecting success of 1300.5 'uppercase section':
git config CORE.UPPERCASE true &&
test_cmp expect .git/config
ok 5 - uppercase section
expecting success of 1300.6 'replace with non-match':
git config core.penguin kingpin !blue
ok 6 - replace with non-match
expecting success of 1300.7 'replace with non-match (actually matching)':
git config core.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 cores.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 CoReS.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 [<options>]
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 <file> use given config file
--blob <blob-id> read config from given blob object
Action
--get get value: name [value-regex]
--get-all get all values: key [value-regex]
--get-regexp get values for regexp: name-regex [value-regex]
--get-urlmatch get value specific for the URL: section[.var] URL
--replace-all replace all matching variables: name value [value_regex]
--add add a new variable: name value
--unset remove a variable: name [value-regex]
--unset-all remove all matches: name [value-regex]
--rename-section rename section: old-name new-name
--remove-section remove a section: name
-l, --list list all
-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
--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 <value> 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
expecting success of 1300.22 'unset':
git config --unset beta.haha &&
test_cmp expect .git/config
ok 22 - unset
expecting success of 1300.23 'multivar':
git config nextsection.NoNewLine "wow2 for me" "for me$" &&
test_cmp expect .git/config
ok 23 - multivar
expecting success of 1300.24 'non-match':
git config --get nextsection.nonewline !for
wow
ok 24 - non-match
expecting success of 1300.25 'non-match value':
test_cmp_config wow --get nextsection.nonewline !for
ok 25 - non-match value
expecting success of 1300.26 'multi-valued get returns final one':
test_cmp_config "wow2 for me" --get nextsection.nonewline
ok 26 - multi-valued get returns final one
expecting success of 1300.27 'multi-valued get-all returns all':
cat >expect <<-\EOF &&
wow
wow2 for me
EOF
git config --get-all nextsection.nonewline >actual &&
test_cmp expect actual
ok 27 - multi-valued get-all returns all
expecting success of 1300.28 'multivar replace':
git config nextsection.nonewline "wow3" "wow$" &&
test_cmp expect .git/config
ok 28 - multivar replace
expecting success of 1300.29 'ambiguous unset':
test_must_fail git config --unset nextsection.nonewline
warning: nextsection.nonewline has multiple values
ok 29 - ambiguous unset
expecting success of 1300.30 'invalid unset':
test_must_fail git config --unset somesection.nonewline
ok 30 - invalid unset
expecting success of 1300.31 'multivar unset':
git config --unset nextsection.nonewline "wow3$" &&
test_cmp expect .git/config
ok 31 - multivar unset
expecting success of 1300.32 'invalid key': test_must_fail git config inval.2key blabla
error: invalid key: inval.2key
ok 32 - invalid key
expecting success of 1300.33 'correct key': git config 123456.a123 987
ok 33 - correct key
expecting success of 1300.34 'hierarchical section':
git config Version.1.2.3eX.Alpha beta
ok 34 - hierarchical section
expecting success of 1300.35 'hierarchical section value':
test_cmp expect .git/config
ok 35 - hierarchical section value
expecting success of 1300.36 'working --list':
git config --list > output &&
test_cmp expect output
ok 36 - working --list
expecting success of 1300.37 '--list without repo produces empty output':
git --git-dir=nonexistent config --list >output &&
test_must_be_empty output
ok 37 - --list without repo produces empty output
expecting success of 1300.38 '--name-only --list':
git config --name-only --list >output &&
test_cmp expect output
ok 38 - --name-only --list
expecting success of 1300.39 '--get-regexp':
git config --get-regexp in >output &&
test_cmp expect output
ok 39 - --get-regexp
expecting success of 1300.40 '--name-only --get-regexp':
git config --name-only --get-regexp in >output &&
test_cmp expect output
ok 40 - --name-only --get-regexp
expecting success of 1300.41 '--add':
git config --add nextsection.nonewline "wow4 for you" &&
git config --get-all nextsection.nonewline > output &&
test_cmp expect output
ok 41 - --add
expecting success of 1300.42 'get variable with no value':
git config --get novalue.variable ^$
ok 42 - get variable with no value
expecting success of 1300.43 'get variable with empty value':
git config --get emptyvalue.variable ^$
ok 43 - get variable with empty value
expecting success of 1300.44 'get-regexp variable with no value':
git config --get-regexp novalue > output &&
test_cmp expect output
ok 44 - get-regexp variable with no value
expecting success of 1300.45 'get-regexp --bool variable with no value':
git config --bool --get-regexp novalue > output &&
test_cmp expect output
ok 45 - get-regexp --bool variable with no value
expecting success of 1300.46 'get-regexp variable with empty value':
git config --get-regexp emptyvalue > output &&
test_cmp expect output
ok 46 - get-regexp variable with empty value
expecting success of 1300.47 'get bool variable with no value':
git config --bool novalue.variable > output &&
test_cmp expect output
ok 47 - get bool variable with no value
expecting success of 1300.48 'get bool variable with empty value':
git config --bool emptyvalue.variable > output &&
test_cmp expect output
ok 48 - get bool variable with empty value
expecting success of 1300.49 'no arguments, but no crash':
test_must_fail git config >output 2>&1 &&
test_i18ngrep usage output
checking prerequisite: C_LOCALE_OUTPUT
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
! test_bool_env GIT_TEST_GETTEXT_POISON false
)
prerequisite C_LOCALE_OUTPUT ok
usage: git config [<options>]
ok 49 - no arguments, but no crash
expecting success of 1300.50 'new section is partial match of another':
git config a.x y &&
test_cmp expect .git/config
ok 50 - new section is partial match of another
expecting success of 1300.51 'new variable inserts into proper section':
git config b.x y &&
git config a.b c &&
test_cmp expect .git/config
ok 51 - new variable inserts into proper section
expecting success of 1300.52 'alternative --file (non-existing file should fail)':
test_must_fail git config --file non-existing-config -l
fatal: unable to read config file 'non-existing-config': No such file or directory
ok 52 - alternative --file (non-existing file should fail)
expecting success of 1300.53 'alternative GIT_CONFIG':
GIT_CONFIG=other-config git config --list >output &&
test_cmp expect output
ok 53 - alternative GIT_CONFIG
expecting success of 1300.54 'alternative GIT_CONFIG (--file)':
git config --file other-config --list >output &&
test_cmp expect output
ok 54 - alternative GIT_CONFIG (--file)
expecting success of 1300.55 'alternative GIT_CONFIG (--file=-)':
git config --file - --list <other-config >output &&
test_cmp expect output
ok 55 - alternative GIT_CONFIG (--file=-)
expecting success of 1300.56 'setting a value in stdin is an error':
test_must_fail git config --file - some.value foo
fatal: writing to stdin is not supported
ok 56 - setting a value in stdin is an error
expecting success of 1300.57 'editing stdin is an error':
test_must_fail git config --file - --edit
fatal: editing stdin is not supported
ok 57 - editing stdin is an error
expecting success of 1300.58 'refer config from subdirectory':
mkdir x &&
test_cmp_config -C x strasse --get --file ../other-config ein.bahn
ok 58 - refer config from subdirectory
expecting success of 1300.59 'refer config from subdirectory via --file':
test_cmp_config -C x strasse --file=../other-config --get ein.bahn
ok 59 - refer config from subdirectory via --file
expecting success of 1300.60 '--set in alternative file':
git config --file=other-config anwohner.park ausweis &&
test_cmp expect other-config
ok 60 - --set in alternative file
expecting success of 1300.61 'rename section':
git config --rename-section branch.eins branch.zwei
ok 61 - rename section
expecting success of 1300.62 'rename succeeded':
test_cmp expect .git/config
ok 62 - rename succeeded
expecting success of 1300.63 'rename non-existing section':
test_must_fail git config --rename-section \
branch."world domination" branch.drei
fatal: no such section: branch.world domination
ok 63 - rename non-existing section
expecting success of 1300.64 'rename succeeded':
test_cmp expect .git/config
ok 64 - rename succeeded
expecting success of 1300.65 'rename another section':
git config --rename-section branch."1 234 blabl/a" branch.drei
ok 65 - rename another section
expecting success of 1300.66 'rename succeeded':
test_cmp expect .git/config
ok 66 - rename succeeded
expecting success of 1300.67 'rename a section with a var on the same line':
git config --rename-section branch.vier branch.zwei
ok 67 - rename a section with a var on the same line
expecting success of 1300.68 'rename succeeded':
test_cmp expect .git/config
ok 68 - rename succeeded
expecting success of 1300.69 'renaming empty section name is rejected':
test_must_fail git config --rename-section branch.zwei ""
error: invalid section name:
ok 69 - renaming empty section name is rejected
expecting success of 1300.70 'renaming to bogus section is rejected':
test_must_fail git config --rename-section branch.zwei "bogus name"
error: invalid section name: bogus name
ok 70 - renaming to bogus section is rejected
expecting success of 1300.71 'remove section':
git config --remove-section branch.zwei
ok 71 - remove section
expecting success of 1300.72 'section was removed properly':
test_cmp expect .git/config
ok 72 - section was removed properly
expecting success of 1300.73 'section ending':
rm -f .git/config &&
git config gitcvs.enabled true &&
git config gitcvs.ext.dbname %Ggitcvs1.%a.%m.sqlite &&
git config gitcvs.dbname %Ggitcvs2.%a.%m.sqlite &&
test_cmp expect .git/config
ok 73 - section ending
expecting success of 1300.74 'numbers':
git config kilo.gram 1k &&
git config mega.ton 1m &&
echo 1024 >expect &&
echo 1048576 >>expect &&
git config --int --get kilo.gram >actual &&
git config --int --get mega.ton >>actual &&
test_cmp expect actual
ok 74 - numbers
expecting success of 1300.75 '--int is at least 64 bits':
git config giga.watts 121g &&
echo >expect &&
test_cmp_config 129922760704 --int --get giga.watts
ok 75 - --int is at least 64 bits
expecting success of 1300.76 'invalid unit':
git config aninvalid.unit "1auto" &&
test_cmp_config 1auto aninvalid.unit &&
test_must_fail git config --int --get aninvalid.unit 2>actual &&
test_i18ngrep "bad numeric config value .1auto. for .aninvalid.unit. in file .git/config: invalid unit" actual
fatal: bad numeric config value '1auto' for 'aninvalid.unit' in file .git/config: invalid unit
ok 76 - invalid unit
expecting success of 1300.77 'line number is reported correctly':
printf "[bool]\n\tvar\n" >invalid &&
test_must_fail git config -f invalid --path bool.var 2>actual &&
test_i18ngrep "line 2" actual
fatal: bad config line 2 in file invalid
ok 77 - line number is reported correctly
expecting success of 1300.78 'invalid stdin config':
echo "[broken" | test_must_fail git config --list --file - >output 2>&1 &&
test_i18ngrep "bad config line 1 in standard input" output
fatal: bad config line 1 in standard input
ok 78 - invalid stdin config
expecting success of 1300.79 'bool':
git config bool.true1 01 &&
git config bool.true2 -1 &&
git config bool.true3 YeS &&
git config bool.true4 true &&
git config bool.false1 000 &&
git config bool.false2 "" &&
git config bool.false3 nO &&
git config bool.false4 FALSE &&
rm -f result &&
for i in 1 2 3 4
do
git config --bool --get bool.true$i >>result
git config --bool --get bool.false$i >>result
done &&
test_cmp expect result
ok 79 - bool
expecting success of 1300.80 'invalid bool (--get)':
git config bool.nobool foobar &&
test_must_fail git config --bool --get bool.nobool
fatal: bad numeric config value 'foobar' for 'bool.nobool' in file .git/config: invalid unit
ok 80 - invalid bool (--get)
expecting success of 1300.81 'invalid bool (set)':
test_must_fail git config --bool bool.nobool foobar
fatal: bad numeric config value 'foobar' for 'bool.nobool': invalid unit
ok 81 - invalid bool (set)
expecting success of 1300.82 'set --bool':
rm -f .git/config &&
git config --bool bool.true1 01 &&
git config --bool bool.true2 -1 &&
git config --bool bool.true3 YeS &&
git config --bool bool.true4 true &&
git config --bool bool.false1 000 &&
git config --bool bool.false2 "" &&
git config --bool bool.false3 nO &&
git config --bool bool.false4 FALSE &&
test_cmp expect .git/config
ok 82 - set --bool
expecting success of 1300.83 'set --int':
rm -f .git/config &&
git config --int int.val1 01 &&
git config --int int.val2 -1 &&
git config --int int.val3 5m &&
test_cmp expect .git/config
ok 83 - set --int
expecting success of 1300.84 'get --bool-or-int':
cat >.git/config <<-\EOF &&
[bool]
true1
true2 = true
false = false
[int]
int1 = 0
int2 = 1
int3 = -1
EOF
cat >expect <<-\EOF &&
true
true
false
0
1
-1
EOF
{
git config --bool-or-int bool.true1 &&
git config --bool-or-int bool.true2 &&
git config --bool-or-int bool.false &&
git config --bool-or-int int.int1 &&
git config --bool-or-int int.int2 &&
git config --bool-or-int int.int3
} >actual &&
test_cmp expect actual
ok 84 - get --bool-or-int
expecting success of 1300.85 'set --bool-or-int':
rm -f .git/config &&
git config --bool-or-int bool.true1 true &&
git config --bool-or-int bool.false1 false &&
git config --bool-or-int bool.true2 yes &&
git config --bool-or-int bool.false2 no &&
git config --bool-or-int int.int1 0 &&
git config --bool-or-int int.int2 1 &&
git config --bool-or-int int.int3 -1 &&
test_cmp expect .git/config
ok 85 - set --bool-or-int
expecting success of 1300.86 'set --path':
rm -f .git/config &&
git config --path path.home "~/" &&
git config --path path.normal "/dev/null" &&
git config --path path.trailingtilde "foo~" &&
test_cmp expect .git/config
ok 86 - set --path
expecting success of 1300.87 'get --path':
git config --get --path path.home > result &&
git config --get --path path.normal >> result &&
git config --get --path path.trailingtilde >> result &&
test_cmp expect result
ok 87 - get --path
expecting success of 1300.88 'get --path copes with unset $HOME':
(
sane_unset HOME &&
test_must_fail git config --get --path path.home \
>result 2>msg &&
git config --get --path path.normal >>result &&
git config --get --path path.trailingtilde >>result
) &&
test_i18ngrep "[Ff]ailed to expand.*~/" msg &&
test_cmp expect result
fatal: failed to expand user dir in: '~/'
ok 88 - get --path copes with unset $HOME
expecting success of 1300.89 'get --path barfs on boolean variable':
echo "[path]bool" >.git/config &&
test_must_fail git config --get --path path.bool
error: missing value for 'path.bool'
fatal: bad config line 1 in file .git/config
ok 89 - get --path barfs on boolean variable
expecting success of 1300.90 'get --expiry-date':
rel="3.weeks.5.days.00:00" &&
rel_out="$rel ->" &&
cat >.git/config <<-\EOF &&
[date]
valid1 = "3.weeks.5.days 00:00"
valid2 = "Fri Jun 4 15:46:55 2010"
valid3 = "2017/11/11 11:11:11PM"
valid4 = "2017/11/10 09:08:07 PM"
valid5 = "never"
invalid1 = "abc"
EOF
cat >expect <<-EOF &&
$(test-tool date timestamp $rel)
1275666415
1510441871
1510348087
0
EOF
: "work around heredoc parsing bug fixed in dash 0.5.7 (in ec2c84d)" &&
{
echo "$rel_out $(git config --expiry-date date.valid1)"
git config --expiry-date date.valid2 &&
git config --expiry-date date.valid3 &&
git config --expiry-date date.valid4 &&
git config --expiry-date date.valid5
} >actual &&
test_cmp expect actual &&
test_must_fail git config --expiry-date date.invalid1
error: 'abc' for 'date.invalid1' is not a valid timestamp
fatal: bad config line 7 in file .git/config
ok 90 - get --expiry-date
expecting success of 1300.91 'get --type=color':
rm .git/config &&
git config foo.color "red" &&
git config --get --type=color foo.color >actual.raw &&
test_decode_color <actual.raw >actual &&
echo "<RED>" >expect &&
test_cmp expect actual
ok 91 - get --type=color
expecting success of 1300.92 'set --type=color':
rm .git/config &&
git config --type=color foo.color "red" &&
test_cmp expect .git/config
ok 92 - set --type=color
expecting success of 1300.93 'get --type=color barfs on non-color':
echo "[foo]bar=not-a-color" >.git/config &&
test_must_fail git config --get --type=color foo.bar
error: invalid color value: not-a-color
fatal: bad config line 1 in file .git/config
ok 93 - get --type=color barfs on non-color
expecting success of 1300.94 'set --type=color barfs on non-color':
test_must_fail git config --type=color foo.color "not-a-color" 2>error &&
test_i18ngrep "cannot parse color" error
fatal: cannot parse color 'not-a-color'
ok 94 - set --type=color barfs on non-color
expecting success of 1300.95 'quoting':
rm -f .git/config &&
git config quote.leading " test" &&
git config quote.ending "test " &&
git config quote.semicolon "test;test" &&
git config quote.hash "test#test" &&
test_cmp expect .git/config
ok 95 - quoting
expecting success of 1300.96 'key with newline':
test_must_fail git config "key.with
newline" 123
error: invalid key: key.with
newline
ok 96 - key with newline
expecting success of 1300.97 'value with newline': git config key.sub value.with\\\
newline
ok 97 - value with newline
expecting success of 1300.98 'value continued on next line':
git config --list > result &&
test_cmp expect result
ok 98 - value continued on next line
expecting success of 1300.99 '--null --list':
git config --null --list >result.raw &&
nul_to_q <result.raw >result &&
echo >>result &&
test_cmp expect result
ok 99 - --null --list
expecting success of 1300.100 '--null --get-regexp':
git config --null --get-regexp "val[0-9]" >result.raw &&
nul_to_q <result.raw >result &&
echo >>result &&
test_cmp expect result
ok 100 - --null --get-regexp
expecting success of 1300.101 'inner whitespace kept verbatim':
git config section.val "foo bar" &&
test_cmp_config "foo bar" section.val
ok 101 - inner whitespace kept verbatim
checking prerequisite: SYMLINKS
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
# test whether the filesystem supports symbolic links
ln -s x y && test -h y
)
prerequisite SYMLINKS ok
expecting success of 1300.102 'symlinked configuration':
ln -s notyet myconfig &&
git config --file=myconfig test.frotz nitfol &&
test -h myconfig &&
test -f notyet &&
test "z$(git config --file=notyet test.frotz)" = znitfol &&
git config --file=myconfig test.xyzzy rezrov &&
test -h myconfig &&
test -f notyet &&
cat >expect <<-\EOF &&
nitfol
rezrov
EOF
{
git config --file=notyet test.frotz &&
git config --file=notyet test.xyzzy
} >actual &&
test_cmp expect actual
ok 102 - symlinked configuration
expecting success of 1300.103 'nonexistent configuration':
test_must_fail git config --file=doesnotexist --list &&
test_must_fail git config --file=doesnotexist test.xyzzy
fatal: unable to read config file 'doesnotexist': No such file or directory
ok 103 - nonexistent configuration
expecting success of 1300.104 'symlink to nonexistent configuration':
ln -s doesnotexist linktonada &&
ln -s linktonada linktolinktonada &&
test_must_fail git config --file=linktonada --list &&
test_must_fail git config --file=linktolinktonada --list
fatal: unable to read config file 'linktonada': No such file or directory
fatal: unable to read config file 'linktolinktonada': No such file or directory
ok 104 - symlink to nonexistent configuration
expecting success of 1300.105 'check split_cmdline return':
git config alias.split-cmdline-fix 'echo "' &&
test_must_fail git split-cmdline-fix &&
echo foo > foo &&
git add foo &&
git commit -m 'initial commit' &&
git config branch.master.mergeoptions 'echo "' &&
test_must_fail git merge master
fatal: bad alias.split-cmdline-fix string: unclosed quote
[master (root-commit) 62f83f7] initial commit
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 foo
fatal: Bad branch.master.mergeoptions string: unclosed quote
ok 105 - check split_cmdline return
expecting success of 1300.106 'git -c "key=value" support':
cat >expect <<-\EOF &&
value
value
true
EOF
{
git -c core.name=value config core.name &&
git -c foo.CamelCase=value config foo.camelcase &&
git -c foo.flag config --bool foo.flag
} >actual &&
test_cmp expect actual &&
test_must_fail git -c name=value config core.name
error: key does not contain a section: name
fatal: unable to parse command-line config
ok 106 - git -c "key=value" support
expecting success of 1300.107 'git -c can represent empty string':
echo >expect &&
git -c foo.empty= config --path foo.empty >actual &&
test_cmp expect actual
ok 107 - git -c can represent empty string
expecting success of 1300.108 'key sanity-checking':
test_must_fail git config foo=bar &&
test_must_fail git config foo=.bar &&
test_must_fail git config foo.ba=r &&
test_must_fail git config foo.1bar &&
test_must_fail git config foo."ba
z".bar &&
test_must_fail git config . false &&
test_must_fail git config .foo false &&
test_must_fail git config foo. false &&
test_must_fail git config .foo. false &&
git config foo.bar true &&
git config foo."ba =z".bar false
error: key does not contain a section: foo=bar
error: invalid key: foo=.bar
error: invalid key: foo.ba=r
error: invalid key: foo.1bar
error: invalid key (newline): foo.ba
z.bar
error: key does not contain a section: .
error: key does not contain a section: .foo
error: key does not contain variable name: foo.
error: key does not contain variable name: .foo.
ok 108 - key sanity-checking
expecting success of 1300.109 'git -c works with aliases of builtins':
git config alias.checkconfig "-c foo.check=bar config foo.check" &&
echo bar >expect &&
git checkconfig >actual &&
test_cmp expect actual
ok 109 - git -c works with aliases of builtins
expecting success of 1300.110 'aliases can be CamelCased':
test_config alias.CamelCased "rev-parse HEAD" &&
git CamelCased >out &&
git rev-parse HEAD >expect &&
test_cmp expect out
ok 110 - aliases can be CamelCased
expecting success of 1300.111 'git -c does not split values on equals':
echo "value with = in it" >expect &&
git -c core.foo="value with = in it" config core.foo >actual &&
test_cmp expect actual
ok 111 - git -c does not split values on equals
expecting success of 1300.112 'git -c dies on bogus config':
test_must_fail git -c core.bare=foo rev-parse
fatal: bad numeric config value 'foo' for 'core.bare': invalid unit
ok 112 - git -c dies on bogus config
expecting success of 1300.113 'git -c complains about empty key':
test_must_fail git -c "=foo" rev-parse
error: bogus config parameter: =foo
fatal: unable to parse command-line config
ok 113 - git -c complains about empty key
expecting success of 1300.114 'git -c complains about empty key and value':
test_must_fail git -c "" rev-parse
error: bogus config parameter:
fatal: unable to parse command-line config
ok 114 - git -c complains about empty key and value
expecting success of 1300.115 'multiple git -c appends config':
test_config alias.x "!git -c x.two=2 config --get-regexp ^x\.*" &&
cat >expect <<-\EOF &&
x.one 1
x.two 2
EOF
git -c x.one=1 x >actual &&
test_cmp expect actual
ok 115 - multiple git -c appends config
expecting success of 1300.116 'last one wins: two level vars':
# sec.var and sec.VAR are the same variable, as the first
# and the last level of a configuration variable name is
# case insensitive.
echo VAL >expect &&
git -c sec.var=val -c sec.VAR=VAL config --get sec.var >actual &&
test_cmp expect actual &&
git -c SEC.var=val -c sec.var=VAL config --get sec.var >actual &&
test_cmp expect actual &&
git -c sec.var=val -c sec.VAR=VAL config --get SEC.var >actual &&
test_cmp expect actual &&
git -c SEC.var=val -c sec.var=VAL config --get sec.VAR >actual &&
test_cmp expect actual
ok 116 - last one wins: two level vars
expecting success of 1300.117 'last one wins: three level vars':
# v.a.r and v.A.r are not the same variable, as the middle
# level of a three-level configuration variable name is
# case sensitive.
echo val >expect &&
git -c v.a.r=val -c v.A.r=VAL config --get v.a.r >actual &&
test_cmp expect actual &&
git -c v.a.r=val -c v.A.r=VAL config --get V.a.R >actual &&
test_cmp expect actual &&
# v.a.r and V.a.R are the same variable, as the first
# and the last level of a configuration variable name is
# case insensitive.
echo VAL >expect &&
git -c v.a.r=val -c v.a.R=VAL config --get v.a.r >actual &&
test_cmp expect actual &&
git -c v.a.r=val -c V.a.r=VAL config --get v.a.r >actual &&
test_cmp expect actual &&
git -c v.a.r=val -c v.a.R=VAL config --get V.a.R >actual &&
test_cmp expect actual &&
git -c v.a.r=val -c V.a.r=VAL config --get V.a.R >actual &&
test_cmp expect actual
ok 117 - last one wins: three level vars
expecting success of 1300.118 'old-fashioned settings are case insensitive':
test_when_finished "rm -f testConfig testConfig_expect testConfig_actual" &&
cat >testConfig_actual <<-EOF &&
[V.A]
r = value1
EOF
q_to_tab >testConfig_expect <<-EOF &&
[V.A]
Qr = value2
EOF
git config -f testConfig_actual "v.a.r" value2 &&
test_cmp testConfig_expect testConfig_actual &&
cat >testConfig_actual <<-EOF &&
[V.A]
r = value1
EOF
q_to_tab >testConfig_expect <<-EOF &&
[V.A]
QR = value2
EOF
git config -f testConfig_actual "V.a.R" value2 &&
test_cmp testConfig_expect testConfig_actual &&
cat >testConfig_actual <<-EOF &&
[V.A]
r = value1
EOF
q_to_tab >testConfig_expect <<-EOF &&
[V.A]
r = value1
Qr = value2
EOF
git config -f testConfig_actual "V.A.r" value2 &&
test_cmp testConfig_expect testConfig_actual &&
cat >testConfig_actual <<-EOF &&
[V.A]
r = value1
EOF
q_to_tab >testConfig_expect <<-EOF &&
[V.A]
r = value1
Qr = value2
EOF
git config -f testConfig_actual "v.A.r" value2 &&
test_cmp testConfig_expect testConfig_actual
ok 118 - old-fashioned settings are case insensitive
expecting success of 1300.119 'setting different case sensitive subsections ':
test_when_finished "rm -f testConfig testConfig_expect testConfig_actual" &&
cat >testConfig_actual <<-EOF &&
[V "A"]
R = v1
[K "E"]
Y = v1
[a "b"]
c = v1
[d "e"]
f = v1
EOF
q_to_tab >testConfig_expect <<-EOF &&
[V "A"]
Qr = v2
[K "E"]
Qy = v2
[a "b"]
Qc = v2
[d "e"]
f = v1
[d "E"]
Qf = v2
EOF
# exact match
git config -f testConfig_actual a.b.c v2 &&
# match section and subsection, key is cased differently.
git config -f testConfig_actual K.E.y v2 &&
# section and key are matched case insensitive, but subsection needs
# to match; When writing out new values only the key is adjusted
git config -f testConfig_actual v.A.r v2 &&
# subsection is not matched:
git config -f testConfig_actual d.E.f v2 &&
test_cmp testConfig_expect testConfig_actual
ok 119 - setting different case sensitive subsections
expecting success of 1300.120 'git -c a=VAL rejects invalid 'a'':
test_must_fail git -c "$VAR=VAL" config -l
error: key does not contain a section: a
fatal: unable to parse command-line config
ok 120 - git -c a=VAL rejects invalid 'a'
expecting success of 1300.121 'git -c .a=VAL rejects invalid '.a'':
test_must_fail git -c "$VAR=VAL" config -l
error: key does not contain a section: .a
fatal: unable to parse command-line config
ok 121 - git -c .a=VAL rejects invalid '.a'
expecting success of 1300.122 'git -c a.=VAL rejects invalid 'a.'':
test_must_fail git -c "$VAR=VAL" config -l
error: key does not contain variable name: a.
fatal: unable to parse command-line config
ok 122 - git -c a.=VAL rejects invalid 'a.'
expecting success of 1300.123 'git -c a.0b=VAL rejects invalid 'a.0b'':
test_must_fail git -c "$VAR=VAL" config -l
error: invalid key: a.0b
fatal: unable to parse command-line config
ok 123 - git -c a.0b=VAL rejects invalid 'a.0b'
expecting success of 1300.124 'git -c a.b c.=VAL rejects invalid 'a.b c.'':
test_must_fail git -c "$VAR=VAL" config -l
error: key does not contain variable name: a.b c.
fatal: unable to parse command-line config
ok 124 - git -c a.b c.=VAL rejects invalid 'a.b c.'
expecting success of 1300.125 'git -c a.b c.0d=VAL rejects invalid 'a.b c.0d'':
test_must_fail git -c "$VAR=VAL" config -l
error: invalid key: a.b c.0d
fatal: unable to parse command-line config
ok 125 - git -c a.b c.0d=VAL rejects invalid 'a.b c.0d'
expecting success of 1300.126 'git -c a.b=VAL works with valid 'a.b'':
echo VAL >expect &&
git -c "$VAR=VAL" config --get "$VAR" >actual &&
test_cmp expect actual
ok 126 - git -c a.b=VAL works with valid 'a.b'
expecting success of 1300.127 'git -c a.b c.d=VAL works with valid 'a.b c.d'':
echo VAL >expect &&
git -c "$VAR=VAL" config --get "$VAR" >actual &&
test_cmp expect actual
ok 127 - git -c a.b c.d=VAL works with valid 'a.b c.d'
expecting success of 1300.128 'git -c is not confused by empty environment':
GIT_CONFIG_PARAMETERS="" git -c x.one=1 config --list
section.sub=section.val1=foo=bar
section.sub=section.val2=foo
bar
section.sub=section.val3=
section.sub=section.val4=
section.sub=section.val5
section.val=foo bar
alias.split-cmdline-fix=echo "
alias.checkconfig=-c foo.check=bar config foo.check
branch.master.mergeoptions=echo "
foo.bar=true
foo.ba =z.bar=false
x.one=1
ok 128 - git -c is not confused by empty environment
expecting success of 1300.129 'detect bogus GIT_CONFIG_PARAMETERS':
cat >expect <<-\EOF &&
env.one one
env.two two
EOF
GIT_CONFIG_PARAMETERS="${SQ}env.one=one${SQ} ${SQ}env.two=two${SQ}" \
git config --get-regexp "env.*" >actual &&
test_cmp expect actual &&
cat >expect <<-EOF &&
env.one one${SQ}
env.two two
EOF
GIT_CONFIG_PARAMETERS="${SQ}env.one=one${SQ}\\$SQ$SQ$SQ ${SQ}env.two=two${SQ}" \
git config --get-regexp "env.*" >actual &&
test_cmp expect actual &&
test_must_fail env \
GIT_CONFIG_PARAMETERS="${SQ}env.one=one${SQ}\\$SQ ${SQ}env.two=two${SQ}" \
git config --get-regexp "env.*"
error: bogus format in GIT_CONFIG_PARAMETERS
fatal: unable to parse command-line config
ok 129 - detect bogus GIT_CONFIG_PARAMETERS
expecting success of 1300.130 'git config --edit works':
git config -f tmp test.value no &&
echo test.value=yes >expect &&
GIT_EDITOR="echo [test]value=yes >" git config -f tmp --edit &&
git config -f tmp --list >actual &&
test_cmp expect actual
ok 130 - git config --edit works
expecting success of 1300.131 'git config --edit respects core.editor':
git config -f tmp test.value no &&
echo test.value=yes >expect &&
test_config core.editor "echo [test]value=yes >" &&
git config -f tmp --edit &&
git config -f tmp --list >actual &&
test_cmp expect actual
ok 131 - git config --edit respects core.editor
expecting success of 1300.132 'barf on syntax error':
cat >.git/config <<-\EOF &&
# broken section line
[section]
key garbage
EOF
test_must_fail git config --get section.key >actual 2>error &&
test_i18ngrep " line 3 " error
fatal: bad config line 3 in file .git/config
ok 132 - barf on syntax error
expecting success of 1300.133 'barf on incomplete section header':
cat >.git/config <<-\EOF &&
# broken section line
[section
key = value
EOF
test_must_fail git config --get section.key >actual 2>error &&
test_i18ngrep " line 2 " error
fatal: bad config line 2 in file .git/config
ok 133 - barf on incomplete section header
expecting success of 1300.134 'barf on incomplete string':
cat >.git/config <<-\EOF &&
# broken section line
[section]
key = "value string
EOF
test_must_fail git config --get section.key >actual 2>error &&
test_i18ngrep " line 3 " error
fatal: bad config line 3 in file .git/config
ok 134 - barf on incomplete string
expecting success of 1300.135 'urlmatch':
cat >.git/config <<-\EOF &&
[http]
sslVerify
[http "https://weak.example.com"]
sslVerify = false
cookieFile = /tmp/cookie.txt
EOF
test_expect_code 1 git config --bool --get-urlmatch doesnt.exist https://good.example.com >actual &&
test_must_be_empty actual &&
echo true >expect &&
git config --bool --get-urlmatch http.SSLverify https://good.example.com >actual &&
test_cmp expect actual &&
echo false >expect &&
git config --bool --get-urlmatch http.sslverify https://weak.example.com >actual &&
test_cmp expect actual &&
{
echo http.cookiefile /tmp/cookie.txt &&
echo http.sslverify false
} >expect &&
git config --get-urlmatch HTTP https://weak.example.com >actual &&
test_cmp expect actual
ok 135 - urlmatch
expecting success of 1300.136 'urlmatch favors more specific URLs':
cat >.git/config <<-\EOF &&
[http "https://example.com/"]
cookieFile = /tmp/root.txt
[http "https://example.com/subdirectory"]
cookieFile = /tmp/subdirectory.txt
[http "https://user@example.com/"]
cookieFile = /tmp/user.txt
[http "https://averylonguser@example.com/"]
cookieFile = /tmp/averylonguser.txt
[http "https://preceding.example.com"]
cookieFile = /tmp/preceding.txt
[http "https://*.example.com"]
cookieFile = /tmp/wildcard.txt
[http "https://*.example.com/wildcardwithsubdomain"]
cookieFile = /tmp/wildcardwithsubdomain.txt
[http "https://*.example.*"]
cookieFile = /tmp/multiwildcard.txt
[http "https://trailing.example.com"]
cookieFile = /tmp/trailing.txt
[http "https://user@*.example.com/"]
cookieFile = /tmp/wildcardwithuser.txt
[http "https://sub.example.com/"]
cookieFile = /tmp/sub.txt
EOF
echo http.cookiefile /tmp/root.txt >expect &&
git config --get-urlmatch HTTP https://example.com >actual &&
test_cmp expect actual &&
echo http.cookiefile /tmp/subdirectory.txt >expect &&
git config --get-urlmatch HTTP https://example.com/subdirectory >actual &&
test_cmp expect actual &&
echo http.cookiefile /tmp/subdirectory.txt >expect &&
git config --get-urlmatch HTTP https://example.com/subdirectory/nested >actual &&
test_cmp expect actual &&
echo http.cookiefile /tmp/user.txt >expect &&
git config --get-urlmatch HTTP https://user@example.com/ >actual &&
test_cmp expect actual &&
echo http.cookiefile /tmp/subdirectory.txt >expect &&
git config --get-urlmatch HTTP https://averylonguser@example.com/subdirectory >actual &&
test_cmp expect actual &&
echo http.cookiefile /tmp/preceding.txt >expect &&
git config --get-urlmatch HTTP https://preceding.example.com >actual &&
test_cmp expect actual &&
echo http.cookiefile /tmp/wildcard.txt >expect &&
git config --get-urlmatch HTTP https://wildcard.example.com >actual &&
test_cmp expect actual &&
echo http.cookiefile /tmp/sub.txt >expect &&
git config --get-urlmatch HTTP https://sub.example.com/wildcardwithsubdomain >actual &&
test_cmp expect actual &&
echo http.cookiefile /tmp/trailing.txt >expect &&
git config --get-urlmatch HTTP https://trailing.example.com >actual &&
test_cmp expect actual &&
echo http.cookiefile /tmp/sub.txt >expect &&
git config --get-urlmatch HTTP https://user@sub.example.com >actual &&
test_cmp expect actual &&
echo http.cookiefile /tmp/multiwildcard.txt >expect &&
git config --get-urlmatch HTTP https://wildcard.example.org >actual &&
test_cmp expect actual
ok 136 - urlmatch favors more specific URLs
expecting success of 1300.137 'urlmatch with wildcard':
cat >.git/config <<-\EOF &&
[http]
sslVerify
[http "https://*.example.com"]
sslVerify = false
cookieFile = /tmp/cookie.txt
EOF
test_expect_code 1 git config --bool --get-urlmatch doesnt.exist https://good.example.com >actual &&
test_must_be_empty actual &&
echo true >expect &&
git config --bool --get-urlmatch http.SSLverify https://example.com >actual &&
test_cmp expect actual &&
echo true >expect &&
git config --bool --get-urlmatch http.SSLverify https://good-example.com >actual &&
test_cmp expect actual &&
echo true >expect &&
git config --bool --get-urlmatch http.sslverify https://deep.nested.example.com >actual &&
test_cmp expect actual &&
echo false >expect &&
git config --bool --get-urlmatch http.sslverify https://good.example.com >actual &&
test_cmp expect actual &&
{
echo http.cookiefile /tmp/cookie.txt &&
echo http.sslverify false
} >expect &&
git config --get-urlmatch HTTP https://good.example.com >actual &&
test_cmp expect actual &&
echo http.sslverify >expect &&
git config --get-urlmatch HTTP https://more.example.com.au >actual &&
test_cmp expect actual
ok 137 - urlmatch with wildcard
expecting success of 1300.138 '--unset last key removes section (except if commented)':
cat >.git/config <<-\EOF &&
# some generic comment on the configuration file itself
# a comment specific to this "section" section.
[section]
# some intervening lines
# that should also be dropped
key = value
# please be careful when you update the above variable
EOF
cat >expect <<-\EOF &&
# some generic comment on the configuration file itself
# a comment specific to this "section" section.
[section]
# some intervening lines
# that should also be dropped
# please be careful when you update the above variable
EOF
git config --unset section.key &&
test_cmp expect .git/config &&
cat >.git/config <<-\EOF &&
[section]
key = value
[next-section]
EOF
cat >expect <<-\EOF &&
[next-section]
EOF
git config --unset section.key &&
test_cmp expect .git/config &&
q_to_tab >.git/config <<-\EOF &&
[one]
Qkey = "multiline \
QQ# with comment"
[two]
key = true
EOF
git config --unset two.key &&
! grep two .git/config &&
q_to_tab >.git/config <<-\EOF &&
[one]
Qkey = "multiline \
QQ# with comment"
[one]
key = true
EOF
git config --unset-all one.key &&
test_line_count = 0 .git/config &&
q_to_tab >.git/config <<-\EOF &&
[one]
Qkey = true
Q# a comment not at the start
[two]
Qkey = true
EOF
git config --unset two.key &&
grep two .git/config &&
q_to_tab >.git/config <<-\EOF &&
[one]
Qkey = not [two "subsection"]
[two "subsection"]
[two "subsection"]
Qkey = true
[TWO "subsection"]
[one]
EOF
git config --unset two.subsection.key &&
test "not [two subsection]" = "$(git config one.key)" &&
test_line_count = 3 .git/config
[two]
ok 138 - --unset last key removes section (except if commented)
expecting success of 1300.139 '--unset-all removes section if empty & uncommented':
cat >.git/config <<-\EOF &&
[section]
key = value1
key = value2
EOF
git config --unset-all section.key &&
test_line_count = 0 .git/config
ok 139 - --unset-all removes section if empty & uncommented
expecting success of 1300.140 'adding a key into an empty section reuses header':
cat >.git/config <<-\EOF &&
[section]
EOF
q_to_tab >expect <<-\EOF &&
[section]
Qkey = value
EOF
git config section.key value &&
test_cmp expect .git/config
ok 140 - adding a key into an empty section reuses header
expecting success of 1300.141 'preserves existing permissions':
chmod 0600 .git/config &&
git config imap.pass Hunter2 &&
perl -e \
"die q(badset) if ((stat(q(.git/config)))[2] & 07777) != 0600" &&
git config --rename-section imap pop &&
perl -e \
"die q(badrename) if ((stat(q(.git/config)))[2] & 07777) != 0600"
ok 141 - preserves existing permissions
expecting success of 1300.142 'set up --show-origin tests':
INCLUDE_DIR="$HOME/include" &&
mkdir -p "$INCLUDE_DIR" &&
cat >"$INCLUDE_DIR"/absolute.include <<-\EOF &&
[user]
absolute = include
EOF
cat >"$INCLUDE_DIR"/relative.include <<-\EOF &&
[user]
relative = include
EOF
cat >"$HOME"/.gitconfig <<-EOF &&
[user]
global = true
override = global
[include]
path = "$INCLUDE_DIR/absolute.include"
EOF
cat >.git/config <<-\EOF
[user]
local = true
override = local
[include]
path = ../include/relative.include
EOF
ok 142 - set up --show-origin tests
expecting success of 1300.143 '--show-origin with --list':
cat >expect <<-EOF &&
file:$HOME/.gitconfig user.global=true
file:$HOME/.gitconfig user.override=global
file:$HOME/.gitconfig include.path=$INCLUDE_DIR/absolute.include
file:$INCLUDE_DIR/absolute.include user.absolute=include
file:.git/config user.local=true
file:.git/config user.override=local
file:.git/config include.path=../include/relative.include
file:.git/../include/relative.include user.relative=include
command line: user.cmdline=true
EOF
git -c user.cmdline=true config --list --show-origin >output &&
test_cmp expect output
ok 143 - --show-origin with --list
expecting success of 1300.144 '--show-origin with --list --null':
cat >expect <<-EOF &&
file:$HOME/.gitconfigQuser.global
trueQfile:$HOME/.gitconfigQuser.override
globalQfile:$HOME/.gitconfigQinclude.path
$INCLUDE_DIR/absolute.includeQfile:$INCLUDE_DIR/absolute.includeQuser.absolute
includeQfile:.git/configQuser.local
trueQfile:.git/configQuser.override
localQfile:.git/configQinclude.path
../include/relative.includeQfile:.git/../include/relative.includeQuser.relative
includeQcommand line:Quser.cmdline
trueQ
EOF
git -c user.cmdline=true config --null --list --show-origin >output.raw &&
nul_to_q <output.raw >output &&
# The here-doc above adds a newline that the --null output would not
# include. Add it here to make the two comparable.
echo >>output &&
test_cmp expect output
ok 144 - --show-origin with --list --null
expecting success of 1300.145 '--show-origin with single file':
cat >expect <<-\EOF &&
file:.git/config user.local=true
file:.git/config user.override=local
file:.git/config include.path=../include/relative.include
EOF
git config --local --list --show-origin >output &&
test_cmp expect output
ok 145 - --show-origin with single file
expecting success of 1300.146 '--show-origin with --get-regexp':
cat >expect <<-EOF &&
file:$HOME/.gitconfig user.global true
file:.git/config user.local true
EOF
git config --show-origin --get-regexp "user\.[g|l].*" >output &&
test_cmp expect output
ok 146 - --show-origin with --get-regexp
expecting success of 1300.147 '--show-origin getting a single key':
cat >expect <<-\EOF &&
file:.git/config local
EOF
git config --show-origin user.override >output &&
test_cmp expect output
ok 147 - --show-origin getting a single key
expecting success of 1300.148 'set up custom config file':
CUSTOM_CONFIG_FILE="custom.conf" &&
cat >"$CUSTOM_CONFIG_FILE" <<-\EOF
[user]
custom = true
EOF
ok 148 - set up custom config file
expecting success of 1300.149 'set up custom config file with special name characters':
WEIRDLY_NAMED_FILE="file\" (dq) and spaces.conf" &&
cp "$CUSTOM_CONFIG_FILE" "$WEIRDLY_NAMED_FILE"
ok 149 - set up custom config file with special name characters
expecting success of 1300.150 '--show-origin escape special file name characters':
cat >expect <<-\EOF &&
file:"file\" (dq) and spaces.conf" user.custom=true
EOF
git config --file "$WEIRDLY_NAMED_FILE" --show-origin --list >output &&
test_cmp expect output
ok 150 - --show-origin escape special file name characters
expecting success of 1300.151 '--show-origin stdin':
cat >expect <<-\EOF &&
standard input: user.custom=true
EOF
git config --file - --show-origin --list <"$CUSTOM_CONFIG_FILE" >output &&
test_cmp expect output
ok 151 - --show-origin stdin
expecting success of 1300.152 '--show-origin stdin with file include':
cat >"$INCLUDE_DIR"/stdin.include <<-EOF &&
[user]
stdin = include
EOF
cat >expect <<-EOF &&
file:$INCLUDE_DIR/stdin.include include
EOF
echo "[include]path=\"$INCLUDE_DIR\"/stdin.include" |
git config --show-origin --includes --file - user.stdin >output &&
test_cmp expect output
ok 152 - --show-origin stdin with file include
expecting success of 1300.153 '--show-origin blob':
blob=$(git hash-object -w "$CUSTOM_CONFIG_FILE") &&
cat >expect <<-EOF &&
blob:$blob user.custom=true
EOF
git config --blob=$blob --show-origin --list >output &&
test_cmp expect output
ok 153 - --show-origin blob
expecting success of 1300.154 '--show-origin blob ref':
cat >expect <<-\EOF &&
blob:master:custom.conf user.custom=true
EOF
git add "$CUSTOM_CONFIG_FILE" &&
git commit -m "new config file" &&
git config --blob=master:"$CUSTOM_CONFIG_FILE" --show-origin --list >output &&
test_cmp expect output
[master 96b643f] new config file
Author: A U Thor <author@example.com>
1 file changed, 2 insertions(+)
create mode 100644 custom.conf
ok 154 - --show-origin blob ref
expecting success of 1300.155 '--show-scope with --list':
cat >expect <<-EOF &&
global user.global=true
global user.override=global
global include.path=$INCLUDE_DIR/absolute.include
global user.absolute=include
local user.local=true
local user.override=local
local include.path=../include/relative.include
local user.relative=include
command user.cmdline=true
EOF
git -c user.cmdline=true config --list --show-scope >output &&
test_cmp expect output
ok 155 - --show-scope with --list
expecting success of 1300.156 '--show-scope with --blob':
blob=$(git hash-object -w "$CUSTOM_CONFIG_FILE") &&
cat >expect <<-EOF &&
command user.custom=true
EOF
git config --blob=$blob --show-scope --list >output &&
test_cmp expect output
ok 156 - --show-scope with --blob
expecting success of 1300.157 '--show-scope with --local':
cat >expect <<-\EOF &&
local user.local=true
local user.override=local
local include.path=../include/relative.include
EOF
git config --local --list --show-scope >output &&
test_cmp expect output
ok 157 - --show-scope with --local
expecting success of 1300.158 '--show-scope getting a single value':
cat >expect <<-\EOF &&
local true
EOF
git config --show-scope --get user.local >output &&
test_cmp expect output
ok 158 - --show-scope getting a single value
expecting success of 1300.159 '--show-scope with --show-origin':
cat >expect <<-EOF &&
global file:$HOME/.gitconfig user.global=true
global file:$HOME/.gitconfig user.override=global
global file:$HOME/.gitconfig include.path=$INCLUDE_DIR/absolute.include
global file:$INCLUDE_DIR/absolute.include user.absolute=include
local file:.git/config user.local=true
local file:.git/config user.override=local
local file:.git/config include.path=../include/relative.include
local file:.git/../include/relative.include user.relative=include
command command line: user.cmdline=true
EOF
git -c user.cmdline=true config --list --show-origin --show-scope >output &&
test_cmp expect output
ok 159 - --show-scope with --show-origin
expecting success of 1300.160 '--local requires a repo':
# we expect 128 to ensure that we do not simply
# fail to find anything and return code "1"
test_expect_code 128 nongit git config --local foo.bar
fatal: --local can only be used inside a git repository
ok 160 - --local requires a repo
expecting success of 1300.161 'identical modern --type specifiers are allowed':
test_cmp_config 1048576 --type=int --type=int core.big
ok 161 - identical modern --type specifiers are allowed
expecting success of 1300.162 'identical legacy --type specifiers are allowed':
test_cmp_config 1048576 --int --int core.big
ok 162 - identical legacy --type specifiers are allowed
expecting success of 1300.163 'identical mixed --type specifiers are allowed':
test_cmp_config 1048576 --int --type=int core.big
ok 163 - identical mixed --type specifiers are allowed
expecting success of 1300.164 'non-identical modern --type specifiers are not allowed':
test_must_fail git config --type=int --type=bool core.big 2>error &&
test_i18ngrep "only one type at a time" error
error: only one type at a time
ok 164 - non-identical modern --type specifiers are not allowed
expecting success of 1300.165 'non-identical legacy --type specifiers are not allowed':
test_must_fail git config --int --bool core.big 2>error &&
test_i18ngrep "only one type at a time" error
error: only one type at a time
ok 165 - non-identical legacy --type specifiers are not allowed
expecting success of 1300.166 'non-identical mixed --type specifiers are not allowed':
test_must_fail git config --type=int --bool core.big 2>error &&
test_i18ngrep "only one type at a time" error
error: only one type at a time
ok 166 - non-identical mixed --type specifiers are not allowed
expecting success of 1300.167 '--type allows valid type specifiers':
test_cmp_config true --type=bool core.foo
ok 167 - --type allows valid type specifiers
expecting success of 1300.168 '--no-type unsets type specifiers':
test_cmp_config 10 --type=bool --no-type core.number
ok 168 - --no-type unsets type specifiers
expecting success of 1300.169 'unset type specifiers may be reset to conflicting ones':
test_cmp_config 1048576 --type=bool --no-type --type=int core.big
ok 169 - unset type specifiers may be reset to conflicting ones
expecting success of 1300.170 '--type rejects unknown specifiers':
test_must_fail git config --type=nonsense core.foo 2>error &&
test_i18ngrep "unrecognized --type argument" error
fatal: unrecognized --type argument, nonsense
ok 170 - --type rejects unknown specifiers
expecting success of 1300.171 '--replace-all does not invent newlines':
q_to_tab >.git/config <<-\EOF &&
[abc]key
QkeepSection
[xyz]
Qkey = 1
[abc]
Qkey = a
EOF
q_to_tab >expect <<-\EOF &&
[abc]
QkeepSection
[xyz]
Qkey = 1
[abc]
Qkey = b
EOF
git config --replace-all abc.key b &&
test_cmp expect .git/config
ok 171 - --replace-all does not invent newlines
# passed all 171 test(s)
1..171
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t1307-config-blob.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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) 7576ba6] foo
Author: A U Thor <author@example.com>
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 [<options>]
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 <file> use given config file
--blob <blob-id> read config from given blob object
Action
--get get value: name [value-regex]
--get-all get all values: key [value-regex]
--get-regexp get values for regexp: name-regex [value-regex]
--get-urlmatch get value specific for the URL: section[.var] URL
--replace-all replace all matching variables: name value [value_regex]
--add add a new variable: name value
--unset remove a variable: name [value-regex]
--unset-all remove all matches: name [value-regex]
--rename-section rename section: old-name new-name
--remove-section remove a section: name
-l, --list list all
-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
--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 <value> 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 0a6df12] broken
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
checking prerequisite: C_LOCALE_OUTPUT
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
! 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 98dc1cf] CR
Author: A U Thor <author@example.com>
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 '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t1308-config-set.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
! 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" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
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 '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t1309-early-config.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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
)
Initialized empty Git repository in /<<PKGBUILDDIR>>/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 /<<PKGBUILDDIR>>/t/trash directory.t1309-early-config/throwaway/.git/
checking prerequisite: C_LOCALE_OUTPUT
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
! 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"
Initialized empty Git repository in /<<PKGBUILDDIR>>/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 "["
Initialized empty Git repository in /<<PKGBUILDDIR>>/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:master\"]path=../broken"
Initialized empty Git repository in /<<PKGBUILDDIR>>/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:master.path non-existent &&
nongit git help
usage: git [--version] [--help] [-C <path>] [-c <name>=<value>]
[--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]
[-p | --paginate | -P | --no-pager] [--no-replace-objects] [--bare]
[--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>]
<command> [<args>]
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 <command>' or 'git help <concept>'
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 '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t1310-config-default.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
! 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 '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t1350-config-hooks-path.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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 <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 no_custom_hook.t
[master d6f765a] have_custom_hook
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 have_custom_hook.t
[master c8447a6] have_custom_hook_trailing_slash
Author: A U Thor <author@example.com>
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 <author@example.com>
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 <author@example.com>
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 '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t1401-symbolic-ref.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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) 25bbeee] one
Author: A U Thor <author@example.com>
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
25bbeee2d34d38c818a8da3bdadcccbb9d1a3f1a
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 '/<<PKGBUILDDIR>>/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 63653ec] one
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 one.t
Switched to a new branch 'log2'
[log2 1b226cb] two
Author: A U Thor <author@example.com>
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 ee8b13f] df
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 df.t
error: Unable to create '/<<PKGBUILDDIR>>/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 '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t1402-check-ref-format.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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
expecting success of 1402.30 'ref name 'heads/foo\bar' is invalid':
test_must_fail git check-ref-format 'heads/foo\bar'
ok 30 - ref name 'heads/foo\bar' is invalid
expecting success of 1402.31 'ref name 'heads/foo ' is invalid':
test_must_fail git check-ref-format 'heads/foo '
ok 31 - ref name 'heads/foo ' is invalid
expecting success of 1402.32 'ref name 'heads/foo' is invalid':
test_must_fail git check-ref-format 'heads/foo'
ok 32 - ref name 'heads/foo' is invalid
expecting success of 1402.33 'ref name 'heads/fuß' is valid':
git check-ref-format 'heads/fuß'
ok 33 - ref name 'heads/fuß' is valid
expecting success of 1402.34 'ref name 'heads/*foo/bar' is valid with options --refspec-pattern':
git check-ref-format --refspec-pattern 'heads/*foo/bar'
ok 34 - ref name 'heads/*foo/bar' is valid with options --refspec-pattern
expecting success of 1402.35 'ref name 'heads/foo*/bar' is valid with options --refspec-pattern':
git check-ref-format --refspec-pattern 'heads/foo*/bar'
ok 35 - ref name 'heads/foo*/bar' is valid with options --refspec-pattern
expecting success of 1402.36 'ref name 'heads/f*o/bar' is valid with options --refspec-pattern':
git check-ref-format --refspec-pattern 'heads/f*o/bar'
ok 36 - ref name 'heads/f*o/bar' is valid with options --refspec-pattern
expecting success of 1402.37 'ref name 'heads/f*o*/bar' is invalid with options --refspec-pattern':
test_must_fail git check-ref-format --refspec-pattern 'heads/f*o*/bar'
ok 37 - ref name 'heads/f*o*/bar' is invalid with options --refspec-pattern
expecting success of 1402.38 'ref name 'heads/foo*/bar*' is invalid with options --refspec-pattern':
test_must_fail git check-ref-format --refspec-pattern 'heads/foo*/bar*'
ok 38 - ref name 'heads/foo*/bar*' is invalid with options --refspec-pattern
expecting success of 1402.39 'ref name 'foo' is invalid':
test_must_fail git check-ref-format 'foo'
ok 39 - ref name 'foo' is invalid
expecting success of 1402.40 'ref name 'foo' is valid with options --allow-onelevel':
git check-ref-format --allow-onelevel 'foo'
ok 40 - ref name 'foo' is valid with options --allow-onelevel
expecting success of 1402.41 'ref name 'foo' is invalid with options --refspec-pattern':
test_must_fail git check-ref-format --refspec-pattern 'foo'
ok 41 - ref name 'foo' is invalid with options --refspec-pattern
expecting success of 1402.42 'ref name 'foo' is valid with options --refspec-pattern --allow-onelevel':
git check-ref-format --refspec-pattern --allow-onelevel 'foo'
ok 42 - ref name 'foo' is valid with options --refspec-pattern --allow-onelevel
expecting success of 1402.43 'ref name 'foo' is invalid with options --normalize':
test_must_fail git check-ref-format --normalize 'foo'
ok 43 - ref name 'foo' is invalid with options --normalize
expecting success of 1402.44 'ref name 'foo' is valid with options --allow-onelevel --normalize':
git check-ref-format --allow-onelevel --normalize 'foo'
foo
ok 44 - ref name 'foo' is valid with options --allow-onelevel --normalize
expecting success of 1402.45 'ref name 'foo/bar' is valid':
git check-ref-format 'foo/bar'
ok 45 - ref name 'foo/bar' is valid
expecting success of 1402.46 'ref name 'foo/bar' is valid with options --allow-onelevel':
git check-ref-format --allow-onelevel 'foo/bar'
ok 46 - ref name 'foo/bar' is valid with options --allow-onelevel
expecting success of 1402.47 'ref name 'foo/bar' is valid with options --refspec-pattern':
git check-ref-format --refspec-pattern 'foo/bar'
ok 47 - ref name 'foo/bar' is valid with options --refspec-pattern
expecting success of 1402.48 'ref name 'foo/bar' is valid with options --refspec-pattern --allow-onelevel':
git check-ref-format --refspec-pattern --allow-onelevel 'foo/bar'
ok 48 - ref name 'foo/bar' is valid with options --refspec-pattern --allow-onelevel
expecting success of 1402.49 'ref name 'foo/bar' is valid with options --normalize':
git check-ref-format --normalize 'foo/bar'
foo/bar
ok 49 - ref name 'foo/bar' is valid with options --normalize
expecting success of 1402.50 'ref name 'foo/*' is invalid':
test_must_fail git check-ref-format 'foo/*'
ok 50 - ref name 'foo/*' is invalid
expecting success of 1402.51 'ref name 'foo/*' is invalid with options --allow-onelevel':
test_must_fail git check-ref-format --allow-onelevel 'foo/*'
ok 51 - ref name 'foo/*' is invalid with options --allow-onelevel
expecting success of 1402.52 'ref name 'foo/*' is valid with options --refspec-pattern':
git check-ref-format --refspec-pattern 'foo/*'
ok 52 - ref name 'foo/*' is valid with options --refspec-pattern
expecting success of 1402.53 'ref name 'foo/*' is valid with options --refspec-pattern --allow-onelevel':
git check-ref-format --refspec-pattern --allow-onelevel 'foo/*'
ok 53 - ref name 'foo/*' is valid with options --refspec-pattern --allow-onelevel
expecting success of 1402.54 'ref name '*/foo' is invalid':
test_must_fail git check-ref-format '*/foo'
ok 54 - ref name '*/foo' is invalid
expecting success of 1402.55 'ref name '*/foo' is invalid with options --allow-onelevel':
test_must_fail git check-ref-format --allow-onelevel '*/foo'
ok 55 - ref name '*/foo' is invalid with options --allow-onelevel
expecting success of 1402.56 'ref name '*/foo' is valid with options --refspec-pattern':
git check-ref-format --refspec-pattern '*/foo'
ok 56 - ref name '*/foo' is valid with options --refspec-pattern
expecting success of 1402.57 'ref name '*/foo' is valid with options --refspec-pattern --allow-onelevel':
git check-ref-format --refspec-pattern --allow-onelevel '*/foo'
ok 57 - ref name '*/foo' is valid with options --refspec-pattern --allow-onelevel
expecting success of 1402.58 'ref name '*/foo' is invalid with options --normalize':
test_must_fail git check-ref-format --normalize '*/foo'
ok 58 - ref name '*/foo' is invalid with options --normalize
expecting success of 1402.59 'ref name '*/foo' is valid with options --refspec-pattern --normalize':
git check-ref-format --refspec-pattern --normalize '*/foo'
*/foo
ok 59 - ref name '*/foo' is valid with options --refspec-pattern --normalize
expecting success of 1402.60 'ref name 'foo/*/bar' is invalid':
test_must_fail git check-ref-format 'foo/*/bar'
ok 60 - ref name 'foo/*/bar' is invalid
expecting success of 1402.61 'ref name 'foo/*/bar' is invalid with options --allow-onelevel':
test_must_fail git check-ref-format --allow-onelevel 'foo/*/bar'
ok 61 - ref name 'foo/*/bar' is invalid with options --allow-onelevel
expecting success of 1402.62 'ref name 'foo/*/bar' is valid with options --refspec-pattern':
git check-ref-format --refspec-pattern 'foo/*/bar'
ok 62 - ref name 'foo/*/bar' is valid with options --refspec-pattern
expecting success of 1402.63 'ref name 'foo/*/bar' is valid with options --refspec-pattern --allow-onelevel':
git check-ref-format --refspec-pattern --allow-onelevel 'foo/*/bar'
ok 63 - ref name 'foo/*/bar' is valid with options --refspec-pattern --allow-onelevel
expecting success of 1402.64 'ref name '*' is invalid':
test_must_fail git check-ref-format '*'
ok 64 - ref name '*' is invalid
expecting success of 1402.65 'ref name '*' is invalid with options --allow-onelevel':
test_must_fail git check-ref-format --allow-onelevel '*'
ok 65 - ref name '*' is invalid with options --allow-onelevel
expecting success of 1402.66 'ref name '*' is invalid with options --refspec-pattern':
test_must_fail git check-ref-format --refspec-pattern '*'
ok 66 - ref name '*' is invalid with options --refspec-pattern
expecting success of 1402.67 'ref name '*' is valid with options --refspec-pattern --allow-onelevel':
git check-ref-format --refspec-pattern --allow-onelevel '*'
ok 67 - ref name '*' is valid with options --refspec-pattern --allow-onelevel
expecting success of 1402.68 'ref name 'foo/*/*' is invalid with options --refspec-pattern':
test_must_fail git check-ref-format --refspec-pattern 'foo/*/*'
ok 68 - ref name 'foo/*/*' is invalid with options --refspec-pattern
expecting success of 1402.69 'ref name 'foo/*/*' is invalid with options --refspec-pattern --allow-onelevel':
test_must_fail git check-ref-format --refspec-pattern --allow-onelevel 'foo/*/*'
ok 69 - ref name 'foo/*/*' is invalid with options --refspec-pattern --allow-onelevel
expecting success of 1402.70 'ref name '*/foo/*' is invalid with options --refspec-pattern':
test_must_fail git check-ref-format --refspec-pattern '*/foo/*'
ok 70 - ref name '*/foo/*' is invalid with options --refspec-pattern
expecting success of 1402.71 'ref name '*/foo/*' is invalid with options --refspec-pattern --allow-onelevel':
test_must_fail git check-ref-format --refspec-pattern --allow-onelevel '*/foo/*'
ok 71 - ref name '*/foo/*' is invalid with options --refspec-pattern --allow-onelevel
expecting success of 1402.72 'ref name '*/*/foo' is invalid with options --refspec-pattern':
test_must_fail git check-ref-format --refspec-pattern '*/*/foo'
ok 72 - ref name '*/*/foo' is invalid with options --refspec-pattern
expecting success of 1402.73 'ref name '*/*/foo' is invalid with options --refspec-pattern --allow-onelevel':
test_must_fail git check-ref-format --refspec-pattern --allow-onelevel '*/*/foo'
ok 73 - ref name '*/*/foo' is invalid with options --refspec-pattern --allow-onelevel
expecting success of 1402.74 'ref name '/foo' is invalid':
test_must_fail git check-ref-format '/foo'
ok 74 - ref name '/foo' is invalid
expecting success of 1402.75 'ref name '/foo' is invalid with options --allow-onelevel':
test_must_fail git check-ref-format --allow-onelevel '/foo'
ok 75 - ref name '/foo' is invalid with options --allow-onelevel
expecting success of 1402.76 'ref name '/foo' is invalid with options --refspec-pattern':
test_must_fail git check-ref-format --refspec-pattern '/foo'
ok 76 - ref name '/foo' is invalid with options --refspec-pattern
expecting success of 1402.77 'ref name '/foo' is invalid with options --refspec-pattern --allow-onelevel':
test_must_fail git check-ref-format --refspec-pattern --allow-onelevel '/foo'
ok 77 - ref name '/foo' is invalid with options --refspec-pattern --allow-onelevel
expecting success of 1402.78 'ref name '/foo' is invalid with options --normalize':
test_must_fail git check-ref-format --normalize '/foo'
ok 78 - ref name '/foo' is invalid with options --normalize
expecting success of 1402.79 'ref name '/foo' is valid with options --allow-onelevel --normalize':
git check-ref-format --allow-onelevel --normalize '/foo'
foo
ok 79 - ref name '/foo' is valid with options --allow-onelevel --normalize
expecting success of 1402.80 'ref name '/foo' is invalid with options --refspec-pattern --normalize':
test_must_fail git check-ref-format --refspec-pattern --normalize '/foo'
ok 80 - ref name '/foo' is invalid with options --refspec-pattern --normalize
expecting success of 1402.81 'ref name '/foo' is valid with options --refspec-pattern --allow-onelevel --normalize':
git check-ref-format --refspec-pattern --allow-onelevel --normalize '/foo'
foo
ok 81 - ref name '/foo' is valid with options --refspec-pattern --allow-onelevel --normalize
expecting success of 1402.82 'check-ref-format --branch @{-1}':
T=$(git write-tree) &&
sha1=$(echo A | git commit-tree $T) &&
git update-ref refs/heads/master $sha1 &&
git update-ref refs/remotes/origin/master $sha1 &&
git checkout master &&
git checkout origin/master &&
git checkout master &&
refname=$(git check-ref-format --branch @{-1}) &&
test "$refname" = "$sha1" &&
refname2=$(git check-ref-format --branch @{-2}) &&
test "$refname2" = master
Already on 'master'
Note: switching to 'origin/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.
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 <new-branch-name>
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
HEAD is now at 5e8eced A
Switched to branch 'master'
ok 82 - check-ref-format --branch @{-1}
expecting success of 1402.83 'check-ref-format --branch -naster':
test_must_fail git check-ref-format --branch -naster >actual &&
test_must_be_empty actual
fatal: '-naster' is not a valid branch name
ok 83 - check-ref-format --branch -naster
expecting success of 1402.84 'check-ref-format --branch from subdir':
mkdir subdir &&
T=$(git write-tree) &&
sha1=$(echo A | git commit-tree $T) &&
git update-ref refs/heads/master $sha1 &&
git update-ref refs/remotes/origin/master $sha1 &&
git checkout master &&
git checkout origin/master &&
git checkout master &&
refname=$(
cd subdir &&
git check-ref-format --branch @{-1}
) &&
test "$refname" = "$sha1"
Already on 'master'
Note: switching to 'origin/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.
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 <new-branch-name>
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
HEAD is now at 5e8eced A
Switched to branch 'master'
ok 84 - check-ref-format --branch from subdir
expecting success of 1402.85 'check-ref-format --branch @{-1} from non-repo':
nongit test_must_fail git check-ref-format --branch @{-1} >actual &&
test_must_be_empty actual
fatal: '@{-1}' is not a valid branch name
ok 85 - check-ref-format --branch @{-1} from non-repo
expecting success of 1402.86 'check-ref-format --branch master from non-repo':
echo master >expect &&
nongit git check-ref-format --branch master >actual &&
test_cmp expect actual
ok 86 - check-ref-format --branch master from non-repo
expecting success of 1402.87 'ref name 'heads/foo' simplifies to 'heads/foo'':
refname=$(git check-ref-format --normalize 'heads/foo') &&
test "$refname" = 'heads/foo'
ok 87 - ref name 'heads/foo' simplifies to 'heads/foo'
expecting success of 1402.88 'ref name 'refs///heads/foo' simplifies to 'refs/heads/foo'':
refname=$(git check-ref-format --normalize 'refs///heads/foo') &&
test "$refname" = 'refs/heads/foo'
ok 88 - ref name 'refs///heads/foo' simplifies to 'refs/heads/foo'
expecting success of 1402.89 'ref name '/heads/foo' simplifies to 'heads/foo'':
refname=$(git check-ref-format --normalize '/heads/foo') &&
test "$refname" = 'heads/foo'
ok 89 - ref name '/heads/foo' simplifies to 'heads/foo'
expecting success of 1402.90 'ref name '///heads/foo' simplifies to 'heads/foo'':
refname=$(git check-ref-format --normalize '///heads/foo') &&
test "$refname" = 'heads/foo'
ok 90 - ref name '///heads/foo' simplifies to 'heads/foo'
expecting success of 1402.91 'check-ref-format --normalize rejects 'foo'':
test_must_fail git check-ref-format --normalize 'foo'
ok 91 - check-ref-format --normalize rejects 'foo'
expecting success of 1402.92 'check-ref-format --normalize rejects '/foo'':
test_must_fail git check-ref-format --normalize '/foo'
ok 92 - check-ref-format --normalize rejects '/foo'
expecting success of 1402.93 'check-ref-format --normalize rejects 'heads/foo/../bar'':
test_must_fail git check-ref-format --normalize 'heads/foo/../bar'
ok 93 - check-ref-format --normalize rejects 'heads/foo/../bar'
expecting success of 1402.94 'check-ref-format --normalize rejects 'heads/./foo'':
test_must_fail git check-ref-format --normalize 'heads/./foo'
ok 94 - check-ref-format --normalize rejects 'heads/./foo'
expecting success of 1402.95 'check-ref-format --normalize rejects 'heads\foo'':
test_must_fail git check-ref-format --normalize 'heads\foo'
ok 95 - check-ref-format --normalize rejects 'heads\foo'
expecting success of 1402.96 'check-ref-format --normalize rejects 'heads/foo.lock'':
test_must_fail git check-ref-format --normalize 'heads/foo.lock'
ok 96 - check-ref-format --normalize rejects 'heads/foo.lock'
expecting success of 1402.97 'check-ref-format --normalize rejects 'heads///foo.lock'':
test_must_fail git check-ref-format --normalize 'heads///foo.lock'
ok 97 - check-ref-format --normalize rejects 'heads///foo.lock'
expecting success of 1402.98 'check-ref-format --normalize rejects 'foo.lock/bar'':
test_must_fail git check-ref-format --normalize 'foo.lock/bar'
ok 98 - check-ref-format --normalize rejects 'foo.lock/bar'
expecting success of 1402.99 'check-ref-format --normalize rejects 'foo.lock///bar'':
test_must_fail git check-ref-format --normalize 'foo.lock///bar'
ok 99 - check-ref-format --normalize rejects 'foo.lock///bar'
# passed all 99 test(s)
1..99
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t1403-show-ref.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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 <author@example.com>
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 <author@example.com>
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 <author@example.com>
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
)
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1403-show-ref/dangling/.git/
[master (root-commit) ceb9007] dangling
Author: A U Thor <author@example.com>
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 '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t1400-update-ref.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1400-update-ref/.git/
expecting success of 1400.1 'setup':
create_test_commits "" &&
mkdir $bare &&
cd $bare &&
git init --bare &&
create_test_commits "bare" &&
cd -
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1400-update-ref/bare-repo/
/<<PKGBUILDDIR>>/t/trash directory.t1400-update-ref
ok 1 - setup
expecting success of 1400.2 'create refs/heads/master':
git update-ref $m $A &&
test $A = $(cat .git/$m)
ok 2 - create refs/heads/master
expecting success of 1400.3 'create refs/heads/master with oldvalue verification':
git update-ref $m $B $A &&
test $B = $(cat .git/$m)
ok 3 - create refs/heads/master with oldvalue verification
expecting success of 1400.4 'fail to delete refs/heads/master with stale ref':
test_must_fail git update-ref -d $m $A &&
test $B = "$(cat .git/$m)"
error: cannot lock ref 'refs/heads/master': is at 56d5c1374e8028a1e122ab046ab7b98165342dc4 but expected 102939797ab91a4f201d131418d2c9d919dcdd2c
ok 4 - fail to delete refs/heads/master with stale ref
expecting success of 1400.5 'delete refs/heads/master':
test_when_finished "rm -f .git/$m" &&
git update-ref -d $m $B &&
test_path_is_missing .git/$m
ok 5 - delete refs/heads/master
expecting success of 1400.6 'delete refs/heads/master without oldvalue verification':
test_when_finished "rm -f .git/$m" &&
git update-ref $m $A &&
test $A = $(cat .git/$m) &&
git update-ref -d $m &&
test_path_is_missing .git/$m
ok 6 - delete refs/heads/master 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/master (by HEAD)':
git update-ref HEAD $A &&
test $A = $(cat .git/$m)
ok 8 - create refs/heads/master (by HEAD)
expecting success of 1400.9 'create refs/heads/master (by HEAD) with oldvalue verification':
git update-ref HEAD $B $A &&
test $B = $(cat .git/$m)
ok 9 - create refs/heads/master (by HEAD) with oldvalue verification
expecting success of 1400.10 'fail to delete refs/heads/master (by HEAD) with stale ref':
test_must_fail git update-ref -d HEAD $A &&
test $B = $(cat .git/$m)
error: cannot lock ref 'HEAD': is at 56d5c1374e8028a1e122ab046ab7b98165342dc4 but expected 102939797ab91a4f201d131418d2c9d919dcdd2c
ok 10 - fail to delete refs/heads/master (by HEAD) with stale ref
expecting success of 1400.11 'delete refs/heads/master (by HEAD)':
test_when_finished "rm -f .git/$m" &&
git update-ref -d HEAD $B &&
test_path_is_missing .git/$m
ok 11 - delete refs/heads/master (by HEAD)
expecting success of 1400.12 'deleting current branch adds message to HEAD's log':
test_when_finished "rm -f .git/$m" &&
git update-ref $m $A &&
git symbolic-ref HEAD $m &&
git update-ref -m delete-$m -d $m &&
test_path_is_missing .git/$m &&
grep "delete-$m$" .git/logs/HEAD
102939797ab91a4f201d131418d2c9d919dcdd2c 0000000000000000000000000000000000000000 C O Mitter <committer@example.com> 1112912653 -0700 delete-refs/heads/master
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 "rm -f .git/$m" &&
git update-ref $m $A &&
git symbolic-ref HEAD $m &&
git update-ref -m delete-by-head -d HEAD &&
test_path_is_missing .git/$m &&
grep "delete-by-head$" .git/logs/HEAD
102939797ab91a4f201d131418d2c9d919dcdd2c 0000000000000000000000000000000000000000 C O Mitter <committer@example.com> 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 no reflog for ORIG_HEAD':
test_config core.logAllRefUpdates always &&
git update-ref ORIG_HEAD $A &&
test_must_fail git reflog exists ORIG_HEAD
ok 20 - core.logAllRefUpdates=always creates no 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/master (by HEAD)':
git update-ref HEAD $A &&
test $A = $(cat .git/$m)
ok 22 - create refs/heads/master (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/master (by HEAD)':
git update-ref HEAD $B $A &&
test $B = $(cat .git/$m)
ok 24 - move refs/heads/master (by HEAD)
expecting success of 1400.25 'delete refs/heads/master (by HEAD) should remove both packed and loose refs/heads/master':
test_when_finished "rm -f .git/$m" &&
git update-ref -d HEAD $B &&
! grep "$m" .git/packed-refs &&
test_path_is_missing .git/$m
ok 25 - delete refs/heads/master (by HEAD) should remove both packed and loose refs/heads/master
expecting success of 1400.26 'delete symref without dereference':
test_when_finished "cp -f .git/HEAD.orig .git/HEAD" &&
git update-ref --no-deref -d HEAD &&
test_path_is_missing .git/HEAD
ok 26 - delete symref without dereference
expecting success of 1400.27 'delete symref without dereference when the referred ref is packed':
test_when_finished "cp -f .git/HEAD.orig .git/HEAD" &&
echo foo >foo.c &&
git add foo.c &&
git commit -m foo &&
git pack-refs --all &&
git update-ref --no-deref -d HEAD &&
test_path_is_missing .git/HEAD
[master (root-commit) fc83d41] foo
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 foo.c
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_path_is_missing .git/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 "rm -f .git/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_path_is_missing .git/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/master'
ok 31 - (not) create HEAD with old sha1
expecting success of 1400.32 '(not) prior created .git/refs/heads/master':
test_when_finished "rm -f .git/$m" &&
test_path_is_missing .git/$m
ok 32 - (not) prior created .git/refs/heads/master
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/master':
test_when_finished "rm -f .git/$m" &&
! test $B = $(cat .git/$m)
ok 35 - (not) changed .git/refs/heads/master
expecting success of 1400.36 'create refs/heads/master (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 = $(cat .git/$m)
ok 36 - create refs/heads/master (logged by touch)
expecting success of 1400.37 'update refs/heads/master (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 = $(cat .git/$m)
ok 37 - update refs/heads/master (logged by touch)
expecting success of 1400.38 'set refs/heads/master (logged by touch)':
test_config core.logAllRefUpdates false &&
GIT_COMMITTER_DATE="2005-05-26 23:41" \
git update-ref HEAD $A &&
test $A = $(cat .git/$m)
ok 38 - set refs/heads/master (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_path_is_missing .git/refs/heads/d1/d2 &&
test_path_is_missing .git/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 master" &&
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_path_is_missing .git/refs/heads/e1/e2 &&
test_path_is_missing .git/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 'master'
A foo.c
ok 40 - symref empty directory removal
expecting success of 1400.41 'verifying refs/heads/master'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/master's log (logged by touch)
expecting success of 1400.42 'create refs/heads/master (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 = $(cat .git/$m)
ok 42 - create refs/heads/master (logged by config)
expecting success of 1400.43 'update refs/heads/master (logged by config)':
test_config core.logAllRefUpdates true &&
GIT_COMMITTER_DATE="2005-05-26 23:33" \
git update-ref HEAD 56d5c1374e8028a1e122ab046ab7b98165342dc4 102939797ab91a4f201d131418d2c9d919dcdd2c -m "Switch" &&
test $B = $(cat .git/$m)
ok 43 - update refs/heads/master (logged by config)
expecting success of 1400.44 'set refs/heads/master (logged by config)':
test_config core.logAllRefUpdates true &&
GIT_COMMITTER_DATE="2005-05-26 23:43" \
git update-ref HEAD $A &&
test $A = $(cat .git/$m)
ok 44 - set refs/heads/master (logged by config)
expecting success of 1400.45 'verifying refs/heads/master'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/master'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 "master@{May 25 2005}" (before history)':
test_when_finished "rm -f o e" &&
git rev-parse --verify "master@{May 25 2005}" >o 2>e &&
echo "$C" >expect &&
test_cmp expect o &&
echo "warning: log for 'master' only goes back to $ed" >expect &&
test_i18ncmp expect e
checking prerequisite: C_LOCALE_OUTPUT
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
! test_bool_env GIT_TEST_GETTEXT_POISON false
)
prerequisite C_LOCALE_OUTPUT ok
ok 47 - Query "master@{May 25 2005}" (before history)
expecting success of 1400.48 'Query master@{2005-05-25} (before history)':
test_when_finished "rm -f o e" &&
git rev-parse --verify master@{2005-05-25} >o 2>e &&
echo "$C" >expect &&
test_cmp expect o &&
echo "warning: log for 'master' only goes back to $ed" >expect &&
test_i18ncmp expect e
ok 48 - Query master@{2005-05-25} (before history)
expecting success of 1400.49 'Query "master@{May 26 2005 23:31:59}" (1 second before history)':
test_when_finished "rm -f o e" &&
git rev-parse --verify "master@{May 26 2005 23:31:59}" >o 2>e &&
echo "$C" >expect &&
test_cmp expect o &&
echo "warning: log for 'master' only goes back to $ed" >expect &&
test_i18ncmp expect e
ok 49 - Query "master@{May 26 2005 23:31:59}" (1 second before history)
expecting success of 1400.50 'Query "master@{May 26 2005 23:32:00}" (exactly history start)':
test_when_finished "rm -f o e" &&
git rev-parse --verify "master@{May 26 2005 23:32:00}" >o 2>e &&
echo "$C" >expect &&
test_cmp expect o &&
test_must_be_empty e
ok 50 - Query "master@{May 26 2005 23:32:00}" (exactly history start)
expecting success of 1400.51 'Query "master@{May 26 2005 23:32:30}" (first non-creation change)':
test_when_finished "rm -f o e" &&
git rev-parse --verify "master@{May 26 2005 23:32:30}" >o 2>e &&
echo "$A" >expect &&
test_cmp expect o &&
test_must_be_empty e
ok 51 - Query "master@{May 26 2005 23:32:30}" (first non-creation change)
expecting success of 1400.52 'Query "master@{2005-05-26 23:33:01}" (middle of history with gap)':
test_when_finished "rm -f o e" &&
git rev-parse --verify "master@{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/master has gap after Thu, 26 May 2005 18:33:00 -0500
ok 52 - Query "master@{2005-05-26 23:33:01}" (middle of history with gap)
expecting success of 1400.53 'Query "master@{2005-05-26 23:38:00}" (middle of history)':
test_when_finished "rm -f o e" &&
git rev-parse --verify "master@{2005-05-26 23:38:00}" >o 2>e &&
echo "$Z" >expect &&
test_cmp expect o &&
test_must_be_empty e
ok 53 - Query "master@{2005-05-26 23:38:00}" (middle of history)
expecting success of 1400.54 'Query "master@{2005-05-26 23:43:00}" (exact end of history)':
test_when_finished "rm -f o e" &&
git rev-parse --verify "master@{2005-05-26 23:43:00}" >o 2>e &&
echo "$E" >expect &&
test_cmp expect o &&
test_must_be_empty e
ok 54 - Query "master@{2005-05-26 23:43:00}" (exact end of history)
expecting success of 1400.55 'Query "master@{2005-05-28}" (past end of history)':
test_when_finished "rm -f o e" &&
git rev-parse --verify "master@{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/master unexpectedly ended on Thu, 26 May 2005 18:43:00 -0500
ok 55 - Query "master@{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)
[master (root-commit) 0c23f5f] add
Author: A U Thor <author@example.com>
2 files changed, 2 insertions(+)
create mode 100644 F
create mode 100644 foo.c
[master d3968db] The other day this did not work. And then Bob told me how to fix it.
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
[master e66de33] The other day this did not work. And then Bob told me how to fix it.
Author: A U Thor <author@example.com>
Date: Thu May 26 23:41:00 2005 +0000
1 file changed, 1 insertion(+), 1 deletion(-)
[master 29d1ccd] Merged initial commit and a later commit.
Author: A U Thor <author@example.com>
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 master:F (expect OTHER)':
test OTHER = $(git cat-file blob master:F)
ok 58 - git cat-file blob master:F (expect OTHER)
expecting success of 1400.59 'git cat-file blob master@{2005-05-26 23:30}:F (expect TEST)':
test TEST = $(git cat-file blob "master@{2005-05-26 23:30}:F")
ok 59 - git cat-file blob master@{2005-05-26 23:30}:F (expect TEST)
expecting success of 1400.60 'git cat-file blob master@{2005-05-26 23:42}:F (expect OTHER)':
test OTHER = $(git cat-file blob "master@{2005-05-26 23:42}:F")
ok 60 - git cat-file blob master@{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_path_is_missing .git/PSEUDOREF &&
test_i18ngrep "could not read ref" err
fatal: update_ref failed for ref 'PSEUDOREF': could not read ref '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 = $(cat .git/PSEUDOREF)
ok 62 - create pseudoref
expecting success of 1400.63 'overwrite pseudoref with no old value given':
git update-ref PSEUDOREF $B &&
test $B = $(cat .git/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 = $(cat .git/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 = $(cat .git/PSEUDOREF) &&
test_i18ngrep "unexpected object ID" err
fatal: update_ref failed for ref 'PSEUDOREF': unexpected object ID when writing 'PSEUDOREF'
ok 65 - do not overwrite pseudoref with wrong old value
expecting success of 1400.66 'delete pseudoref':
git update-ref -d PSEUDOREF &&
test_path_is_missing .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 = $(cat .git/PSEUDOREF) &&
test_i18ngrep "unexpected object ID" err
error: unexpected object ID when deleting 'PSEUDOREF'
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_path_is_missing .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 = $(cat .git/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 = $(cat .git/PSEUDOREF) &&
test_i18ngrep "already exists" err
fatal: update_ref failed for ref 'PSEUDOREF': ref 'PSEUDOREF' 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"
[master 536da9b] path with space
Author: A U Thor <author@example.com>
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 [<options>] -d <refname> [<old-val>]
ok 72 - -z fails without --stdin
expecting success of 1400.73 'stdin works with no input':
>stdin &&
git update-ref --stdin <stdin &&
git rev-parse --verify -q $m
536da9bc9e8e6d0baf01b41cf3cc49bb819559e6
ok 73 - stdin works with no input
expecting success of 1400.74 'stdin fails on empty line':
echo "" >stdin &&
test_must_fail git update-ref --stdin <stdin 2>err &&
grep "fatal: empty command in input" err
fatal: empty command in input
ok 74 - stdin fails on empty line
expecting success of 1400.75 'stdin fails on only whitespace':
echo " " >stdin &&
test_must_fail git update-ref --stdin <stdin 2>err &&
grep "fatal: whitespace before command: " err
fatal: whitespace before command:
ok 75 - stdin fails on only whitespace
expecting success of 1400.76 'stdin fails on leading whitespace':
echo " create $a $m" >stdin &&
test_must_fail git update-ref --stdin <stdin 2>err &&
grep "fatal: whitespace before command: create $a $m" err
fatal: whitespace before command: create refs/heads/a refs/heads/master
ok 76 - stdin fails on leading whitespace
expecting success of 1400.77 'stdin fails on unknown command':
echo "unknown $a" >stdin &&
test_must_fail git update-ref --stdin <stdin 2>err &&
grep "fatal: unknown command: unknown $a" err
fatal: unknown command: unknown refs/heads/a
ok 77 - stdin fails on unknown command
expecting success of 1400.78 'stdin fails on unbalanced quotes':
echo "create $a \"master" >stdin &&
test_must_fail git update-ref --stdin <stdin 2>err &&
grep "fatal: badly quoted argument: \\\"master" err
fatal: badly quoted argument: "master
ok 78 - stdin fails on unbalanced quotes
expecting success of 1400.79 'stdin fails on invalid escape':
echo "create $a \"ma\zter\"" >stdin &&
test_must_fail git update-ref --stdin <stdin 2>err &&
grep "fatal: badly quoted argument: \\\"ma\\\\zter\\\"" err
fatal: badly quoted argument: "ma\zter"
ok 79 - stdin fails on invalid escape
expecting success of 1400.80 'stdin fails on junk after quoted argument':
echo "create \"$a\"master" >stdin &&
test_must_fail git update-ref --stdin <stdin 2>err &&
grep "fatal: unexpected character after quoted argument: \\\"$a\\\"master" err
fatal: unexpected character after quoted argument: "refs/heads/a"master
ok 80 - stdin fails on junk after quoted argument
expecting success of 1400.81 'stdin fails create with no ref':
echo "create " >stdin &&
test_must_fail git update-ref --stdin <stdin 2>err &&
grep "fatal: create: missing <ref>" err
fatal: create: missing <ref>
ok 81 - stdin fails create with no ref
expecting success of 1400.82 'stdin fails create with no new value':
echo "create $a" >stdin &&
test_must_fail git update-ref --stdin <stdin 2>err &&
grep "fatal: create $a: missing <newvalue>" err
fatal: create refs/heads/a: missing <newvalue>
ok 82 - stdin fails create with no new value
expecting success of 1400.83 'stdin fails create with too many arguments':
echo "create $a $m $m" >stdin &&
test_must_fail git update-ref --stdin <stdin 2>err &&
grep "fatal: create $a: extra input: $m" err
fatal: create refs/heads/a: extra input: refs/heads/master
ok 83 - stdin fails create with too many arguments
expecting success of 1400.84 'stdin fails update with no ref':
echo "update " >stdin &&
test_must_fail git update-ref --stdin <stdin 2>err &&
grep "fatal: update: missing <ref>" err
fatal: update: missing <ref>
ok 84 - stdin fails update with no ref
expecting success of 1400.85 'stdin fails update with no new value':
echo "update $a" >stdin &&
test_must_fail git update-ref --stdin <stdin 2>err &&
grep "fatal: update $a: missing <newvalue>" err
fatal: update refs/heads/a: missing <newvalue>
ok 85 - stdin fails update with no new value
expecting success of 1400.86 'stdin fails update with too many arguments':
echo "update $a $m $m $m" >stdin &&
test_must_fail git update-ref --stdin <stdin 2>err &&
grep "fatal: update $a: extra input: $m" err
fatal: update refs/heads/a: extra input: refs/heads/master
ok 86 - stdin fails update with too many arguments
expecting success of 1400.87 'stdin fails delete with no ref':
echo "delete " >stdin &&
test_must_fail git update-ref --stdin <stdin 2>err &&
grep "fatal: delete: missing <ref>" err
fatal: delete: missing <ref>
ok 87 - stdin fails delete with no ref
expecting success of 1400.88 'stdin fails delete with too many arguments':
echo "delete $a $m $m" >stdin &&
test_must_fail git update-ref --stdin <stdin 2>err &&
grep "fatal: delete $a: extra input: $m" err
fatal: delete refs/heads/a: extra input: refs/heads/master
ok 88 - stdin fails delete with too many arguments
expecting success of 1400.89 'stdin fails verify with too many arguments':
echo "verify $a $m $m" >stdin &&
test_must_fail git update-ref --stdin <stdin 2>err &&
grep "fatal: verify $a: extra input: $m" err
fatal: verify refs/heads/a: extra input: refs/heads/master
ok 89 - stdin fails verify with too many arguments
expecting success of 1400.90 'stdin fails option with unknown name':
echo "option unknown" >stdin &&
test_must_fail git update-ref --stdin <stdin 2>err &&
grep "fatal: option unknown: unknown" err
fatal: option unknown: unknown
ok 90 - stdin fails option with unknown name
expecting success of 1400.91 'stdin fails with duplicate refs':
cat >stdin <<-EOF &&
create $a $m
create $b $m
create $a $m
EOF
test_must_fail git update-ref --stdin <stdin 2>err &&
test_i18ngrep "fatal: multiple updates for ref '$a' not allowed" err
fatal: multiple updates for ref 'refs/heads/a' not allowed
ok 91 - stdin fails with duplicate refs
expecting success of 1400.92 'stdin create ref works':
echo "create $a $m" >stdin &&
git update-ref --stdin <stdin &&
git rev-parse $m >expect &&
git rev-parse $a >actual &&
test_cmp expect actual
ok 92 - stdin create ref works
expecting success of 1400.93 'stdin does not create reflogs by default':
test_when_finished "git update-ref -d $outside" &&
echo "create $outside $m" >stdin &&
git update-ref --stdin <stdin &&
git rev-parse $m >expect &&
git rev-parse $outside >actual &&
test_cmp expect actual &&
test_must_fail git reflog exists $outside
ok 93 - stdin does not create reflogs by default
expecting success of 1400.94 'stdin creates reflogs with --create-reflog':
test_when_finished "git update-ref -d $outside" &&
echo "create $outside $m" >stdin &&
git update-ref --create-reflog --stdin <stdin &&
git rev-parse $m >expect &&
git rev-parse $outside >actual &&
test_cmp expect actual &&
git reflog exists $outside
ok 94 - stdin creates reflogs with --create-reflog
expecting success of 1400.95 'stdin succeeds with quoted argument':
git update-ref -d $a &&
echo "create $a \"$m\"" >stdin &&
git update-ref --stdin <stdin &&
git rev-parse $m >expect &&
git rev-parse $a >actual &&
test_cmp expect actual
ok 95 - stdin succeeds with quoted argument
expecting success of 1400.96 'stdin succeeds with escaped character':
git update-ref -d $a &&
echo "create $a \"ma\\163ter\"" >stdin &&
git update-ref --stdin <stdin &&
git rev-parse $m >expect &&
git rev-parse $a >actual &&
test_cmp expect actual
ok 96 - stdin succeeds with escaped character
expecting success of 1400.97 'stdin update ref creates with zero old value':
echo "update $b $m $Z" >stdin &&
git update-ref --stdin <stdin &&
git rev-parse $m >expect &&
git rev-parse $b >actual &&
test_cmp expect actual &&
git update-ref -d $b
ok 97 - stdin update ref creates with zero old value
expecting success of 1400.98 'stdin update ref creates with empty old value':
echo "update $b $m $E" >stdin &&
git update-ref --stdin <stdin &&
git rev-parse $m >expect &&
git rev-parse $b >actual &&
test_cmp expect actual
ok 98 - stdin update ref creates with empty old value
expecting success of 1400.99 'stdin create ref works with path with space to blob':
echo "create refs/blobs/pws \"$m:$pws\"" >stdin &&
git update-ref --stdin <stdin &&
git rev-parse "$m:$pws" >expect &&
git rev-parse refs/blobs/pws >actual &&
test_cmp expect actual &&
git update-ref -d refs/blobs/pws
ok 99 - stdin create ref works with path with space to blob
expecting success of 1400.100 'stdin update ref fails with wrong old value':
echo "update $c $m $m~1" >stdin &&
test_must_fail git update-ref --stdin <stdin 2>err &&
grep "fatal: cannot lock ref '$c'" err &&
test_must_fail git rev-parse --verify -q $c
fatal: cannot lock ref 'refs/heads/c': unable to resolve reference 'refs/heads/c'
ok 100 - stdin update ref fails with wrong old value
expecting success of 1400.101 'stdin update ref fails with bad old value':
echo "update $c $m does-not-exist" >stdin &&
test_must_fail git update-ref --stdin <stdin 2>err &&
grep "fatal: update $c: invalid <oldvalue>: does-not-exist" err &&
test_must_fail git rev-parse --verify -q $c
fatal: update refs/heads/c: invalid <oldvalue>: does-not-exist
ok 101 - stdin update ref fails with bad old value
expecting success of 1400.102 'stdin create ref fails with bad new value':
echo "create $c does-not-exist" >stdin &&
test_must_fail git update-ref --stdin <stdin 2>err &&
grep "fatal: create $c: invalid <newvalue>: does-not-exist" err &&
test_must_fail git rev-parse --verify -q $c
fatal: create refs/heads/c: invalid <newvalue>: does-not-exist
ok 102 - stdin create ref fails with bad new value
expecting success of 1400.103 'stdin create ref fails with zero new value':
echo "create $c " >stdin &&
test_must_fail git update-ref --stdin <stdin 2>err &&
grep "fatal: create $c: zero <newvalue>" err &&
test_must_fail git rev-parse --verify -q $c
fatal: create refs/heads/c: zero <newvalue>
ok 103 - stdin create ref fails with zero new value
expecting success of 1400.104 'stdin update ref works with right old value':
echo "update $b $m~1 $m" >stdin &&
git update-ref --stdin <stdin &&
git rev-parse $m~1 >expect &&
git rev-parse $b >actual &&
test_cmp expect actual
ok 104 - stdin update ref works with right old value
expecting success of 1400.105 'stdin delete ref fails with wrong old value':
echo "delete $a $m~1" >stdin &&
test_must_fail git update-ref --stdin <stdin 2>err &&
grep "fatal: cannot lock ref '$a'" err &&
git rev-parse $m >expect &&
git rev-parse $a >actual &&
test_cmp expect actual
fatal: cannot lock ref 'refs/heads/a': is at 536da9bc9e8e6d0baf01b41cf3cc49bb819559e6 but expected 29d1ccdc7ee9fe415beb2415b6206b8a20f76b1c
ok 105 - stdin delete ref fails with wrong old value
expecting success of 1400.106 'stdin delete ref fails with zero old value':
echo "delete $a " >stdin &&
test_must_fail git update-ref --stdin <stdin 2>err &&
grep "fatal: delete $a: zero <oldvalue>" err &&
git rev-parse $m >expect &&
git rev-parse $a >actual &&
test_cmp expect actual
fatal: delete refs/heads/a: zero <oldvalue>
ok 106 - stdin delete ref fails with zero old value
expecting success of 1400.107 'stdin update symref works option no-deref':
git symbolic-ref TESTSYMREF $b &&
cat >stdin <<-EOF &&
option no-deref
update TESTSYMREF $a $b
EOF
git update-ref --stdin <stdin &&
git rev-parse TESTSYMREF >expect &&
git rev-parse $a >actual &&
test_cmp expect actual &&
git rev-parse $m~1 >expect &&
git rev-parse $b >actual &&
test_cmp expect actual
ok 107 - stdin update symref works option no-deref
expecting success of 1400.108 'stdin delete symref works option no-deref':
git symbolic-ref TESTSYMREF $b &&
cat >stdin <<-EOF &&
option no-deref
delete TESTSYMREF $b
EOF
git update-ref --stdin <stdin &&
test_must_fail git rev-parse --verify -q TESTSYMREF &&
git rev-parse $m~1 >expect &&
git rev-parse $b >actual &&
test_cmp expect actual
ok 108 - stdin delete symref works option no-deref
expecting success of 1400.109 'stdin update symref works flag --no-deref':
git symbolic-ref TESTSYMREFONE $b &&
git symbolic-ref TESTSYMREFTWO $b &&
cat >stdin <<-EOF &&
update TESTSYMREFONE $a $b
update TESTSYMREFTWO $a $b
EOF
git update-ref --no-deref --stdin <stdin &&
git rev-parse TESTSYMREFONE TESTSYMREFTWO >expect &&
git rev-parse $a $a >actual &&
test_cmp expect actual &&
git rev-parse $m~1 >expect &&
git rev-parse $b >actual &&
test_cmp expect actual
ok 109 - stdin update symref works flag --no-deref
expecting success of 1400.110 'stdin delete symref works flag --no-deref':
git symbolic-ref TESTSYMREFONE $b &&
git symbolic-ref TESTSYMREFTWO $b &&
cat >stdin <<-EOF &&
delete TESTSYMREFONE $b
delete TESTSYMREFTWO $b
EOF
git update-ref --no-deref --stdin <stdin &&
test_must_fail git rev-parse --verify -q TESTSYMREFONE &&
test_must_fail git rev-parse --verify -q TESTSYMREFTWO &&
git rev-parse $m~1 >expect &&
git rev-parse $b >actual &&
test_cmp expect actual
ok 110 - stdin delete symref works flag --no-deref
expecting success of 1400.111 'stdin delete ref works with right old value':
echo "delete $b $m~1" >stdin &&
git update-ref --stdin <stdin &&
test_must_fail git rev-parse --verify -q $b
ok 111 - stdin delete ref works with right old value
expecting success of 1400.112 'stdin update/create/verify combination works':
cat >stdin <<-EOF &&
update $a $m
create $b $m
verify $c
EOF
git update-ref --stdin <stdin &&
git rev-parse $m >expect &&
git rev-parse $a >actual &&
test_cmp expect actual &&
git rev-parse $b >actual &&
test_cmp expect actual &&
test_must_fail git rev-parse --verify -q $c
ok 112 - stdin update/create/verify combination works
expecting success of 1400.113 'stdin verify succeeds for correct value':
git rev-parse $m >expect &&
echo "verify $m $m" >stdin &&
git update-ref --stdin <stdin &&
git rev-parse $m >actual &&
test_cmp expect actual
ok 113 - stdin verify succeeds for correct value
expecting success of 1400.114 'stdin verify succeeds for missing reference':
echo "verify refs/heads/missing $Z" >stdin &&
git update-ref --stdin <stdin &&
test_must_fail git rev-parse --verify -q refs/heads/missing
ok 114 - stdin verify succeeds for missing reference
expecting success of 1400.115 'stdin verify treats no value as missing':
echo "verify refs/heads/missing" >stdin &&
git update-ref --stdin <stdin &&
test_must_fail git rev-parse --verify -q refs/heads/missing
ok 115 - stdin verify treats no value as missing
expecting success of 1400.116 'stdin verify fails for wrong value':
git rev-parse $m >expect &&
echo "verify $m $m~1" >stdin &&
test_must_fail git update-ref --stdin <stdin &&
git rev-parse $m >actual &&
test_cmp expect actual
fatal: cannot lock ref 'refs/heads/master': is at 536da9bc9e8e6d0baf01b41cf3cc49bb819559e6 but expected 29d1ccdc7ee9fe415beb2415b6206b8a20f76b1c
ok 116 - stdin verify fails for wrong value
expecting success of 1400.117 'stdin verify fails for mistaken null value':
git rev-parse $m >expect &&
echo "verify $m $Z" >stdin &&
test_must_fail git update-ref --stdin <stdin &&
git rev-parse $m >actual &&
test_cmp expect actual
fatal: cannot lock ref 'refs/heads/master': reference already exists
ok 117 - stdin verify fails for mistaken null value
expecting success of 1400.118 'stdin verify fails for mistaken empty value':
M=$(git rev-parse $m) &&
test_when_finished "git update-ref $m $M" &&
git rev-parse $m >expect &&
echo "verify $m" >stdin &&
test_must_fail git update-ref --stdin <stdin &&
git rev-parse $m >actual &&
test_cmp expect actual
fatal: cannot lock ref 'refs/heads/master': reference already exists
ok 118 - stdin verify fails for mistaken empty value
expecting success of 1400.119 'stdin update refs works with identity updates':
cat >stdin <<-EOF &&
update $a $m $m
update $b $m $m
update $c $Z $E
EOF
git update-ref --stdin <stdin &&
git rev-parse $m >expect &&
git rev-parse $a >actual &&
test_cmp expect actual &&
git rev-parse $b >actual &&
test_cmp expect actual &&
test_must_fail git rev-parse --verify -q $c
ok 119 - stdin update refs works with identity updates
expecting success of 1400.120 'stdin update refs fails with wrong old value':
git update-ref $c $m &&
cat >stdin <<-EOF &&
update $a $m $m
update $b $m $m
update $c
EOF
test_must_fail git update-ref --stdin <stdin 2>err &&
grep "fatal: cannot lock ref '$c'" err &&
git rev-parse $m >expect &&
git rev-parse $a >actual &&
test_cmp expect actual &&
git rev-parse $b >actual &&
test_cmp expect actual &&
git rev-parse $c >actual &&
test_cmp expect actual
fatal: cannot lock ref 'refs/heads/c': reference already exists
ok 120 - stdin update refs fails with wrong old value
expecting success of 1400.121 'stdin delete refs works with packed and loose refs':
git pack-refs --all &&
git update-ref $c $m~1 &&
cat >stdin <<-EOF &&
delete $a $m
update $b $Z $m
update $c $E $m~1
EOF
git update-ref --stdin <stdin &&
test_must_fail git rev-parse --verify -q $a &&
test_must_fail git rev-parse --verify -q $b &&
test_must_fail git rev-parse --verify -q $c
ok 121 - stdin delete refs works with packed and loose refs
expecting success of 1400.122 'stdin -z works on empty input':
>stdin &&
git update-ref -z --stdin <stdin &&
git rev-parse --verify -q $m
536da9bc9e8e6d0baf01b41cf3cc49bb819559e6
ok 122 - stdin -z works on empty input
expecting success of 1400.123 'stdin -z fails on empty line':
echo "" >stdin &&
test_must_fail git update-ref -z --stdin <stdin 2>err &&
grep "fatal: whitespace before command: " err
fatal: whitespace before command:
ok 123 - stdin -z fails on empty line
expecting success of 1400.124 'stdin -z fails on empty command':
printf $F "" >stdin &&
test_must_fail git update-ref -z --stdin <stdin 2>err &&
grep "fatal: empty command in input" err
fatal: empty command in input
ok 124 - stdin -z fails on empty command
expecting success of 1400.125 'stdin -z fails on only whitespace':
printf $F " " >stdin &&
test_must_fail git update-ref -z --stdin <stdin 2>err &&
grep "fatal: whitespace before command: " err
fatal: whitespace before command:
ok 125 - stdin -z fails on only whitespace
expecting success of 1400.126 'stdin -z fails on leading whitespace':
printf $F " create $a" "$m" >stdin &&
test_must_fail git update-ref -z --stdin <stdin 2>err &&
grep "fatal: whitespace before command: create $a" err
fatal: whitespace before command: create refs/heads/a
ok 126 - stdin -z fails on leading whitespace
expecting success of 1400.127 'stdin -z fails on unknown command':
printf $F "unknown $a" >stdin &&
test_must_fail git update-ref -z --stdin <stdin 2>err &&
grep "fatal: unknown command: unknown $a" err
fatal: unknown command: unknown refs/heads/a
ok 127 - stdin -z fails on unknown command
expecting success of 1400.128 'stdin -z fails create with no ref':
printf $F "create " >stdin &&
test_must_fail git update-ref -z --stdin <stdin 2>err &&
grep "fatal: create: missing <ref>" err
fatal: create: missing <ref>
ok 128 - stdin -z fails create with no ref
expecting success of 1400.129 'stdin -z fails create with no new value':
printf $F "create $a" >stdin &&
test_must_fail git update-ref -z --stdin <stdin 2>err &&
grep "fatal: create $a: unexpected end of input when reading <newvalue>" err
fatal: create refs/heads/a: unexpected end of input when reading <newvalue>
ok 129 - stdin -z fails create with no new value
expecting success of 1400.130 'stdin -z fails create with too many arguments':
printf $F "create $a" "$m" "$m" >stdin &&
test_must_fail git update-ref -z --stdin <stdin 2>err &&
grep "fatal: unknown command: $m" err
fatal: unknown command: refs/heads/master
ok 130 - stdin -z fails create with too many arguments
expecting success of 1400.131 'stdin -z fails update with no ref':
printf $F "update " >stdin &&
test_must_fail git update-ref -z --stdin <stdin 2>err &&
grep "fatal: update: missing <ref>" err
fatal: update: missing <ref>
ok 131 - stdin -z fails update with no ref
expecting success of 1400.132 'stdin -z fails update with too few args':
printf $F "update $a" "$m" >stdin &&
test_must_fail git update-ref -z --stdin <stdin 2>err &&
grep "fatal: update $a: unexpected end of input when reading <oldvalue>" err
fatal: update refs/heads/a: unexpected end of input when reading <oldvalue>
ok 132 - stdin -z fails update with too few args
expecting success of 1400.133 'stdin -z emits warning with empty new value':
git update-ref $a $m &&
printf $F "update $a" "" "" >stdin &&
git update-ref -z --stdin <stdin 2>err &&
grep "warning: update $a: missing <newvalue>, treating as zero" err &&
test_must_fail git rev-parse --verify -q $a
warning: update refs/heads/a: missing <newvalue>, treating as zero
ok 133 - stdin -z emits warning with empty new value
expecting success of 1400.134 'stdin -z fails update with no new value':
printf $F "update $a" >stdin &&
test_must_fail git update-ref -z --stdin <stdin 2>err &&
grep "fatal: update $a: unexpected end of input when reading <newvalue>" err
fatal: update refs/heads/a: unexpected end of input when reading <newvalue>
ok 134 - stdin -z fails update with no new value
expecting success of 1400.135 'stdin -z fails update with no old value':
printf $F "update $a" "$m" >stdin &&
test_must_fail git update-ref -z --stdin <stdin 2>err &&
grep "fatal: update $a: unexpected end of input when reading <oldvalue>" err
fatal: update refs/heads/a: unexpected end of input when reading <oldvalue>
ok 135 - stdin -z fails update with no old value
expecting success of 1400.136 'stdin -z fails update with too many arguments':
printf $F "update $a" "$m" "$m" "$m" >stdin &&
test_must_fail git update-ref -z --stdin <stdin 2>err &&
grep "fatal: unknown command: $m" err
fatal: unknown command: refs/heads/master
ok 136 - stdin -z fails update with too many arguments
expecting success of 1400.137 'stdin -z fails delete with no ref':
printf $F "delete " >stdin &&
test_must_fail git update-ref -z --stdin <stdin 2>err &&
grep "fatal: delete: missing <ref>" err
fatal: delete: missing <ref>
ok 137 - stdin -z fails delete with no ref
expecting success of 1400.138 'stdin -z fails delete with no old value':
printf $F "delete $a" >stdin &&
test_must_fail git update-ref -z --stdin <stdin 2>err &&
grep "fatal: delete $a: unexpected end of input when reading <oldvalue>" err
fatal: delete refs/heads/a: unexpected end of input when reading <oldvalue>
ok 138 - stdin -z fails delete with no old value
expecting success of 1400.139 'stdin -z fails delete with too many arguments':
printf $F "delete $a" "$m" "$m" >stdin &&
test_must_fail git update-ref -z --stdin <stdin 2>err &&
grep "fatal: unknown command: $m" err
fatal: unknown command: refs/heads/master
ok 139 - stdin -z fails delete with too many arguments
expecting success of 1400.140 'stdin -z fails verify with too many arguments':
printf $F "verify $a" "$m" "$m" >stdin &&
test_must_fail git update-ref -z --stdin <stdin 2>err &&
grep "fatal: unknown command: $m" err
fatal: unknown command: refs/heads/master
ok 140 - stdin -z fails verify with too many arguments
expecting success of 1400.141 'stdin -z fails verify with no old value':
printf $F "verify $a" >stdin &&
test_must_fail git update-ref -z --stdin <stdin 2>err &&
grep "fatal: verify $a: unexpected end of input when reading <oldvalue>" err
fatal: verify refs/heads/a: unexpected end of input when reading <oldvalue>
ok 141 - stdin -z fails verify with no old value
expecting success of 1400.142 'stdin -z fails option with unknown name':
printf $F "option unknown" >stdin &&
test_must_fail git update-ref -z --stdin <stdin 2>err &&
grep "fatal: option unknown: unknown" err
fatal: option unknown: unknown
ok 142 - stdin -z fails option with unknown name
expecting success of 1400.143 'stdin -z fails with duplicate refs':
printf $F "create $a" "$m" "create $b" "$m" "create $a" "$m" >stdin &&
test_must_fail git update-ref -z --stdin <stdin 2>err &&
test_i18ngrep "fatal: multiple updates for ref '$a' not allowed" err
fatal: multiple updates for ref 'refs/heads/a' not allowed
ok 143 - stdin -z fails with duplicate refs
expecting success of 1400.144 'stdin -z create ref works':
printf $F "create $a" "$m" >stdin &&
git update-ref -z --stdin <stdin &&
git rev-parse $m >expect &&
git rev-parse $a >actual &&
test_cmp expect actual
ok 144 - stdin -z create ref works
expecting success of 1400.145 'stdin -z update ref creates with zero old value':
printf $F "update $b" "$m" "$Z" >stdin &&
git update-ref -z --stdin <stdin &&
git rev-parse $m >expect &&
git rev-parse $b >actual &&
test_cmp expect actual &&
git update-ref -d $b
ok 145 - stdin -z update ref creates with zero old value
expecting success of 1400.146 'stdin -z update ref creates with empty old value':
printf $F "update $b" "$m" "" >stdin &&
git update-ref -z --stdin <stdin &&
git rev-parse $m >expect &&
git rev-parse $b >actual &&
test_cmp expect actual
ok 146 - stdin -z update ref creates with empty old value
expecting success of 1400.147 'stdin -z create ref works with path with space to blob':
printf $F "create refs/blobs/pws" "$m:$pws" >stdin &&
git update-ref -z --stdin <stdin &&
git rev-parse "$m:$pws" >expect &&
git rev-parse refs/blobs/pws >actual &&
test_cmp expect actual &&
git update-ref -d refs/blobs/pws
ok 147 - stdin -z create ref works with path with space to blob
expecting success of 1400.148 'stdin -z update ref fails with wrong old value':
printf $F "update $c" "$m" "$m~1" >stdin &&
test_must_fail git update-ref -z --stdin <stdin 2>err &&
grep "fatal: cannot lock ref '$c'" err &&
test_must_fail git rev-parse --verify -q $c
fatal: cannot lock ref 'refs/heads/c': unable to resolve reference 'refs/heads/c'
ok 148 - stdin -z update ref fails with wrong old value
expecting success of 1400.149 'stdin -z update ref fails with bad old value':
printf $F "update $c" "$m" "does-not-exist" >stdin &&
test_must_fail git update-ref -z --stdin <stdin 2>err &&
grep "fatal: update $c: invalid <oldvalue>: does-not-exist" err &&
test_must_fail git rev-parse --verify -q $c
fatal: update refs/heads/c: invalid <oldvalue>: does-not-exist
ok 149 - stdin -z update ref fails with bad old value
expecting success of 1400.150 'stdin -z create ref fails when ref exists':
git update-ref $c $m &&
git rev-parse "$c" >expect &&
printf $F "create $c" "$m~1" >stdin &&
test_must_fail git update-ref -z --stdin <stdin 2>err &&
grep "fatal: cannot lock ref '$c'" err &&
git rev-parse "$c" >actual &&
test_cmp expect actual
fatal: cannot lock ref 'refs/heads/c': reference already exists
ok 150 - stdin -z create ref fails when ref exists
expecting success of 1400.151 'stdin -z create ref fails with bad new value':
git update-ref -d "$c" &&
printf $F "create $c" "does-not-exist" >stdin &&
test_must_fail git update-ref -z --stdin <stdin 2>err &&
grep "fatal: create $c: invalid <newvalue>: does-not-exist" err &&
test_must_fail git rev-parse --verify -q $c
fatal: create refs/heads/c: invalid <newvalue>: does-not-exist
ok 151 - stdin -z create ref fails with bad new value
expecting success of 1400.152 'stdin -z create ref fails with empty new value':
printf $F "create $c" "" >stdin &&
test_must_fail git update-ref -z --stdin <stdin 2>err &&
grep "fatal: create $c: missing <newvalue>" err &&
test_must_fail git rev-parse --verify -q $c
fatal: create refs/heads/c: missing <newvalue>
ok 152 - stdin -z create ref fails with empty new value
expecting success of 1400.153 'stdin -z update ref works with right old value':
printf $F "update $b" "$m~1" "$m" >stdin &&
git update-ref -z --stdin <stdin &&
git rev-parse $m~1 >expect &&
git rev-parse $b >actual &&
test_cmp expect actual
ok 153 - stdin -z update ref works with right old value
expecting success of 1400.154 'stdin -z delete ref fails with wrong old value':
printf $F "delete $a" "$m~1" >stdin &&
test_must_fail git update-ref -z --stdin <stdin 2>err &&
grep "fatal: cannot lock ref '$a'" err &&
git rev-parse $m >expect &&
git rev-parse $a >actual &&
test_cmp expect actual
fatal: cannot lock ref 'refs/heads/a': is at 536da9bc9e8e6d0baf01b41cf3cc49bb819559e6 but expected 29d1ccdc7ee9fe415beb2415b6206b8a20f76b1c
ok 154 - stdin -z delete ref fails with wrong old value
expecting success of 1400.155 'stdin -z delete ref fails with zero old value':
printf $F "delete $a" "$Z" >stdin &&
test_must_fail git update-ref -z --stdin <stdin 2>err &&
grep "fatal: delete $a: zero <oldvalue>" err &&
git rev-parse $m >expect &&
git rev-parse $a >actual &&
test_cmp expect actual
fatal: delete refs/heads/a: zero <oldvalue>
ok 155 - stdin -z delete ref fails with zero old value
expecting success of 1400.156 'stdin -z update symref works option no-deref':
git symbolic-ref TESTSYMREF $b &&
printf $F "option no-deref" "update TESTSYMREF" "$a" "$b" >stdin &&
git update-ref -z --stdin <stdin &&
git rev-parse TESTSYMREF >expect &&
git rev-parse $a >actual &&
test_cmp expect actual &&
git rev-parse $m~1 >expect &&
git rev-parse $b >actual &&
test_cmp expect actual
ok 156 - stdin -z update symref works option no-deref
expecting success of 1400.157 'stdin -z delete symref works option no-deref':
git symbolic-ref TESTSYMREF $b &&
printf $F "option no-deref" "delete TESTSYMREF" "$b" >stdin &&
git update-ref -z --stdin <stdin &&
test_must_fail git rev-parse --verify -q TESTSYMREF &&
git rev-parse $m~1 >expect &&
git rev-parse $b >actual &&
test_cmp expect actual
ok 157 - stdin -z delete symref works option no-deref
expecting success of 1400.158 'stdin -z delete ref works with right old value':
printf $F "delete $b" "$m~1" >stdin &&
git update-ref -z --stdin <stdin &&
test_must_fail git rev-parse --verify -q $b
ok 158 - stdin -z delete ref works with right old value
expecting success of 1400.159 'stdin -z update/create/verify combination works':
printf $F "update $a" "$m" "" "create $b" "$m" "verify $c" "" >stdin &&
git update-ref -z --stdin <stdin &&
git rev-parse $m >expect &&
git rev-parse $a >actual &&
test_cmp expect actual &&
git rev-parse $b >actual &&
test_cmp expect actual &&
test_must_fail git rev-parse --verify -q $c
ok 159 - stdin -z update/create/verify combination works
expecting success of 1400.160 'stdin -z verify succeeds for correct value':
git rev-parse $m >expect &&
printf $F "verify $m" "$m" >stdin &&
git update-ref -z --stdin <stdin &&
git rev-parse $m >actual &&
test_cmp expect actual
ok 160 - stdin -z verify succeeds for correct value
expecting success of 1400.161 'stdin -z verify succeeds for missing reference':
printf $F "verify refs/heads/missing" "$Z" >stdin &&
git update-ref -z --stdin <stdin &&
test_must_fail git rev-parse --verify -q refs/heads/missing
ok 161 - stdin -z verify succeeds for missing reference
expecting success of 1400.162 'stdin -z verify treats no value as missing':
printf $F "verify refs/heads/missing" "" >stdin &&
git update-ref -z --stdin <stdin &&
test_must_fail git rev-parse --verify -q refs/heads/missing
ok 162 - stdin -z verify treats no value as missing
expecting success of 1400.163 'stdin -z verify fails for wrong value':
git rev-parse $m >expect &&
printf $F "verify $m" "$m~1" >stdin &&
test_must_fail git update-ref -z --stdin <stdin &&
git rev-parse $m >actual &&
test_cmp expect actual
fatal: cannot lock ref 'refs/heads/master': is at 536da9bc9e8e6d0baf01b41cf3cc49bb819559e6 but expected 29d1ccdc7ee9fe415beb2415b6206b8a20f76b1c
ok 163 - stdin -z verify fails for wrong value
expecting success of 1400.164 'stdin -z verify fails for mistaken null value':
git rev-parse $m >expect &&
printf $F "verify $m" "$Z" >stdin &&
test_must_fail git update-ref -z --stdin <stdin &&
git rev-parse $m >actual &&
test_cmp expect actual
fatal: cannot lock ref 'refs/heads/master': reference already exists
ok 164 - stdin -z verify fails for mistaken null value
expecting success of 1400.165 'stdin -z verify fails for mistaken empty value':
M=$(git rev-parse $m) &&
test_when_finished "git update-ref $m $M" &&
git rev-parse $m >expect &&
printf $F "verify $m" "" >stdin &&
test_must_fail git update-ref -z --stdin <stdin &&
git rev-parse $m >actual &&
test_cmp expect actual
fatal: cannot lock ref 'refs/heads/master': reference already exists
ok 165 - stdin -z verify fails for mistaken empty value
expecting success of 1400.166 'stdin -z update refs works with identity updates':
printf $F "update $a" "$m" "$m" "update $b" "$m" "$m" "update $c" "$Z" "" >stdin &&
git update-ref -z --stdin <stdin &&
git rev-parse $m >expect &&
git rev-parse $a >actual &&
test_cmp expect actual &&
git rev-parse $b >actual &&
test_cmp expect actual &&
test_must_fail git rev-parse --verify -q $c
ok 166 - stdin -z update refs works with identity updates
expecting success of 1400.167 'stdin -z update refs fails with wrong old value':
git update-ref $c $m &&
printf $F "update $a" "$m" "$m" "update $b" "$m" "$m" "update $c" "$m" "$Z" >stdin &&
test_must_fail git update-ref -z --stdin <stdin 2>err &&
grep "fatal: cannot lock ref '$c'" err &&
git rev-parse $m >expect &&
git rev-parse $a >actual &&
test_cmp expect actual &&
git rev-parse $b >actual &&
test_cmp expect actual &&
git rev-parse $c >actual &&
test_cmp expect actual
fatal: cannot lock ref 'refs/heads/c': reference already exists
ok 167 - stdin -z update refs fails with wrong old value
expecting success of 1400.168 'stdin -z delete refs works with packed and loose refs':
git pack-refs --all &&
git update-ref $c $m~1 &&
printf $F "delete $a" "$m" "update $b" "$Z" "$m" "update $c" "" "$m~1" >stdin &&
git update-ref -z --stdin <stdin &&
test_must_fail git rev-parse --verify -q $a &&
test_must_fail git rev-parse --verify -q $b &&
test_must_fail git rev-parse --verify -q $c
warning: update refs/heads/c: missing <newvalue>, treating as zero
ok 168 - stdin -z delete refs works with packed and loose refs
expecting success of 1400.169 'fails with duplicate HEAD update':
git branch target1 $A &&
git checkout target1 &&
cat >stdin <<-EOF &&
update refs/heads/target1 $C
option no-deref
update HEAD $B
EOF
test_must_fail git update-ref --stdin <stdin 2>err &&
test_i18ngrep "fatal: multiple updates for 'HEAD' (including one via its referent .refs/heads/target1.) are not allowed" err &&
echo "refs/heads/target1" >expect &&
git symbolic-ref HEAD >actual &&
test_cmp expect actual &&
echo "$A" >expect &&
git rev-parse refs/heads/target1 >actual &&
test_cmp expect actual
Switched to branch 'target1'
fatal: multiple updates for 'HEAD' (including one via its referent 'refs/heads/target1') are not allowed
ok 169 - fails with duplicate HEAD update
expecting success of 1400.170 'fails with duplicate ref update via symref':
git branch target2 $A &&
git symbolic-ref refs/heads/symref2 refs/heads/target2 &&
cat >stdin <<-EOF &&
update refs/heads/target2 $C
update refs/heads/symref2 $B
EOF
test_must_fail git update-ref --stdin <stdin 2>err &&
test_i18ngrep "fatal: multiple updates for 'refs/heads/target2' (including one via symref .refs/heads/symref2.) are not allowed" err &&
echo "refs/heads/target2" >expect &&
git symbolic-ref refs/heads/symref2 >actual &&
test_cmp expect actual &&
echo "$A" >expect &&
git rev-parse refs/heads/target2 >actual &&
test_cmp expect actual
fatal: multiple updates for 'refs/heads/target2' (including one via symref 'refs/heads/symref2') are not allowed
ok 170 - fails with duplicate ref update via symref
checking prerequisite: ULIMIT_FILE_DESCRIPTORS
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
test_have_prereq !MINGW,!CYGWIN &&
run_with_limited_open_files true
)
prerequisite ULIMIT_FILE_DESCRIPTORS ok
expecting success of 1400.171 'large transaction creating branches does not burst open file limit':
(
for i in $(test_seq 33)
do
echo "create refs/heads/$i HEAD"
done >large_input &&
run_with_limited_open_files git update-ref --stdin <large_input &&
git rev-parse --verify -q refs/heads/33
)
102939797ab91a4f201d131418d2c9d919dcdd2c
ok 171 - large transaction creating branches does not burst open file limit
expecting success of 1400.172 'large transaction deleting branches does not burst open file limit':
(
for i in $(test_seq 33)
do
echo "delete refs/heads/$i HEAD"
done >large_input &&
run_with_limited_open_files git update-ref --stdin <large_input &&
test_must_fail git rev-parse --verify -q refs/heads/33
)
ok 172 - large transaction deleting branches does not burst open file limit
expecting success of 1400.173 'handle per-worktree refs in refs/bisect':
git commit --allow-empty -m "initial commit" &&
git worktree add -b branch worktree &&
(
cd worktree &&
git commit --allow-empty -m "test commit" &&
git for-each-ref >for-each-ref.out &&
! grep refs/bisect for-each-ref.out &&
git update-ref refs/bisect/something HEAD &&
git rev-parse refs/bisect/something >../worktree-head &&
git for-each-ref | grep refs/bisect/something
) &&
test_path_is_missing .git/refs/bisect &&
test_must_fail git rev-parse refs/bisect/something &&
git update-ref refs/bisect/something HEAD &&
git rev-parse refs/bisect/something >main-head &&
! test_cmp main-head worktree-head
[target1 58a0522] initial commit
Author: A U Thor <author@example.com>
Preparing worktree (new branch 'branch')
HEAD is now at 58a0522 initial commit
[branch b62e0cb] test commit
Author: A U Thor <author@example.com>
b62e0cb4990da3244885da90fe7d493334cca9f5 commit refs/bisect/something
fatal: ambiguous argument 'refs/bisect/something': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
refs/bisect/something
--- main-head 2020-06-12 06:33:34.285405640 +0000
+++ worktree-head 2020-06-12 06:33:34.180401285 +0000
@@ -1 +1 @@
-58a052250c09f010b95ad9bfe32f35d704eda1a0
+b62e0cb4990da3244885da90fe7d493334cca9f5
ok 173 - handle per-worktree refs in refs/bisect
expecting success of 1400.174 'transaction handles empty commit':
cat >stdin <<-EOF &&
start
prepare
commit
EOF
git update-ref --stdin <stdin >actual &&
printf "%s: ok\n" start prepare commit >expect &&
test_cmp expect actual
ok 174 - transaction handles empty commit
expecting success of 1400.175 'transaction handles empty commit with missing prepare':
cat >stdin <<-EOF &&
start
commit
EOF
git update-ref --stdin <stdin >actual &&
printf "%s: ok\n" start commit >expect &&
test_cmp expect actual
ok 175 - transaction handles empty commit with missing prepare
expecting success of 1400.176 'transaction handles sole commit':
cat >stdin <<-EOF &&
commit
EOF
git update-ref --stdin <stdin >actual &&
printf "%s: ok\n" commit >expect &&
test_cmp expect actual
ok 176 - transaction handles sole commit
expecting success of 1400.177 'transaction handles empty abort':
cat >stdin <<-EOF &&
start
prepare
abort
EOF
git update-ref --stdin <stdin >actual &&
printf "%s: ok\n" start prepare abort >expect &&
test_cmp expect actual
ok 177 - transaction handles empty abort
expecting success of 1400.178 'transaction exits on multiple aborts':
cat >stdin <<-EOF &&
abort
abort
EOF
test_must_fail git update-ref --stdin <stdin >actual 2>err &&
printf "%s: ok\n" abort >expect &&
test_cmp expect actual &&
grep "fatal: transaction is closed" err
fatal: transaction is closed
ok 178 - transaction exits on multiple aborts
expecting success of 1400.179 'transaction exits on start after prepare':
cat >stdin <<-EOF &&
prepare
start
EOF
test_must_fail git update-ref --stdin <stdin 2>err >actual &&
printf "%s: ok\n" prepare >expect &&
test_cmp expect actual &&
grep "fatal: prepared transactions can only be closed" err
fatal: prepared transactions can only be closed
ok 179 - transaction exits on start after prepare
expecting success of 1400.180 'transaction handles empty abort with missing prepare':
cat >stdin <<-EOF &&
start
abort
EOF
git update-ref --stdin <stdin >actual &&
printf "%s: ok\n" start abort >expect &&
test_cmp expect actual
ok 180 - transaction handles empty abort with missing prepare
expecting success of 1400.181 'transaction handles sole abort':
cat >stdin <<-EOF &&
abort
EOF
git update-ref --stdin <stdin >actual &&
printf "%s: ok\n" abort >expect &&
test_cmp expect actual
ok 181 - transaction handles sole abort
expecting success of 1400.182 'transaction can handle commit':
cat >stdin <<-EOF &&
start
create $a HEAD
commit
EOF
git update-ref --stdin <stdin >actual &&
printf "%s: ok\n" start commit >expect &&
test_cmp expect actual &&
git rev-parse HEAD >expect &&
git rev-parse $a >actual &&
test_cmp expect actual
ok 182 - transaction can handle commit
expecting success of 1400.183 'transaction can handle abort':
cat >stdin <<-EOF &&
start
create $b HEAD
abort
EOF
git update-ref --stdin <stdin >actual &&
printf "%s: ok\n" start abort >expect &&
test_cmp expect actual &&
test_path_is_missing .git/$b
ok 183 - transaction can handle abort
expecting success of 1400.184 'transaction aborts by default':
cat >stdin <<-EOF &&
start
create $b HEAD
EOF
git update-ref --stdin <stdin >actual &&
printf "%s: ok\n" start >expect &&
test_cmp expect actual &&
test_path_is_missing .git/$b
ok 184 - transaction aborts by default
expecting success of 1400.185 'transaction with prepare aborts by default':
cat >stdin <<-EOF &&
start
create $b HEAD
prepare
EOF
git update-ref --stdin <stdin >actual &&
printf "%s: ok\n" start prepare >expect &&
test_cmp expect actual &&
test_path_is_missing .git/$b
ok 185 - transaction with prepare aborts by default
# passed all 185 test(s)
1..185
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t1405-main-ref-store.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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 <author@example.com>
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 -- &&
$RUN delete-refs 0 nothing FOO refs/tags/new-tag &&
test_must_fail git rev-parse FOO -- &&
test_must_fail git rev-parse refs/tags/new-tag --
d79ce1670bdcb76e6d1da2ae095e890ccb326ae9
--
407ffbd56c168afa4e9302a7cdfe469155f84482
--
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 <author@example.com>
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 <committer@example.com> 1112911993 -700 commit (initial): one
0000000000000000000000000000000000000000 c90e4dc5e12224a428dedfbd45ba11e5531706a2 C O Mitter <committer@example.com> 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 <committer@example.com> 1112912053 -700 commit (initial): recreate-master
0000000000000000000000000000000000000000 d79ce1670bdcb76e6d1da2ae095e890ccb326ae9 C O Mitter <committer@example.com> 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 <author@example.com>
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 '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t1404-update-ref-errors.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1404-update-ref-errors/.git/
expecting success of 1404.1 'setup':
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) b672abe] Initial
Author: A U Thor <author@example.com>
[master 38d41a6] Second
Author: A U Thor <author@example.com>
[master d8f790c] Third
Author: A U Thor <author@example.com>
ok 1 - setup
expecting success of 1404.2 'existing loose ref is a simple prefix of new':
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"
checking prerequisite: C_LOCALE_OUTPUT
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
! test_bool_env GIT_TEST_GETTEXT_POISON false
)
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 1404.3 'existing packed ref is a simple prefix of new':
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"
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
expecting success of 1404.4 'existing loose ref is a deeper prefix of new':
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"
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
expecting success of 1404.5 'existing packed ref is a deeper prefix of new':
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"
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 1404.6 'new ref is a simple prefix of existing loose':
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"
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
expecting success of 1404.7 'new ref is a simple prefix of existing packed':
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"
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
expecting success of 1404.8 'new ref is a deeper prefix of existing loose':
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"
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 1404.9 'new ref is a deeper prefix of existing packed':
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"
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
expecting success of 1404.10 'one new ref is a simple prefix of another':
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"
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
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
ok 11 - empty directory should not fool rev-parse
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
ok 12 - empty directory should not fool for-each-ref
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
ok 13 - empty directory should not fool create
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
ok 14 - empty directory should not fool verify
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
ok 15 - empty directory should not fool 1-arg update
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 16 - empty directory should not fool 2-arg update
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 17 - empty directory should not fool 0-arg delete
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 18 - empty directory should not fool 1-arg delete
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 19 - D/F conflict prevents add long + delete short
expecting success of 1404.20 'D/F conflict prevents add short + delete long':
df_test refs/df-as-dl --add-del foo foo/bar
ok 20 - D/F conflict prevents add short + delete long
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 21 - D/F conflict prevents delete long + add short
expecting success of 1404.22 'D/F conflict prevents delete short + add long':
df_test refs/df-ds-al --del-add foo foo/bar
ok 22 - D/F conflict prevents delete short + add long
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 23 - D/F conflict prevents add long + delete short packed
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
ok 24 - D/F conflict prevents add short + delete long packed
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
ok 25 - D/F conflict prevents delete long packed + add short
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
ok 26 - D/F conflict prevents delete short packed + add long
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
ok 27 - D/F conflict prevents indirect add long + delete short
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
ok 28 - D/F conflict prevents indirect add long + indirect delete short
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
ok 29 - D/F conflict prevents indirect add short + indirect delete long
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
ok 30 - D/F conflict prevents indirect delete long + indirect add short
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
ok 31 - D/F conflict prevents indirect add long + delete short packed
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
ok 32 - D/F conflict prevents indirect add long + indirect delete short packed
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
ok 33 - D/F conflict prevents add long + indirect delete short packed
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
ok 34 - D/F conflict prevents indirect delete long packed + indirect add short
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
ok 35 - missing old value blocks update
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
ok 36 - incorrect old value blocks update
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
ok 37 - existing old value blocks create
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
ok 38 - incorrect old value blocks delete
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
ok 39 - missing old value blocks indirect update
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
ok 40 - incorrect old value blocks indirect update
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
ok 41 - existing old value blocks indirect create
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
ok 42 - incorrect old value blocks indirect delete
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
ok 43 - missing old value blocks indirect no-deref update
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
ok 44 - incorrect old value blocks indirect no-deref update
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
ok 45 - existing old value blocks indirect no-deref create
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
ok 46 - incorrect old value blocks indirect no-deref delete
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
ok 47 - non-empty directory blocks create
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
ok 48 - broken reference blocks create
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
ok 49 - non-empty directory blocks indirect create
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
ok 50 - broken reference blocks indirect create
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 51 - no bogus intermediate values during delete
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
error: Unable to create '/<<PKGBUILDDIR>>/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 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
error: unable to create file /<<PKGBUILDDIR>>/t/trash directory.t1404-update-ref-errors/.git/packed-refs.new: File exists
ok 53 - delete fails cleanly if packed-refs.new write fails
# passed all 53 test(s)
1..53
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t1406-submodule-ref-store.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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
)
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1406-submodule-ref-store/sub/.git/
[master (root-commit) 50e526b] first
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 first.t
Switched to a new branch 'new-master'
ok 1 - setup
expecting success of 1406.2 'pack_refs() not allowed':
test_must_fail $RUN pack-refs 3
BUG: refs/files-backend.c:147: operation pack_refs requires abilities 0x6, but only have 0x5
ok 2 - pack_refs() not allowed
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 - peel_ref(new-tag)
expecting success of 1406.4 'create_symref() not allowed':
test_must_fail $RUN create-symref FOO refs/heads/master nothing
BUG: refs/files-backend.c:147: operation create_symref requires abilities 0x2, but only have 0x5
ok 4 - create_symref() not allowed
expecting success of 1406.5 'delete_refs() not allowed':
test_must_fail $RUN delete-refs 0 nothing FOO refs/tags/new-tag
BUG: refs/files-backend.c:147: operation delete_refs requires abilities 0x2, but only have 0x5
ok 5 - delete_refs() not allowed
expecting success of 1406.6 'rename_refs() not allowed':
test_must_fail $RUN rename-ref refs/heads/master refs/heads/new-master
BUG: refs/files-backend.c:147: operation rename_ref requires abilities 0x2, but only have 0x5
ok 6 - rename_refs() not allowed
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
ok 7 - for_each_ref(refs/heads/)
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 - for_each_ref() is sorted
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 - resolve_ref(master)
expecting success of 1406.10 'verify_ref(new-master)':
$RUN verify-ref refs/heads/new-master
ok 10 - verify_ref(new-master)
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
EOF
test_cmp expected actual
ok 11 - for_each_reflog()
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
0000000000000000000000000000000000000000 50e526bb426771f6036ad3a8b0c81d511d91fc2a C O Mitter <committer@example.com> 1112911993 -700 commit (initial): first
50e526bb426771f6036ad3a8b0c81d511d91fc2a 50e526bb426771f6036ad3a8b0c81d511d91fc2a C O Mitter <committer@example.com> 1112911993 -700 checkout: moving from master to new-master
ok 12 - for_each_reflog_ent()
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
50e526bb426771f6036ad3a8b0c81d511d91fc2a 50e526bb426771f6036ad3a8b0c81d511d91fc2a C O Mitter <committer@example.com> 1112911993 -700 checkout: moving from master to new-master
0000000000000000000000000000000000000000 50e526bb426771f6036ad3a8b0c81d511d91fc2a C O Mitter <committer@example.com> 1112911993 -700 commit (initial): first
ok 13 - for_each_reflog_ent_reverse()
expecting success of 1406.14 'reflog_exists(HEAD)':
$RUN reflog-exists HEAD
ok 14 - reflog_exists(HEAD)
expecting success of 1406.15 'delete_reflog() not allowed':
test_must_fail $RUN delete-reflog HEAD
BUG: refs/files-backend.c:147: operation delete_reflog requires abilities 0x2, but only have 0x5
ok 15 - delete_reflog() not allowed
expecting success of 1406.16 'create-reflog() not allowed':
test_must_fail $RUN create-reflog HEAD 1
BUG: refs/files-backend.c:147: operation create_reflog requires abilities 0x2, but only have 0x5
ok 16 - create-reflog() not allowed
# passed all 16 test(s)
1..16
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t1407-worktree-ref-store.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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
)
[master (root-commit) 50e526b] first
Author: A U Thor <author@example.com>
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 <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 second.t
ok 1 - setup
expecting success of 1407.2 'resolve_ref(<shared-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(<shared-ref>)
expecting success of 1407.3 'resolve_ref(<per-worktree-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 &&
SHA1=`git rev-parse HEAD` &&
echo "$SHA1 refs/heads/master 0x1" >expected &&
$RMAIN resolve-ref HEAD 0 >actual &&
test_cmp expected actual
ok 3 - resolve_ref(<per-worktree-ref>)
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 &&
$RMAIN create-symref FOO refs/heads/wt-master nothing &&
echo refs/heads/wt-master >expected &&
git symbolic-ref FOO >actual &&
test_cmp expected actual
ok 4 - create_symref(FOO, refs/heads/master)
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 &&
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 &&
$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 &&
$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
ok 5 - for_each_reflog()
# passed all 5 test(s)
1..5
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t1408-packed-refs.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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 &&
git pack-refs --all &&
git for-each-ref >actual &&
echo "$one commit refs/heads/master" >expect &&
test_cmp expect 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 &&
git for-each-ref >actual &&
echo "$two commit refs/heads/master" >expect &&
test_cmp expect actual &&
git reflog expire --expire=now --all &&
git prune &&
git tag -m v1.0 v1.0 master
[master (root-commit) 76a57ce] one
Author: A U Thor <author@example.com>
Switched to a new branch 'another'
[another (root-commit) 169e1dc] two
Author: A U Thor <author@example.com>
Switched to and reset branch 'master'
Deleted branch another (was 169e1dc).
ok 1 - setup
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 2 - no error from stale entry in packed-refs
# passed all 2 test(s)
1..2
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t1409-avoid-packing-refs.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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) 288ebfc] Commit A
Author: A U Thor <author@example.com>
[master ed8425d] Commit B
Author: A U Thor <author@example.com>
[master f495d9f] Commit C
Author: A U Thor <author@example.com>
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
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 - leave packed-refs untouched on update of packed
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 - leave packed-refs untouched on checked update of packed
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
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 - touch packed-refs on delete of packed
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 - leave packed-refs untouched on update of loose
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
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 - leave packed-refs untouched on verify of loose
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 - leave packed-refs untouched on delete of loose
# passed all 11 test(s)
1..11
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t1411-reflog-show.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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) e46513e] one
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 file
ok 1 - setup
expecting success of 1411.2 'log -g shows reflog headers':
git log -g -1 >tmp &&
grep ^Reflog <tmp >actual &&
test_cmp expect actual
ok 2 - log -g shows reflog headers
expecting success of 1411.3 'oneline reflog format':
git log -g -1 --oneline >actual &&
test_cmp expect actual
ok 3 - oneline reflog format
expecting success of 1411.4 'reflog default format':
git reflog -1 >actual &&
test_cmp expect actual
ok 4 - reflog default format
expecting success of 1411.5 'override reflog default format':
git reflog --format=short -1 >actual &&
test_cmp expect actual
ok 5 - override reflog default format
expecting success of 1411.6 'using @{now} syntax shows reflog date (multiline)':
git log -g -1 HEAD@{now} >tmp &&
grep ^Reflog <tmp >actual &&
test_cmp expect actual
ok 6 - using @{now} syntax shows reflog date (multiline)
expecting success of 1411.7 'using @{now} syntax shows reflog date (oneline)':
git log -g -1 --oneline HEAD@{now} >actual &&
test_cmp expect actual
ok 7 - using @{now} syntax shows reflog date (oneline)
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
ok 8 - using @{now} syntax shows reflog date (format=%gd)
expecting success of 1411.9 'using --date= shows reflog date (multiline)':
git log -g -1 --date=default >tmp &&
grep ^Reflog <tmp >actual &&
test_cmp expect actual
ok 9 - using --date= shows reflog date (multiline)
expecting success of 1411.10 'using --date= shows reflog date (oneline)':
git log -g -1 --oneline --date=default >actual &&
test_cmp expect actual
ok 10 - using --date= shows reflog date (oneline)
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
ok 11 - using --date= shows reflog date (format=%gd)
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 <tmp >actual &&
test_cmp expect actual
ok 12 - log.date does not invoke "--date" magic (multiline)
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
ok 13 - log.date does not invoke "--date" magic (oneline)
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
ok 14 - log.date does not invoke "--date" magic (format=%gd)
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 15 - --date magic does not override explicit @{0} syntax
expecting success of 1411.16 'empty reflog file':
git branch empty &&
git reflog expire --expire=all refs/heads/empty &&
git log -g empty >actual &&
test_must_be_empty actual
ok 16 - empty reflog file
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 <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 two.t
ok 17 - git log -g -p shows diffs vs. parents
expecting success of 1411.18 'reflog exists works':
git reflog exists refs/heads/master &&
! git reflog exists refs/heads/nonexistent
ok 18 - reflog exists works
# passed all 18 test(s)
1..18
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t1412-reflog-loop.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 file
[master 441e5e0] two
Author: A U Thor <author@example.com>
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 '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t1413-reflog-detach.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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 <author@example.com>
[master 5ce2b00] second
Author: A U Thor <author@example.com>
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
Already on 'master'
Switched to branch 'side'
ok 3 - switch to branch
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
Switched to branch 'master'
Switched to branch 'side'
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 <new-branch-name>
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
ok 4 - detach to other
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
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 <new-branch-name>
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
ok 5 - detach to self
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 &&
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 <new-branch-name>
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
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
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
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 <new-branch-name>
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
Previous HEAD position was 5ce2b00 second
Switched to branch 'side'
ok 7 - attach to other
# passed all 7 test(s)
1..7
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t1410-reflog.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1410-reflog/.git/
expecting success of 1410.1 'setup':
test_oid_init &&
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 <author@example.com>
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 <author@example.com>
1 file changed, 0 insertions(+), 0 deletions(-)
mode change 100644 => 100755 C
[master 15ab5f0] sheep
Author: A U Thor <author@example.com>
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 <author@example.com>
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" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
! 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 <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
[master 9908ef9] ox
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
[master b93561f] tiger
Author: A U Thor <author@example.com>
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: 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 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: 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 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" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
test $(git hash-object /dev/null) = e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
)
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 <xyz> 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
)
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1410-reflog/orphanage/.git/
[master (root-commit) 2aabd22] initial
Author: A U Thor <author@example.com>
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 <author@example.com>
2 files changed, 2 insertions(+)
create mode 100644 initial.t
create mode 100644 orphan1-1.t
[orphan1 9bdda66] orphan1-2
Author: A U Thor <author@example.com>
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 <author@example.com>
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
)
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1410-reflog/main-wt/.git/
[master (root-commit) af4983b] foo
Author: A U Thor <author@example.com>
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 <author@example.com>
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 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 '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t1414-reflog-walk.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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 <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 one.t
[master 139b20d] two
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 two.t
Switched to a new branch 'side'
[side 897c206] three
Author: A U Thor <author@example.com>
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 <author@example.com>
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
ok 2 - set up expected reflog
expecting success of 1414.3 'reflog walk shows expected logs':
do_walk >actual &&
test_cmp expect.all actual
ok 3 - reflog walk shows expected logs
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 4 - reflog can limit with --no-merges
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 5 - reflog can limit with pathspecs
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 6 - pathspec limiting handles merges
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
ok 7 - --parents shows true parents
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.raw >expect &&
do_walk --date=unix HEAD master side >actual &&
test_cmp expect actual
ok 8 - walking multiple reflogs shows all
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
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 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".
git update-ref -m before refs/heads/minmax one &&
test_tick &&
min=$test_tick &&
git update-ref -m min refs/heads/minmax two &&
test_tick &&
max=$test_tick &&
git update-ref -m max refs/heads/minmax one &&
test_tick &&
git update-ref -m after refs/heads/minmax two &&
cat >expect <<-\EOF &&
max
min
EOF
git log -g --since=$min --until=$max --format=%gs minmax >actual &&
test_cmp expect actual
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] <commit-id>... [ -- paths... ]
limiting output:
--max-count=<n>
--max-age=<epoch>
--min-age=<epoch>
--sparse
--no-merges
--min-parents=<n>
--no-min-parents
--max-parents=<n>
--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=<n> | --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 '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t1420-lost-found.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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
[master (root-commit) 9bb1ae9] initial
Author: A U Thor <author@example.com>
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 file1
[master 8ad33be] second
Author: A U Thor <author@example.com>
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
# passed all 2 test(s)
1..2
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t1415-worktree-refs.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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
[master (root-commit) 24b24cf] initial
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 initial.t
[master 42fba42] wt1
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 wt1.t
[master 83df652] wt2
Author: A U Thor <author@example.com>
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 <new-branch-name>
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
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
ok 2 - refs/worktree must not be packed
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 )
ok 3 - refs/worktree are per-worktree
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 )
ok 4 - resolve main-worktree/HEAD
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
24b24cf8a829f5b8c30dfc018b0a459a2ccaf380
warning: refname 'main-worktree/HEAD' is ambiguous.
ok 5 - ambiguous main-worktree/HEAD
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 )
ok 6 - resolve worktrees/xx/HEAD
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
42fba42569eaa325aaade18832dfa5432d54ffd1
warning: refname 'worktrees/wt1/HEAD' is ambiguous.
ok 7 - ambiguous worktrees/xx/HEAD
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
ok 8 - reflog of main-worktree/HEAD
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
ok 9 - reflog of worktrees/xx/HEAD
expecting success of 1415.10 'for-each-ref from main repo':
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/main HEAD &&
git -C fer1/repo update-ref refs/rewritten/main HEAD &&
git -C fer1/repo update-ref refs/worktree/main HEAD &&
git -C fer1/repo for-each-ref --format="%(refname)" | grep main >actual &&
cat >expected <<-\EOF &&
refs/bisect/main
refs/rewritten/main
refs/worktree/main
EOF
test_cmp expected actual
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1415-worktree-refs/fer1/repo/.git/
[master (root-commit) 1935181] initial
Author: A U Thor <author@example.com>
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 repo
expecting success of 1415.11 'for-each-ref from linked repo':
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
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1415-worktree-refs/fer2/repo/.git/
[master (root-commit) 23fa7ba] initial
Author: A U Thor <author@example.com>
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 repo
# passed all 11 test(s)
1..11
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t1430-bad-ref-name.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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 <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 one.t
[master 139b20d] two
Author: A U Thor <author@example.com>
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 <<COMMIT
corrupt
COMMIT
from refs/heads/master
INPUT_END
test_must_fail git fast-import <input
fatal: Branch name doesn't conform to GIT standards: .badbranchname
fast-import: dumping crash report to .git/fast_import_crash_1676
ok 2 - fast-import: fail on invalid branch name ".badbranchname"
expecting success of 1430.3 'fast-import: fail on invalid branch name "bad[branch]name"':
test_when_finished "rm -f .git/objects/pack_* .git/objects/index_*" &&
cat >input <<-INPUT_END &&
commit bad[branch]name
committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE
data <<COMMIT
corrupt
COMMIT
from refs/heads/master
INPUT_END
test_must_fail git fast-import <input
fatal: Branch name doesn't conform to GIT standards: bad[branch]name
fast-import: dumping crash report to .git/fast_import_crash_1707
ok 3 - fast-import: fail on invalid branch name "bad[branch]name"
expecting success of 1430.4 'git branch shows badly named ref as warning':
cp .git/refs/heads/master .git/refs/heads/broken...ref &&
test_when_finished "rm -f .git/refs/heads/broken...ref" &&
git branch >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" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
! 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 '/<<PKGBUILDDIR>>/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
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1430-bad-ref-name/src/.git/
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1430-bad-ref-name/dest/.git/
[master (root-commit) 4331c28] one
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 one.t
[master (root-commit) 9db02ea] two
Author: A U Thor <author@example.com>
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:///<<PKGBUILDDIR>>/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 '/<<PKGBUILDDIR>>/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 <stdin 2>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 <stdin 2>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 <stdin 2>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 <stdin 2>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 <stdin 2>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 <stdin 2>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 '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t1500-rev-parse.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1500-rev-parse/.git/
expecting success of 1500.1 'setup':
test_oid_init &&
mkdir -p sub/dir work &&
cp -R .git repo.git
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 &&
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 2 - toplevel: --is-bare-repository
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 &&
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 3 - toplevel: --is-inside-git-dir
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 &&
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 4 - toplevel: --is-inside-work-tree
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 &&
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 5 - toplevel: --show-prefix
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 &&
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 6 - toplevel: --git-dir
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 &&
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 7 - toplevel: --absolute-git-dir
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 &&
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 8 - .git/: --is-bare-repository
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 &&
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 9 - .git/: --is-inside-git-dir
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 &&
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 10 - .git/: --is-inside-work-tree
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 &&
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 11 - .git/: --show-prefix
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 &&
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 12 - .git/: --git-dir
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 &&
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 13 - .git/: --absolute-git-dir
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 &&
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 14 - .git/objects/: --is-bare-repository
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 &&
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 15 - .git/objects/: --is-inside-git-dir
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 &&
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 16 - .git/objects/: --is-inside-work-tree
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 &&
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 17 - .git/objects/: --show-prefix
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 &&
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 18 - .git/objects/: --git-dir
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 &&
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 19 - .git/objects/: --absolute-git-dir
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 &&
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 20 - subdirectory: --is-bare-repository
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 &&
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 21 - subdirectory: --is-inside-git-dir
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 &&
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 22 - subdirectory: --is-inside-work-tree
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 &&
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 23 - subdirectory: --show-prefix
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 &&
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 24 - subdirectory: --git-dir
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 &&
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 25 - subdirectory: --absolute-git-dir
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 &&
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 26 - core.bare = true: --is-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 &&
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 27 - core.bare = true: --is-inside-git-dir
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 &&
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 28 - core.bare = true: --is-inside-work-tree
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 &&
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 29 - core.bare undefined: --is-bare-repository
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 &&
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 30 - core.bare undefined: --is-inside-git-dir
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 &&
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 31 - core.bare undefined: --is-inside-work-tree
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 &&
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 32 - GIT_DIR=../.git, core.bare = false: --is-bare-repository
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 &&
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 33 - GIT_DIR=../.git, core.bare = false: --is-inside-git-dir
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 &&
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 34 - GIT_DIR=../.git, core.bare = false: --is-inside-work-tree
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 &&
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 35 - GIT_DIR=../.git, core.bare = false: --show-prefix
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 &&
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 36 - GIT_DIR=../.git, core.bare = false: --git-dir
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 &&
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 37 - GIT_DIR=../.git, core.bare = false: --absolute-git-dir
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 &&
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 38 - GIT_DIR=../.git, core.bare = true: --is-bare-repository
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 &&
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 39 - GIT_DIR=../.git, core.bare = true: --is-inside-git-dir
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 &&
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 40 - GIT_DIR=../.git, core.bare = true: --is-inside-work-tree
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 &&
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 41 - GIT_DIR=../.git, core.bare = true: --show-prefix
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 &&
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 42 - GIT_DIR=../.git, core.bare undefined: --is-bare-repository
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 &&
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 43 - GIT_DIR=../.git, core.bare undefined: --is-inside-git-dir
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 &&
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 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 &&
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 45 - GIT_DIR=../.git, core.bare undefined: --show-prefix
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 &&
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 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 &&
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 47 - GIT_DIR=../repo.git, core.bare = false: --is-inside-git-dir
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 &&
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 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 &&
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
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 &&
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 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 &&
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 51 - GIT_DIR=../repo.git, core.bare = false: --absolute-git-dir
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 &&
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 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 &&
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
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 &&
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 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 &&
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 55 - GIT_DIR=../repo.git, core.bare = true: --show-prefix
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 &&
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 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 &&
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 57 - GIT_DIR=../repo.git, core.bare undefined: --is-inside-git-dir
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 &&
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 58 - GIT_DIR=../repo.git, core.bare undefined: --is-inside-work-tree
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 &&
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 59 - GIT_DIR=../repo.git, core.bare undefined: --show-prefix
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
ok 60 - git-common-dir from worktree root
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
ok 61 - git-common-dir inside sub-dir
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
ok 62 - git-path from worktree root
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 63 - git-path inside sub-dir
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
[master (root-commit) 389d16e] test_commit
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 test_commit.t
Cloning into 'shallow'...
ok 64 - rev-parse --is-shallow-repository in shallow repo
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
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 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 /<<PKGBUILDDIR>>/t/trash directory.t1500-rev-parse/super/.git/
[master (root-commit) cbdc642] test_commit
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 test_commit.t
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1500-rev-parse/sub/.git/
[master (root-commit) 2eb1b96] test_commit
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 test_commit.t
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t1500-rev-parse/super/dir/sub'...
done.
[master 7cabc11] submodule_add
Author: A U Thor <author@example.com>
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 <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 branch1_commit.t
[branch1 7e8b966] branch1_commit
Author: A U Thor <author@example.com>
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 <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 branch2_commit.t
[branch2 8d6224f] branch2_commit
Author: A U Thor <author@example.com>
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 '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t1501-work-tree.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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 </dev/null) &&
CHANGED_BLOB=$(echo changed | git hash-object -t blob --stdin) &&
EMPTY_BLOB7=$(echo $EMPTY_BLOB | sed "s/\(.......\).*/\1/") &&
CHANGED_BLOB7=$(echo $CHANGED_BLOB | sed "s/\(.......\).*/\1/") &&
mkdir -p work/sub/dir &&
mkdir -p work2 &&
mv .git repo.git
ok 1 - setup
expecting success of 1501.2 'setup: helper for testing rev-parse':
test_rev_parse() {
echo $1 >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) 3093b53] done
Author: A U Thor <author@example.com>
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 '/<<PKGBUILDDIR>>/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=/<<PKGBUILDDIR>>/t/trash directory.t1501-work-tree//repo.git --work-tree=/<<PKGBUILDDIR>>/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
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1501-work-tree/relative/.git/
[master (root-commit) 99f5c2b] one
Author: A U Thor <author@example.com>
[master d7e02e2] two
Author: A U Thor <author@example.com>
ok 39 - refs work with relative gitdir and work tree
# passed all 39 test(s)
1..39
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t1502-rev-parse-parseopt.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1502-rev-parse-parseopt/.git/
expecting success of 1502.1 'setup optionspec':
sed -e "s/^|//" >optionspec <<\EOF
|some-command [options] <args>...
|
|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
ok 1 - setup optionspec
expecting success of 1502.2 'setup optionspec-no-switches':
sed -e "s/^|//" >optionspec_no_switches <<\EOF
|some-command [options] <args>...
|
|some-command does foo and bar!
|--
EOF
ok 2 - setup optionspec-no-switches
expecting success of 1502.3 'setup optionspec-only-hidden-switches':
sed -e "s/^|//" >optionspec_only_hidden_switches <<\EOF
|some-command [options] <args>...
|
|some-command does foo and bar!
|--
|hidden1* A hidden switch
EOF
ok 3 - setup optionspec-only-hidden-switches
expecting success of 1502.4 'test --parseopt help output':
sed -e "s/^|//" >expect <<\END_EXPECT &&
|cat <<\EOF
|usage: some-command [options] <args>...
|
| 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
END_EXPECT
test_expect_code 129 git rev-parse --parseopt -- -h > output < optionspec &&
test_i18ncmp expect output
checking prerequisite: C_LOCALE_OUTPUT
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
! test_bool_env GIT_TEST_GETTEXT_POISON false
)
prerequisite C_LOCALE_OUTPUT ok
ok 4 - test --parseopt help output
expecting success of 1502.5 'test --parseopt help output no switches':
sed -e "s/^|//" >expect <<\END_EXPECT &&
|cat <<\EOF
|usage: some-command [options] <args>...
|
| 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
ok 5 - test --parseopt help output no switches
expecting success of 1502.6 'test --parseopt help output hidden switches':
sed -e "s/^|//" >expect <<\END_EXPECT &&
|cat <<\EOF
|usage: some-command [options] <args>...
|
| 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
ok 6 - test --parseopt help output hidden switches
expecting success of 1502.7 'test --parseopt help-all output hidden switches':
sed -e "s/^|//" >expect <<\END_EXPECT &&
|cat <<\EOF
|usage: some-command [options] <args>...
|
| 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
ok 7 - test --parseopt help-all output hidden switches
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] <args>...
|
| 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
|
END_EXPECT
test_expect_code 129 git rev-parse --parseopt -- --does-not-exist 1>/dev/null 2>output < optionspec &&
test_i18ncmp expect output
ok 8 - test --parseopt invalid switch help output
expecting success of 1502.9 'setup expect.1':
cat > expect <<EOF
set -- --foo --bar 'ham' -b --aswitch -- 'arg'
EOF
ok 9 - setup expect.1
expecting success of 1502.10 'test --parseopt':
git rev-parse --parseopt -- --foo --bar=ham --baz --aswitch arg < optionspec > output &&
test_cmp expect output
ok 10 - test --parseopt
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
ok 11 - test --parseopt with mixed options and arguments
expecting success of 1502.12 'setup expect.2':
cat > expect <<EOF
set -- --foo -- 'arg' '--bar=ham'
EOF
ok 12 - setup expect.2
expecting success of 1502.13 'test --parseopt with --':
git rev-parse --parseopt -- --foo -- arg --bar=ham < optionspec > output &&
test_cmp expect output
ok 13 - test --parseopt with --
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 14 - test --parseopt --stop-at-non-option
expecting success of 1502.15 'setup expect.3':
cat > expect <<EOF
set -- --foo -- '--' 'arg' '--bar=ham'
EOF
ok 15 - setup expect.3
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
ok 16 - test --parseopt --keep-dashdash
expecting success of 1502.17 'setup expect.4':
cat >expect <<EOF
set -- --foo -- '--' 'arg' '--spam=ham'
EOF
ok 17 - setup expect.4
expecting success of 1502.18 'test --parseopt --keep-dashdash --stop-at-non-option with --':
git rev-parse --parseopt --keep-dashdash --stop-at-non-option -- --foo -- arg --spam=ham <optionspec >output &&
test_cmp expect output
ok 18 - test --parseopt --keep-dashdash --stop-at-non-option with --
expecting success of 1502.19 'setup expect.5':
cat > expect <<EOF
set -- --foo -- 'arg' '--spam=ham'
EOF
ok 19 - setup expect.5
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 <optionspec >output &&
test_cmp expect output
ok 20 - test --parseopt --keep-dashdash --stop-at-non-option without --
expecting success of 1502.21 'setup expect.6':
cat > expect <<EOF
set -- --foo --bar='z' --baz -C'Z' --data='A' -- 'arg'
EOF
ok 21 - setup expect.6
expecting success of 1502.22 'test --parseopt --stuck-long':
git rev-parse --parseopt --stuck-long -- --foo --bar=z -b arg -CZ -dA <optionspec >output &&
test_cmp expect output
ok 22 - test --parseopt --stuck-long
expecting success of 1502.23 'setup expect.7':
cat > expect <<EOF
set -- --data='' -C --baz -- 'arg'
EOF
ok 23 - setup expect.7
expecting success of 1502.24 'test --parseopt --stuck-long and empty optional argument':
git rev-parse --parseopt --stuck-long -- --data= arg -C -b <optionspec >output &&
test_cmp expect output
ok 24 - test --parseopt --stuck-long and empty optional argument
expecting success of 1502.25 'setup expect.8':
cat > expect <<EOF
set -- --data --baz -- 'arg'
EOF
ok 25 - setup expect.8
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 <optionspec >output &&
test_cmp expect output
ok 26 - test --parseopt --stuck-long and long option with unset optional argument
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 <optionspec >output &&
test_cmp expect output
ok 27 - test --parseopt --stuck-long and short option with unset optional argument
# passed all 27 test(s)
1..27
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t1450-fsck.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1450-fsck/.git/
expecting success of 1450.1 'setup':
test_oid_init &&
git config gc.auto 0 &&
git config i18n.commitencoding ISO-8859-1 &&
test_commit A fileA one &&
git config --unset i18n.commitencoding &&
git checkout HEAD^0 &&
test_commit B fileB two &&
git tag -d A B &&
git reflog expire --expire=now --all
[master (root-commit) 1347563] A
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 fileA
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 <new-branch-name>
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
HEAD is now at 1347563 A
[detached HEAD c9145d6] B
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 fileB
Deleted tag 'A' (was 1347563)
Deleted tag 'B' (was c9145d6)
ok 1 - setup
expecting success of 1450.2 'loose objects borrowed from alternate are not missing':
mkdir another &&
(
cd another &&
git init &&
echo ../../../.git/objects >.git/objects/info/alternates &&
test_commit C fileC one &&
git fsck --no-dangling >../actual 2>&1
) &&
test_must_be_empty actual
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1450-fsck/another/.git/
[master (root-commit) 1aac250] C
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 fileC
ok 2 - loose objects borrowed from alternate are not missing
expecting success of 1450.3 'HEAD is part of refs, valid objects appear valid':
git fsck >actual 2>&1 &&
test_must_be_empty actual
ok 3 - HEAD is part of refs, valid objects appear valid
expecting success of 1450.4 'setup: helpers for corruption tests':
sha1_file() {
remainder=${1#??} &&
firsttwo=${1%$remainder} &&
echo ".git/objects/$firsttwo/$remainder"
} &&
remove_object() {
rm "$(sha1_file "$1")"
}
ok 4 - setup: helpers for corruption tests
expecting success of 1450.5 'object with bad sha1':
sha=$(echo blob | git hash-object -w --stdin) &&
old=$(test_oid_to_path "$sha") &&
new=$(dirname $old)/$(test_oid ff_2) &&
sha="$(dirname $new)$(basename $new)" &&
mv .git/objects/$old .git/objects/$new &&
test_when_finished "remove_object $sha" &&
git update-index --add --cacheinfo 100644 $sha foo &&
test_when_finished "git read-tree -u --reset HEAD" &&
tree=$(git write-tree) &&
test_when_finished "remove_object $tree" &&
cmt=$(echo bogus | git commit-tree $tree) &&
test_when_finished "remove_object $cmt" &&
git update-ref refs/heads/bogus $cmt &&
test_when_finished "git update-ref -d refs/heads/bogus" &&
test_must_fail git fsck 2>out &&
test_i18ngrep "$sha.*corrupt" out
missing blob 63ffffffffffffffffffffffffffffffffffffff
checking prerequisite: C_LOCALE_OUTPUT
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
! test_bool_env GIT_TEST_GETTEXT_POISON false
)
prerequisite C_LOCALE_OUTPUT ok
error: 63ffffffffffffffffffffffffffffffffffffff: object corrupt or missing: .git/objects/63/ffffffffffffffffffffffffffffffffffffff
ok 5 - object with bad sha1
expecting success of 1450.6 'branch pointing to non-commit':
git rev-parse HEAD^{tree} >.git/refs/heads/invalid &&
test_when_finished "git update-ref -d refs/heads/invalid" &&
test_must_fail git fsck 2>out &&
test_i18ngrep "not a commit" out
error: refs/heads/invalid: not a commit
ok 6 - branch pointing to non-commit
expecting success of 1450.7 'HEAD link pointing at a funny object':
test_when_finished "mv .git/SAVED_HEAD .git/HEAD" &&
mv .git/HEAD .git/SAVED_HEAD &&
echo $ZERO_OID >.git/HEAD &&
# avoid corrupt/broken HEAD from interfering with repo discovery
test_must_fail env GIT_DIR=.git git fsck 2>out &&
test_i18ngrep "detached HEAD points" out
dangling commit c9145d6720f85544cc4bb6009a2e541660aa156b
error: HEAD: detached HEAD points at nothing
ok 7 - HEAD link pointing at a funny object
expecting success of 1450.8 'HEAD link pointing at a funny place':
test_when_finished "mv .git/SAVED_HEAD .git/HEAD" &&
mv .git/HEAD .git/SAVED_HEAD &&
echo "ref: refs/funny/place" >.git/HEAD &&
# avoid corrupt/broken HEAD from interfering with repo discovery
test_must_fail env GIT_DIR=.git git fsck 2>out &&
test_i18ngrep "HEAD points to something strange" out
dangling commit c9145d6720f85544cc4bb6009a2e541660aa156b
error: HEAD points to something strange (refs/funny/place)
ok 8 - HEAD link pointing at a funny place
expecting success of 1450.9 'HEAD link pointing at a funny object (from different wt)':
test_when_finished "mv .git/SAVED_HEAD .git/HEAD" &&
test_when_finished "rm -rf .git/worktrees wt" &&
git worktree add wt &&
mv .git/HEAD .git/SAVED_HEAD &&
echo $ZERO_OID >.git/HEAD &&
# avoid corrupt/broken HEAD from interfering with repo discovery
test_must_fail git -C wt fsck 2>out &&
test_i18ngrep "main-worktree/HEAD: detached HEAD points" out
Preparing worktree (new branch 'wt')
HEAD is now at c9145d6 B
error: main-worktree/HEAD: detached HEAD points at nothing
ok 9 - HEAD link pointing at a funny object (from different wt)
expecting success of 1450.10 'other worktree HEAD link pointing at a funny object':
test_when_finished "rm -rf .git/worktrees other" &&
git worktree add other &&
echo $ZERO_OID >.git/worktrees/other/HEAD &&
test_must_fail git fsck 2>out &&
test_i18ngrep "worktrees/other/HEAD: detached HEAD points" out
Preparing worktree (new branch 'other')
HEAD is now at c9145d6 B
error: worktrees/other/HEAD: detached HEAD points at nothing
ok 10 - other worktree HEAD link pointing at a funny object
expecting success of 1450.11 'other worktree HEAD link pointing at missing object':
test_when_finished "rm -rf .git/worktrees other" &&
git worktree add other &&
echo "Contents missing from repo" | git hash-object --stdin >.git/worktrees/other/HEAD &&
test_must_fail git fsck 2>out &&
test_i18ngrep "worktrees/other/HEAD: invalid sha1 pointer" out
Preparing worktree (checking out 'other')
HEAD is now at c9145d6 B
error: worktrees/other/HEAD: invalid sha1 pointer 45ea5fdbd862b3f0e413a6c2c951347efa0bb114
ok 11 - other worktree HEAD link pointing at missing object
expecting success of 1450.12 'other worktree HEAD link pointing at a funny place':
test_when_finished "rm -rf .git/worktrees other" &&
git worktree add other &&
echo "ref: refs/funny/place" >.git/worktrees/other/HEAD &&
test_must_fail git fsck 2>out &&
test_i18ngrep "worktrees/other/HEAD points to something strange" out
Preparing worktree (checking out 'other')
HEAD is now at c9145d6 B
error: worktrees/other/HEAD points to something strange (refs/funny/place)
ok 12 - other worktree HEAD link pointing at a funny place
expecting success of 1450.13 'commit with multiple signatures is okay':
git cat-file commit HEAD >basis &&
cat >sigs <<-EOF &&
gpgsig -----BEGIN PGP SIGNATURE-----
VGhpcyBpcyBub3QgcmVhbGx5IGEgc2lnbmF0dXJlLg==
-----END PGP SIGNATURE-----
gpgsig-sha256 -----BEGIN PGP SIGNATURE-----
VGhpcyBpcyBub3QgcmVhbGx5IGEgc2lnbmF0dXJlLg==
-----END PGP SIGNATURE-----
EOF
sed -e "/^committer/q" basis >okay &&
cat sigs >>okay &&
echo >>okay &&
sed -e "1,/^$/d" basis >>okay &&
cat okay &&
new=$(git hash-object -t commit -w --stdin <okay) &&
test_when_finished "remove_object $new" &&
git update-ref refs/heads/bogus "$new" &&
test_when_finished "git update-ref -d refs/heads/bogus" &&
git fsck 2>out &&
cat out &&
! grep "commit $new" out
tree c9176b0dd1a95c80ad8de21784b1eeffd3681f49
parent 134756353796a5439d93586be27999eea3807a34
author A U Thor <author@example.com> 1112912053 -0700
committer C O Mitter <committer@example.com> 1112912053 -0700
gpgsig -----BEGIN PGP SIGNATURE-----
VGhpcyBpcyBub3QgcmVhbGx5IGEgc2lnbmF0dXJlLg==
-----END PGP SIGNATURE-----
gpgsig-sha256 -----BEGIN PGP SIGNATURE-----
VGhpcyBpcyBub3QgcmVhbGx5IGEgc2lnbmF0dXJlLg==
-----END PGP SIGNATURE-----
B
ok 13 - commit with multiple signatures is okay
expecting success of 1450.14 'email without @ is okay':
git cat-file commit HEAD >basis &&
sed "s/@/AT/" basis >okay &&
new=$(git hash-object -t commit -w --stdin <okay) &&
test_when_finished "remove_object $new" &&
git update-ref refs/heads/bogus "$new" &&
test_when_finished "git update-ref -d refs/heads/bogus" &&
git fsck 2>out &&
! grep "commit $new" out
ok 14 - email without @ is okay
expecting success of 1450.15 'email with embedded > is not okay':
git cat-file commit HEAD >basis &&
sed "s/@[a-z]/&>/" basis >bad-email &&
new=$(git hash-object -t commit -w --stdin <bad-email) &&
test_when_finished "remove_object $new" &&
git update-ref refs/heads/bogus "$new" &&
test_when_finished "git update-ref -d refs/heads/bogus" &&
test_must_fail git fsck 2>out &&
test_i18ngrep "error in commit $new" out
error in commit af421232fcba11d582d625f9041afbe3fccc01d9: missingSpaceBeforeDate: invalid author/committer line - missing space before date
ok 15 - email with embedded > is not okay
expecting success of 1450.16 'missing < email delimiter is reported nicely':
git cat-file commit HEAD >basis &&
sed "s/<//" basis >bad-email-2 &&
new=$(git hash-object -t commit -w --stdin <bad-email-2) &&
test_when_finished "remove_object $new" &&
git update-ref refs/heads/bogus "$new" &&
test_when_finished "git update-ref -d refs/heads/bogus" &&
test_must_fail git fsck 2>out &&
test_i18ngrep "error in commit $new.* - bad name" out
error in commit c4b6d356e934be1cc10cb58c734fbcc5fa3a5285: badName: invalid author/committer line - bad name
ok 16 - missing < email delimiter is reported nicely
expecting success of 1450.17 'missing email is reported nicely':
git cat-file commit HEAD >basis &&
sed "s/[a-z]* <[^>]*>//" basis >bad-email-3 &&
new=$(git hash-object -t commit -w --stdin <bad-email-3) &&
test_when_finished "remove_object $new" &&
git update-ref refs/heads/bogus "$new" &&
test_when_finished "git update-ref -d refs/heads/bogus" &&
test_must_fail git fsck 2>out &&
test_i18ngrep "error in commit $new.* - missing email" out
error in commit 35319efb0a67194811f8583362d460866d58b499: missingEmail: invalid author/committer line - missing email
ok 17 - missing email is reported nicely
expecting success of 1450.18 '> in name is reported':
git cat-file commit HEAD >basis &&
sed "s/ </> </" basis >bad-email-4 &&
new=$(git hash-object -t commit -w --stdin <bad-email-4) &&
test_when_finished "remove_object $new" &&
git update-ref refs/heads/bogus "$new" &&
test_when_finished "git update-ref -d refs/heads/bogus" &&
test_must_fail git fsck 2>out &&
test_i18ngrep "error in commit $new" out
error in commit 301380051321b3e224015eea93b0ebc550c88198: badName: invalid author/committer line - bad name
ok 18 - > in name is reported
expecting success of 1450.19 'integer overflow in timestamps is reported':
git cat-file commit HEAD >basis &&
sed "s/^\\(author .*>\\) [0-9]*/\\1 18446744073709551617/" \
<basis >bad-timestamp &&
new=$(git hash-object -t commit -w --stdin <bad-timestamp) &&
test_when_finished "remove_object $new" &&
git update-ref refs/heads/bogus "$new" &&
test_when_finished "git update-ref -d refs/heads/bogus" &&
test_must_fail git fsck 2>out &&
test_i18ngrep "error in commit $new.*integer overflow" out
error in commit c8453435c3587d0404f88f925c28a5944b73be1a: badDateOverflow: invalid author/committer line - date causes integer overflow
ok 19 - integer overflow in timestamps is reported
expecting success of 1450.20 'commit with NUL in header':
git cat-file commit HEAD >basis &&
sed "s/author ./author Q/" <basis | q_to_nul >commit-NUL-header &&
new=$(git hash-object -t commit -w --stdin <commit-NUL-header) &&
test_when_finished "remove_object $new" &&
git update-ref refs/heads/bogus "$new" &&
test_when_finished "git update-ref -d refs/heads/bogus" &&
test_must_fail git fsck 2>out &&
test_i18ngrep "error in commit $new.*unterminated header: NUL at offset" out
error in commit b70520fa0e6346c648b4013350096f65f49946eb: nulInHeader: unterminated header: NUL at offset 101
ok 20 - commit with NUL in header
expecting success of 1450.21 'tree object with duplicate entries':
test_when_finished "for i in \$T; do remove_object \$i; done" &&
T=$(
GIT_INDEX_FILE=test-index &&
export GIT_INDEX_FILE &&
rm -f test-index &&
>x &&
git add x &&
git rev-parse :x &&
T=$(git write-tree) &&
echo $T &&
(
git cat-file tree $T &&
git cat-file tree $T
) |
git hash-object -w -t tree --stdin
) &&
test_must_fail git fsck 2>out &&
test_i18ngrep "error in tree .*contains duplicate file entries" out
dangling tree 5805b676e247eb9a8046ad0c4d249cd2fb2513df
dangling tree 7997631de77b8a212b5c3e01eff5e9cf1d3c7580
error in tree 7997631de77b8a212b5c3e01eff5e9cf1d3c7580: duplicateEntries: contains duplicate file entries
ok 21 - tree object with duplicate entries
expecting success of 1450.22 'tree object with dublicate names':
test_when_finished "remove_object \$blob" &&
test_when_finished "remove_object \$tree" &&
test_when_finished "remove_object \$badtree" &&
blob=$(echo blob | git hash-object -w --stdin) &&
printf "100644 blob %s\t%s\n" $blob x.2 >tree &&
tree=$(git mktree <tree) &&
printf "100644 blob %s\t%s\n" $blob x.1 >badtree &&
printf "100644 blob %s\t%s\n" $blob x >>badtree &&
printf "040000 tree %s\t%s\n" $tree x >>badtree &&
badtree=$(git mktree <badtree) &&
test_must_fail git fsck 2>out &&
test_i18ngrep "$badtree" out &&
test_i18ngrep "error in tree .*contains duplicate file entries" out
dangling tree 26c966b0589aae52be2c311b1ffbdd28e9ba7d67
error in tree 26c966b0589aae52be2c311b1ffbdd28e9ba7d67: duplicateEntries: contains duplicate file entries
error in tree 26c966b0589aae52be2c311b1ffbdd28e9ba7d67: duplicateEntries: contains duplicate file entries
ok 22 - tree object with dublicate names
expecting success of 1450.23 'unparseable tree object':
test_oid_cache <<-\EOF &&
junk sha1:twenty-bytes-of-junk
junk sha256:twenty-bytes-of-junk-twelve-more
EOF
test_when_finished "git update-ref -d refs/heads/wrong" &&
test_when_finished "remove_object \$tree_sha1" &&
test_when_finished "remove_object \$commit_sha1" &&
junk=$(test_oid junk) &&
tree_sha1=$(printf "100644 \0$junk" | git hash-object -t tree --stdin -w --literally) &&
commit_sha1=$(git commit-tree $tree_sha1) &&
git update-ref refs/heads/wrong $commit_sha1 &&
test_must_fail git fsck 2>out &&
test_i18ngrep "error: empty filename in tree entry" out &&
test_i18ngrep "$tree_sha1" out &&
test_i18ngrep ! "fatal: empty filename in tree entry" out
error: empty filename in tree entry
error: empty filename in tree entry
error: empty filename in tree entry
error in tree b1b45dcb979335e5f09d3b756c4639cab166c243: broken links
error in tree b1b45dcb979335e5f09d3b756c4639cab166c243: badTree: cannot be parsed as a tree
ok 23 - unparseable tree object
expecting success of 1450.24 'tree entry with type mismatch':
test_when_finished "remove_object \$blob" &&
test_when_finished "remove_object \$tree" &&
test_when_finished "remove_object \$commit" &&
test_when_finished "git update-ref -d refs/heads/type_mismatch" &&
blob=$(echo blob | git hash-object -w --stdin) &&
blob_bin=$(echo $blob | hex2oct) &&
tree=$(
printf "40000 dir\0${blob_bin}100644 file\0${blob_bin}" |
git hash-object -t tree --stdin -w --literally
) &&
commit=$(git commit-tree $tree) &&
git update-ref refs/heads/type_mismatch $commit &&
test_must_fail git fsck >out 2>&1 &&
test_i18ngrep "is a blob, not a tree" out &&
test_i18ngrep ! "dangling blob" out
error: object 63499e4ea8e096b831515ceb1d5a7593e4d87ae5 is a blob, not a tree
error: object 63499e4ea8e096b831515ceb1d5a7593e4d87ae5 is a blob, not a tree
ok 24 - tree entry with type mismatch
expecting success of 1450.25 'tag pointing to nonexistent':
badoid=$(test_oid deadbeef) &&
cat >invalid-tag <<-EOF &&
object $badoid
type commit
tag invalid
tagger T A Gger <tagger@example.com> 1234567890 -0000
This is an invalid tag.
EOF
tag=$(git hash-object -t tag -w --stdin <invalid-tag) &&
test_when_finished "remove_object $tag" &&
echo $tag >.git/refs/tags/invalid &&
test_when_finished "git update-ref -d refs/tags/invalid" &&
test_must_fail git fsck --tags >out &&
test_i18ngrep "broken link" out
broken link from tag 5248b3501322f3dd3ac19713bbbe83f70183da53
ok 25 - tag pointing to nonexistent
expecting success of 1450.26 'tag pointing to something else than its type':
sha=$(echo blob | git hash-object -w --stdin) &&
test_when_finished "remove_object $sha" &&
cat >wrong-tag <<-EOF &&
object $sha
type commit
tag wrong
tagger T A Gger <tagger@example.com> 1234567890 -0000
This is an invalid tag.
EOF
tag=$(git hash-object -t tag -w --stdin <wrong-tag) &&
test_when_finished "remove_object $tag" &&
echo $tag >.git/refs/tags/wrong &&
test_when_finished "git update-ref -d refs/tags/wrong" &&
test_must_fail git fsck --tags
error: object 63499e4ea8e096b831515ceb1d5a7593e4d87ae5 is a blob, not a commit
error: bad tag pointer to 63499e4ea8e096b831515ceb1d5a7593e4d87ae5 in 66f6581d549f70e05ca586bc2df5c15a95662c36
error: 66f6581d549f70e05ca586bc2df5c15a95662c36: object could not be parsed: .git/objects/66/f6581d549f70e05ca586bc2df5c15a95662c36
error: object 63499e4ea8e096b831515ceb1d5a7593e4d87ae5 is a blob, not a commit
error: bad tag pointer to 63499e4ea8e096b831515ceb1d5a7593e4d87ae5 in 66f6581d549f70e05ca586bc2df5c15a95662c36
error: refs/tags/wrong: invalid sha1 pointer 66f6581d549f70e05ca586bc2df5c15a95662c36
dangling blob 63499e4ea8e096b831515ceb1d5a7593e4d87ae5
ok 26 - tag pointing to something else than its type
expecting success of 1450.27 'tag with incorrect tag name & missing tagger':
sha=$(git rev-parse HEAD) &&
cat >wrong-tag <<-EOF &&
object $sha
type commit
tag wrong name format
This is an invalid tag.
EOF
tag=$(git hash-object -t tag -w --stdin <wrong-tag) &&
test_when_finished "remove_object $tag" &&
echo $tag >.git/refs/tags/wrong &&
test_when_finished "git update-ref -d refs/tags/wrong" &&
git fsck --tags 2>out &&
cat >expect <<-EOF &&
warning in tag $tag: badTagName: invalid 'tag' name: wrong name format
warning in tag $tag: missingTaggerEntry: invalid format - expected 'tagger' line
EOF
test_i18ncmp expect out
tagged commit c9145d6720f85544cc4bb6009a2e541660aa156b (wrong name format) in 6d73f1b4d41e4fdac4ba717a11e7409876bb75c3
ok 27 - tag with incorrect tag name & missing tagger
expecting success of 1450.28 'tag with bad tagger':
sha=$(git rev-parse HEAD) &&
cat >wrong-tag <<-EOF &&
object $sha
type commit
tag not-quite-wrong
tagger Bad Tagger Name
This is an invalid tag.
EOF
tag=$(git hash-object --literally -t tag -w --stdin <wrong-tag) &&
test_when_finished "remove_object $tag" &&
echo $tag >.git/refs/tags/wrong &&
test_when_finished "git update-ref -d refs/tags/wrong" &&
test_must_fail git fsck --tags 2>out &&
test_i18ngrep "error in tag .*: invalid author/committer" out
error in tag d037dcc834669cc0c5d3416130c899572cb1aedd: missingEmail: invalid author/committer line - missing email
ok 28 - tag with bad tagger
expecting success of 1450.29 'tag with NUL in header':
sha=$(git rev-parse HEAD) &&
q_to_nul >tag-NUL-header <<-EOF &&
object $sha
type commit
tag contains-Q-in-header
tagger T A Gger <tagger@example.com> 1234567890 -0000
This is an invalid tag.
EOF
tag=$(git hash-object --literally -t tag -w --stdin <tag-NUL-header) &&
test_when_finished "remove_object $tag" &&
echo $tag >.git/refs/tags/wrong &&
test_when_finished "git update-ref -d refs/tags/wrong" &&
test_must_fail git fsck --tags 2>out &&
test_i18ngrep "error in tag $tag.*unterminated header: NUL at offset" out
error in tag 6251166df5b0f4b7f840db1a9af555089418c925: nulInHeader: unterminated header: NUL at offset 73
ok 29 - tag with NUL in header
expecting success of 1450.30 'cleaned up':
git fsck >actual 2>&1 &&
test_must_be_empty actual
ok 30 - cleaned up
expecting success of 1450.31 'rev-list --verify-objects':
git rev-list --verify-objects --all >/dev/null 2>out &&
test_must_be_empty out
ok 31 - rev-list --verify-objects
expecting success of 1450.32 'rev-list --verify-objects with bad sha1':
sha=$(echo blob | git hash-object -w --stdin) &&
old=$(test_oid_to_path $sha) &&
new=$(dirname $old)/$(test_oid ff_2) &&
sha="$(dirname $new)$(basename $new)" &&
mv .git/objects/$old .git/objects/$new &&
test_when_finished "remove_object $sha" &&
git update-index --add --cacheinfo 100644 $sha foo &&
test_when_finished "git read-tree -u --reset HEAD" &&
tree=$(git write-tree) &&
test_when_finished "remove_object $tree" &&
cmt=$(echo bogus | git commit-tree $tree) &&
test_when_finished "remove_object $cmt" &&
git update-ref refs/heads/bogus $cmt &&
test_when_finished "git update-ref -d refs/heads/bogus" &&
test_might_fail git rev-list --verify-objects refs/heads/bogus >/dev/null 2>out &&
test_i18ngrep -q "error: hash mismatch $(dirname $new)$(test_oid ff_2)" out
ok 32 - rev-list --verify-objects with bad sha1
expecting success of 1450.33 'force fsck to ignore double author':
git cat-file commit HEAD >basis &&
sed "s/^author .*/&,&/" <basis | tr , \\n >multiple-authors &&
new=$(git hash-object -t commit -w --stdin <multiple-authors) &&
test_when_finished "remove_object $new" &&
git update-ref refs/heads/bogus "$new" &&
test_when_finished "git update-ref -d refs/heads/bogus" &&
test_must_fail git fsck &&
git -c fsck.multipleAuthors=ignore fsck
error in commit 3d94ae45b63882b239b90285e1f253e2d4cd5e9f: multipleAuthors: invalid format - multiple 'author' lines
ok 33 - force fsck to ignore double author
expecting success of 1450.34 'fsck notices blob entry pointing to null sha1':
(git init null-blob &&
cd null-blob &&
sha=$(printf "100644 file$_bz$_bzoid" |
git hash-object -w --stdin -t tree) &&
git fsck 2>out &&
test_i18ngrep "warning.*null sha1" out
)
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1450-fsck/null-blob/.git/
dangling tree aaf928e9279b56c88bcc8d79f881e5c820ea23e8
warning in tree aaf928e9279b56c88bcc8d79f881e5c820ea23e8: nullSha1: contains entries pointing to null sha1
ok 34 - fsck notices blob entry pointing to null sha1
expecting success of 1450.35 'fsck notices submodule entry pointing to null sha1':
(git init null-commit &&
cd null-commit &&
sha=$(printf "160000 submodule$_bz$_bzoid" |
git hash-object -w --stdin -t tree) &&
git fsck 2>out &&
test_i18ngrep "warning.*null sha1" out
)
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1450-fsck/null-commit/.git/
dangling tree f87f3eabd15018382578c00e3a71a46c842e17e6
warning in tree f87f3eabd15018382578c00e3a71a46c842e17e6: nullSha1: contains entries pointing to null sha1
ok 35 - fsck notices submodule entry pointing to null sha1
expecting success of 1450.36 'fsck notices . as blob':
(
git init $name-$type &&
cd $name-$type &&
git config core.protectNTFS false &&
echo content >file &&
git add file &&
git commit -m base &&
blob=$(git rev-parse :file) &&
tree=$(git rev-parse HEAD^{tree}) &&
value=$(eval "echo \$$type") &&
printf "$mode $type %s\t%s" "$value" "$path" >bad &&
bad_tree=$(git mktree <bad) &&
git fsck 2>out &&
test_i18ngrep "warning.*tree $bad_tree" out
)
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1450-fsck/dot-blob/.git/
[master (root-commit) ebd6d19] base
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 file
dangling tree 4d6a3deda84474ed5f701962ea9bf83c5fe08185
warning in tree 4d6a3deda84474ed5f701962ea9bf83c5fe08185: hasDot: contains '.'
ok 36 - fsck notices . as blob
expecting success of 1450.37 'fsck notices . as tree':
(
git init $name-$type &&
cd $name-$type &&
git config core.protectNTFS false &&
echo content >file &&
git add file &&
git commit -m base &&
blob=$(git rev-parse :file) &&
tree=$(git rev-parse HEAD^{tree}) &&
value=$(eval "echo \$$type") &&
printf "$mode $type %s\t%s" "$value" "$path" >bad &&
bad_tree=$(git mktree <bad) &&
git fsck 2>out &&
test_i18ngrep "warning.*tree $bad_tree" out
)
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1450-fsck/dot-tree/.git/
[master (root-commit) ebd6d19] base
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 file
dangling tree 8984d55df404e56c99a9c5a2e5a168084a913e8f
warning in tree 8984d55df404e56c99a9c5a2e5a168084a913e8f: hasDot: contains '.'
ok 37 - fsck notices . as tree
expecting success of 1450.38 'fsck notices .. as blob':
(
git init $name-$type &&
cd $name-$type &&
git config core.protectNTFS false &&
echo content >file &&
git add file &&
git commit -m base &&
blob=$(git rev-parse :file) &&
tree=$(git rev-parse HEAD^{tree}) &&
value=$(eval "echo \$$type") &&
printf "$mode $type %s\t%s" "$value" "$path" >bad &&
bad_tree=$(git mktree <bad) &&
git fsck 2>out &&
test_i18ngrep "warning.*tree $bad_tree" out
)
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1450-fsck/dotdot-blob/.git/
[master (root-commit) ebd6d19] base
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 file
dangling tree 879560d9e3297f45ca9c25d4eea563f8dd179a32
warning in tree 879560d9e3297f45ca9c25d4eea563f8dd179a32: hasDotdot: contains '..'
ok 38 - fsck notices .. as blob
expecting success of 1450.39 'fsck notices .. as tree':
(
git init $name-$type &&
cd $name-$type &&
git config core.protectNTFS false &&
echo content >file &&
git add file &&
git commit -m base &&
blob=$(git rev-parse :file) &&
tree=$(git rev-parse HEAD^{tree}) &&
value=$(eval "echo \$$type") &&
printf "$mode $type %s\t%s" "$value" "$path" >bad &&
bad_tree=$(git mktree <bad) &&
git fsck 2>out &&
test_i18ngrep "warning.*tree $bad_tree" out
)
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1450-fsck/dotdot-tree/.git/
[master (root-commit) ebd6d19] base
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 file
dangling tree e704ff9811f799e752c8894dbc145bc74e4561fa
warning in tree e704ff9811f799e752c8894dbc145bc74e4561fa: hasDotdot: contains '..'
ok 39 - fsck notices .. as tree
expecting success of 1450.40 'fsck notices .git as blob':
(
git init $name-$type &&
cd $name-$type &&
git config core.protectNTFS false &&
echo content >file &&
git add file &&
git commit -m base &&
blob=$(git rev-parse :file) &&
tree=$(git rev-parse HEAD^{tree}) &&
value=$(eval "echo \$$type") &&
printf "$mode $type %s\t%s" "$value" "$path" >bad &&
bad_tree=$(git mktree <bad) &&
git fsck 2>out &&
test_i18ngrep "warning.*tree $bad_tree" out
)
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1450-fsck/dotgit-blob/.git/
[master (root-commit) ebd6d19] base
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 file
dangling tree 8ac5f64528d35de17a03755d2f3387af1de58b5a
warning in tree 8ac5f64528d35de17a03755d2f3387af1de58b5a: hasDotgit: contains '.git'
ok 40 - fsck notices .git as blob
expecting success of 1450.41 'fsck notices .git as tree':
(
git init $name-$type &&
cd $name-$type &&
git config core.protectNTFS false &&
echo content >file &&
git add file &&
git commit -m base &&
blob=$(git rev-parse :file) &&
tree=$(git rev-parse HEAD^{tree}) &&
value=$(eval "echo \$$type") &&
printf "$mode $type %s\t%s" "$value" "$path" >bad &&
bad_tree=$(git mktree <bad) &&
git fsck 2>out &&
test_i18ngrep "warning.*tree $bad_tree" out
)
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1450-fsck/dotgit-tree/.git/
[master (root-commit) ebd6d19] base
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 file
dangling tree 69237360529ca48e6b6c1af14e753faabe339fb7
warning in tree 69237360529ca48e6b6c1af14e753faabe339fb7: hasDotgit: contains '.git'
ok 41 - fsck notices .git as tree
expecting success of 1450.42 'fsck notices .GIT as blob':
(
git init $name-$type &&
cd $name-$type &&
git config core.protectNTFS false &&
echo content >file &&
git add file &&
git commit -m base &&
blob=$(git rev-parse :file) &&
tree=$(git rev-parse HEAD^{tree}) &&
value=$(eval "echo \$$type") &&
printf "$mode $type %s\t%s" "$value" "$path" >bad &&
bad_tree=$(git mktree <bad) &&
git fsck 2>out &&
test_i18ngrep "warning.*tree $bad_tree" out
)
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1450-fsck/dotgit-case-blob/.git/
[master (root-commit) ebd6d19] base
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 file
dangling tree 56bac0d7a0a3c1451521352e3d40117e5ffc602e
warning in tree 56bac0d7a0a3c1451521352e3d40117e5ffc602e: hasDotgit: contains '.git'
ok 42 - fsck notices .GIT as blob
expecting success of 1450.43 'fsck notices .GIT as tree':
(
git init $name-$type &&
cd $name-$type &&
git config core.protectNTFS false &&
echo content >file &&
git add file &&
git commit -m base &&
blob=$(git rev-parse :file) &&
tree=$(git rev-parse HEAD^{tree}) &&
value=$(eval "echo \$$type") &&
printf "$mode $type %s\t%s" "$value" "$path" >bad &&
bad_tree=$(git mktree <bad) &&
git fsck 2>out &&
test_i18ngrep "warning.*tree $bad_tree" out
)
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1450-fsck/dotgit-case-tree/.git/
[master (root-commit) ebd6d19] base
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 file
dangling tree 968a2dfde1e164e0513456c00ef656b2497434a3
warning in tree 968a2dfde1e164e0513456c00ef656b2497434a3: hasDotgit: contains '.git'
ok 43 - fsck notices .GIT as tree
expecting success of 1450.44 'fsck notices .gI{u200c}T as blob':
(
git init $name-$type &&
cd $name-$type &&
git config core.protectNTFS false &&
echo content >file &&
git add file &&
git commit -m base &&
blob=$(git rev-parse :file) &&
tree=$(git rev-parse HEAD^{tree}) &&
value=$(eval "echo \$$type") &&
printf "$mode $type %s\t%s" "$value" "$path" >bad &&
bad_tree=$(git mktree <bad) &&
git fsck 2>out &&
test_i18ngrep "warning.*tree $bad_tree" out
)
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1450-fsck/dotgit-unicode-blob/.git/
[master (root-commit) ebd6d19] base
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 file
dangling tree 2b65491a1b39699fb2bffda8e997c85fcb9c7beb
warning in tree 2b65491a1b39699fb2bffda8e997c85fcb9c7beb: hasDotgit: contains '.git'
ok 44 - fsck notices .gI{u200c}T as blob
expecting success of 1450.45 'fsck notices .gI{u200c}T as tree':
(
git init $name-$type &&
cd $name-$type &&
git config core.protectNTFS false &&
echo content >file &&
git add file &&
git commit -m base &&
blob=$(git rev-parse :file) &&
tree=$(git rev-parse HEAD^{tree}) &&
value=$(eval "echo \$$type") &&
printf "$mode $type %s\t%s" "$value" "$path" >bad &&
bad_tree=$(git mktree <bad) &&
git fsck 2>out &&
test_i18ngrep "warning.*tree $bad_tree" out
)
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1450-fsck/dotgit-unicode-tree/.git/
[master (root-commit) ebd6d19] base
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 file
dangling tree 6a547d921721f1cf91601a53fcc7aae232947d23
warning in tree 6a547d921721f1cf91601a53fcc7aae232947d23: hasDotgit: contains '.git'
ok 45 - fsck notices .gI{u200c}T as tree
expecting success of 1450.46 'fsck notices .Git as blob':
(
git init $name-$type &&
cd $name-$type &&
git config core.protectNTFS false &&
echo content >file &&
git add file &&
git commit -m base &&
blob=$(git rev-parse :file) &&
tree=$(git rev-parse HEAD^{tree}) &&
value=$(eval "echo \$$type") &&
printf "$mode $type %s\t%s" "$value" "$path" >bad &&
bad_tree=$(git mktree <bad) &&
git fsck 2>out &&
test_i18ngrep "warning.*tree $bad_tree" out
)
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1450-fsck/dotgit-case2-blob/.git/
[master (root-commit) ebd6d19] base
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 file
dangling tree 3e29dd65f814deffead951c60da749fdf8a668c8
warning in tree 3e29dd65f814deffead951c60da749fdf8a668c8: hasDotgit: contains '.git'
ok 46 - fsck notices .Git as blob
expecting success of 1450.47 'fsck notices .Git as tree':
(
git init $name-$type &&
cd $name-$type &&
git config core.protectNTFS false &&
echo content >file &&
git add file &&
git commit -m base &&
blob=$(git rev-parse :file) &&
tree=$(git rev-parse HEAD^{tree}) &&
value=$(eval "echo \$$type") &&
printf "$mode $type %s\t%s" "$value" "$path" >bad &&
bad_tree=$(git mktree <bad) &&
git fsck 2>out &&
test_i18ngrep "warning.*tree $bad_tree" out
)
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1450-fsck/dotgit-case2-tree/.git/
[master (root-commit) ebd6d19] base
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 file
dangling tree 50c7c9624762f2fe0d4efe5cba98835f58822ef4
warning in tree 50c7c9624762f2fe0d4efe5cba98835f58822ef4: hasDotgit: contains '.git'
ok 47 - fsck notices .Git as tree
expecting success of 1450.48 'fsck notices git~1 as blob':
(
git init $name-$type &&
cd $name-$type &&
git config core.protectNTFS false &&
echo content >file &&
git add file &&
git commit -m base &&
blob=$(git rev-parse :file) &&
tree=$(git rev-parse HEAD^{tree}) &&
value=$(eval "echo \$$type") &&
printf "$mode $type %s\t%s" "$value" "$path" >bad &&
bad_tree=$(git mktree <bad) &&
git fsck 2>out &&
test_i18ngrep "warning.*tree $bad_tree" out
)
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1450-fsck/git-tilde1-blob/.git/
[master (root-commit) ebd6d19] base
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 file
dangling tree 1206e1b64fcedc2a9e7b8195c1c4c1a278285b20
warning in tree 1206e1b64fcedc2a9e7b8195c1c4c1a278285b20: hasDotgit: contains '.git'
ok 48 - fsck notices git~1 as blob
expecting success of 1450.49 'fsck notices git~1 as tree':
(
git init $name-$type &&
cd $name-$type &&
git config core.protectNTFS false &&
echo content >file &&
git add file &&
git commit -m base &&
blob=$(git rev-parse :file) &&
tree=$(git rev-parse HEAD^{tree}) &&
value=$(eval "echo \$$type") &&
printf "$mode $type %s\t%s" "$value" "$path" >bad &&
bad_tree=$(git mktree <bad) &&
git fsck 2>out &&
test_i18ngrep "warning.*tree $bad_tree" out
)
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1450-fsck/git-tilde1-tree/.git/
[master (root-commit) ebd6d19] base
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 file
dangling tree 06f99accfb778f3318c72f3ae1c809cca146d27c
warning in tree 06f99accfb778f3318c72f3ae1c809cca146d27c: hasDotgit: contains '.git'
ok 49 - fsck notices git~1 as tree
expecting success of 1450.50 'fsck notices .git. as blob':
(
git init $name-$type &&
cd $name-$type &&
git config core.protectNTFS false &&
echo content >file &&
git add file &&
git commit -m base &&
blob=$(git rev-parse :file) &&
tree=$(git rev-parse HEAD^{tree}) &&
value=$(eval "echo \$$type") &&
printf "$mode $type %s\t%s" "$value" "$path" >bad &&
bad_tree=$(git mktree <bad) &&
git fsck 2>out &&
test_i18ngrep "warning.*tree $bad_tree" out
)
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1450-fsck/dotgitdot-blob/.git/
[master (root-commit) ebd6d19] base
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 file
dangling tree 08554698725ae2bc2c2ae0172779111c62bda7a2
warning in tree 08554698725ae2bc2c2ae0172779111c62bda7a2: hasDotgit: contains '.git'
ok 50 - fsck notices .git. as blob
expecting success of 1450.51 'fsck notices .git. as tree':
(
git init $name-$type &&
cd $name-$type &&
git config core.protectNTFS false &&
echo content >file &&
git add file &&
git commit -m base &&
blob=$(git rev-parse :file) &&
tree=$(git rev-parse HEAD^{tree}) &&
value=$(eval "echo \$$type") &&
printf "$mode $type %s\t%s" "$value" "$path" >bad &&
bad_tree=$(git mktree <bad) &&
git fsck 2>out &&
test_i18ngrep "warning.*tree $bad_tree" out
)
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1450-fsck/dotgitdot-tree/.git/
[master (root-commit) ebd6d19] base
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 file
dangling tree 4d7df7e65b79aeef4640dbfba95705b94a2bc266
warning in tree 4d7df7e65b79aeef4640dbfba95705b94a2bc266: hasDotgit: contains '.git'
ok 51 - fsck notices .git. as tree
expecting success of 1450.52 'fsck notices .\.GIT\foobar as blob':
(
git init $name-$type &&
cd $name-$type &&
git config core.protectNTFS false &&
echo content >file &&
git add file &&
git commit -m base &&
blob=$(git rev-parse :file) &&
tree=$(git rev-parse HEAD^{tree}) &&
value=$(eval "echo \$$type") &&
printf "$mode $type %s\t%s" "$value" "$path" >bad &&
bad_tree=$(git mktree <bad) &&
git fsck 2>out &&
test_i18ngrep "warning.*tree $bad_tree" out
)
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1450-fsck/dot-backslash-case-blob/.git/
[master (root-commit) ebd6d19] base
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 file
dangling tree 4447c608c557aa9e2d0d226c7af1f06937133ea1
warning in tree 4447c608c557aa9e2d0d226c7af1f06937133ea1: hasDotgit: contains '.git'
ok 52 - fsck notices .\.GIT\foobar as blob
expecting success of 1450.53 'fsck notices .\.GIT\foobar as tree':
(
git init $name-$type &&
cd $name-$type &&
git config core.protectNTFS false &&
echo content >file &&
git add file &&
git commit -m base &&
blob=$(git rev-parse :file) &&
tree=$(git rev-parse HEAD^{tree}) &&
value=$(eval "echo \$$type") &&
printf "$mode $type %s\t%s" "$value" "$path" >bad &&
bad_tree=$(git mktree <bad) &&
git fsck 2>out &&
test_i18ngrep "warning.*tree $bad_tree" out
)
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1450-fsck/dot-backslash-case-tree/.git/
[master (root-commit) ebd6d19] base
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 file
dangling tree a8562dc6d26106f039fc8af6b2aa6fed2b1e14d4
warning in tree a8562dc6d26106f039fc8af6b2aa6fed2b1e14d4: hasDotgit: contains '.git'
ok 53 - fsck notices .\.GIT\foobar as tree
expecting success of 1450.54 'fsck notices .git\foobar as blob':
(
git init $name-$type &&
cd $name-$type &&
git config core.protectNTFS false &&
echo content >file &&
git add file &&
git commit -m base &&
blob=$(git rev-parse :file) &&
tree=$(git rev-parse HEAD^{tree}) &&
value=$(eval "echo \$$type") &&
printf "$mode $type %s\t%s" "$value" "$path" >bad &&
bad_tree=$(git mktree <bad) &&
git fsck 2>out &&
test_i18ngrep "warning.*tree $bad_tree" out
)
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1450-fsck/dotgit-case-backslash-blob/.git/
[master (root-commit) ebd6d19] base
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 file
dangling tree 707c253cde8e3742e9f02a3cf02fdc4ca0f55652
warning in tree 707c253cde8e3742e9f02a3cf02fdc4ca0f55652: hasDotgit: contains '.git'
ok 54 - fsck notices .git\foobar as blob
expecting success of 1450.55 'fsck notices .git\foobar as tree':
(
git init $name-$type &&
cd $name-$type &&
git config core.protectNTFS false &&
echo content >file &&
git add file &&
git commit -m base &&
blob=$(git rev-parse :file) &&
tree=$(git rev-parse HEAD^{tree}) &&
value=$(eval "echo \$$type") &&
printf "$mode $type %s\t%s" "$value" "$path" >bad &&
bad_tree=$(git mktree <bad) &&
git fsck 2>out &&
test_i18ngrep "warning.*tree $bad_tree" out
)
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1450-fsck/dotgit-case-backslash-tree/.git/
[master (root-commit) ebd6d19] base
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 file
dangling tree caa586f8ddde64c3fc9157a3a262c9bd6a6a41ff
warning in tree caa586f8ddde64c3fc9157a3a262c9bd6a6a41ff: hasDotgit: contains '.git'
ok 55 - fsck notices .git\foobar as tree
expecting success of 1450.56 'fsck allows .Ňit':
(
git init not-dotgit &&
cd not-dotgit &&
echo content >file &&
git add file &&
git commit -m base &&
blob=$(git rev-parse :file) &&
printf "100644 blob $blob\t.\\305\\207it" >tree &&
tree=$(git mktree <tree) &&
git fsck 2>err &&
test_line_count = 0 err
)
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1450-fsck/not-dotgit/.git/
[master (root-commit) ebd6d19] base
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 file
dangling tree b6cf3d0dca284724c6c6a7005056d573f86157d7
ok 56 - fsck allows .Ňit
expecting success of 1450.57 'NUL in commit':
rm -fr nul-in-commit &&
git init nul-in-commit &&
(
cd nul-in-commit &&
git commit --allow-empty -m "initial commitQNUL after message" &&
git cat-file commit HEAD >original &&
q_to_nul <original >munged &&
git hash-object -w -t commit --stdin <munged >name &&
git branch bad $(cat name) &&
test_must_fail git -c fsck.nulInCommit=error fsck 2>warn.1 &&
test_i18ngrep nulInCommit warn.1 &&
git fsck 2>warn.2 &&
test_i18ngrep nulInCommit warn.2
)
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1450-fsck/nul-in-commit/.git/
[master (root-commit) c31a7f2] initial commitQNUL after message
Author: A U Thor <author@example.com>
error in commit f2f2305a657f7e4cfa7cd358e43c37ab0394720d: nulInCommit: NUL byte in the commit object body
warning in commit f2f2305a657f7e4cfa7cd358e43c37ab0394720d: nulInCommit: NUL byte in the commit object body
ok 57 - NUL in commit
expecting success of 1450.58 'fsck notices missing blob':
create_repo_missing HEAD:subdir/file &&
test_must_fail git -C missing fsck
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1450-fsck/missing/.git/
[master (root-commit) d38f542] one
Author: A U Thor <author@example.com>
[master ca32bda] two
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 subdir/file
missing blob d95f3ad14dee633a758d2e331151e950dd13e4ed
ok 58 - fsck notices missing blob
expecting success of 1450.59 'fsck notices missing subtree':
create_repo_missing HEAD:subdir &&
test_must_fail git -C missing fsck
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1450-fsck/missing/.git/
[master (root-commit) d38f542] one
Author: A U Thor <author@example.com>
[master ca32bda] two
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 subdir/file
error: 07753f428765ac1afe2020b24e40785869bd4a85: invalid sha1 pointer in cache-tree
broken link from tree 5f9d5fe4279246e5b2ddcd446efc2aed53a52304
to tree 07753f428765ac1afe2020b24e40785869bd4a85
missing tree 07753f428765ac1afe2020b24e40785869bd4a85
ok 59 - fsck notices missing subtree
expecting success of 1450.60 'fsck notices missing root tree':
create_repo_missing HEAD^{tree} &&
test_must_fail git -C missing fsck
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1450-fsck/missing/.git/
[master (root-commit) d38f542] one
Author: A U Thor <author@example.com>
[master ca32bda] two
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 subdir/file
error: 5f9d5fe4279246e5b2ddcd446efc2aed53a52304: invalid sha1 pointer in cache-tree
broken link from commit ca32bdaaf4ee9eab00bafa6471c9a2fa98fc42c3
to tree 5f9d5fe4279246e5b2ddcd446efc2aed53a52304
dangling tree 07753f428765ac1afe2020b24e40785869bd4a85
missing tree 5f9d5fe4279246e5b2ddcd446efc2aed53a52304
ok 60 - fsck notices missing root tree
expecting success of 1450.61 'fsck notices missing parent':
create_repo_missing HEAD^ &&
test_must_fail git -C missing fsck
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1450-fsck/missing/.git/
[master (root-commit) d38f542] one
Author: A U Thor <author@example.com>
[master ca32bda] two
Author: A U Thor <author@example.com>
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
broken link from commit ca32bdaaf4ee9eab00bafa6471c9a2fa98fc42c3
to commit d38f542f2d868bcbbb09173528a3bb403f53a0f0
dangling tree 4b825dc642cb6eb9a060e54bf8d69288fbee4904
missing commit d38f542f2d868bcbbb09173528a3bb403f53a0f0
ok 61 - fsck notices missing parent
expecting success of 1450.62 'fsck notices missing tagged object':
create_repo_missing tag^{blob} &&
test_must_fail git -C missing fsck
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1450-fsck/missing/.git/
[master (root-commit) d38f542] one
Author: A U Thor <author@example.com>
[master ca32bda] two
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 subdir/file
broken link from tag 7c115056e13b1f41142fe9e6f6cb98a1c077facd
to blob c21c9352f7526e9576892a6631e0e8cf1fccd34d
missing blob c21c9352f7526e9576892a6631e0e8cf1fccd34d
ok 62 - fsck notices missing tagged object
expecting success of 1450.63 'fsck notices ref pointing to missing commit':
create_repo_missing HEAD &&
test_must_fail git -C missing fsck
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1450-fsck/missing/.git/
[master (root-commit) d38f542] one
Author: A U Thor <author@example.com>
[master ca32bda] two
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
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
ok 63 - fsck notices ref pointing to missing commit
expecting success of 1450.64 'fsck notices ref pointing to missing tag':
create_repo_missing tag &&
test_must_fail git -C missing fsck
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1450-fsck/missing/.git/
[master (root-commit) d38f542] one
Author: A U Thor <author@example.com>
[master ca32bda] two
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 subdir/file
error: refs/tags/tag: invalid sha1 pointer 7c115056e13b1f41142fe9e6f6cb98a1c077facd
dangling blob c21c9352f7526e9576892a6631e0e8cf1fccd34d
ok 64 - fsck notices ref pointing to missing tag
expecting success of 1450.65 'fsck --connectivity-only':
rm -rf connectivity-only &&
git init connectivity-only &&
(
cd connectivity-only &&
touch empty &&
git add empty &&
test_commit empty &&
# Drop the index now; we want to be sure that we
# recursively notice the broken objects
# because they are reachable from refs, not because
# they are in the index.
rm -f .git/index &&
# corrupt the blob, but in a way that we can still identify
# its type. That lets us see that --connectivity-only is
# not actually looking at the contents, but leaves it
# free to examine the type if it chooses.
empty=.git/objects/$(test_oid_to_path $EMPTY_BLOB) &&
blob=$(echo unrelated | git hash-object -w --stdin) &&
mv -f $(sha1_file $blob) $empty &&
test_must_fail git fsck --strict &&
git fsck --strict --connectivity-only &&
tree=$(git rev-parse HEAD:) &&
suffix=${tree#??} &&
tree=.git/objects/${tree%$suffix}/$suffix &&
rm -f $tree &&
echo invalid >$tree &&
test_must_fail git fsck --strict --connectivity-only
)
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1450-fsck/connectivity-only/.git/
[master (root-commit) 86520b7] empty
Author: A U Thor <author@example.com>
2 files changed, 1 insertion(+)
create mode 100644 empty
create mode 100644 empty.t
error: hash mismatch for .git/objects/e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391 (expected e69de29bb2d1d6434b8b29ae775ad8c2e48c5391)
error: e69de29bb2d1d6434b8b29ae775ad8c2e48c5391: object corrupt or missing: .git/objects/e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391
missing blob e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
error: inflate: data stream error (incorrect header check)
error: unable to unpack 0d3d3508cb204b9201d016862e6025a49e8c01d6 header
fatal: loose object 0d3d3508cb204b9201d016862e6025a49e8c01d6 (stored in .git/objects/0d/3d3508cb204b9201d016862e6025a49e8c01d6) is corrupt
ok 65 - fsck --connectivity-only
expecting success of 1450.66 'fsck --connectivity-only with explicit head':
rm -rf connectivity-only &&
git init connectivity-only &&
(
cd connectivity-only &&
test_commit foo &&
rm -f .git/index &&
tree=$(git rev-parse HEAD^{tree}) &&
remove_object $(git rev-parse HEAD:foo.t) &&
test_must_fail git fsck --connectivity-only $tree
)
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1450-fsck/connectivity-only/.git/
[master (root-commit) 31f3b95] foo
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 foo.t
broken link from tree 64fd3796c57084e7b8cbae358ce37970b8e954f6
to blob 257cc5642cb1a054f08cc83f2d943e56fd3ebe99
missing blob 257cc5642cb1a054f08cc83f2d943e56fd3ebe99
dangling commit 31f3b953b325df75c7b6fbf854b59ac67382ac3b
ok 66 - fsck --connectivity-only with explicit head
expecting success of 1450.67 'fsck --name-objects':
rm -rf name-objects &&
git init name-objects &&
(
cd name-objects &&
test_commit julius caesar.t &&
test_commit augustus &&
test_commit caesar &&
remove_object $(git rev-parse julius:caesar.t) &&
test_must_fail git fsck --name-objects >out &&
tree=$(git rev-parse --verify julius:) &&
test_i18ngrep "$tree (refs/tags/julius:" out
)
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1450-fsck/name-objects/.git/
[master (root-commit) 6ab43a8] julius
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 caesar.t
[master 14a9c9c] augustus
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 augustus.t
[master 2d3dc47] caesar
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
broken link from tree c2fab98f409a47394d992eca10a20e0b22377c0c (refs/tags/julius:)
ok 67 - fsck --name-objects
expecting success of 1450.68 'alternate objects are correctly blamed':
test_when_finished "rm -rf alt.git .git/objects/info/alternates" &&
name=$(test_oid numeric) &&
path=$(test_oid_to_path "$name") &&
git init --bare alt.git &&
echo "../../alt.git/objects" >.git/objects/info/alternates &&
mkdir alt.git/objects/$(dirname $path) &&
>alt.git/objects/$(dirname $path)/$(basename $path) &&
test_must_fail git fsck >out 2>&1 &&
test_i18ngrep alt.git out
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1450-fsck/alt.git/
error: object file /<<PKGBUILDDIR>>/t/trash directory.t1450-fsck/alt.git/objects/01/23456789012345678901234567890123456789 is empty
error: unable to mmap /<<PKGBUILDDIR>>/t/trash directory.t1450-fsck/alt.git/objects/01/23456789012345678901234567890123456789: No such file or directory
error: 0123456789012345678901234567890123456789: object corrupt or missing: /<<PKGBUILDDIR>>/t/trash directory.t1450-fsck/alt.git/objects/01/23456789012345678901234567890123456789
ok 68 - alternate objects are correctly blamed
expecting success of 1450.69 'fsck errors in packed objects':
git cat-file commit HEAD >basis &&
sed "s/</one/" basis >one &&
sed "s/</foo/" basis >two &&
one=$(git hash-object -t commit -w one) &&
two=$(git hash-object -t commit -w two) &&
pack=$(
{
echo $one &&
echo $two
} | git pack-objects .git/objects/pack/pack
) &&
test_when_finished "rm -f .git/objects/pack/pack-$pack.*" &&
remove_object $one &&
remove_object $two &&
test_must_fail git fsck 2>out &&
test_i18ngrep "error in commit $one.* - bad name" out &&
test_i18ngrep "error in commit $two.* - bad name" out &&
! grep corrupt out
dangling commit a55646b2b4c741ed105e2e5c54365a5b4051c7e2
dangling commit e705fceb9d8aec1503002ea31f4f68ea707e88ef
error in commit e705fceb9d8aec1503002ea31f4f68ea707e88ef: badName: invalid author/committer line - bad name
error in commit a55646b2b4c741ed105e2e5c54365a5b4051c7e2: badName: invalid author/committer line - bad name
ok 69 - fsck errors in packed objects
expecting success of 1450.70 'fsck fails on corrupt packfile':
hsh=$(git commit-tree -m mycommit HEAD^{tree}) &&
pack=$(echo $hsh | git pack-objects .git/objects/pack/pack) &&
# Corrupt the first byte of the first object. (It contains 3 type bits,
# at least one of which is not zero, so setting the first byte to 0 is
# sufficient.)
chmod a+w .git/objects/pack/pack-$pack.pack &&
printf 0 | dd of=.git/objects/pack/pack-$pack.pack bs=1 conv=notrunc seek=12 &&
test_when_finished "rm -f .git/objects/pack/pack-$pack.*" &&
remove_object $hsh &&
test_must_fail git fsck 2>out &&
test_i18ngrep "checksum mismatch" out
1+0 records in
1+0 records out
1 byte copied, 0.000557357 s, 1.8 kB/s
error: .git/objects/pack/pack-8be9f6a4139bcddd74c3d2ed343bb71e87863c4b.pack pack checksum mismatch
ok 70 - fsck fails on corrupt packfile
expecting success of 1450.71 'fsck finds problems in duplicate loose objects':
rm -rf broken-duplicate &&
git init broken-duplicate &&
(
cd broken-duplicate &&
test_commit duplicate &&
# no "-d" here, so we end up with duplicates
git repack &&
# now corrupt the loose copy
file=$(sha1_file "$(git rev-parse HEAD)") &&
rm "$file" &&
echo broken >"$file" &&
test_must_fail git fsck
)
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1450-fsck/broken-duplicate/.git/
[master (root-commit) d19e0e2] duplicate
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 duplicate.t
error: inflate: data stream error (incorrect header check)
error: unable to unpack header of .git/objects/d1/9e0e27f1e3e1ac93ebc6183333db3c4d9b00bd
error: d19e0e27f1e3e1ac93ebc6183333db3c4d9b00bd: object corrupt or missing: .git/objects/d1/9e0e27f1e3e1ac93ebc6183333db3c4d9b00bd
ok 71 - fsck finds problems in duplicate loose objects
expecting success of 1450.72 'fsck detects trailing loose garbage (commit)':
git cat-file commit HEAD >basis &&
echo bump-commit-sha1 >>basis &&
commit=$(git hash-object -w -t commit basis) &&
file=$(sha1_file $commit) &&
test_when_finished "remove_object $commit" &&
chmod +w "$file" &&
echo garbage >>"$file" &&
test_must_fail git fsck 2>out &&
test_i18ngrep "garbage.*$commit" out
error: garbage at end of loose object '59ac8713639e31797addb7a886b8f5f6637bda3c'
ok 72 - fsck detects trailing loose garbage (commit)
expecting success of 1450.73 'fsck detects trailing loose garbage (large blob)':
blob=$(echo trailing | git hash-object -w --stdin) &&
file=$(sha1_file $blob) &&
test_when_finished "remove_object $blob" &&
chmod +w "$file" &&
echo garbage >>"$file" &&
test_must_fail git -c core.bigfilethreshold=5 fsck 2>out &&
test_i18ngrep "garbage.*$blob" out
error: garbage at end of loose object '1e285548b47be8577f0549b6ebcecb242e692df3'
ok 73 - fsck detects trailing loose garbage (large blob)
expecting success of 1450.74 'fsck detects truncated loose object':
# make it big enough that we know we will truncate in the data
# portion, not the header
test-tool genrandom truncate 4096 >file &&
blob=$(git hash-object -w file) &&
file=$(sha1_file $blob) &&
test_when_finished "remove_object $blob" &&
test_copy_bytes 1024 <"$file" >tmp &&
rm "$file" &&
mv -f tmp "$file" &&
# check both regular and streaming code paths
test_must_fail git fsck 2>out &&
test_i18ngrep corrupt.*$blob out &&
test_must_fail git -c core.bigfilethreshold=128 fsck 2>out &&
test_i18ngrep corrupt.*$blob out
error: corrupt loose object 'a56f9fb3e06dcfb3e5088f319ee1d4ccd1e05098'
error: corrupt loose object 'a56f9fb3e06dcfb3e5088f319ee1d4ccd1e05098'
ok 74 - fsck detects truncated loose object
expecting success of 1450.75 'create dangling-object repository':
git init dangling &&
(
cd dangling &&
blob=$(echo not-dangling | git hash-object -w --stdin) &&
dblob=$(echo dangling | git hash-object -w --stdin) &&
tree=$(printf "100644 blob %s\t%s\n" $blob one | git mktree) &&
dtree=$(printf "100644 blob %s\t%s\n" $blob two | git mktree) &&
commit=$(git commit-tree $tree) &&
dcommit=$(git commit-tree -p $commit $tree) &&
cat >expect <<-EOF
dangling blob $dblob
dangling commit $dcommit
dangling tree $dtree
EOF
)
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1450-fsck/dangling/.git/
ok 75 - create dangling-object repository
expecting success of 1450.76 'fsck notices dangling objects':
(
cd dangling &&
git fsck >actual &&
# the output order is non-deterministic, as it comes from a hash
sort <actual >actual.sorted &&
test_i18ncmp expect actual.sorted
)
notice: HEAD points to an unborn branch (master)
notice: No default references
ok 76 - fsck notices dangling objects
expecting success of 1450.77 'fsck --connectivity-only notices dangling objects':
(
cd dangling &&
git fsck --connectivity-only >actual &&
# the output order is non-deterministic, as it comes from a hash
sort <actual >actual.sorted &&
test_i18ncmp expect actual.sorted
)
notice: HEAD points to an unborn branch (master)
notice: No default references
ok 77 - fsck --connectivity-only notices dangling objects
expecting success of 1450.78 'fsck $name notices bogus $name':
test_must_fail git fsck bogus &&
test_must_fail git fsck $ZERO_OID
error: invalid parameter: expected sha1, got 'bogus'
dangling commit c9145d6720f85544cc4bb6009a2e541660aa156b
error: 0000000000000000000000000000000000000000: object missing
dangling commit c9145d6720f85544cc4bb6009a2e541660aa156b
ok 78 - fsck $name notices bogus $name
expecting success of 1450.79 'bogus head does not fallback to all heads':
# set up a case that will cause a reachability complaint
echo to-be-deleted >foo &&
git add foo &&
blob=$(git rev-parse :foo) &&
test_when_finished "git rm --cached foo" &&
remove_object $blob &&
test_must_fail git fsck $ZERO_OID >out 2>&1 &&
! grep $blob out
rm 'foo'
ok 79 - bogus head does not fallback to all heads
expecting success of 1450.80 'detect corrupt index file in fsck':
cp .git/index .git/index.backup &&
test_when_finished "mv .git/index.backup .git/index" &&
corrupt_index_checksum &&
test_must_fail git fsck --cache 2>errors &&
test_i18ngrep "bad index file" errors
error: bad index file sha1 signature
ok 80 - detect corrupt index file in fsck
# passed all 80 test(s)
1..80
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t1503-rev-parse-verify.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
# 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
# passed all 11 test(s)
1..11
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t1504-ceiling-dirs.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
# 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 '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t1505-rev-parse-last.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1505-rev-parse-last/.git/
expecting success of 1505.1 'setup':
make_commit 1 &&
git branch side &&
make_commit 2 &&
make_commit 3 &&
git checkout side &&
make_commit 4 &&
git merge master &&
git checkout master
[master (root-commit) cdcb3a4] 1
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 1
[master 61abcf5] 2
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 2
[master be810eb] 3
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 3
Switched to branch 'side'
[side dcb371b] 4
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 4
Merging:
dcb371b 4
virtual master
found 1 common ancestor:
cdcb3a4 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
expecting success of 1505.2 '@{-1} works':
test_cmp_rev side @{-1}
ok 2 - @{-1} works
expecting success of 1505.3 '@{-1}~2 works':
test_cmp_rev side~2 @{-1}~2
ok 3 - @{-1}~2 works
expecting success of 1505.4 '@{-1}^2 works':
test_cmp_rev side^2 @{-1}^2
ok 4 - @{-1}^2 works
expecting success of 1505.5 '@{-1}@{1} works':
test_cmp_rev side@{1} @{-1}@{1}
ok 5 - @{-1}@{1} works
expecting success of 1505.6 '@{-2} works':
test_cmp_rev master @{-2}
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 <command> [<revision>...] -- [<file>...]'
@{-3}
ok 7 - @{-3} fails
# passed all 7 test(s)
1..7
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t1506-rev-parse-diagnosis.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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) 7842717] init
Author: A U Thor <author@example.com>
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" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
! 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 '/<<PKGBUILDDIR>>/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 '<commit>: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 - <commit>: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 '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 19 - arg before dashdash must be a revision (missing)
expecting success of 1506.20 '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 20 - arg before dashdash must be a revision (file)
expecting success of 1506.21 '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
cat .git/refs/heads/foobar &&
printf "%s\n" --
} >expect &&
git rev-parse foobar -- >actual &&
test_cmp expect actual
ok 21 - arg before dashdash must be a revision (ambiguous)
expecting success of 1506.22 '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 <command> [<revision>...] -- [<file>...]'
HEAD^100000000000000000000000000000000
ok 22 - reject Nth parent if N is too high
expecting success of 1506.23 '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 <command> [<revision>...] -- [<file>...]'
HEAD~100000000000000000000000000000000
ok 23 - reject Nth ancestor if N is too high
expecting success of 1506.24 'pathspecs with wildcards are not ambiguous':
echo "*.c" >expect &&
git rev-parse "*.c" >actual &&
test_cmp expect actual
ok 24 - pathspecs with wildcards are not ambiguous
expecting success of 1506.25 '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 <command> [<revision>...] -- [<file>...]'
foo\bar
ok 25 - backslash does not trigger wildcard rule
expecting success of 1506.26 '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 <command> [<revision>...] -- [<file>...]'
foo\*bar
ok 26 - escaped char does not trigger wildcard rule
# passed all 26 test(s)
1..26
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t1507-rev-parse-upstream.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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
)
[master (root-commit) d0dcf97] 1
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 1.t
Switched to a new branch 'side'
[side 82335b2] 2
Author: A U Thor <author@example.com>
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 <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 3.t
[master 6efda21] 4
Author: A U Thor <author@example.com>
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 &&
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 <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 5.t
From /<<PKGBUILDDIR>>/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 '<branch>@{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 <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 6.t
From /<<PKGBUILDDIR>>/t/trash directory.t1507-rev-parse-upstream/.
e3f9627..8bf5882 side -> origin/side
* [new tag] 6 -> 6
ok 11 - <branch>@{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
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 <new-branch-name>
Or undo this operation with:
git switch -
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
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
)
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 &&
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
checking prerequisite: C_LOCALE_OUTPUT
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
! test_bool_env GIT_TEST_GETTEXT_POISON false
)
prerequisite C_LOCALE_OUTPUT ok
ok 18 - branch@{u} error message when no upstream
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
ok 19 - @{u} error message when no upstream
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
ok 20 - branch@{u} error message with misspelt branch
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
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 <new-branch-name>
Or undo this operation with:
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)
warning: Pulling without specifying how to reconcile divergent branches is
discouraged. You can squelch this message by running one of the following
commands sometime before your next pull:
git config pull.rebase false # merge (the default strategy)
git config pull.rebase true # rebase
git config pull.ff only # fast-forward only
You can replace "git config" with "git config --global" to set a default
preference for all repositories. You can also pass --rebase, --no-rebase,
or --ff-only on the command line to override the configured default per
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
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 <committer@example.com>)
Reflog message: branch: Created from HEAD
Author: A U Thor <author@example.com>
Date: Thu Apr 7 15:15:13 2005 -0700
3
EOF
git log -1 -g other@{u} >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 <committer@example.com>)
Reflog message: branch: Created from HEAD
Author: A U Thor <author@example.com>
Date: Thu Apr 7 15:15:13 2005 -0700
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 <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 @{yesterday}
ok 27 - @{reflog}-parsing does not look beyond colon
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
[detached HEAD c358789] funny upstream file
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 @{upstream}
ok 28 - @{upstream}-parsing does not look beyond colon
# passed all 28 test(s)
1..28
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t1509-root-work-tree.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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 '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t1508-at-combinations.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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
[master (root-commit) 8ff5a25] master-one
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 master-one.t
[master 8164ab4] master-two
Author: A U Thor <author@example.com>
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 <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 upstream-one.t
[upstream-branch 77f4b7f] upstream-two
Author: A U Thor <author@example.com>
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 <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 old-one.t
[old-branch 3273d4d] old-two
Author: A U Thor <author@example.com>
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 <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 new-one.t
[new-branch c493e4b] new-two
Author: A U Thor <author@example.com>
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
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 <author@example.com>
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 '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t0027-auto-crlf.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t0027-auto-crlf/.git/
expecting success of 0027.1 'ls-files --eol -o Text/Binary':
test_when_finished "rm expect actual TeBi_*" &&
STRT=AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA &&
STR=$STRT$STRT$STRT$STRT &&
printf "${STR}BBB\001" >TeBi_127_S &&
printf "${STR}BBBB\001">TeBi_128_S &&
printf "${STR}BBB\032" >TeBi_127_E &&
printf "\032${STR}BBB" >TeBi_E_127 &&
printf "${STR}BBBB\000">TeBi_128_N &&
printf "${STR}BBB\012">TeBi_128_L &&
printf "${STR}BBB\015">TeBi_127_C &&
printf "${STR}BB\015\012" >TeBi_126_CL &&
printf "${STR}BB\015\012\015" >TeBi_126_CLC &&
sort <<-\EOF >expect &&
i/ w/-text TeBi_127_S
i/ w/none TeBi_128_S
i/ w/none TeBi_127_E
i/ w/-text TeBi_E_127
i/ w/-text TeBi_128_N
i/ w/lf TeBi_128_L
i/ w/-text TeBi_127_C
i/ w/crlf TeBi_126_CL
i/ w/-text TeBi_126_CLC
EOF
git ls-files --eol -o |
sed -n -e "/TeBi_/{s!attr/[ ]*!!g
s! ! !g
s! *! !g
p
}" | sort >actual &&
test_cmp expect actual
ok 1 - ls-files --eol -o Text/Binary
expecting success of 0027.2 'setup master':
echo >.gitattributes &&
git checkout -b master &&
git add .gitattributes &&
git commit -m "add .gitattributes" . &&
printf "\$Id: 0000000000000000000000000000000000000000 \$\nLINEONE\nLINETWO\nLINETHREE" >LF &&
printf "\$Id: 0000000000000000000000000000000000000000 \$\r\nLINEONE\r\nLINETWO\r\nLINETHREE" >CRLF &&
printf "\$Id: 0000000000000000000000000000000000000000 \$\nLINEONE\r\nLINETWO\nLINETHREE" >CRLF_mix_LF &&
printf "\$Id: 0000000000000000000000000000000000000000 \$\nLINEONE\nLINETWO\rLINETHREE" >LF_mix_CR &&
printf "\$Id: 0000000000000000000000000000000000000000 \$\r\nLINEONE\r\nLINETWO\rLINETHREE" >CRLF_mix_CR &&
printf "\$Id: 0000000000000000000000000000000000000000 \$\r\nLINEONEQ\r\nLINETWO\r\nLINETHREE" | q_to_nul >CRLF_nul &&
printf "\$Id: 0000000000000000000000000000000000000000 \$\nLINEONEQ\nLINETWO\nLINETHREE" | q_to_nul >LF_nul &&
create_NNO_MIX_files &&
git -c core.autocrlf=false add NNO_*.txt MIX_*.txt &&
git commit -m "mixed line endings" &&
test_tick
Switched to a new branch 'master'
[master (root-commit) 25485ba] add .gitattributes
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 .gitattributes
[master 969b922] mixed line endings
Author: A U Thor <author@example.com>
360 files changed, 1260 insertions(+)
create mode 100644 MIX_attr_-text_aeol__false_CRLF.txt
create mode 100644 MIX_attr_-text_aeol__false_CRLF_mix_LF.txt
create mode 100644 MIX_attr_-text_aeol__false_CRLF_nul.txt
create mode 100644 MIX_attr_-text_aeol__false_LF.txt
create mode 100644 MIX_attr_-text_aeol__false_LF_mix_CR.txt
create mode 100644 MIX_attr_-text_aeol__input_CRLF.txt
create mode 100644 MIX_attr_-text_aeol__input_CRLF_mix_LF.txt
create mode 100644 MIX_attr_-text_aeol__input_CRLF_nul.txt
create mode 100644 MIX_attr_-text_aeol__input_LF.txt
create mode 100644 MIX_attr_-text_aeol__input_LF_mix_CR.txt
create mode 100644 MIX_attr_-text_aeol__true_CRLF.txt
create mode 100644 MIX_attr_-text_aeol__true_CRLF_mix_LF.txt
create mode 100644 MIX_attr_-text_aeol__true_CRLF_nul.txt
create mode 100644 MIX_attr_-text_aeol__true_LF.txt
create mode 100644 MIX_attr_-text_aeol__true_LF_mix_CR.txt
create mode 100644 MIX_attr_-text_aeol_crlf_false_CRLF.txt
create mode 100644 MIX_attr_-text_aeol_crlf_false_CRLF_mix_LF.txt
create mode 100644 MIX_attr_-text_aeol_crlf_false_CRLF_nul.txt
create mode 100644 MIX_attr_-text_aeol_crlf_false_LF.txt
create mode 100644 MIX_attr_-text_aeol_crlf_false_LF_mix_CR.txt
create mode 100644 MIX_attr_-text_aeol_crlf_input_CRLF.txt
create mode 100644 MIX_attr_-text_aeol_crlf_input_CRLF_mix_LF.txt
create mode 100644 MIX_attr_-text_aeol_crlf_input_CRLF_nul.txt
create mode 100644 MIX_attr_-text_aeol_crlf_input_LF.txt
create mode 100644 MIX_attr_-text_aeol_crlf_input_LF_mix_CR.txt
create mode 100644 MIX_attr_-text_aeol_crlf_true_CRLF.txt
create mode 100644 MIX_attr_-text_aeol_crlf_true_CRLF_mix_LF.txt
create mode 100644 MIX_attr_-text_aeol_crlf_true_CRLF_nul.txt
create mode 100644 MIX_attr_-text_aeol_crlf_true_LF.txt
create mode 100644 MIX_attr_-text_aeol_crlf_true_LF_mix_CR.txt
create mode 100644 MIX_attr_-text_aeol_lf_false_CRLF.txt
create mode 100644 MIX_attr_-text_aeol_lf_false_CRLF_mix_LF.txt
create mode 100644 MIX_attr_-text_aeol_lf_false_CRLF_nul.txt
create mode 100644 MIX_attr_-text_aeol_lf_false_LF.txt
create mode 100644 MIX_attr_-text_aeol_lf_false_LF_mix_CR.txt
create mode 100644 MIX_attr_-text_aeol_lf_input_CRLF.txt
create mode 100644 MIX_attr_-text_aeol_lf_input_CRLF_mix_LF.txt
create mode 100644 MIX_attr_-text_aeol_lf_input_CRLF_nul.txt
create mode 100644 MIX_attr_-text_aeol_lf_input_LF.txt
create mode 100644 MIX_attr_-text_aeol_lf_input_LF_mix_CR.txt
create mode 100644 MIX_attr_-text_aeol_lf_true_CRLF.txt
create mode 100644 MIX_attr_-text_aeol_lf_true_CRLF_mix_LF.txt
create mode 100644 MIX_attr_-text_aeol_lf_true_CRLF_nul.txt
create mode 100644 MIX_attr_-text_aeol_lf_true_LF.txt
create mode 100644 MIX_attr_-text_aeol_lf_true_LF_mix_CR.txt
create mode 100644 MIX_attr__aeol__false_CRLF.txt
create mode 100644 MIX_attr__aeol__false_CRLF_mix_LF.txt
create mode 100644 MIX_attr__aeol__false_CRLF_nul.txt
create mode 100644 MIX_attr__aeol__false_LF.txt
create mode 100644 MIX_attr__aeol__false_LF_mix_CR.txt
create mode 100644 MIX_attr__aeol__input_CRLF.txt
create mode 100644 MIX_attr__aeol__input_CRLF_mix_LF.txt
create mode 100644 MIX_attr__aeol__input_CRLF_nul.txt
create mode 100644 MIX_attr__aeol__input_LF.txt
create mode 100644 MIX_attr__aeol__input_LF_mix_CR.txt
create mode 100644 MIX_attr__aeol__true_CRLF.txt
create mode 100644 MIX_attr__aeol__true_CRLF_mix_LF.txt
create mode 100644 MIX_attr__aeol__true_CRLF_nul.txt
create mode 100644 MIX_attr__aeol__true_LF.txt
create mode 100644 MIX_attr__aeol__true_LF_mix_CR.txt
create mode 100644 MIX_attr__aeol_crlf_false_CRLF.txt
create mode 100644 MIX_attr__aeol_crlf_false_CRLF_mix_LF.txt
create mode 100644 MIX_attr__aeol_crlf_false_CRLF_nul.txt
create mode 100644 MIX_attr__aeol_crlf_false_LF.txt
create mode 100644 MIX_attr__aeol_crlf_false_LF_mix_CR.txt
create mode 100644 MIX_attr__aeol_crlf_input_CRLF.txt
create mode 100644 MIX_attr__aeol_crlf_input_CRLF_mix_LF.txt
create mode 100644 MIX_attr__aeol_crlf_input_CRLF_nul.txt
create mode 100644 MIX_attr__aeol_crlf_input_LF.txt
create mode 100644 MIX_attr__aeol_crlf_input_LF_mix_CR.txt
create mode 100644 MIX_attr__aeol_crlf_true_CRLF.txt
create mode 100644 MIX_attr__aeol_crlf_true_CRLF_mix_LF.txt
create mode 100644 MIX_attr__aeol_crlf_true_CRLF_nul.txt
create mode 100644 MIX_attr__aeol_crlf_true_LF.txt
create mode 100644 MIX_attr__aeol_crlf_true_LF_mix_CR.txt
create mode 100644 MIX_attr__aeol_lf_false_CRLF.txt
create mode 100644 MIX_attr__aeol_lf_false_CRLF_mix_LF.txt
create mode 100644 MIX_attr__aeol_lf_false_CRLF_nul.txt
create mode 100644 MIX_attr__aeol_lf_false_LF.txt
create mode 100644 MIX_attr__aeol_lf_false_LF_mix_CR.txt
create mode 100644 MIX_attr__aeol_lf_input_CRLF.txt
create mode 100644 MIX_attr__aeol_lf_input_CRLF_mix_LF.txt
create mode 100644 MIX_attr__aeol_lf_input_CRLF_nul.txt
create mode 100644 MIX_attr__aeol_lf_input_LF.txt
create mode 100644 MIX_attr__aeol_lf_input_LF_mix_CR.txt
create mode 100644 MIX_attr__aeol_lf_true_CRLF.txt
create mode 100644 MIX_attr__aeol_lf_true_CRLF_mix_LF.txt
create mode 100644 MIX_attr__aeol_lf_true_CRLF_nul.txt
create mode 100644 MIX_attr__aeol_lf_true_LF.txt
create mode 100644 MIX_attr__aeol_lf_true_LF_mix_CR.txt
create mode 100644 MIX_attr_auto_aeol__false_CRLF.txt
create mode 100644 MIX_attr_auto_aeol__false_CRLF_mix_LF.txt
create mode 100644 MIX_attr_auto_aeol__false_CRLF_nul.txt
create mode 100644 MIX_attr_auto_aeol__false_LF.txt
create mode 100644 MIX_attr_auto_aeol__false_LF_mix_CR.txt
create mode 100644 MIX_attr_auto_aeol__input_CRLF.txt
create mode 100644 MIX_attr_auto_aeol__input_CRLF_mix_LF.txt
create mode 100644 MIX_attr_auto_aeol__input_CRLF_nul.txt
create mode 100644 MIX_attr_auto_aeol__input_LF.txt
create mode 100644 MIX_attr_auto_aeol__input_LF_mix_CR.txt
create mode 100644 MIX_attr_auto_aeol__true_CRLF.txt
create mode 100644 MIX_attr_auto_aeol__true_CRLF_mix_LF.txt
create mode 100644 MIX_attr_auto_aeol__true_CRLF_nul.txt
create mode 100644 MIX_attr_auto_aeol__true_LF.txt
create mode 100644 MIX_attr_auto_aeol__true_LF_mix_CR.txt
create mode 100644 MIX_attr_auto_aeol_crlf_false_CRLF.txt
create mode 100644 MIX_attr_auto_aeol_crlf_false_CRLF_mix_LF.txt
create mode 100644 MIX_attr_auto_aeol_crlf_false_CRLF_nul.txt
create mode 100644 MIX_attr_auto_aeol_crlf_false_LF.txt
create mode 100644 MIX_attr_auto_aeol_crlf_false_LF_mix_CR.txt
create mode 100644 MIX_attr_auto_aeol_crlf_input_CRLF.txt
create mode 100644 MIX_attr_auto_aeol_crlf_input_CRLF_mix_LF.txt
create mode 100644 MIX_attr_auto_aeol_crlf_input_CRLF_nul.txt
create mode 100644 MIX_attr_auto_aeol_crlf_input_LF.txt
create mode 100644 MIX_attr_auto_aeol_crlf_input_LF_mix_CR.txt
create mode 100644 MIX_attr_auto_aeol_crlf_true_CRLF.txt
create mode 100644 MIX_attr_auto_aeol_crlf_true_CRLF_mix_LF.txt
create mode 100644 MIX_attr_auto_aeol_crlf_true_CRLF_nul.txt
create mode 100644 MIX_attr_auto_aeol_crlf_true_LF.txt
create mode 100644 MIX_attr_auto_aeol_crlf_true_LF_mix_CR.txt
create mode 100644 MIX_attr_auto_aeol_lf_false_CRLF.txt
create mode 100644 MIX_attr_auto_aeol_lf_false_CRLF_mix_LF.txt
create mode 100644 MIX_attr_auto_aeol_lf_false_CRLF_nul.txt
create mode 100644 MIX_attr_auto_aeol_lf_false_LF.txt
create mode 100644 MIX_attr_auto_aeol_lf_false_LF_mix_CR.txt
create mode 100644 MIX_attr_auto_aeol_lf_input_CRLF.txt
create mode 100644 MIX_attr_auto_aeol_lf_input_CRLF_mix_LF.txt
create mode 100644 MIX_attr_auto_aeol_lf_input_CRLF_nul.txt
create mode 100644 MIX_attr_auto_aeol_lf_input_LF.txt
create mode 100644 MIX_attr_auto_aeol_lf_input_LF_mix_CR.txt
create mode 100644 MIX_attr_auto_aeol_lf_true_CRLF.txt
create mode 100644 MIX_attr_auto_aeol_lf_true_CRLF_mix_LF.txt
create mode 100644 MIX_attr_auto_aeol_lf_true_CRLF_nul.txt
create mode 100644 MIX_attr_auto_aeol_lf_true_LF.txt
create mode 100644 MIX_attr_auto_aeol_lf_true_LF_mix_CR.txt
create mode 100644 MIX_attr_text_aeol__false_CRLF.txt
create mode 100644 MIX_attr_text_aeol__false_CRLF_mix_LF.txt
create mode 100644 MIX_attr_text_aeol__false_CRLF_nul.txt
create mode 100644 MIX_attr_text_aeol__false_LF.txt
create mode 100644 MIX_attr_text_aeol__false_LF_mix_CR.txt
create mode 100644 MIX_attr_text_aeol__input_CRLF.txt
create mode 100644 MIX_attr_text_aeol__input_CRLF_mix_LF.txt
create mode 100644 MIX_attr_text_aeol__input_CRLF_nul.txt
create mode 100644 MIX_attr_text_aeol__input_LF.txt
create mode 100644 MIX_attr_text_aeol__input_LF_mix_CR.txt
create mode 100644 MIX_attr_text_aeol__true_CRLF.txt
create mode 100644 MIX_attr_text_aeol__true_CRLF_mix_LF.txt
create mode 100644 MIX_attr_text_aeol__true_CRLF_nul.txt
create mode 100644 MIX_attr_text_aeol__true_LF.txt
create mode 100644 MIX_attr_text_aeol__true_LF_mix_CR.txt
create mode 100644 MIX_attr_text_aeol_crlf_false_CRLF.txt
create mode 100644 MIX_attr_text_aeol_crlf_false_CRLF_mix_LF.txt
create mode 100644 MIX_attr_text_aeol_crlf_false_CRLF_nul.txt
create mode 100644 MIX_attr_text_aeol_crlf_false_LF.txt
create mode 100644 MIX_attr_text_aeol_crlf_false_LF_mix_CR.txt
create mode 100644 MIX_attr_text_aeol_crlf_input_CRLF.txt
create mode 100644 MIX_attr_text_aeol_crlf_input_CRLF_mix_LF.txt
create mode 100644 MIX_attr_text_aeol_crlf_input_CRLF_nul.txt
create mode 100644 MIX_attr_text_aeol_crlf_input_LF.txt
create mode 100644 MIX_attr_text_aeol_crlf_input_LF_mix_CR.txt
create mode 100644 MIX_attr_text_aeol_crlf_true_CRLF.txt
create mode 100644 MIX_attr_text_aeol_crlf_true_CRLF_mix_LF.txt
create mode 100644 MIX_attr_text_aeol_crlf_true_CRLF_nul.txt
create mode 100644 MIX_attr_text_aeol_crlf_true_LF.txt
create mode 100644 MIX_attr_text_aeol_crlf_true_LF_mix_CR.txt
create mode 100644 MIX_attr_text_aeol_lf_false_CRLF.txt
create mode 100644 MIX_attr_text_aeol_lf_false_CRLF_mix_LF.txt
create mode 100644 MIX_attr_text_aeol_lf_false_CRLF_nul.txt
create mode 100644 MIX_attr_text_aeol_lf_false_LF.txt
create mode 100644 MIX_attr_text_aeol_lf_false_LF_mix_CR.txt
create mode 100644 MIX_attr_text_aeol_lf_input_CRLF.txt
create mode 100644 MIX_attr_text_aeol_lf_input_CRLF_mix_LF.txt
create mode 100644 MIX_attr_text_aeol_lf_input_CRLF_nul.txt
create mode 100644 MIX_attr_text_aeol_lf_input_LF.txt
create mode 100644 MIX_attr_text_aeol_lf_input_LF_mix_CR.txt
create mode 100644 MIX_attr_text_aeol_lf_true_CRLF.txt
create mode 100644 MIX_attr_text_aeol_lf_true_CRLF_mix_LF.txt
create mode 100644 MIX_attr_text_aeol_lf_true_CRLF_nul.txt
create mode 100644 MIX_attr_text_aeol_lf_true_LF.txt
create mode 100644 MIX_attr_text_aeol_lf_true_LF_mix_CR.txt
create mode 100644 NNO_attr_-text_aeol__false_CRLF.txt
create mode 100644 NNO_attr_-text_aeol__false_CRLF_mix_LF.txt
create mode 100644 NNO_attr_-text_aeol__false_CRLF_nul.txt
create mode 100644 NNO_attr_-text_aeol__false_LF.txt
create mode 100644 NNO_attr_-text_aeol__false_LF_mix_CR.txt
create mode 100644 NNO_attr_-text_aeol__input_CRLF.txt
create mode 100644 NNO_attr_-text_aeol__input_CRLF_mix_LF.txt
create mode 100644 NNO_attr_-text_aeol__input_CRLF_nul.txt
create mode 100644 NNO_attr_-text_aeol__input_LF.txt
create mode 100644 NNO_attr_-text_aeol__input_LF_mix_CR.txt
create mode 100644 NNO_attr_-text_aeol__true_CRLF.txt
create mode 100644 NNO_attr_-text_aeol__true_CRLF_mix_LF.txt
create mode 100644 NNO_attr_-text_aeol__true_CRLF_nul.txt
create mode 100644 NNO_attr_-text_aeol__true_LF.txt
create mode 100644 NNO_attr_-text_aeol__true_LF_mix_CR.txt
create mode 100644 NNO_attr_-text_aeol_crlf_false_CRLF.txt
create mode 100644 NNO_attr_-text_aeol_crlf_false_CRLF_mix_LF.txt
create mode 100644 NNO_attr_-text_aeol_crlf_false_CRLF_nul.txt
create mode 100644 NNO_attr_-text_aeol_crlf_false_LF.txt
create mode 100644 NNO_attr_-text_aeol_crlf_false_LF_mix_CR.txt
create mode 100644 NNO_attr_-text_aeol_crlf_input_CRLF.txt
create mode 100644 NNO_attr_-text_aeol_crlf_input_CRLF_mix_LF.txt
create mode 100644 NNO_attr_-text_aeol_crlf_input_CRLF_nul.txt
create mode 100644 NNO_attr_-text_aeol_crlf_input_LF.txt
create mode 100644 NNO_attr_-text_aeol_crlf_input_LF_mix_CR.txt
create mode 100644 NNO_attr_-text_aeol_crlf_true_CRLF.txt
create mode 100644 NNO_attr_-text_aeol_crlf_true_CRLF_mix_LF.txt
create mode 100644 NNO_attr_-text_aeol_crlf_true_CRLF_nul.txt
create mode 100644 NNO_attr_-text_aeol_crlf_true_LF.txt
create mode 100644 NNO_attr_-text_aeol_crlf_true_LF_mix_CR.txt
create mode 100644 NNO_attr_-text_aeol_lf_false_CRLF.txt
create mode 100644 NNO_attr_-text_aeol_lf_false_CRLF_mix_LF.txt
create mode 100644 NNO_attr_-text_aeol_lf_false_CRLF_nul.txt
create mode 100644 NNO_attr_-text_aeol_lf_false_LF.txt
create mode 100644 NNO_attr_-text_aeol_lf_false_LF_mix_CR.txt
create mode 100644 NNO_attr_-text_aeol_lf_input_CRLF.txt
create mode 100644 NNO_attr_-text_aeol_lf_input_CRLF_mix_LF.txt
create mode 100644 NNO_attr_-text_aeol_lf_input_CRLF_nul.txt
create mode 100644 NNO_attr_-text_aeol_lf_input_LF.txt
create mode 100644 NNO_attr_-text_aeol_lf_input_LF_mix_CR.txt
create mode 100644 NNO_attr_-text_aeol_lf_true_CRLF.txt
create mode 100644 NNO_attr_-text_aeol_lf_true_CRLF_mix_LF.txt
create mode 100644 NNO_attr_-text_aeol_lf_true_CRLF_nul.txt
create mode 100644 NNO_attr_-text_aeol_lf_true_LF.txt
create mode 100644 NNO_attr_-text_aeol_lf_true_LF_mix_CR.txt
create mode 100644 NNO_attr__aeol__false_CRLF.txt
create mode 100644 NNO_attr__aeol__false_CRLF_mix_LF.txt
create mode 100644 NNO_attr__aeol__false_CRLF_nul.txt
create mode 100644 NNO_attr__aeol__false_LF.txt
create mode 100644 NNO_attr__aeol__false_LF_mix_CR.txt
create mode 100644 NNO_attr__aeol__input_CRLF.txt
create mode 100644 NNO_attr__aeol__input_CRLF_mix_LF.txt
create mode 100644 NNO_attr__aeol__input_CRLF_nul.txt
create mode 100644 NNO_attr__aeol__input_LF.txt
create mode 100644 NNO_attr__aeol__input_LF_mix_CR.txt
create mode 100644 NNO_attr__aeol__true_CRLF.txt
create mode 100644 NNO_attr__aeol__true_CRLF_mix_LF.txt
create mode 100644 NNO_attr__aeol__true_CRLF_nul.txt
create mode 100644 NNO_attr__aeol__true_LF.txt
create mode 100644 NNO_attr__aeol__true_LF_mix_CR.txt
create mode 100644 NNO_attr__aeol_crlf_false_CRLF.txt
create mode 100644 NNO_attr__aeol_crlf_false_CRLF_mix_LF.txt
create mode 100644 NNO_attr__aeol_crlf_false_CRLF_nul.txt
create mode 100644 NNO_attr__aeol_crlf_false_LF.txt
create mode 100644 NNO_attr__aeol_crlf_false_LF_mix_CR.txt
create mode 100644 NNO_attr__aeol_crlf_input_CRLF.txt
create mode 100644 NNO_attr__aeol_crlf_input_CRLF_mix_LF.txt
create mode 100644 NNO_attr__aeol_crlf_input_CRLF_nul.txt
create mode 100644 NNO_attr__aeol_crlf_input_LF.txt
create mode 100644 NNO_attr__aeol_crlf_input_LF_mix_CR.txt
create mode 100644 NNO_attr__aeol_crlf_true_CRLF.txt
create mode 100644 NNO_attr__aeol_crlf_true_CRLF_mix_LF.txt
create mode 100644 NNO_attr__aeol_crlf_true_CRLF_nul.txt
create mode 100644 NNO_attr__aeol_crlf_true_LF.txt
create mode 100644 NNO_attr__aeol_crlf_true_LF_mix_CR.txt
create mode 100644 NNO_attr__aeol_lf_false_CRLF.txt
create mode 100644 NNO_attr__aeol_lf_false_CRLF_mix_LF.txt
create mode 100644 NNO_attr__aeol_lf_false_CRLF_nul.txt
create mode 100644 NNO_attr__aeol_lf_false_LF.txt
create mode 100644 NNO_attr__aeol_lf_false_LF_mix_CR.txt
create mode 100644 NNO_attr__aeol_lf_input_CRLF.txt
create mode 100644 NNO_attr__aeol_lf_input_CRLF_mix_LF.txt
create mode 100644 NNO_attr__aeol_lf_input_CRLF_nul.txt
create mode 100644 NNO_attr__aeol_lf_input_LF.txt
create mode 100644 NNO_attr__aeol_lf_input_LF_mix_CR.txt
create mode 100644 NNO_attr__aeol_lf_true_CRLF.txt
create mode 100644 NNO_attr__aeol_lf_true_CRLF_mix_LF.txt
create mode 100644 NNO_attr__aeol_lf_true_CRLF_nul.txt
create mode 100644 NNO_attr__aeol_lf_true_LF.txt
create mode 100644 NNO_attr__aeol_lf_true_LF_mix_CR.txt
create mode 100644 NNO_attr_auto_aeol__false_CRLF.txt
create mode 100644 NNO_attr_auto_aeol__false_CRLF_mix_LF.txt
create mode 100644 NNO_attr_auto_aeol__false_CRLF_nul.txt
create mode 100644 NNO_attr_auto_aeol__false_LF.txt
create mode 100644 NNO_attr_auto_aeol__false_LF_mix_CR.txt
create mode 100644 NNO_attr_auto_aeol__input_CRLF.txt
create mode 100644 NNO_attr_auto_aeol__input_CRLF_mix_LF.txt
create mode 100644 NNO_attr_auto_aeol__input_CRLF_nul.txt
create mode 100644 NNO_attr_auto_aeol__input_LF.txt
create mode 100644 NNO_attr_auto_aeol__input_LF_mix_CR.txt
create mode 100644 NNO_attr_auto_aeol__true_CRLF.txt
create mode 100644 NNO_attr_auto_aeol__true_CRLF_mix_LF.txt
create mode 100644 NNO_attr_auto_aeol__true_CRLF_nul.txt
create mode 100644 NNO_attr_auto_aeol__true_LF.txt
create mode 100644 NNO_attr_auto_aeol__true_LF_mix_CR.txt
create mode 100644 NNO_attr_auto_aeol_crlf_false_CRLF.txt
create mode 100644 NNO_attr_auto_aeol_crlf_false_CRLF_mix_LF.txt
create mode 100644 NNO_attr_auto_aeol_crlf_false_CRLF_nul.txt
create mode 100644 NNO_attr_auto_aeol_crlf_false_LF.txt
create mode 100644 NNO_attr_auto_aeol_crlf_false_LF_mix_CR.txt
create mode 100644 NNO_attr_auto_aeol_crlf_input_CRLF.txt
create mode 100644 NNO_attr_auto_aeol_crlf_input_CRLF_mix_LF.txt
create mode 100644 NNO_attr_auto_aeol_crlf_input_CRLF_nul.txt
create mode 100644 NNO_attr_auto_aeol_crlf_input_LF.txt
create mode 100644 NNO_attr_auto_aeol_crlf_input_LF_mix_CR.txt
create mode 100644 NNO_attr_auto_aeol_crlf_true_CRLF.txt
create mode 100644 NNO_attr_auto_aeol_crlf_true_CRLF_mix_LF.txt
create mode 100644 NNO_attr_auto_aeol_crlf_true_CRLF_nul.txt
create mode 100644 NNO_attr_auto_aeol_crlf_true_LF.txt
create mode 100644 NNO_attr_auto_aeol_crlf_true_LF_mix_CR.txt
create mode 100644 NNO_attr_auto_aeol_lf_false_CRLF.txt
create mode 100644 NNO_attr_auto_aeol_lf_false_CRLF_mix_LF.txt
create mode 100644 NNO_attr_auto_aeol_lf_false_CRLF_nul.txt
create mode 100644 NNO_attr_auto_aeol_lf_false_LF.txt
create mode 100644 NNO_attr_auto_aeol_lf_false_LF_mix_CR.txt
create mode 100644 NNO_attr_auto_aeol_lf_input_CRLF.txt
create mode 100644 NNO_attr_auto_aeol_lf_input_CRLF_mix_LF.txt
create mode 100644 NNO_attr_auto_aeol_lf_input_CRLF_nul.txt
create mode 100644 NNO_attr_auto_aeol_lf_input_LF.txt
create mode 100644 NNO_attr_auto_aeol_lf_input_LF_mix_CR.txt
create mode 100644 NNO_attr_auto_aeol_lf_true_CRLF.txt
create mode 100644 NNO_attr_auto_aeol_lf_true_CRLF_mix_LF.txt
create mode 100644 NNO_attr_auto_aeol_lf_true_CRLF_nul.txt
create mode 100644 NNO_attr_auto_aeol_lf_true_LF.txt
create mode 100644 NNO_attr_auto_aeol_lf_true_LF_mix_CR.txt
create mode 100644 NNO_attr_text_aeol__false_CRLF.txt
create mode 100644 NNO_attr_text_aeol__false_CRLF_mix_LF.txt
create mode 100644 NNO_attr_text_aeol__false_CRLF_nul.txt
create mode 100644 NNO_attr_text_aeol__false_LF.txt
create mode 100644 NNO_attr_text_aeol__false_LF_mix_CR.txt
create mode 100644 NNO_attr_text_aeol__input_CRLF.txt
create mode 100644 NNO_attr_text_aeol__input_CRLF_mix_LF.txt
create mode 100644 NNO_attr_text_aeol__input_CRLF_nul.txt
create mode 100644 NNO_attr_text_aeol__input_LF.txt
create mode 100644 NNO_attr_text_aeol__input_LF_mix_CR.txt
create mode 100644 NNO_attr_text_aeol__true_CRLF.txt
create mode 100644 NNO_attr_text_aeol__true_CRLF_mix_LF.txt
create mode 100644 NNO_attr_text_aeol__true_CRLF_nul.txt
create mode 100644 NNO_attr_text_aeol__true_LF.txt
create mode 100644 NNO_attr_text_aeol__true_LF_mix_CR.txt
create mode 100644 NNO_attr_text_aeol_crlf_false_CRLF.txt
create mode 100644 NNO_attr_text_aeol_crlf_false_CRLF_mix_LF.txt
create mode 100644 NNO_attr_text_aeol_crlf_false_CRLF_nul.txt
create mode 100644 NNO_attr_text_aeol_crlf_false_LF.txt
create mode 100644 NNO_attr_text_aeol_crlf_false_LF_mix_CR.txt
create mode 100644 NNO_attr_text_aeol_crlf_input_CRLF.txt
create mode 100644 NNO_attr_text_aeol_crlf_input_CRLF_mix_LF.txt
create mode 100644 NNO_attr_text_aeol_crlf_input_CRLF_nul.txt
create mode 100644 NNO_attr_text_aeol_crlf_input_LF.txt
create mode 100644 NNO_attr_text_aeol_crlf_input_LF_mix_CR.txt
create mode 100644 NNO_attr_text_aeol_crlf_true_CRLF.txt
create mode 100644 NNO_attr_text_aeol_crlf_true_CRLF_mix_LF.txt
create mode 100644 NNO_attr_text_aeol_crlf_true_CRLF_nul.txt
create mode 100644 NNO_attr_text_aeol_crlf_true_LF.txt
create mode 100644 NNO_attr_text_aeol_crlf_true_LF_mix_CR.txt
create mode 100644 NNO_attr_text_aeol_lf_false_CRLF.txt
create mode 100644 NNO_attr_text_aeol_lf_false_CRLF_mix_LF.txt
create mode 100644 NNO_attr_text_aeol_lf_false_CRLF_nul.txt
create mode 100644 NNO_attr_text_aeol_lf_false_LF.txt
create mode 100644 NNO_attr_text_aeol_lf_false_LF_mix_CR.txt
create mode 100644 NNO_attr_text_aeol_lf_input_CRLF.txt
create mode 100644 NNO_attr_text_aeol_lf_input_CRLF_mix_LF.txt
create mode 100644 NNO_attr_text_aeol_lf_input_CRLF_nul.txt
create mode 100644 NNO_attr_text_aeol_lf_input_LF.txt
create mode 100644 NNO_attr_text_aeol_lf_input_LF_mix_CR.txt
create mode 100644 NNO_attr_text_aeol_lf_true_CRLF.txt
create mode 100644 NNO_attr_text_aeol_lf_true_CRLF_mix_LF.txt
create mode 100644 NNO_attr_text_aeol_lf_true_CRLF_nul.txt
create mode 100644 NNO_attr_text_aeol_lf_true_LF.txt
create mode 100644 NNO_attr_text_aeol_lf_true_LF_mix_CR.txt
ok 2 - setup master
expecting success of 0027.3 'commit files empty attr':
commit_check_warn false "" "" "" "" "" "" &&
commit_check_warn true "" "LF_CRLF" "" "LF_CRLF" "" "" &&
commit_check_warn input "" "" "CRLF_LF" "CRLF_LF" "" ""
[master 97b3d6c] core.autocrlf false
Author: A U Thor <author@example.com>
6 files changed, 15 insertions(+)
create mode 100644 crlf_false_attr__CRLF.txt
create mode 100644 crlf_false_attr__CRLF_mix_LF.txt
create mode 100644 crlf_false_attr__CRLF_nul.txt
create mode 100644 crlf_false_attr__LF.txt
create mode 100644 crlf_false_attr__LF_mix_CR.txt
create mode 100644 crlf_false_attr__LF_nul.txt
checking prerequisite: C_LOCALE_OUTPUT
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
! test_bool_env GIT_TEST_GETTEXT_POISON false
)
prerequisite C_LOCALE_OUTPUT ok
[master c24a978] core.autocrlf true
Author: A U Thor <author@example.com>
6 files changed, 15 insertions(+)
create mode 100644 crlf_true_attr__CRLF.txt
create mode 100644 crlf_true_attr__CRLF_mix_LF.txt
create mode 100644 crlf_true_attr__CRLF_nul.txt
create mode 100644 crlf_true_attr__LF.txt
create mode 100644 crlf_true_attr__LF_mix_CR.txt
create mode 100644 crlf_true_attr__LF_nul.txt
[master 0f961a2] core.autocrlf input
Author: A U Thor <author@example.com>
6 files changed, 15 insertions(+)
create mode 100644 crlf_input_attr__CRLF.txt
create mode 100644 crlf_input_attr__CRLF_mix_LF.txt
create mode 100644 crlf_input_attr__CRLF_nul.txt
create mode 100644 crlf_input_attr__LF.txt
create mode 100644 crlf_input_attr__LF_mix_CR.txt
create mode 100644 crlf_input_attr__LF_nul.txt
ok 3 - commit files empty attr
expecting success of 0027.4 'commit files attr=auto':
commit_check_warn false "auto" "$WILC" "$WICL" "$WAMIX" "" "" &&
commit_check_warn true "auto" "LF_CRLF" "" "LF_CRLF" "" "" &&
commit_check_warn input "auto" "" "CRLF_LF" "CRLF_LF" "" ""
[master 961fab2] core.autocrlf false
Author: A U Thor <author@example.com>
6 files changed, 15 insertions(+)
create mode 100644 crlf_false_attr_auto_CRLF.txt
create mode 100644 crlf_false_attr_auto_CRLF_mix_LF.txt
create mode 100644 crlf_false_attr_auto_CRLF_nul.txt
create mode 100644 crlf_false_attr_auto_LF.txt
create mode 100644 crlf_false_attr_auto_LF_mix_CR.txt
create mode 100644 crlf_false_attr_auto_LF_nul.txt
[master 6ca6710] core.autocrlf true
Author: A U Thor <author@example.com>
6 files changed, 15 insertions(+)
create mode 100644 crlf_true_attr_auto_CRLF.txt
create mode 100644 crlf_true_attr_auto_CRLF_mix_LF.txt
create mode 100644 crlf_true_attr_auto_CRLF_nul.txt
create mode 100644 crlf_true_attr_auto_LF.txt
create mode 100644 crlf_true_attr_auto_LF_mix_CR.txt
create mode 100644 crlf_true_attr_auto_LF_nul.txt
[master 4d158da] core.autocrlf input
Author: A U Thor <author@example.com>
6 files changed, 15 insertions(+)
create mode 100644 crlf_input_attr_auto_CRLF.txt
create mode 100644 crlf_input_attr_auto_CRLF_mix_LF.txt
create mode 100644 crlf_input_attr_auto_CRLF_nul.txt
create mode 100644 crlf_input_attr_auto_LF.txt
create mode 100644 crlf_input_attr_auto_LF_mix_CR.txt
create mode 100644 crlf_input_attr_auto_LF_nul.txt
ok 4 - commit files attr=auto
expecting success of 0027.5 'commit files attr=text':
commit_check_warn false "text" "$WILC" "$WICL" "$WAMIX" "$WILC" "$WICL" &&
commit_check_warn true "text" "LF_CRLF" "" "LF_CRLF" "LF_CRLF" "" &&
commit_check_warn input "text" "" "CRLF_LF" "CRLF_LF" "" "CRLF_LF"
[master 2aaefb5] core.autocrlf false
Author: A U Thor <author@example.com>
6 files changed, 15 insertions(+)
create mode 100644 crlf_false_attr_text_CRLF.txt
create mode 100644 crlf_false_attr_text_CRLF_mix_LF.txt
create mode 100644 crlf_false_attr_text_CRLF_nul.txt
create mode 100644 crlf_false_attr_text_LF.txt
create mode 100644 crlf_false_attr_text_LF_mix_CR.txt
create mode 100644 crlf_false_attr_text_LF_nul.txt
[master c0f38d2] core.autocrlf true
Author: A U Thor <author@example.com>
6 files changed, 15 insertions(+)
create mode 100644 crlf_true_attr_text_CRLF.txt
create mode 100644 crlf_true_attr_text_CRLF_mix_LF.txt
create mode 100644 crlf_true_attr_text_CRLF_nul.txt
create mode 100644 crlf_true_attr_text_LF.txt
create mode 100644 crlf_true_attr_text_LF_mix_CR.txt
create mode 100644 crlf_true_attr_text_LF_nul.txt
[master 34d9136] core.autocrlf input
Author: A U Thor <author@example.com>
6 files changed, 15 insertions(+)
create mode 100644 crlf_input_attr_text_CRLF.txt
create mode 100644 crlf_input_attr_text_CRLF_mix_LF.txt
create mode 100644 crlf_input_attr_text_CRLF_nul.txt
create mode 100644 crlf_input_attr_text_LF.txt
create mode 100644 crlf_input_attr_text_LF_mix_CR.txt
create mode 100644 crlf_input_attr_text_LF_nul.txt
ok 5 - commit files attr=text
expecting success of 0027.6 'commit files attr=-text':
commit_check_warn false "-text" "" "" "" "" "" &&
commit_check_warn true "-text" "" "" "" "" "" &&
commit_check_warn input "-text" "" "" "" "" ""
[master 59935b2] core.autocrlf false
Author: A U Thor <author@example.com>
6 files changed, 15 insertions(+)
create mode 100644 crlf_false_attr_-text_CRLF.txt
create mode 100644 crlf_false_attr_-text_CRLF_mix_LF.txt
create mode 100644 crlf_false_attr_-text_CRLF_nul.txt
create mode 100644 crlf_false_attr_-text_LF.txt
create mode 100644 crlf_false_attr_-text_LF_mix_CR.txt
create mode 100644 crlf_false_attr_-text_LF_nul.txt
[master d6910e7] core.autocrlf true
Author: A U Thor <author@example.com>
6 files changed, 15 insertions(+)
create mode 100644 crlf_true_attr_-text_CRLF.txt
create mode 100644 crlf_true_attr_-text_CRLF_mix_LF.txt
create mode 100644 crlf_true_attr_-text_CRLF_nul.txt
create mode 100644 crlf_true_attr_-text_LF.txt
create mode 100644 crlf_true_attr_-text_LF_mix_CR.txt
create mode 100644 crlf_true_attr_-text_LF_nul.txt
[master d18c0d2] core.autocrlf input
Author: A U Thor <author@example.com>
6 files changed, 15 insertions(+)
create mode 100644 crlf_input_attr_-text_CRLF.txt
create mode 100644 crlf_input_attr_-text_CRLF_mix_LF.txt
create mode 100644 crlf_input_attr_-text_CRLF_nul.txt
create mode 100644 crlf_input_attr_-text_LF.txt
create mode 100644 crlf_input_attr_-text_LF_mix_CR.txt
create mode 100644 crlf_input_attr_-text_LF_nul.txt
ok 6 - commit files attr=-text
expecting success of 0027.7 'commit files attr=lf':
commit_check_warn false "lf" "" "CRLF_LF" "CRLF_LF" "" "CRLF_LF" &&
commit_check_warn true "lf" "" "CRLF_LF" "CRLF_LF" "" "CRLF_LF" &&
commit_check_warn input "lf" "" "CRLF_LF" "CRLF_LF" "" "CRLF_LF"
[master 1a60289] core.autocrlf false
Author: A U Thor <author@example.com>
6 files changed, 15 insertions(+)
create mode 100644 crlf_false_attr_lf_CRLF.txt
create mode 100644 crlf_false_attr_lf_CRLF_mix_LF.txt
create mode 100644 crlf_false_attr_lf_CRLF_nul.txt
create mode 100644 crlf_false_attr_lf_LF.txt
create mode 100644 crlf_false_attr_lf_LF_mix_CR.txt
create mode 100644 crlf_false_attr_lf_LF_nul.txt
[master c7e6c05] core.autocrlf true
Author: A U Thor <author@example.com>
6 files changed, 15 insertions(+)
create mode 100644 crlf_true_attr_lf_CRLF.txt
create mode 100644 crlf_true_attr_lf_CRLF_mix_LF.txt
create mode 100644 crlf_true_attr_lf_CRLF_nul.txt
create mode 100644 crlf_true_attr_lf_LF.txt
create mode 100644 crlf_true_attr_lf_LF_mix_CR.txt
create mode 100644 crlf_true_attr_lf_LF_nul.txt
[master 56f9a6e] core.autocrlf input
Author: A U Thor <author@example.com>
6 files changed, 15 insertions(+)
create mode 100644 crlf_input_attr_lf_CRLF.txt
create mode 100644 crlf_input_attr_lf_CRLF_mix_LF.txt
create mode 100644 crlf_input_attr_lf_CRLF_nul.txt
create mode 100644 crlf_input_attr_lf_LF.txt
create mode 100644 crlf_input_attr_lf_LF_mix_CR.txt
create mode 100644 crlf_input_attr_lf_LF_nul.txt
ok 7 - commit files attr=lf
expecting success of 0027.8 'commit files attr=crlf':
commit_check_warn false "crlf" "LF_CRLF" "" "LF_CRLF" "LF_CRLF" "" &&
commit_check_warn true "crlf" "LF_CRLF" "" "LF_CRLF" "LF_CRLF" "" &&
commit_check_warn input "crlf" "LF_CRLF" "" "LF_CRLF" "LF_CRLF" ""
[master 8a21fdf] core.autocrlf false
Author: A U Thor <author@example.com>
6 files changed, 15 insertions(+)
create mode 100644 crlf_false_attr_crlf_CRLF.txt
create mode 100644 crlf_false_attr_crlf_CRLF_mix_LF.txt
create mode 100644 crlf_false_attr_crlf_CRLF_nul.txt
create mode 100644 crlf_false_attr_crlf_LF.txt
create mode 100644 crlf_false_attr_crlf_LF_mix_CR.txt
create mode 100644 crlf_false_attr_crlf_LF_nul.txt
[master 4f3c7f1] core.autocrlf true
Author: A U Thor <author@example.com>
6 files changed, 15 insertions(+)
create mode 100644 crlf_true_attr_crlf_CRLF.txt
create mode 100644 crlf_true_attr_crlf_CRLF_mix_LF.txt
create mode 100644 crlf_true_attr_crlf_CRLF_nul.txt
create mode 100644 crlf_true_attr_crlf_LF.txt
create mode 100644 crlf_true_attr_crlf_LF_mix_CR.txt
create mode 100644 crlf_true_attr_crlf_LF_nul.txt
[master 12b5f72] core.autocrlf input
Author: A U Thor <author@example.com>
6 files changed, 15 insertions(+)
create mode 100644 crlf_input_attr_crlf_CRLF.txt
create mode 100644 crlf_input_attr_crlf_CRLF_mix_LF.txt
create mode 100644 crlf_input_attr_crlf_CRLF_nul.txt
create mode 100644 crlf_input_attr_crlf_LF.txt
create mode 100644 crlf_input_attr_crlf_LF_mix_CR.txt
create mode 100644 crlf_input_attr_crlf_LF_nul.txt
ok 8 - commit files attr=crlf
expecting success of 0027.9 'commit file with mixed EOL onto LF crlf=false attr=':
check_warning "$lfwarn" ${pfx}_LF.err
ok 9 - commit file with mixed EOL onto LF crlf=false attr=
expecting success of 0027.10 'commit file with mixed EOL onto CLRF attr= aeol= crlf=false':
check_warning "$crlfwarn" ${pfx}_CRLF.err
ok 10 - commit file with mixed EOL onto CLRF attr= aeol= crlf=false
expecting success of 0027.11 'commit file with mixed EOL onto CRLF_mix_LF attr= aeol= crlf=false':
check_warning "$lfmixcrlf" ${pfx}_CRLF_mix_LF.err
ok 11 - commit file with mixed EOL onto CRLF_mix_LF attr= aeol= crlf=false
expecting success of 0027.12 'commit file with mixed EOL onto LF_mix_cr attr= aeol= crlf=false ':
check_warning "$lfmixcr" ${pfx}_LF_mix_CR.err
ok 12 - commit file with mixed EOL onto LF_mix_cr attr= aeol= crlf=false
expecting success of 0027.13 'commit file with mixed EOL onto CRLF_nul attr= aeol= crlf=false':
check_warning "$crlfnul" ${pfx}_CRLF_nul.err
ok 13 - commit file with mixed EOL onto CRLF_nul attr= aeol= crlf=false
expecting success of 0027.14 'commit file with mixed EOL onto LF crlf=true attr=':
check_warning "$lfwarn" ${pfx}_LF.err
ok 14 - commit file with mixed EOL onto LF crlf=true attr=
expecting success of 0027.15 'commit file with mixed EOL onto CLRF attr= aeol= crlf=true':
check_warning "$crlfwarn" ${pfx}_CRLF.err
ok 15 - commit file with mixed EOL onto CLRF attr= aeol= crlf=true
expecting success of 0027.16 'commit file with mixed EOL onto CRLF_mix_LF attr= aeol= crlf=true':
check_warning "$lfmixcrlf" ${pfx}_CRLF_mix_LF.err
ok 16 - commit file with mixed EOL onto CRLF_mix_LF attr= aeol= crlf=true
expecting success of 0027.17 'commit file with mixed EOL onto LF_mix_cr attr= aeol= crlf=true ':
check_warning "$lfmixcr" ${pfx}_LF_mix_CR.err
ok 17 - commit file with mixed EOL onto LF_mix_cr attr= aeol= crlf=true
expecting success of 0027.18 'commit file with mixed EOL onto CRLF_nul attr= aeol= crlf=true':
check_warning "$crlfnul" ${pfx}_CRLF_nul.err
ok 18 - commit file with mixed EOL onto CRLF_nul attr= aeol= crlf=true
expecting success of 0027.19 'commit file with mixed EOL onto LF crlf=input attr=':
check_warning "$lfwarn" ${pfx}_LF.err
ok 19 - commit file with mixed EOL onto LF crlf=input attr=
expecting success of 0027.20 'commit file with mixed EOL onto CLRF attr= aeol= crlf=input':
check_warning "$crlfwarn" ${pfx}_CRLF.err
ok 20 - commit file with mixed EOL onto CLRF attr= aeol= crlf=input
expecting success of 0027.21 'commit file with mixed EOL onto CRLF_mix_LF attr= aeol= crlf=input':
check_warning "$lfmixcrlf" ${pfx}_CRLF_mix_LF.err
ok 21 - commit file with mixed EOL onto CRLF_mix_LF attr= aeol= crlf=input
expecting success of 0027.22 'commit file with mixed EOL onto LF_mix_cr attr= aeol= crlf=input ':
check_warning "$lfmixcr" ${pfx}_LF_mix_CR.err
ok 22 - commit file with mixed EOL onto LF_mix_cr attr= aeol= crlf=input
expecting success of 0027.23 'commit file with mixed EOL onto CRLF_nul attr= aeol= crlf=input':
check_warning "$crlfnul" ${pfx}_CRLF_nul.err
ok 23 - commit file with mixed EOL onto CRLF_nul attr= aeol= crlf=input
expecting success of 0027.24 'commit file with mixed EOL onto LF crlf=false attr=auto':
check_warning "$lfwarn" ${pfx}_LF.err
ok 24 - commit file with mixed EOL onto LF crlf=false attr=auto
expecting success of 0027.25 'commit file with mixed EOL onto CLRF attr=auto aeol= crlf=false':
check_warning "$crlfwarn" ${pfx}_CRLF.err
ok 25 - commit file with mixed EOL onto CLRF attr=auto aeol= crlf=false
expecting success of 0027.26 'commit file with mixed EOL onto CRLF_mix_LF attr=auto aeol= crlf=false':
check_warning "$lfmixcrlf" ${pfx}_CRLF_mix_LF.err
ok 26 - commit file with mixed EOL onto CRLF_mix_LF attr=auto aeol= crlf=false
expecting success of 0027.27 'commit file with mixed EOL onto LF_mix_cr attr=auto aeol= crlf=false ':
check_warning "$lfmixcr" ${pfx}_LF_mix_CR.err
ok 27 - commit file with mixed EOL onto LF_mix_cr attr=auto aeol= crlf=false
expecting success of 0027.28 'commit file with mixed EOL onto CRLF_nul attr=auto aeol= crlf=false':
check_warning "$crlfnul" ${pfx}_CRLF_nul.err
ok 28 - commit file with mixed EOL onto CRLF_nul attr=auto aeol= crlf=false
expecting success of 0027.29 'commit file with mixed EOL onto LF crlf=true attr=auto':
check_warning "$lfwarn" ${pfx}_LF.err
ok 29 - commit file with mixed EOL onto LF crlf=true attr=auto
expecting success of 0027.30 'commit file with mixed EOL onto CLRF attr=auto aeol= crlf=true':
check_warning "$crlfwarn" ${pfx}_CRLF.err
ok 30 - commit file with mixed EOL onto CLRF attr=auto aeol= crlf=true
expecting success of 0027.31 'commit file with mixed EOL onto CRLF_mix_LF attr=auto aeol= crlf=true':
check_warning "$lfmixcrlf" ${pfx}_CRLF_mix_LF.err
ok 31 - commit file with mixed EOL onto CRLF_mix_LF attr=auto aeol= crlf=true
expecting success of 0027.32 'commit file with mixed EOL onto LF_mix_cr attr=auto aeol= crlf=true ':
check_warning "$lfmixcr" ${pfx}_LF_mix_CR.err
ok 32 - commit file with mixed EOL onto LF_mix_cr attr=auto aeol= crlf=true
expecting success of 0027.33 'commit file with mixed EOL onto CRLF_nul attr=auto aeol= crlf=true':
check_warning "$crlfnul" ${pfx}_CRLF_nul.err
ok 33 - commit file with mixed EOL onto CRLF_nul attr=auto aeol= crlf=true
expecting success of 0027.34 'commit file with mixed EOL onto LF crlf=input attr=auto':
check_warning "$lfwarn" ${pfx}_LF.err
ok 34 - commit file with mixed EOL onto LF crlf=input attr=auto
expecting success of 0027.35 'commit file with mixed EOL onto CLRF attr=auto aeol= crlf=input':
check_warning "$crlfwarn" ${pfx}_CRLF.err
ok 35 - commit file with mixed EOL onto CLRF attr=auto aeol= crlf=input
expecting success of 0027.36 'commit file with mixed EOL onto CRLF_mix_LF attr=auto aeol= crlf=input':
check_warning "$lfmixcrlf" ${pfx}_CRLF_mix_LF.err
ok 36 - commit file with mixed EOL onto CRLF_mix_LF attr=auto aeol= crlf=input
expecting success of 0027.37 'commit file with mixed EOL onto LF_mix_cr attr=auto aeol= crlf=input ':
check_warning "$lfmixcr" ${pfx}_LF_mix_CR.err
ok 37 - commit file with mixed EOL onto LF_mix_cr attr=auto aeol= crlf=input
expecting success of 0027.38 'commit file with mixed EOL onto CRLF_nul attr=auto aeol= crlf=input':
check_warning "$crlfnul" ${pfx}_CRLF_nul.err
ok 38 - commit file with mixed EOL onto CRLF_nul attr=auto aeol= crlf=input
expecting success of 0027.39 'commit NNO files crlf=false attr= LF':
check_warning "$lfwarn" ${pfx}_LF.err
ok 39 - commit NNO files crlf=false attr= LF
expecting success of 0027.40 'commit NNO files attr= aeol= crlf=false CRLF':
check_warning "$crlfwarn" ${pfx}_CRLF.err
ok 40 - commit NNO files attr= aeol= crlf=false CRLF
expecting success of 0027.41 'commit NNO files attr= aeol= crlf=false CRLF_mix_LF':
check_warning "$lfmixcrlf" ${pfx}_CRLF_mix_LF.err
ok 41 - commit NNO files attr= aeol= crlf=false CRLF_mix_LF
expecting success of 0027.42 'commit NNO files attr= aeol= crlf=false LF_mix_cr':
check_warning "$lfmixcr" ${pfx}_LF_mix_CR.err
ok 42 - commit NNO files attr= aeol= crlf=false LF_mix_cr
expecting success of 0027.43 'commit NNO files attr= aeol= crlf=false CRLF_nul':
check_warning "$crlfnul" ${pfx}_CRLF_nul.err
ok 43 - commit NNO files attr= aeol= crlf=false CRLF_nul
expecting success of 0027.44 'commit NNO files crlf=true attr= LF':
check_warning "$lfwarn" ${pfx}_LF.err
ok 44 - commit NNO files crlf=true attr= LF
expecting success of 0027.45 'commit NNO files attr= aeol= crlf=true CRLF':
check_warning "$crlfwarn" ${pfx}_CRLF.err
ok 45 - commit NNO files attr= aeol= crlf=true CRLF
expecting success of 0027.46 'commit NNO files attr= aeol= crlf=true CRLF_mix_LF':
check_warning "$lfmixcrlf" ${pfx}_CRLF_mix_LF.err
ok 46 - commit NNO files attr= aeol= crlf=true CRLF_mix_LF
expecting success of 0027.47 'commit NNO files attr= aeol= crlf=true LF_mix_cr':
check_warning "$lfmixcr" ${pfx}_LF_mix_CR.err
ok 47 - commit NNO files attr= aeol= crlf=true LF_mix_cr
expecting success of 0027.48 'commit NNO files attr= aeol= crlf=true CRLF_nul':
check_warning "$crlfnul" ${pfx}_CRLF_nul.err
ok 48 - commit NNO files attr= aeol= crlf=true CRLF_nul
expecting success of 0027.49 'commit NNO files crlf=input attr= LF':
check_warning "$lfwarn" ${pfx}_LF.err
ok 49 - commit NNO files crlf=input attr= LF
expecting success of 0027.50 'commit NNO files attr= aeol= crlf=input CRLF':
check_warning "$crlfwarn" ${pfx}_CRLF.err
ok 50 - commit NNO files attr= aeol= crlf=input CRLF
expecting success of 0027.51 'commit NNO files attr= aeol= crlf=input CRLF_mix_LF':
check_warning "$lfmixcrlf" ${pfx}_CRLF_mix_LF.err
ok 51 - commit NNO files attr= aeol= crlf=input CRLF_mix_LF
expecting success of 0027.52 'commit NNO files attr= aeol= crlf=input LF_mix_cr':
check_warning "$lfmixcr" ${pfx}_LF_mix_CR.err
ok 52 - commit NNO files attr= aeol= crlf=input LF_mix_cr
expecting success of 0027.53 'commit NNO files attr= aeol= crlf=input CRLF_nul':
check_warning "$crlfnul" ${pfx}_CRLF_nul.err
ok 53 - commit NNO files attr= aeol= crlf=input CRLF_nul
expecting success of 0027.54 'commit NNO files crlf=false attr=auto LF':
check_warning "$lfwarn" ${pfx}_LF.err
ok 54 - commit NNO files crlf=false attr=auto LF
expecting success of 0027.55 'commit NNO files attr=auto aeol= crlf=false CRLF':
check_warning "$crlfwarn" ${pfx}_CRLF.err
ok 55 - commit NNO files attr=auto aeol= crlf=false CRLF
expecting success of 0027.56 'commit NNO files attr=auto aeol= crlf=false CRLF_mix_LF':
check_warning "$lfmixcrlf" ${pfx}_CRLF_mix_LF.err
ok 56 - commit NNO files attr=auto aeol= crlf=false CRLF_mix_LF
expecting success of 0027.57 'commit NNO files attr=auto aeol= crlf=false LF_mix_cr':
check_warning "$lfmixcr" ${pfx}_LF_mix_CR.err
ok 57 - commit NNO files attr=auto aeol= crlf=false LF_mix_cr
expecting success of 0027.58 'commit NNO files attr=auto aeol= crlf=false CRLF_nul':
check_warning "$crlfnul" ${pfx}_CRLF_nul.err
ok 58 - commit NNO files attr=auto aeol= crlf=false CRLF_nul
expecting success of 0027.59 'commit NNO files crlf=true attr=auto LF':
check_warning "$lfwarn" ${pfx}_LF.err
ok 59 - commit NNO files crlf=true attr=auto LF
expecting success of 0027.60 'commit NNO files attr=auto aeol= crlf=true CRLF':
check_warning "$crlfwarn" ${pfx}_CRLF.err
ok 60 - commit NNO files attr=auto aeol= crlf=true CRLF
expecting success of 0027.61 'commit NNO files attr=auto aeol= crlf=true CRLF_mix_LF':
check_warning "$lfmixcrlf" ${pfx}_CRLF_mix_LF.err
ok 61 - commit NNO files attr=auto aeol= crlf=true CRLF_mix_LF
expecting success of 0027.62 'commit NNO files attr=auto aeol= crlf=true LF_mix_cr':
check_warning "$lfmixcr" ${pfx}_LF_mix_CR.err
ok 62 - commit NNO files attr=auto aeol= crlf=true LF_mix_cr
expecting success of 0027.63 'commit NNO files attr=auto aeol= crlf=true CRLF_nul':
check_warning "$crlfnul" ${pfx}_CRLF_nul.err
ok 63 - commit NNO files attr=auto aeol= crlf=true CRLF_nul
expecting success of 0027.64 'commit NNO files crlf=input attr=auto LF':
check_warning "$lfwarn" ${pfx}_LF.err
ok 64 - commit NNO files crlf=input attr=auto LF
expecting success of 0027.65 'commit NNO files attr=auto aeol= crlf=input CRLF':
check_warning "$crlfwarn" ${pfx}_CRLF.err
ok 65 - commit NNO files attr=auto aeol= crlf=input CRLF
expecting success of 0027.66 'commit NNO files attr=auto aeol= crlf=input CRLF_mix_LF':
check_warning "$lfmixcrlf" ${pfx}_CRLF_mix_LF.err
ok 66 - commit NNO files attr=auto aeol= crlf=input CRLF_mix_LF
expecting success of 0027.67 'commit NNO files attr=auto aeol= crlf=input LF_mix_cr':
check_warning "$lfmixcr" ${pfx}_LF_mix_CR.err
ok 67 - commit NNO files attr=auto aeol= crlf=input LF_mix_cr
expecting success of 0027.68 'commit NNO files attr=auto aeol= crlf=input CRLF_nul':
check_warning "$crlfnul" ${pfx}_CRLF_nul.err
ok 68 - commit NNO files attr=auto aeol= crlf=input CRLF_nul
expecting success of 0027.69 'commit NNO files crlf=true attr=-text LF':
check_warning "$lfwarn" ${pfx}_LF.err
ok 69 - commit NNO files crlf=true attr=-text LF
expecting success of 0027.70 'commit NNO files attr=-text aeol= crlf=true CRLF':
check_warning "$crlfwarn" ${pfx}_CRLF.err
ok 70 - commit NNO files attr=-text aeol= crlf=true CRLF
expecting success of 0027.71 'commit NNO files attr=-text aeol= crlf=true CRLF_mix_LF':
check_warning "$lfmixcrlf" ${pfx}_CRLF_mix_LF.err
ok 71 - commit NNO files attr=-text aeol= crlf=true CRLF_mix_LF
expecting success of 0027.72 'commit NNO files attr=-text aeol= crlf=true LF_mix_cr':
check_warning "$lfmixcr" ${pfx}_LF_mix_CR.err
ok 72 - commit NNO files attr=-text aeol= crlf=true LF_mix_cr
expecting success of 0027.73 'commit NNO files attr=-text aeol= crlf=true CRLF_nul':
check_warning "$crlfnul" ${pfx}_CRLF_nul.err
ok 73 - commit NNO files attr=-text aeol= crlf=true CRLF_nul
expecting success of 0027.74 'commit NNO files crlf=true attr=-text LF':
check_warning "$lfwarn" ${pfx}_LF.err
ok 74 - commit NNO files crlf=true attr=-text LF
expecting success of 0027.75 'commit NNO files attr=-text aeol=lf crlf=true CRLF':
check_warning "$crlfwarn" ${pfx}_CRLF.err
ok 75 - commit NNO files attr=-text aeol=lf crlf=true CRLF
expecting success of 0027.76 'commit NNO files attr=-text aeol=lf crlf=true CRLF_mix_LF':
check_warning "$lfmixcrlf" ${pfx}_CRLF_mix_LF.err
ok 76 - commit NNO files attr=-text aeol=lf crlf=true CRLF_mix_LF
expecting success of 0027.77 'commit NNO files attr=-text aeol=lf crlf=true LF_mix_cr':
check_warning "$lfmixcr" ${pfx}_LF_mix_CR.err
ok 77 - commit NNO files attr=-text aeol=lf crlf=true LF_mix_cr
expecting success of 0027.78 'commit NNO files attr=-text aeol=lf crlf=true CRLF_nul':
check_warning "$crlfnul" ${pfx}_CRLF_nul.err
ok 78 - commit NNO files attr=-text aeol=lf crlf=true CRLF_nul
expecting success of 0027.79 'commit NNO files crlf=true attr=-text LF':
check_warning "$lfwarn" ${pfx}_LF.err
ok 79 - commit NNO files crlf=true attr=-text LF
expecting success of 0027.80 'commit NNO files attr=-text aeol=crlf crlf=true CRLF':
check_warning "$crlfwarn" ${pfx}_CRLF.err
ok 80 - commit NNO files attr=-text aeol=crlf crlf=true CRLF
expecting success of 0027.81 'commit NNO files attr=-text aeol=crlf crlf=true CRLF_mix_LF':
check_warning "$lfmixcrlf" ${pfx}_CRLF_mix_LF.err
ok 81 - commit NNO files attr=-text aeol=crlf crlf=true CRLF_mix_LF
expecting success of 0027.82 'commit NNO files attr=-text aeol=crlf crlf=true LF_mix_cr':
check_warning "$lfmixcr" ${pfx}_LF_mix_CR.err
ok 82 - commit NNO files attr=-text aeol=crlf crlf=true LF_mix_cr
expecting success of 0027.83 'commit NNO files attr=-text aeol=crlf crlf=true CRLF_nul':
check_warning "$crlfnul" ${pfx}_CRLF_nul.err
ok 83 - commit NNO files attr=-text aeol=crlf crlf=true CRLF_nul
expecting success of 0027.84 'commit NNO files crlf=true attr= LF':
check_warning "$lfwarn" ${pfx}_LF.err
ok 84 - commit NNO files crlf=true attr= LF
expecting success of 0027.85 'commit NNO files attr= aeol=lf crlf=true CRLF':
check_warning "$crlfwarn" ${pfx}_CRLF.err
ok 85 - commit NNO files attr= aeol=lf crlf=true CRLF
expecting success of 0027.86 'commit NNO files attr= aeol=lf crlf=true CRLF_mix_LF':
check_warning "$lfmixcrlf" ${pfx}_CRLF_mix_LF.err
ok 86 - commit NNO files attr= aeol=lf crlf=true CRLF_mix_LF
expecting success of 0027.87 'commit NNO files attr= aeol=lf crlf=true LF_mix_cr':
check_warning "$lfmixcr" ${pfx}_LF_mix_CR.err
ok 87 - commit NNO files attr= aeol=lf crlf=true LF_mix_cr
expecting success of 0027.88 'commit NNO files attr= aeol=lf crlf=true CRLF_nul':
check_warning "$crlfnul" ${pfx}_CRLF_nul.err
ok 88 - commit NNO files attr= aeol=lf crlf=true CRLF_nul
expecting success of 0027.89 'commit NNO files crlf=true attr= LF':
check_warning "$lfwarn" ${pfx}_LF.err
ok 89 - commit NNO files crlf=true attr= LF
expecting success of 0027.90 'commit NNO files attr= aeol=crlf crlf=true CRLF':
check_warning "$crlfwarn" ${pfx}_CRLF.err
ok 90 - commit NNO files attr= aeol=crlf crlf=true CRLF
expecting success of 0027.91 'commit NNO files attr= aeol=crlf crlf=true CRLF_mix_LF':
check_warning "$lfmixcrlf" ${pfx}_CRLF_mix_LF.err
ok 91 - commit NNO files attr= aeol=crlf crlf=true CRLF_mix_LF
expecting success of 0027.92 'commit NNO files attr= aeol=crlf crlf=true LF_mix_cr':
check_warning "$lfmixcr" ${pfx}_LF_mix_CR.err
ok 92 - commit NNO files attr= aeol=crlf crlf=true LF_mix_cr
expecting success of 0027.93 'commit NNO files attr= aeol=crlf crlf=true CRLF_nul':
check_warning "$crlfnul" ${pfx}_CRLF_nul.err
ok 93 - commit NNO files attr= aeol=crlf crlf=true CRLF_nul
expecting success of 0027.94 'commit NNO files crlf=true attr=auto LF':
check_warning "$lfwarn" ${pfx}_LF.err
ok 94 - commit NNO files crlf=true attr=auto LF
expecting success of 0027.95 'commit NNO files attr=auto aeol=lf crlf=true CRLF':
check_warning "$crlfwarn" ${pfx}_CRLF.err
ok 95 - commit NNO files attr=auto aeol=lf crlf=true CRLF
expecting success of 0027.96 'commit NNO files attr=auto aeol=lf crlf=true CRLF_mix_LF':
check_warning "$lfmixcrlf" ${pfx}_CRLF_mix_LF.err
ok 96 - commit NNO files attr=auto aeol=lf crlf=true CRLF_mix_LF
expecting success of 0027.97 'commit NNO files attr=auto aeol=lf crlf=true LF_mix_cr':
check_warning "$lfmixcr" ${pfx}_LF_mix_CR.err
ok 97 - commit NNO files attr=auto aeol=lf crlf=true LF_mix_cr
expecting success of 0027.98 'commit NNO files attr=auto aeol=lf crlf=true CRLF_nul':
check_warning "$crlfnul" ${pfx}_CRLF_nul.err
ok 98 - commit NNO files attr=auto aeol=lf crlf=true CRLF_nul
expecting success of 0027.99 'commit NNO files crlf=true attr=auto LF':
check_warning "$lfwarn" ${pfx}_LF.err
ok 99 - commit NNO files crlf=true attr=auto LF
expecting success of 0027.100 'commit NNO files attr=auto aeol=crlf crlf=true CRLF':
check_warning "$crlfwarn" ${pfx}_CRLF.err
ok 100 - commit NNO files attr=auto aeol=crlf crlf=true CRLF
expecting success of 0027.101 'commit NNO files attr=auto aeol=crlf crlf=true CRLF_mix_LF':
check_warning "$lfmixcrlf" ${pfx}_CRLF_mix_LF.err
ok 101 - commit NNO files attr=auto aeol=crlf crlf=true CRLF_mix_LF
expecting success of 0027.102 'commit NNO files attr=auto aeol=crlf crlf=true LF_mix_cr':
check_warning "$lfmixcr" ${pfx}_LF_mix_CR.err
ok 102 - commit NNO files attr=auto aeol=crlf crlf=true LF_mix_cr
expecting success of 0027.103 'commit NNO files attr=auto aeol=crlf crlf=true CRLF_nul':
check_warning "$crlfnul" ${pfx}_CRLF_nul.err
ok 103 - commit NNO files attr=auto aeol=crlf crlf=true CRLF_nul
expecting success of 0027.104 'commit NNO files crlf=true attr=text LF':
check_warning "$lfwarn" ${pfx}_LF.err
ok 104 - commit NNO files crlf=true attr=text LF
expecting success of 0027.105 'commit NNO files attr=text aeol=lf crlf=true CRLF':
check_warning "$crlfwarn" ${pfx}_CRLF.err
ok 105 - commit NNO files attr=text aeol=lf crlf=true CRLF
expecting success of 0027.106 'commit NNO files attr=text aeol=lf crlf=true CRLF_mix_LF':
check_warning "$lfmixcrlf" ${pfx}_CRLF_mix_LF.err
ok 106 - commit NNO files attr=text aeol=lf crlf=true CRLF_mix_LF
expecting success of 0027.107 'commit NNO files attr=text aeol=lf crlf=true LF_mix_cr':
check_warning "$lfmixcr" ${pfx}_LF_mix_CR.err
ok 107 - commit NNO files attr=text aeol=lf crlf=true LF_mix_cr
expecting success of 0027.108 'commit NNO files attr=text aeol=lf crlf=true CRLF_nul':
check_warning "$crlfnul" ${pfx}_CRLF_nul.err
ok 108 - commit NNO files attr=text aeol=lf crlf=true CRLF_nul
expecting success of 0027.109 'commit NNO files crlf=true attr=text LF':
check_warning "$lfwarn" ${pfx}_LF.err
ok 109 - commit NNO files crlf=true attr=text LF
expecting success of 0027.110 'commit NNO files attr=text aeol=crlf crlf=true CRLF':
check_warning "$crlfwarn" ${pfx}_CRLF.err
ok 110 - commit NNO files attr=text aeol=crlf crlf=true CRLF
expecting success of 0027.111 'commit NNO files attr=text aeol=crlf crlf=true CRLF_mix_LF':
check_warning "$lfmixcrlf" ${pfx}_CRLF_mix_LF.err
ok 111 - commit NNO files attr=text aeol=crlf crlf=true CRLF_mix_LF
expecting success of 0027.112 'commit NNO files attr=text aeol=crlf crlf=true LF_mix_cr':
check_warning "$lfmixcr" ${pfx}_LF_mix_CR.err
ok 112 - commit NNO files attr=text aeol=crlf crlf=true LF_mix_cr
expecting success of 0027.113 'commit NNO files attr=text aeol=crlf crlf=true CRLF_nul':
check_warning "$crlfnul" ${pfx}_CRLF_nul.err
ok 113 - commit NNO files attr=text aeol=crlf crlf=true CRLF_nul
expecting success of 0027.114 'commit NNO files crlf=false attr=-text LF':
check_warning "$lfwarn" ${pfx}_LF.err
ok 114 - commit NNO files crlf=false attr=-text LF
expecting success of 0027.115 'commit NNO files attr=-text aeol= crlf=false CRLF':
check_warning "$crlfwarn" ${pfx}_CRLF.err
ok 115 - commit NNO files attr=-text aeol= crlf=false CRLF
expecting success of 0027.116 'commit NNO files attr=-text aeol= crlf=false CRLF_mix_LF':
check_warning "$lfmixcrlf" ${pfx}_CRLF_mix_LF.err
ok 116 - commit NNO files attr=-text aeol= crlf=false CRLF_mix_LF
expecting success of 0027.117 'commit NNO files attr=-text aeol= crlf=false LF_mix_cr':
check_warning "$lfmixcr" ${pfx}_LF_mix_CR.err
ok 117 - commit NNO files attr=-text aeol= crlf=false LF_mix_cr
expecting success of 0027.118 'commit NNO files attr=-text aeol= crlf=false CRLF_nul':
check_warning "$crlfnul" ${pfx}_CRLF_nul.err
ok 118 - commit NNO files attr=-text aeol= crlf=false CRLF_nul
expecting success of 0027.119 'commit NNO files crlf=false attr=-text LF':
check_warning "$lfwarn" ${pfx}_LF.err
ok 119 - commit NNO files crlf=false attr=-text LF
expecting success of 0027.120 'commit NNO files attr=-text aeol=lf crlf=false CRLF':
check_warning "$crlfwarn" ${pfx}_CRLF.err
ok 120 - commit NNO files attr=-text aeol=lf crlf=false CRLF
expecting success of 0027.121 'commit NNO files attr=-text aeol=lf crlf=false CRLF_mix_LF':
check_warning "$lfmixcrlf" ${pfx}_CRLF_mix_LF.err
ok 121 - commit NNO files attr=-text aeol=lf crlf=false CRLF_mix_LF
expecting success of 0027.122 'commit NNO files attr=-text aeol=lf crlf=false LF_mix_cr':
check_warning "$lfmixcr" ${pfx}_LF_mix_CR.err
ok 122 - commit NNO files attr=-text aeol=lf crlf=false LF_mix_cr
expecting success of 0027.123 'commit NNO files attr=-text aeol=lf crlf=false CRLF_nul':
check_warning "$crlfnul" ${pfx}_CRLF_nul.err
ok 123 - commit NNO files attr=-text aeol=lf crlf=false CRLF_nul
expecting success of 0027.124 'commit NNO files crlf=false attr=-text LF':
check_warning "$lfwarn" ${pfx}_LF.err
ok 124 - commit NNO files crlf=false attr=-text LF
expecting success of 0027.125 'commit NNO files attr=-text aeol=crlf crlf=false CRLF':
check_warning "$crlfwarn" ${pfx}_CRLF.err
ok 125 - commit NNO files attr=-text aeol=crlf crlf=false CRLF
expecting success of 0027.126 'commit NNO files attr=-text aeol=crlf crlf=false CRLF_mix_LF':
check_warning "$lfmixcrlf" ${pfx}_CRLF_mix_LF.err
ok 126 - commit NNO files attr=-text aeol=crlf crlf=false CRLF_mix_LF
expecting success of 0027.127 'commit NNO files attr=-text aeol=crlf crlf=false LF_mix_cr':
check_warning "$lfmixcr" ${pfx}_LF_mix_CR.err
ok 127 - commit NNO files attr=-text aeol=crlf crlf=false LF_mix_cr
expecting success of 0027.128 'commit NNO files attr=-text aeol=crlf crlf=false CRLF_nul':
check_warning "$crlfnul" ${pfx}_CRLF_nul.err
ok 128 - commit NNO files attr=-text aeol=crlf crlf=false CRLF_nul
expecting success of 0027.129 'commit NNO files crlf=false attr= LF':
check_warning "$lfwarn" ${pfx}_LF.err
ok 129 - commit NNO files crlf=false attr= LF
expecting success of 0027.130 'commit NNO files attr= aeol=lf crlf=false CRLF':
check_warning "$crlfwarn" ${pfx}_CRLF.err
ok 130 - commit NNO files attr= aeol=lf crlf=false CRLF
expecting success of 0027.131 'commit NNO files attr= aeol=lf crlf=false CRLF_mix_LF':
check_warning "$lfmixcrlf" ${pfx}_CRLF_mix_LF.err
ok 131 - commit NNO files attr= aeol=lf crlf=false CRLF_mix_LF
expecting success of 0027.132 'commit NNO files attr= aeol=lf crlf=false LF_mix_cr':
check_warning "$lfmixcr" ${pfx}_LF_mix_CR.err
ok 132 - commit NNO files attr= aeol=lf crlf=false LF_mix_cr
expecting success of 0027.133 'commit NNO files attr= aeol=lf crlf=false CRLF_nul':
check_warning "$crlfnul" ${pfx}_CRLF_nul.err
ok 133 - commit NNO files attr= aeol=lf crlf=false CRLF_nul
expecting success of 0027.134 'commit NNO files crlf=false attr= LF':
check_warning "$lfwarn" ${pfx}_LF.err
ok 134 - commit NNO files crlf=false attr= LF
expecting success of 0027.135 'commit NNO files attr= aeol=crlf crlf=false CRLF':
check_warning "$crlfwarn" ${pfx}_CRLF.err
ok 135 - commit NNO files attr= aeol=crlf crlf=false CRLF
expecting success of 0027.136 'commit NNO files attr= aeol=crlf crlf=false CRLF_mix_LF':
check_warning "$lfmixcrlf" ${pfx}_CRLF_mix_LF.err
ok 136 - commit NNO files attr= aeol=crlf crlf=false CRLF_mix_LF
expecting success of 0027.137 'commit NNO files attr= aeol=crlf crlf=false LF_mix_cr':
check_warning "$lfmixcr" ${pfx}_LF_mix_CR.err
ok 137 - commit NNO files attr= aeol=crlf crlf=false LF_mix_cr
expecting success of 0027.138 'commit NNO files attr= aeol=crlf crlf=false CRLF_nul':
check_warning "$crlfnul" ${pfx}_CRLF_nul.err
ok 138 - commit NNO files attr= aeol=crlf crlf=false CRLF_nul
expecting success of 0027.139 'commit NNO files crlf=false attr=auto LF':
check_warning "$lfwarn" ${pfx}_LF.err
ok 139 - commit NNO files crlf=false attr=auto LF
expecting success of 0027.140 'commit NNO files attr=auto aeol=lf crlf=false CRLF':
check_warning "$crlfwarn" ${pfx}_CRLF.err
ok 140 - commit NNO files attr=auto aeol=lf crlf=false CRLF
expecting success of 0027.141 'commit NNO files attr=auto aeol=lf crlf=false CRLF_mix_LF':
check_warning "$lfmixcrlf" ${pfx}_CRLF_mix_LF.err
ok 141 - commit NNO files attr=auto aeol=lf crlf=false CRLF_mix_LF
expecting success of 0027.142 'commit NNO files attr=auto aeol=lf crlf=false LF_mix_cr':
check_warning "$lfmixcr" ${pfx}_LF_mix_CR.err
ok 142 - commit NNO files attr=auto aeol=lf crlf=false LF_mix_cr
expecting success of 0027.143 'commit NNO files attr=auto aeol=lf crlf=false CRLF_nul':
check_warning "$crlfnul" ${pfx}_CRLF_nul.err
ok 143 - commit NNO files attr=auto aeol=lf crlf=false CRLF_nul
expecting success of 0027.144 'commit NNO files crlf=false attr=auto LF':
check_warning "$lfwarn" ${pfx}_LF.err
ok 144 - commit NNO files crlf=false attr=auto LF
expecting success of 0027.145 'commit NNO files attr=auto aeol=crlf crlf=false CRLF':
check_warning "$crlfwarn" ${pfx}_CRLF.err
ok 145 - commit NNO files attr=auto aeol=crlf crlf=false CRLF
expecting success of 0027.146 'commit NNO files attr=auto aeol=crlf crlf=false CRLF_mix_LF':
check_warning "$lfmixcrlf" ${pfx}_CRLF_mix_LF.err
ok 146 - commit NNO files attr=auto aeol=crlf crlf=false CRLF_mix_LF
expecting success of 0027.147 'commit NNO files attr=auto aeol=crlf crlf=false LF_mix_cr':
check_warning "$lfmixcr" ${pfx}_LF_mix_CR.err
ok 147 - commit NNO files attr=auto aeol=crlf crlf=false LF_mix_cr
expecting success of 0027.148 'commit NNO files attr=auto aeol=crlf crlf=false CRLF_nul':
check_warning "$crlfnul" ${pfx}_CRLF_nul.err
ok 148 - commit NNO files attr=auto aeol=crlf crlf=false CRLF_nul
expecting success of 0027.149 'commit NNO files crlf=false attr=text LF':
check_warning "$lfwarn" ${pfx}_LF.err
ok 149 - commit NNO files crlf=false attr=text LF
expecting success of 0027.150 'commit NNO files attr=text aeol=lf crlf=false CRLF':
check_warning "$crlfwarn" ${pfx}_CRLF.err
ok 150 - commit NNO files attr=text aeol=lf crlf=false CRLF
expecting success of 0027.151 'commit NNO files attr=text aeol=lf crlf=false CRLF_mix_LF':
check_warning "$lfmixcrlf" ${pfx}_CRLF_mix_LF.err
ok 151 - commit NNO files attr=text aeol=lf crlf=false CRLF_mix_LF
expecting success of 0027.152 'commit NNO files attr=text aeol=lf crlf=false LF_mix_cr':
check_warning "$lfmixcr" ${pfx}_LF_mix_CR.err
ok 152 - commit NNO files attr=text aeol=lf crlf=false LF_mix_cr
expecting success of 0027.153 'commit NNO files attr=text aeol=lf crlf=false CRLF_nul':
check_warning "$crlfnul" ${pfx}_CRLF_nul.err
ok 153 - commit NNO files attr=text aeol=lf crlf=false CRLF_nul
expecting success of 0027.154 'commit NNO files crlf=false attr=text LF':
check_warning "$lfwarn" ${pfx}_LF.err
ok 154 - commit NNO files crlf=false attr=text LF
expecting success of 0027.155 'commit NNO files attr=text aeol=crlf crlf=false CRLF':
check_warning "$crlfwarn" ${pfx}_CRLF.err
ok 155 - commit NNO files attr=text aeol=crlf crlf=false CRLF
expecting success of 0027.156 'commit NNO files attr=text aeol=crlf crlf=false CRLF_mix_LF':
check_warning "$lfmixcrlf" ${pfx}_CRLF_mix_LF.err
ok 156 - commit NNO files attr=text aeol=crlf crlf=false CRLF_mix_LF
expecting success of 0027.157 'commit NNO files attr=text aeol=crlf crlf=false LF_mix_cr':
check_warning "$lfmixcr" ${pfx}_LF_mix_CR.err
ok 157 - commit NNO files attr=text aeol=crlf crlf=false LF_mix_cr
expecting success of 0027.158 'commit NNO files attr=text aeol=crlf crlf=false CRLF_nul':
check_warning "$crlfnul" ${pfx}_CRLF_nul.err
ok 158 - commit NNO files attr=text aeol=crlf crlf=false CRLF_nul
expecting success of 0027.159 'commit NNO files crlf=input attr=-text LF':
check_warning "$lfwarn" ${pfx}_LF.err
ok 159 - commit NNO files crlf=input attr=-text LF
expecting success of 0027.160 'commit NNO files attr=-text aeol= crlf=input CRLF':
check_warning "$crlfwarn" ${pfx}_CRLF.err
ok 160 - commit NNO files attr=-text aeol= crlf=input CRLF
expecting success of 0027.161 'commit NNO files attr=-text aeol= crlf=input CRLF_mix_LF':
check_warning "$lfmixcrlf" ${pfx}_CRLF_mix_LF.err
ok 161 - commit NNO files attr=-text aeol= crlf=input CRLF_mix_LF
expecting success of 0027.162 'commit NNO files attr=-text aeol= crlf=input LF_mix_cr':
check_warning "$lfmixcr" ${pfx}_LF_mix_CR.err
ok 162 - commit NNO files attr=-text aeol= crlf=input LF_mix_cr
expecting success of 0027.163 'commit NNO files attr=-text aeol= crlf=input CRLF_nul':
check_warning "$crlfnul" ${pfx}_CRLF_nul.err
ok 163 - commit NNO files attr=-text aeol= crlf=input CRLF_nul
expecting success of 0027.164 'commit NNO files crlf=input attr=-text LF':
check_warning "$lfwarn" ${pfx}_LF.err
ok 164 - commit NNO files crlf=input attr=-text LF
expecting success of 0027.165 'commit NNO files attr=-text aeol=lf crlf=input CRLF':
check_warning "$crlfwarn" ${pfx}_CRLF.err
ok 165 - commit NNO files attr=-text aeol=lf crlf=input CRLF
expecting success of 0027.166 'commit NNO files attr=-text aeol=lf crlf=input CRLF_mix_LF':
check_warning "$lfmixcrlf" ${pfx}_CRLF_mix_LF.err
ok 166 - commit NNO files attr=-text aeol=lf crlf=input CRLF_mix_LF
expecting success of 0027.167 'commit NNO files attr=-text aeol=lf crlf=input LF_mix_cr':
check_warning "$lfmixcr" ${pfx}_LF_mix_CR.err
ok 167 - commit NNO files attr=-text aeol=lf crlf=input LF_mix_cr
expecting success of 0027.168 'commit NNO files attr=-text aeol=lf crlf=input CRLF_nul':
check_warning "$crlfnul" ${pfx}_CRLF_nul.err
ok 168 - commit NNO files attr=-text aeol=lf crlf=input CRLF_nul
expecting success of 0027.169 'commit NNO files crlf=input attr=-text LF':
check_warning "$lfwarn" ${pfx}_LF.err
ok 169 - commit NNO files crlf=input attr=-text LF
expecting success of 0027.170 'commit NNO files attr=-text aeol=crlf crlf=input CRLF':
check_warning "$crlfwarn" ${pfx}_CRLF.err
ok 170 - commit NNO files attr=-text aeol=crlf crlf=input CRLF
expecting success of 0027.171 'commit NNO files attr=-text aeol=crlf crlf=input CRLF_mix_LF':
check_warning "$lfmixcrlf" ${pfx}_CRLF_mix_LF.err
ok 171 - commit NNO files attr=-text aeol=crlf crlf=input CRLF_mix_LF
expecting success of 0027.172 'commit NNO files attr=-text aeol=crlf crlf=input LF_mix_cr':
check_warning "$lfmixcr" ${pfx}_LF_mix_CR.err
ok 172 - commit NNO files attr=-text aeol=crlf crlf=input LF_mix_cr
expecting success of 0027.173 'commit NNO files attr=-text aeol=crlf crlf=input CRLF_nul':
check_warning "$crlfnul" ${pfx}_CRLF_nul.err
ok 173 - commit NNO files attr=-text aeol=crlf crlf=input CRLF_nul
expecting success of 0027.174 'commit NNO files crlf=input attr= LF':
check_warning "$lfwarn" ${pfx}_LF.err
ok 174 - commit NNO files crlf=input attr= LF
expecting success of 0027.175 'commit NNO files attr= aeol=lf crlf=input CRLF':
check_warning "$crlfwarn" ${pfx}_CRLF.err
ok 175 - commit NNO files attr= aeol=lf crlf=input CRLF
expecting success of 0027.176 'commit NNO files attr= aeol=lf crlf=input CRLF_mix_LF':
check_warning "$lfmixcrlf" ${pfx}_CRLF_mix_LF.err
ok 176 - commit NNO files attr= aeol=lf crlf=input CRLF_mix_LF
expecting success of 0027.177 'commit NNO files attr= aeol=lf crlf=input LF_mix_cr':
check_warning "$lfmixcr" ${pfx}_LF_mix_CR.err
ok 177 - commit NNO files attr= aeol=lf crlf=input LF_mix_cr
expecting success of 0027.178 'commit NNO files attr= aeol=lf crlf=input CRLF_nul':
check_warning "$crlfnul" ${pfx}_CRLF_nul.err
ok 178 - commit NNO files attr= aeol=lf crlf=input CRLF_nul
expecting success of 0027.179 'commit NNO files crlf=input attr= LF':
check_warning "$lfwarn" ${pfx}_LF.err
ok 179 - commit NNO files crlf=input attr= LF
expecting success of 0027.180 'commit NNO files attr= aeol=crlf crlf=input CRLF':
check_warning "$crlfwarn" ${pfx}_CRLF.err
ok 180 - commit NNO files attr= aeol=crlf crlf=input CRLF
expecting success of 0027.181 'commit NNO files attr= aeol=crlf crlf=input CRLF_mix_LF':
check_warning "$lfmixcrlf" ${pfx}_CRLF_mix_LF.err
ok 181 - commit NNO files attr= aeol=crlf crlf=input CRLF_mix_LF
expecting success of 0027.182 'commit NNO files attr= aeol=crlf crlf=input LF_mix_cr':
check_warning "$lfmixcr" ${pfx}_LF_mix_CR.err
ok 182 - commit NNO files attr= aeol=crlf crlf=input LF_mix_cr
expecting success of 0027.183 'commit NNO files attr= aeol=crlf crlf=input CRLF_nul':
check_warning "$crlfnul" ${pfx}_CRLF_nul.err
ok 183 - commit NNO files attr= aeol=crlf crlf=input CRLF_nul
expecting success of 0027.184 'commit NNO files crlf=input attr=auto LF':
check_warning "$lfwarn" ${pfx}_LF.err
ok 184 - commit NNO files crlf=input attr=auto LF
expecting success of 0027.185 'commit NNO files attr=auto aeol=lf crlf=input CRLF':
check_warning "$crlfwarn" ${pfx}_CRLF.err
ok 185 - commit NNO files attr=auto aeol=lf crlf=input CRLF
expecting success of 0027.186 'commit NNO files attr=auto aeol=lf crlf=input CRLF_mix_LF':
check_warning "$lfmixcrlf" ${pfx}_CRLF_mix_LF.err
ok 186 - commit NNO files attr=auto aeol=lf crlf=input CRLF_mix_LF
expecting success of 0027.187 'commit NNO files attr=auto aeol=lf crlf=input LF_mix_cr':
check_warning "$lfmixcr" ${pfx}_LF_mix_CR.err
ok 187 - commit NNO files attr=auto aeol=lf crlf=input LF_mix_cr
expecting success of 0027.188 'commit NNO files attr=auto aeol=lf crlf=input CRLF_nul':
check_warning "$crlfnul" ${pfx}_CRLF_nul.err
ok 188 - commit NNO files attr=auto aeol=lf crlf=input CRLF_nul
expecting success of 0027.189 'commit NNO files crlf=input attr=auto LF':
check_warning "$lfwarn" ${pfx}_LF.err
ok 189 - commit NNO files crlf=input attr=auto LF
expecting success of 0027.190 'commit NNO files attr=auto aeol=crlf crlf=input CRLF':
check_warning "$crlfwarn" ${pfx}_CRLF.err
ok 190 - commit NNO files attr=auto aeol=crlf crlf=input CRLF
expecting success of 0027.191 'commit NNO files attr=auto aeol=crlf crlf=input CRLF_mix_LF':
check_warning "$lfmixcrlf" ${pfx}_CRLF_mix_LF.err
ok 191 - commit NNO files attr=auto aeol=crlf crlf=input CRLF_mix_LF
expecting success of 0027.192 'commit NNO files attr=auto aeol=crlf crlf=input LF_mix_cr':
check_warning "$lfmixcr" ${pfx}_LF_mix_CR.err
ok 192 - commit NNO files attr=auto aeol=crlf crlf=input LF_mix_cr
expecting success of 0027.193 'commit NNO files attr=auto aeol=crlf crlf=input CRLF_nul':
check_warning "$crlfnul" ${pfx}_CRLF_nul.err
ok 193 - commit NNO files attr=auto aeol=crlf crlf=input CRLF_nul
expecting success of 0027.194 'commit NNO files crlf=input attr=text LF':
check_warning "$lfwarn" ${pfx}_LF.err
ok 194 - commit NNO files crlf=input attr=text LF
expecting success of 0027.195 'commit NNO files attr=text aeol=lf crlf=input CRLF':
check_warning "$crlfwarn" ${pfx}_CRLF.err
ok 195 - commit NNO files attr=text aeol=lf crlf=input CRLF
expecting success of 0027.196 'commit NNO files attr=text aeol=lf crlf=input CRLF_mix_LF':
check_warning "$lfmixcrlf" ${pfx}_CRLF_mix_LF.err
ok 196 - commit NNO files attr=text aeol=lf crlf=input CRLF_mix_LF
expecting success of 0027.197 'commit NNO files attr=text aeol=lf crlf=input LF_mix_cr':
check_warning "$lfmixcr" ${pfx}_LF_mix_CR.err
ok 197 - commit NNO files attr=text aeol=lf crlf=input LF_mix_cr
expecting success of 0027.198 'commit NNO files attr=text aeol=lf crlf=input CRLF_nul':
check_warning "$crlfnul" ${pfx}_CRLF_nul.err
ok 198 - commit NNO files attr=text aeol=lf crlf=input CRLF_nul
expecting success of 0027.199 'commit NNO files crlf=input attr=text LF':
check_warning "$lfwarn" ${pfx}_LF.err
ok 199 - commit NNO files crlf=input attr=text LF
expecting success of 0027.200 'commit NNO files attr=text aeol=crlf crlf=input CRLF':
check_warning "$crlfwarn" ${pfx}_CRLF.err
ok 200 - commit NNO files attr=text aeol=crlf crlf=input CRLF
expecting success of 0027.201 'commit NNO files attr=text aeol=crlf crlf=input CRLF_mix_LF':
check_warning "$lfmixcrlf" ${pfx}_CRLF_mix_LF.err
ok 201 - commit NNO files attr=text aeol=crlf crlf=input CRLF_mix_LF
expecting success of 0027.202 'commit NNO files attr=text aeol=crlf crlf=input LF_mix_cr':
check_warning "$lfmixcr" ${pfx}_LF_mix_CR.err
ok 202 - commit NNO files attr=text aeol=crlf crlf=input LF_mix_cr
expecting success of 0027.203 'commit NNO files attr=text aeol=crlf crlf=input CRLF_nul':
check_warning "$crlfnul" ${pfx}_CRLF_nul.err
ok 203 - commit NNO files attr=text aeol=crlf crlf=input CRLF_nul
expecting success of 0027.204 'commit NNO files crlf=false attr=text LF':
check_warning "$lfwarn" ${pfx}_LF.err
ok 204 - commit NNO files crlf=false attr=text LF
expecting success of 0027.205 'commit NNO files attr=text aeol= crlf=false CRLF':
check_warning "$crlfwarn" ${pfx}_CRLF.err
ok 205 - commit NNO files attr=text aeol= crlf=false CRLF
expecting success of 0027.206 'commit NNO files attr=text aeol= crlf=false CRLF_mix_LF':
check_warning "$lfmixcrlf" ${pfx}_CRLF_mix_LF.err
ok 206 - commit NNO files attr=text aeol= crlf=false CRLF_mix_LF
expecting success of 0027.207 'commit NNO files attr=text aeol= crlf=false LF_mix_cr':
check_warning "$lfmixcr" ${pfx}_LF_mix_CR.err
ok 207 - commit NNO files attr=text aeol= crlf=false LF_mix_cr
expecting success of 0027.208 'commit NNO files attr=text aeol= crlf=false CRLF_nul':
check_warning "$crlfnul" ${pfx}_CRLF_nul.err
ok 208 - commit NNO files attr=text aeol= crlf=false CRLF_nul
expecting success of 0027.209 'commit NNO files crlf=true attr=text LF':
check_warning "$lfwarn" ${pfx}_LF.err
ok 209 - commit NNO files crlf=true attr=text LF
expecting success of 0027.210 'commit NNO files attr=text aeol= crlf=true CRLF':
check_warning "$crlfwarn" ${pfx}_CRLF.err
ok 210 - commit NNO files attr=text aeol= crlf=true CRLF
expecting success of 0027.211 'commit NNO files attr=text aeol= crlf=true CRLF_mix_LF':
check_warning "$lfmixcrlf" ${pfx}_CRLF_mix_LF.err
ok 211 - commit NNO files attr=text aeol= crlf=true CRLF_mix_LF
expecting success of 0027.212 'commit NNO files attr=text aeol= crlf=true LF_mix_cr':
check_warning "$lfmixcr" ${pfx}_LF_mix_CR.err
ok 212 - commit NNO files attr=text aeol= crlf=true LF_mix_cr
expecting success of 0027.213 'commit NNO files attr=text aeol= crlf=true CRLF_nul':
check_warning "$crlfnul" ${pfx}_CRLF_nul.err
ok 213 - commit NNO files attr=text aeol= crlf=true CRLF_nul
expecting success of 0027.214 'commit NNO files crlf=input attr=text LF':
check_warning "$lfwarn" ${pfx}_LF.err
ok 214 - commit NNO files crlf=input attr=text LF
expecting success of 0027.215 'commit NNO files attr=text aeol= crlf=input CRLF':
check_warning "$crlfwarn" ${pfx}_CRLF.err
ok 215 - commit NNO files attr=text aeol= crlf=input CRLF
expecting success of 0027.216 'commit NNO files attr=text aeol= crlf=input CRLF_mix_LF':
check_warning "$lfmixcrlf" ${pfx}_CRLF_mix_LF.err
ok 216 - commit NNO files attr=text aeol= crlf=input CRLF_mix_LF
expecting success of 0027.217 'commit NNO files attr=text aeol= crlf=input LF_mix_cr':
check_warning "$lfmixcr" ${pfx}_LF_mix_CR.err
ok 217 - commit NNO files attr=text aeol= crlf=input LF_mix_cr
expecting success of 0027.218 'commit NNO files attr=text aeol= crlf=input CRLF_nul':
check_warning "$crlfnul" ${pfx}_CRLF_nul.err
ok 218 - commit NNO files attr=text aeol= crlf=input CRLF_nul
expecting success of 0027.219 'commit NNO and cleanup':
git commit -m "commit files on top of NNO" &&
rm -f *.txt &&
git -c core.autocrlf=false reset --hard
[master 760ddab] commit files on top of NNO
Author: A U Thor <author@example.com>
210 files changed, 332 insertions(+), 362 deletions(-)
HEAD is now at 760ddab commit files on top of NNO
ok 219 - commit NNO and cleanup
expecting success of 0027.220 'commit empty gitattribues':
check_files_in_repo false "" LF CRLF CRLF_mix_LF LF_mix_CR CRLF_nul &&
check_files_in_repo true "" LF LF LF LF_mix_CR CRLF_nul &&
check_files_in_repo input "" LF LF LF LF_mix_CR CRLF_nul
ok 220 - commit empty gitattribues
expecting success of 0027.221 'commit text=auto':
check_files_in_repo false "auto" LF LF LF LF_mix_CR CRLF_nul &&
check_files_in_repo true "auto" LF LF LF LF_mix_CR CRLF_nul &&
check_files_in_repo input "auto" LF LF LF LF_mix_CR CRLF_nul
ok 221 - commit text=auto
expecting success of 0027.222 'commit text':
check_files_in_repo false "text" LF LF LF LF_mix_CR LF_nul &&
check_files_in_repo true "text" LF LF LF LF_mix_CR LF_nul &&
check_files_in_repo input "text" LF LF LF LF_mix_CR LF_nul
ok 222 - commit text
expecting success of 0027.223 'commit -text':
check_files_in_repo false "-text" LF CRLF CRLF_mix_LF LF_mix_CR CRLF_nul &&
check_files_in_repo true "-text" LF CRLF CRLF_mix_LF LF_mix_CR CRLF_nul &&
check_files_in_repo input "-text" LF CRLF CRLF_mix_LF LF_mix_CR CRLF_nul
ok 223 - commit -text
expecting success of 0027.224 'compare_files LF NNO_attr__aeol__true_LF.txt':
compare_files $lfname ${pfx}_LF.txt
ok 224 - compare_files LF NNO_attr__aeol__true_LF.txt
expecting success of 0027.225 'compare_files CRLF NNO_attr__aeol__true_CRLF.txt':
compare_files $crlfname ${pfx}_CRLF.txt
ok 225 - compare_files CRLF NNO_attr__aeol__true_CRLF.txt
expecting success of 0027.226 'compare_files CRLF_mix_LF NNO_attr__aeol__true_CRLF_mix_LF.txt':
compare_files $lfmixcrlf ${pfx}_CRLF_mix_LF.txt
ok 226 - compare_files CRLF_mix_LF NNO_attr__aeol__true_CRLF_mix_LF.txt
expecting success of 0027.227 'compare_files LF_mix_CR NNO_attr__aeol__true_LF_mix_CR.txt':
compare_files $lfmixcr ${pfx}_LF_mix_CR.txt
ok 227 - compare_files LF_mix_CR NNO_attr__aeol__true_LF_mix_CR.txt
expecting success of 0027.228 'compare_files CRLF_nul NNO_attr__aeol__true_CRLF_nul.txt':
compare_files $crlfnul ${pfx}_CRLF_nul.txt
ok 228 - compare_files CRLF_nul NNO_attr__aeol__true_CRLF_nul.txt
expecting success of 0027.229 'compare_files LF NNO_attr_-text_aeol__true_LF.txt':
compare_files $lfname ${pfx}_LF.txt
ok 229 - compare_files LF NNO_attr_-text_aeol__true_LF.txt
expecting success of 0027.230 'compare_files CRLF NNO_attr_-text_aeol__true_CRLF.txt':
compare_files $crlfname ${pfx}_CRLF.txt
ok 230 - compare_files CRLF NNO_attr_-text_aeol__true_CRLF.txt
expecting success of 0027.231 'compare_files CRLF_mix_LF NNO_attr_-text_aeol__true_CRLF_mix_LF.txt':
compare_files $lfmixcrlf ${pfx}_CRLF_mix_LF.txt
ok 231 - compare_files CRLF_mix_LF NNO_attr_-text_aeol__true_CRLF_mix_LF.txt
expecting success of 0027.232 'compare_files LF_mix_CR NNO_attr_-text_aeol__true_LF_mix_CR.txt':
compare_files $lfmixcr ${pfx}_LF_mix_CR.txt
ok 232 - compare_files LF_mix_CR NNO_attr_-text_aeol__true_LF_mix_CR.txt
expecting success of 0027.233 'compare_files CRLF_nul NNO_attr_-text_aeol__true_CRLF_nul.txt':
compare_files $crlfnul ${pfx}_CRLF_nul.txt
ok 233 - compare_files CRLF_nul NNO_attr_-text_aeol__true_CRLF_nul.txt
expecting success of 0027.234 'compare_files LF NNO_attr_-text_aeol_lf_true_LF.txt':
compare_files $lfname ${pfx}_LF.txt
ok 234 - compare_files LF NNO_attr_-text_aeol_lf_true_LF.txt
expecting success of 0027.235 'compare_files CRLF NNO_attr_-text_aeol_lf_true_CRLF.txt':
compare_files $crlfname ${pfx}_CRLF.txt
ok 235 - compare_files CRLF NNO_attr_-text_aeol_lf_true_CRLF.txt
expecting success of 0027.236 'compare_files CRLF_mix_LF NNO_attr_-text_aeol_lf_true_CRLF_mix_LF.txt':
compare_files $lfmixcrlf ${pfx}_CRLF_mix_LF.txt
ok 236 - compare_files CRLF_mix_LF NNO_attr_-text_aeol_lf_true_CRLF_mix_LF.txt
expecting success of 0027.237 'compare_files LF_mix_CR NNO_attr_-text_aeol_lf_true_LF_mix_CR.txt':
compare_files $lfmixcr ${pfx}_LF_mix_CR.txt
ok 237 - compare_files LF_mix_CR NNO_attr_-text_aeol_lf_true_LF_mix_CR.txt
expecting success of 0027.238 'compare_files CRLF_nul NNO_attr_-text_aeol_lf_true_CRLF_nul.txt':
compare_files $crlfnul ${pfx}_CRLF_nul.txt
ok 238 - compare_files CRLF_nul NNO_attr_-text_aeol_lf_true_CRLF_nul.txt
expecting success of 0027.239 'compare_files LF NNO_attr_-text_aeol_crlf_true_LF.txt':
compare_files $lfname ${pfx}_LF.txt
ok 239 - compare_files LF NNO_attr_-text_aeol_crlf_true_LF.txt
expecting success of 0027.240 'compare_files CRLF NNO_attr_-text_aeol_crlf_true_CRLF.txt':
compare_files $crlfname ${pfx}_CRLF.txt
ok 240 - compare_files CRLF NNO_attr_-text_aeol_crlf_true_CRLF.txt
expecting success of 0027.241 'compare_files CRLF_mix_LF NNO_attr_-text_aeol_crlf_true_CRLF_mix_LF.txt':
compare_files $lfmixcrlf ${pfx}_CRLF_mix_LF.txt
ok 241 - compare_files CRLF_mix_LF NNO_attr_-text_aeol_crlf_true_CRLF_mix_LF.txt
expecting success of 0027.242 'compare_files LF_mix_CR NNO_attr_-text_aeol_crlf_true_LF_mix_CR.txt':
compare_files $lfmixcr ${pfx}_LF_mix_CR.txt
ok 242 - compare_files LF_mix_CR NNO_attr_-text_aeol_crlf_true_LF_mix_CR.txt
expecting success of 0027.243 'compare_files CRLF_nul NNO_attr_-text_aeol_crlf_true_CRLF_nul.txt':
compare_files $crlfnul ${pfx}_CRLF_nul.txt
ok 243 - compare_files CRLF_nul NNO_attr_-text_aeol_crlf_true_CRLF_nul.txt
expecting success of 0027.244 'compare_files LF NNO_attr_auto_aeol__true_LF.txt':
compare_files $lfname ${pfx}_LF.txt
ok 244 - compare_files LF NNO_attr_auto_aeol__true_LF.txt
expecting success of 0027.245 'compare_files CRLF NNO_attr_auto_aeol__true_CRLF.txt':
compare_files $crlfname ${pfx}_CRLF.txt
ok 245 - compare_files CRLF NNO_attr_auto_aeol__true_CRLF.txt
expecting success of 0027.246 'compare_files CRLF_mix_LF NNO_attr_auto_aeol__true_CRLF_mix_LF.txt':
compare_files $lfmixcrlf ${pfx}_CRLF_mix_LF.txt
ok 246 - compare_files CRLF_mix_LF NNO_attr_auto_aeol__true_CRLF_mix_LF.txt
expecting success of 0027.247 'compare_files LF_mix_CR NNO_attr_auto_aeol__true_LF_mix_CR.txt':
compare_files $lfmixcr ${pfx}_LF_mix_CR.txt
ok 247 - compare_files LF_mix_CR NNO_attr_auto_aeol__true_LF_mix_CR.txt
expecting success of 0027.248 'compare_files CRLF_nul NNO_attr_auto_aeol__true_CRLF_nul.txt':
compare_files $crlfnul ${pfx}_CRLF_nul.txt
ok 248 - compare_files CRLF_nul NNO_attr_auto_aeol__true_CRLF_nul.txt
expecting success of 0027.249 'compare_files LF NNO_attr_auto_aeol_lf_true_LF.txt':
compare_files $lfname ${pfx}_LF.txt
ok 249 - compare_files LF NNO_attr_auto_aeol_lf_true_LF.txt
expecting success of 0027.250 'compare_files CRLF NNO_attr_auto_aeol_lf_true_CRLF.txt':
compare_files $crlfname ${pfx}_CRLF.txt
ok 250 - compare_files CRLF NNO_attr_auto_aeol_lf_true_CRLF.txt
expecting success of 0027.251 'compare_files CRLF_mix_LF NNO_attr_auto_aeol_lf_true_CRLF_mix_LF.txt':
compare_files $lfmixcrlf ${pfx}_CRLF_mix_LF.txt
ok 251 - compare_files CRLF_mix_LF NNO_attr_auto_aeol_lf_true_CRLF_mix_LF.txt
expecting success of 0027.252 'compare_files LF_mix_CR NNO_attr_auto_aeol_lf_true_LF_mix_CR.txt':
compare_files $lfmixcr ${pfx}_LF_mix_CR.txt
ok 252 - compare_files LF_mix_CR NNO_attr_auto_aeol_lf_true_LF_mix_CR.txt
expecting success of 0027.253 'compare_files CRLF_nul NNO_attr_auto_aeol_lf_true_CRLF_nul.txt':
compare_files $crlfnul ${pfx}_CRLF_nul.txt
ok 253 - compare_files CRLF_nul NNO_attr_auto_aeol_lf_true_CRLF_nul.txt
expecting success of 0027.254 'compare_files LF NNO_attr_auto_aeol_crlf_true_LF.txt':
compare_files $lfname ${pfx}_LF.txt
ok 254 - compare_files LF NNO_attr_auto_aeol_crlf_true_LF.txt
expecting success of 0027.255 'compare_files CRLF NNO_attr_auto_aeol_crlf_true_CRLF.txt':
compare_files $crlfname ${pfx}_CRLF.txt
ok 255 - compare_files CRLF NNO_attr_auto_aeol_crlf_true_CRLF.txt
expecting success of 0027.256 'compare_files CRLF_mix_LF NNO_attr_auto_aeol_crlf_true_CRLF_mix_LF.txt':
compare_files $lfmixcrlf ${pfx}_CRLF_mix_LF.txt
ok 256 - compare_files CRLF_mix_LF NNO_attr_auto_aeol_crlf_true_CRLF_mix_LF.txt
expecting success of 0027.257 'compare_files LF_mix_CR NNO_attr_auto_aeol_crlf_true_LF_mix_CR.txt':
compare_files $lfmixcr ${pfx}_LF_mix_CR.txt
ok 257 - compare_files LF_mix_CR NNO_attr_auto_aeol_crlf_true_LF_mix_CR.txt
expecting success of 0027.258 'compare_files CRLF_nul NNO_attr_auto_aeol_crlf_true_CRLF_nul.txt':
compare_files $crlfnul ${pfx}_CRLF_nul.txt
ok 258 - compare_files CRLF_nul NNO_attr_auto_aeol_crlf_true_CRLF_nul.txt
expecting success of 0027.259 'compare_files LF NNO_attr_text_aeol__true_LF.txt':
compare_files $lfname ${pfx}_LF.txt
ok 259 - compare_files LF NNO_attr_text_aeol__true_LF.txt
expecting success of 0027.260 'compare_files LF NNO_attr_text_aeol__true_CRLF.txt':
compare_files $crlfname ${pfx}_CRLF.txt
ok 260 - compare_files LF NNO_attr_text_aeol__true_CRLF.txt
expecting success of 0027.261 'compare_files LF NNO_attr_text_aeol__true_CRLF_mix_LF.txt':
compare_files $lfmixcrlf ${pfx}_CRLF_mix_LF.txt
ok 261 - compare_files LF NNO_attr_text_aeol__true_CRLF_mix_LF.txt
expecting success of 0027.262 'compare_files LF_mix_CR NNO_attr_text_aeol__true_LF_mix_CR.txt':
compare_files $lfmixcr ${pfx}_LF_mix_CR.txt
ok 262 - compare_files LF_mix_CR NNO_attr_text_aeol__true_LF_mix_CR.txt
expecting success of 0027.263 'compare_files LF_nul NNO_attr_text_aeol__true_CRLF_nul.txt':
compare_files $crlfnul ${pfx}_CRLF_nul.txt
ok 263 - compare_files LF_nul NNO_attr_text_aeol__true_CRLF_nul.txt
expecting success of 0027.264 'compare_files LF NNO_attr_text_aeol_lf_true_LF.txt':
compare_files $lfname ${pfx}_LF.txt
ok 264 - compare_files LF NNO_attr_text_aeol_lf_true_LF.txt
expecting success of 0027.265 'compare_files LF NNO_attr_text_aeol_lf_true_CRLF.txt':
compare_files $crlfname ${pfx}_CRLF.txt
ok 265 - compare_files LF NNO_attr_text_aeol_lf_true_CRLF.txt
expecting success of 0027.266 'compare_files LF NNO_attr_text_aeol_lf_true_CRLF_mix_LF.txt':
compare_files $lfmixcrlf ${pfx}_CRLF_mix_LF.txt
ok 266 - compare_files LF NNO_attr_text_aeol_lf_true_CRLF_mix_LF.txt
expecting success of 0027.267 'compare_files LF_mix_CR NNO_attr_text_aeol_lf_true_LF_mix_CR.txt':
compare_files $lfmixcr ${pfx}_LF_mix_CR.txt
ok 267 - compare_files LF_mix_CR NNO_attr_text_aeol_lf_true_LF_mix_CR.txt
expecting success of 0027.268 'compare_files LF_nul NNO_attr_text_aeol_lf_true_CRLF_nul.txt':
compare_files $crlfnul ${pfx}_CRLF_nul.txt
ok 268 - compare_files LF_nul NNO_attr_text_aeol_lf_true_CRLF_nul.txt
expecting success of 0027.269 'compare_files LF NNO_attr_text_aeol_crlf_true_LF.txt':
compare_files $lfname ${pfx}_LF.txt
ok 269 - compare_files LF NNO_attr_text_aeol_crlf_true_LF.txt
expecting success of 0027.270 'compare_files LF NNO_attr_text_aeol_crlf_true_CRLF.txt':
compare_files $crlfname ${pfx}_CRLF.txt
ok 270 - compare_files LF NNO_attr_text_aeol_crlf_true_CRLF.txt
expecting success of 0027.271 'compare_files LF NNO_attr_text_aeol_crlf_true_CRLF_mix_LF.txt':
compare_files $lfmixcrlf ${pfx}_CRLF_mix_LF.txt
ok 271 - compare_files LF NNO_attr_text_aeol_crlf_true_CRLF_mix_LF.txt
expecting success of 0027.272 'compare_files LF_mix_CR NNO_attr_text_aeol_crlf_true_LF_mix_CR.txt':
compare_files $lfmixcr ${pfx}_LF_mix_CR.txt
ok 272 - compare_files LF_mix_CR NNO_attr_text_aeol_crlf_true_LF_mix_CR.txt
expecting success of 0027.273 'compare_files LF_nul NNO_attr_text_aeol_crlf_true_CRLF_nul.txt':
compare_files $crlfnul ${pfx}_CRLF_nul.txt
ok 273 - compare_files LF_nul NNO_attr_text_aeol_crlf_true_CRLF_nul.txt
expecting success of 0027.274 'compare_files LF NNO_attr__aeol__false_LF.txt':
compare_files $lfname ${pfx}_LF.txt
ok 274 - compare_files LF NNO_attr__aeol__false_LF.txt
expecting success of 0027.275 'compare_files CRLF NNO_attr__aeol__false_CRLF.txt':
compare_files $crlfname ${pfx}_CRLF.txt
ok 275 - compare_files CRLF NNO_attr__aeol__false_CRLF.txt
expecting success of 0027.276 'compare_files CRLF_mix_LF NNO_attr__aeol__false_CRLF_mix_LF.txt':
compare_files $lfmixcrlf ${pfx}_CRLF_mix_LF.txt
ok 276 - compare_files CRLF_mix_LF NNO_attr__aeol__false_CRLF_mix_LF.txt
expecting success of 0027.277 'compare_files LF_mix_CR NNO_attr__aeol__false_LF_mix_CR.txt':
compare_files $lfmixcr ${pfx}_LF_mix_CR.txt
ok 277 - compare_files LF_mix_CR NNO_attr__aeol__false_LF_mix_CR.txt
expecting success of 0027.278 'compare_files CRLF_nul NNO_attr__aeol__false_CRLF_nul.txt':
compare_files $crlfnul ${pfx}_CRLF_nul.txt
ok 278 - compare_files CRLF_nul NNO_attr__aeol__false_CRLF_nul.txt
expecting success of 0027.279 'compare_files LF NNO_attr_-text_aeol__false_LF.txt':
compare_files $lfname ${pfx}_LF.txt
ok 279 - compare_files LF NNO_attr_-text_aeol__false_LF.txt
expecting success of 0027.280 'compare_files CRLF NNO_attr_-text_aeol__false_CRLF.txt':
compare_files $crlfname ${pfx}_CRLF.txt
ok 280 - compare_files CRLF NNO_attr_-text_aeol__false_CRLF.txt
expecting success of 0027.281 'compare_files CRLF_mix_LF NNO_attr_-text_aeol__false_CRLF_mix_LF.txt':
compare_files $lfmixcrlf ${pfx}_CRLF_mix_LF.txt
ok 281 - compare_files CRLF_mix_LF NNO_attr_-text_aeol__false_CRLF_mix_LF.txt
expecting success of 0027.282 'compare_files LF_mix_CR NNO_attr_-text_aeol__false_LF_mix_CR.txt':
compare_files $lfmixcr ${pfx}_LF_mix_CR.txt
ok 282 - compare_files LF_mix_CR NNO_attr_-text_aeol__false_LF_mix_CR.txt
expecting success of 0027.283 'compare_files CRLF_nul NNO_attr_-text_aeol__false_CRLF_nul.txt':
compare_files $crlfnul ${pfx}_CRLF_nul.txt
ok 283 - compare_files CRLF_nul NNO_attr_-text_aeol__false_CRLF_nul.txt
expecting success of 0027.284 'compare_files LF NNO_attr_-text_aeol_lf_false_LF.txt':
compare_files $lfname ${pfx}_LF.txt
ok 284 - compare_files LF NNO_attr_-text_aeol_lf_false_LF.txt
expecting success of 0027.285 'compare_files CRLF NNO_attr_-text_aeol_lf_false_CRLF.txt':
compare_files $crlfname ${pfx}_CRLF.txt
ok 285 - compare_files CRLF NNO_attr_-text_aeol_lf_false_CRLF.txt
expecting success of 0027.286 'compare_files CRLF_mix_LF NNO_attr_-text_aeol_lf_false_CRLF_mix_LF.txt':
compare_files $lfmixcrlf ${pfx}_CRLF_mix_LF.txt
ok 286 - compare_files CRLF_mix_LF NNO_attr_-text_aeol_lf_false_CRLF_mix_LF.txt
expecting success of 0027.287 'compare_files LF_mix_CR NNO_attr_-text_aeol_lf_false_LF_mix_CR.txt':
compare_files $lfmixcr ${pfx}_LF_mix_CR.txt
ok 287 - compare_files LF_mix_CR NNO_attr_-text_aeol_lf_false_LF_mix_CR.txt
expecting success of 0027.288 'compare_files CRLF_nul NNO_attr_-text_aeol_lf_false_CRLF_nul.txt':
compare_files $crlfnul ${pfx}_CRLF_nul.txt
ok 288 - compare_files CRLF_nul NNO_attr_-text_aeol_lf_false_CRLF_nul.txt
expecting success of 0027.289 'compare_files LF NNO_attr_-text_aeol_crlf_false_LF.txt':
compare_files $lfname ${pfx}_LF.txt
ok 289 - compare_files LF NNO_attr_-text_aeol_crlf_false_LF.txt
expecting success of 0027.290 'compare_files CRLF NNO_attr_-text_aeol_crlf_false_CRLF.txt':
compare_files $crlfname ${pfx}_CRLF.txt
ok 290 - compare_files CRLF NNO_attr_-text_aeol_crlf_false_CRLF.txt
expecting success of 0027.291 'compare_files CRLF_mix_LF NNO_attr_-text_aeol_crlf_false_CRLF_mix_LF.txt':
compare_files $lfmixcrlf ${pfx}_CRLF_mix_LF.txt
ok 291 - compare_files CRLF_mix_LF NNO_attr_-text_aeol_crlf_false_CRLF_mix_LF.txt
expecting success of 0027.292 'compare_files LF_mix_CR NNO_attr_-text_aeol_crlf_false_LF_mix_CR.txt':
compare_files $lfmixcr ${pfx}_LF_mix_CR.txt
ok 292 - compare_files LF_mix_CR NNO_attr_-text_aeol_crlf_false_LF_mix_CR.txt
expecting success of 0027.293 'compare_files CRLF_nul NNO_attr_-text_aeol_crlf_false_CRLF_nul.txt':
compare_files $crlfnul ${pfx}_CRLF_nul.txt
ok 293 - compare_files CRLF_nul NNO_attr_-text_aeol_crlf_false_CRLF_nul.txt
expecting success of 0027.294 'compare_files LF NNO_attr_auto_aeol__false_LF.txt':
compare_files $lfname ${pfx}_LF.txt
ok 294 - compare_files LF NNO_attr_auto_aeol__false_LF.txt
expecting success of 0027.295 'compare_files CRLF NNO_attr_auto_aeol__false_CRLF.txt':
compare_files $crlfname ${pfx}_CRLF.txt
ok 295 - compare_files CRLF NNO_attr_auto_aeol__false_CRLF.txt
expecting success of 0027.296 'compare_files CRLF_mix_LF NNO_attr_auto_aeol__false_CRLF_mix_LF.txt':
compare_files $lfmixcrlf ${pfx}_CRLF_mix_LF.txt
ok 296 - compare_files CRLF_mix_LF NNO_attr_auto_aeol__false_CRLF_mix_LF.txt
expecting success of 0027.297 'compare_files LF_mix_CR NNO_attr_auto_aeol__false_LF_mix_CR.txt':
compare_files $lfmixcr ${pfx}_LF_mix_CR.txt
ok 297 - compare_files LF_mix_CR NNO_attr_auto_aeol__false_LF_mix_CR.txt
expecting success of 0027.298 'compare_files CRLF_nul NNO_attr_auto_aeol__false_CRLF_nul.txt':
compare_files $crlfnul ${pfx}_CRLF_nul.txt
ok 298 - compare_files CRLF_nul NNO_attr_auto_aeol__false_CRLF_nul.txt
expecting success of 0027.299 'compare_files LF NNO_attr_auto_aeol_lf_false_LF.txt':
compare_files $lfname ${pfx}_LF.txt
ok 299 - compare_files LF NNO_attr_auto_aeol_lf_false_LF.txt
expecting success of 0027.300 'compare_files CRLF NNO_attr_auto_aeol_lf_false_CRLF.txt':
compare_files $crlfname ${pfx}_CRLF.txt
ok 300 - compare_files CRLF NNO_attr_auto_aeol_lf_false_CRLF.txt
expecting success of 0027.301 'compare_files CRLF_mix_LF NNO_attr_auto_aeol_lf_false_CRLF_mix_LF.txt':
compare_files $lfmixcrlf ${pfx}_CRLF_mix_LF.txt
ok 301 - compare_files CRLF_mix_LF NNO_attr_auto_aeol_lf_false_CRLF_mix_LF.txt
expecting success of 0027.302 'compare_files LF_mix_CR NNO_attr_auto_aeol_lf_false_LF_mix_CR.txt':
compare_files $lfmixcr ${pfx}_LF_mix_CR.txt
ok 302 - compare_files LF_mix_CR NNO_attr_auto_aeol_lf_false_LF_mix_CR.txt
expecting success of 0027.303 'compare_files CRLF_nul NNO_attr_auto_aeol_lf_false_CRLF_nul.txt':
compare_files $crlfnul ${pfx}_CRLF_nul.txt
ok 303 - compare_files CRLF_nul NNO_attr_auto_aeol_lf_false_CRLF_nul.txt
expecting success of 0027.304 'compare_files LF NNO_attr_auto_aeol_crlf_false_LF.txt':
compare_files $lfname ${pfx}_LF.txt
ok 304 - compare_files LF NNO_attr_auto_aeol_crlf_false_LF.txt
expecting success of 0027.305 'compare_files CRLF NNO_attr_auto_aeol_crlf_false_CRLF.txt':
compare_files $crlfname ${pfx}_CRLF.txt
ok 305 - compare_files CRLF NNO_attr_auto_aeol_crlf_false_CRLF.txt
expecting success of 0027.306 'compare_files CRLF_mix_LF NNO_attr_auto_aeol_crlf_false_CRLF_mix_LF.txt':
compare_files $lfmixcrlf ${pfx}_CRLF_mix_LF.txt
ok 306 - compare_files CRLF_mix_LF NNO_attr_auto_aeol_crlf_false_CRLF_mix_LF.txt
expecting success of 0027.307 'compare_files LF_mix_CR NNO_attr_auto_aeol_crlf_false_LF_mix_CR.txt':
compare_files $lfmixcr ${pfx}_LF_mix_CR.txt
ok 307 - compare_files LF_mix_CR NNO_attr_auto_aeol_crlf_false_LF_mix_CR.txt
expecting success of 0027.308 'compare_files CRLF_nul NNO_attr_auto_aeol_crlf_false_CRLF_nul.txt':
compare_files $crlfnul ${pfx}_CRLF_nul.txt
ok 308 - compare_files CRLF_nul NNO_attr_auto_aeol_crlf_false_CRLF_nul.txt
expecting success of 0027.309 'compare_files LF NNO_attr_text_aeol__false_LF.txt':
compare_files $lfname ${pfx}_LF.txt
ok 309 - compare_files LF NNO_attr_text_aeol__false_LF.txt
expecting success of 0027.310 'compare_files LF NNO_attr_text_aeol__false_CRLF.txt':
compare_files $crlfname ${pfx}_CRLF.txt
ok 310 - compare_files LF NNO_attr_text_aeol__false_CRLF.txt
expecting success of 0027.311 'compare_files LF NNO_attr_text_aeol__false_CRLF_mix_LF.txt':
compare_files $lfmixcrlf ${pfx}_CRLF_mix_LF.txt
ok 311 - compare_files LF NNO_attr_text_aeol__false_CRLF_mix_LF.txt
expecting success of 0027.312 'compare_files LF_mix_CR NNO_attr_text_aeol__false_LF_mix_CR.txt':
compare_files $lfmixcr ${pfx}_LF_mix_CR.txt
ok 312 - compare_files LF_mix_CR NNO_attr_text_aeol__false_LF_mix_CR.txt
expecting success of 0027.313 'compare_files LF_nul NNO_attr_text_aeol__false_CRLF_nul.txt':
compare_files $crlfnul ${pfx}_CRLF_nul.txt
ok 313 - compare_files LF_nul NNO_attr_text_aeol__false_CRLF_nul.txt
expecting success of 0027.314 'compare_files LF NNO_attr_text_aeol_lf_false_LF.txt':
compare_files $lfname ${pfx}_LF.txt
ok 314 - compare_files LF NNO_attr_text_aeol_lf_false_LF.txt
expecting success of 0027.315 'compare_files LF NNO_attr_text_aeol_lf_false_CRLF.txt':
compare_files $crlfname ${pfx}_CRLF.txt
ok 315 - compare_files LF NNO_attr_text_aeol_lf_false_CRLF.txt
expecting success of 0027.316 'compare_files LF NNO_attr_text_aeol_lf_false_CRLF_mix_LF.txt':
compare_files $lfmixcrlf ${pfx}_CRLF_mix_LF.txt
ok 316 - compare_files LF NNO_attr_text_aeol_lf_false_CRLF_mix_LF.txt
expecting success of 0027.317 'compare_files LF_mix_CR NNO_attr_text_aeol_lf_false_LF_mix_CR.txt':
compare_files $lfmixcr ${pfx}_LF_mix_CR.txt
ok 317 - compare_files LF_mix_CR NNO_attr_text_aeol_lf_false_LF_mix_CR.txt
expecting success of 0027.318 'compare_files LF_nul NNO_attr_text_aeol_lf_false_CRLF_nul.txt':
compare_files $crlfnul ${pfx}_CRLF_nul.txt
ok 318 - compare_files LF_nul NNO_attr_text_aeol_lf_false_CRLF_nul.txt
expecting success of 0027.319 'compare_files LF NNO_attr_text_aeol_crlf_false_LF.txt':
compare_files $lfname ${pfx}_LF.txt
ok 319 - compare_files LF NNO_attr_text_aeol_crlf_false_LF.txt
expecting success of 0027.320 'compare_files LF NNO_attr_text_aeol_crlf_false_CRLF.txt':
compare_files $crlfname ${pfx}_CRLF.txt
ok 320 - compare_files LF NNO_attr_text_aeol_crlf_false_CRLF.txt
expecting success of 0027.321 'compare_files LF NNO_attr_text_aeol_crlf_false_CRLF_mix_LF.txt':
compare_files $lfmixcrlf ${pfx}_CRLF_mix_LF.txt
ok 321 - compare_files LF NNO_attr_text_aeol_crlf_false_CRLF_mix_LF.txt
expecting success of 0027.322 'compare_files LF_mix_CR NNO_attr_text_aeol_crlf_false_LF_mix_CR.txt':
compare_files $lfmixcr ${pfx}_LF_mix_CR.txt
ok 322 - compare_files LF_mix_CR NNO_attr_text_aeol_crlf_false_LF_mix_CR.txt
expecting success of 0027.323 'compare_files LF_nul NNO_attr_text_aeol_crlf_false_CRLF_nul.txt':
compare_files $crlfnul ${pfx}_CRLF_nul.txt
ok 323 - compare_files LF_nul NNO_attr_text_aeol_crlf_false_CRLF_nul.txt
expecting success of 0027.324 'compare_files LF NNO_attr__aeol__input_LF.txt':
compare_files $lfname ${pfx}_LF.txt
ok 324 - compare_files LF NNO_attr__aeol__input_LF.txt
expecting success of 0027.325 'compare_files CRLF NNO_attr__aeol__input_CRLF.txt':
compare_files $crlfname ${pfx}_CRLF.txt
ok 325 - compare_files CRLF NNO_attr__aeol__input_CRLF.txt
expecting success of 0027.326 'compare_files CRLF_mix_LF NNO_attr__aeol__input_CRLF_mix_LF.txt':
compare_files $lfmixcrlf ${pfx}_CRLF_mix_LF.txt
ok 326 - compare_files CRLF_mix_LF NNO_attr__aeol__input_CRLF_mix_LF.txt
expecting success of 0027.327 'compare_files LF_mix_CR NNO_attr__aeol__input_LF_mix_CR.txt':
compare_files $lfmixcr ${pfx}_LF_mix_CR.txt
ok 327 - compare_files LF_mix_CR NNO_attr__aeol__input_LF_mix_CR.txt
expecting success of 0027.328 'compare_files CRLF_nul NNO_attr__aeol__input_CRLF_nul.txt':
compare_files $crlfnul ${pfx}_CRLF_nul.txt
ok 328 - compare_files CRLF_nul NNO_attr__aeol__input_CRLF_nul.txt
expecting success of 0027.329 'compare_files LF NNO_attr_-text_aeol__input_LF.txt':
compare_files $lfname ${pfx}_LF.txt
ok 329 - compare_files LF NNO_attr_-text_aeol__input_LF.txt
expecting success of 0027.330 'compare_files CRLF NNO_attr_-text_aeol__input_CRLF.txt':
compare_files $crlfname ${pfx}_CRLF.txt
ok 330 - compare_files CRLF NNO_attr_-text_aeol__input_CRLF.txt
expecting success of 0027.331 'compare_files CRLF_mix_LF NNO_attr_-text_aeol__input_CRLF_mix_LF.txt':
compare_files $lfmixcrlf ${pfx}_CRLF_mix_LF.txt
ok 331 - compare_files CRLF_mix_LF NNO_attr_-text_aeol__input_CRLF_mix_LF.txt
expecting success of 0027.332 'compare_files LF_mix_CR NNO_attr_-text_aeol__input_LF_mix_CR.txt':
compare_files $lfmixcr ${pfx}_LF_mix_CR.txt
ok 332 - compare_files LF_mix_CR NNO_attr_-text_aeol__input_LF_mix_CR.txt
expecting success of 0027.333 'compare_files CRLF_nul NNO_attr_-text_aeol__input_CRLF_nul.txt':
compare_files $crlfnul ${pfx}_CRLF_nul.txt
ok 333 - compare_files CRLF_nul NNO_attr_-text_aeol__input_CRLF_nul.txt
expecting success of 0027.334 'compare_files LF NNO_attr_-text_aeol_lf_input_LF.txt':
compare_files $lfname ${pfx}_LF.txt
ok 334 - compare_files LF NNO_attr_-text_aeol_lf_input_LF.txt
expecting success of 0027.335 'compare_files CRLF NNO_attr_-text_aeol_lf_input_CRLF.txt':
compare_files $crlfname ${pfx}_CRLF.txt
ok 335 - compare_files CRLF NNO_attr_-text_aeol_lf_input_CRLF.txt
expecting success of 0027.336 'compare_files CRLF_mix_LF NNO_attr_-text_aeol_lf_input_CRLF_mix_LF.txt':
compare_files $lfmixcrlf ${pfx}_CRLF_mix_LF.txt
ok 336 - compare_files CRLF_mix_LF NNO_attr_-text_aeol_lf_input_CRLF_mix_LF.txt
expecting success of 0027.337 'compare_files LF_mix_CR NNO_attr_-text_aeol_lf_input_LF_mix_CR.txt':
compare_files $lfmixcr ${pfx}_LF_mix_CR.txt
ok 337 - compare_files LF_mix_CR NNO_attr_-text_aeol_lf_input_LF_mix_CR.txt
expecting success of 0027.338 'compare_files CRLF_nul NNO_attr_-text_aeol_lf_input_CRLF_nul.txt':
compare_files $crlfnul ${pfx}_CRLF_nul.txt
ok 338 - compare_files CRLF_nul NNO_attr_-text_aeol_lf_input_CRLF_nul.txt
expecting success of 0027.339 'compare_files LF NNO_attr_-text_aeol_crlf_input_LF.txt':
compare_files $lfname ${pfx}_LF.txt
ok 339 - compare_files LF NNO_attr_-text_aeol_crlf_input_LF.txt
expecting success of 0027.340 'compare_files CRLF NNO_attr_-text_aeol_crlf_input_CRLF.txt':
compare_files $crlfname ${pfx}_CRLF.txt
ok 340 - compare_files CRLF NNO_attr_-text_aeol_crlf_input_CRLF.txt
expecting success of 0027.341 'compare_files CRLF_mix_LF NNO_attr_-text_aeol_crlf_input_CRLF_mix_LF.txt':
compare_files $lfmixcrlf ${pfx}_CRLF_mix_LF.txt
ok 341 - compare_files CRLF_mix_LF NNO_attr_-text_aeol_crlf_input_CRLF_mix_LF.txt
expecting success of 0027.342 'compare_files LF_mix_CR NNO_attr_-text_aeol_crlf_input_LF_mix_CR.txt':
compare_files $lfmixcr ${pfx}_LF_mix_CR.txt
ok 342 - compare_files LF_mix_CR NNO_attr_-text_aeol_crlf_input_LF_mix_CR.txt
expecting success of 0027.343 'compare_files CRLF_nul NNO_attr_-text_aeol_crlf_input_CRLF_nul.txt':
compare_files $crlfnul ${pfx}_CRLF_nul.txt
ok 343 - compare_files CRLF_nul NNO_attr_-text_aeol_crlf_input_CRLF_nul.txt
expecting success of 0027.344 'compare_files LF NNO_attr_auto_aeol__input_LF.txt':
compare_files $lfname ${pfx}_LF.txt
ok 344 - compare_files LF NNO_attr_auto_aeol__input_LF.txt
expecting success of 0027.345 'compare_files CRLF NNO_attr_auto_aeol__input_CRLF.txt':
compare_files $crlfname ${pfx}_CRLF.txt
ok 345 - compare_files CRLF NNO_attr_auto_aeol__input_CRLF.txt
expecting success of 0027.346 'compare_files CRLF_mix_LF NNO_attr_auto_aeol__input_CRLF_mix_LF.txt':
compare_files $lfmixcrlf ${pfx}_CRLF_mix_LF.txt
ok 346 - compare_files CRLF_mix_LF NNO_attr_auto_aeol__input_CRLF_mix_LF.txt
expecting success of 0027.347 'compare_files LF_mix_CR NNO_attr_auto_aeol__input_LF_mix_CR.txt':
compare_files $lfmixcr ${pfx}_LF_mix_CR.txt
ok 347 - compare_files LF_mix_CR NNO_attr_auto_aeol__input_LF_mix_CR.txt
expecting success of 0027.348 'compare_files CRLF_nul NNO_attr_auto_aeol__input_CRLF_nul.txt':
compare_files $crlfnul ${pfx}_CRLF_nul.txt
ok 348 - compare_files CRLF_nul NNO_attr_auto_aeol__input_CRLF_nul.txt
expecting success of 0027.349 'compare_files LF NNO_attr_auto_aeol_lf_input_LF.txt':
compare_files $lfname ${pfx}_LF.txt
ok 349 - compare_files LF NNO_attr_auto_aeol_lf_input_LF.txt
expecting success of 0027.350 'compare_files CRLF NNO_attr_auto_aeol_lf_input_CRLF.txt':
compare_files $crlfname ${pfx}_CRLF.txt
ok 350 - compare_files CRLF NNO_attr_auto_aeol_lf_input_CRLF.txt
expecting success of 0027.351 'compare_files CRLF_mix_LF NNO_attr_auto_aeol_lf_input_CRLF_mix_LF.txt':
compare_files $lfmixcrlf ${pfx}_CRLF_mix_LF.txt
ok 351 - compare_files CRLF_mix_LF NNO_attr_auto_aeol_lf_input_CRLF_mix_LF.txt
expecting success of 0027.352 'compare_files LF_mix_CR NNO_attr_auto_aeol_lf_input_LF_mix_CR.txt':
compare_files $lfmixcr ${pfx}_LF_mix_CR.txt
ok 352 - compare_files LF_mix_CR NNO_attr_auto_aeol_lf_input_LF_mix_CR.txt
expecting success of 0027.353 'compare_files CRLF_nul NNO_attr_auto_aeol_lf_input_CRLF_nul.txt':
compare_files $crlfnul ${pfx}_CRLF_nul.txt
ok 353 - compare_files CRLF_nul NNO_attr_auto_aeol_lf_input_CRLF_nul.txt
expecting success of 0027.354 'compare_files LF NNO_attr_auto_aeol_crlf_input_LF.txt':
compare_files $lfname ${pfx}_LF.txt
ok 354 - compare_files LF NNO_attr_auto_aeol_crlf_input_LF.txt
expecting success of 0027.355 'compare_files CRLF NNO_attr_auto_aeol_crlf_input_CRLF.txt':
compare_files $crlfname ${pfx}_CRLF.txt
ok 355 - compare_files CRLF NNO_attr_auto_aeol_crlf_input_CRLF.txt
expecting success of 0027.356 'compare_files CRLF_mix_LF NNO_attr_auto_aeol_crlf_input_CRLF_mix_LF.txt':
compare_files $lfmixcrlf ${pfx}_CRLF_mix_LF.txt
ok 356 - compare_files CRLF_mix_LF NNO_attr_auto_aeol_crlf_input_CRLF_mix_LF.txt
expecting success of 0027.357 'compare_files LF_mix_CR NNO_attr_auto_aeol_crlf_input_LF_mix_CR.txt':
compare_files $lfmixcr ${pfx}_LF_mix_CR.txt
ok 357 - compare_files LF_mix_CR NNO_attr_auto_aeol_crlf_input_LF_mix_CR.txt
expecting success of 0027.358 'compare_files CRLF_nul NNO_attr_auto_aeol_crlf_input_CRLF_nul.txt':
compare_files $crlfnul ${pfx}_CRLF_nul.txt
ok 358 - compare_files CRLF_nul NNO_attr_auto_aeol_crlf_input_CRLF_nul.txt
expecting success of 0027.359 'compare_files LF NNO_attr_text_aeol__input_LF.txt':
compare_files $lfname ${pfx}_LF.txt
ok 359 - compare_files LF NNO_attr_text_aeol__input_LF.txt
expecting success of 0027.360 'compare_files LF NNO_attr_text_aeol__input_CRLF.txt':
compare_files $crlfname ${pfx}_CRLF.txt
ok 360 - compare_files LF NNO_attr_text_aeol__input_CRLF.txt
expecting success of 0027.361 'compare_files LF NNO_attr_text_aeol__input_CRLF_mix_LF.txt':
compare_files $lfmixcrlf ${pfx}_CRLF_mix_LF.txt
ok 361 - compare_files LF NNO_attr_text_aeol__input_CRLF_mix_LF.txt
expecting success of 0027.362 'compare_files LF_mix_CR NNO_attr_text_aeol__input_LF_mix_CR.txt':
compare_files $lfmixcr ${pfx}_LF_mix_CR.txt
ok 362 - compare_files LF_mix_CR NNO_attr_text_aeol__input_LF_mix_CR.txt
expecting success of 0027.363 'compare_files LF_nul NNO_attr_text_aeol__input_CRLF_nul.txt':
compare_files $crlfnul ${pfx}_CRLF_nul.txt
ok 363 - compare_files LF_nul NNO_attr_text_aeol__input_CRLF_nul.txt
expecting success of 0027.364 'compare_files LF NNO_attr_text_aeol_lf_input_LF.txt':
compare_files $lfname ${pfx}_LF.txt
ok 364 - compare_files LF NNO_attr_text_aeol_lf_input_LF.txt
expecting success of 0027.365 'compare_files LF NNO_attr_text_aeol_lf_input_CRLF.txt':
compare_files $crlfname ${pfx}_CRLF.txt
ok 365 - compare_files LF NNO_attr_text_aeol_lf_input_CRLF.txt
expecting success of 0027.366 'compare_files LF NNO_attr_text_aeol_lf_input_CRLF_mix_LF.txt':
compare_files $lfmixcrlf ${pfx}_CRLF_mix_LF.txt
ok 366 - compare_files LF NNO_attr_text_aeol_lf_input_CRLF_mix_LF.txt
expecting success of 0027.367 'compare_files LF_mix_CR NNO_attr_text_aeol_lf_input_LF_mix_CR.txt':
compare_files $lfmixcr ${pfx}_LF_mix_CR.txt
ok 367 - compare_files LF_mix_CR NNO_attr_text_aeol_lf_input_LF_mix_CR.txt
expecting success of 0027.368 'compare_files LF_nul NNO_attr_text_aeol_lf_input_CRLF_nul.txt':
compare_files $crlfnul ${pfx}_CRLF_nul.txt
ok 368 - compare_files LF_nul NNO_attr_text_aeol_lf_input_CRLF_nul.txt
expecting success of 0027.369 'compare_files LF NNO_attr_text_aeol_crlf_input_LF.txt':
compare_files $lfname ${pfx}_LF.txt
ok 369 - compare_files LF NNO_attr_text_aeol_crlf_input_LF.txt
expecting success of 0027.370 'compare_files LF NNO_attr_text_aeol_crlf_input_CRLF.txt':
compare_files $crlfname ${pfx}_CRLF.txt
ok 370 - compare_files LF NNO_attr_text_aeol_crlf_input_CRLF.txt
expecting success of 0027.371 'compare_files LF NNO_attr_text_aeol_crlf_input_CRLF_mix_LF.txt':
compare_files $lfmixcrlf ${pfx}_CRLF_mix_LF.txt
ok 371 - compare_files LF NNO_attr_text_aeol_crlf_input_CRLF_mix_LF.txt
expecting success of 0027.372 'compare_files LF_mix_CR NNO_attr_text_aeol_crlf_input_LF_mix_CR.txt':
compare_files $lfmixcr ${pfx}_LF_mix_CR.txt
ok 372 - compare_files LF_mix_CR NNO_attr_text_aeol_crlf_input_LF_mix_CR.txt
expecting success of 0027.373 'compare_files LF_nul NNO_attr_text_aeol_crlf_input_CRLF_nul.txt':
compare_files $crlfnul ${pfx}_CRLF_nul.txt
ok 373 - compare_files LF_nul NNO_attr_text_aeol_crlf_input_CRLF_nul.txt
expecting success of 0027.374 'ls-files --eol attr=-text aeol= core.autocrlf=true core.eol=lf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 374 - ls-files --eol attr=-text aeol= core.autocrlf=true core.eol=lf
expecting success of 0027.375 'checkout attr=-text aeol= core.autocrlf=true core.eol=lf file=LF':
compare_ws_file eol_lf_crlf_true_attr_-text_ LF crlf_false_attr__LF.txt
ok 375 - checkout attr=-text aeol= core.autocrlf=true core.eol=lf file=LF
expecting success of 0027.376 'checkout attr=-text aeol= core.autocrlf=true core.eol=lf file=CRLF':
compare_ws_file eol_lf_crlf_true_attr_-text_ CRLF crlf_false_attr__CRLF.txt
ok 376 - checkout attr=-text aeol= core.autocrlf=true core.eol=lf file=CRLF
expecting success of 0027.377 'checkout attr=-text aeol= core.autocrlf=true core.eol=lf file=CRLF_mix_LF':
compare_ws_file eol_lf_crlf_true_attr_-text_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 377 - checkout attr=-text aeol= core.autocrlf=true core.eol=lf file=CRLF_mix_LF
expecting success of 0027.378 'checkout attr=-text aeol= core.autocrlf=true core.eol=lf file=LF_mix_CR':
compare_ws_file eol_lf_crlf_true_attr_-text_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 378 - checkout attr=-text aeol= core.autocrlf=true core.eol=lf file=LF_mix_CR
expecting success of 0027.379 'checkout attr=-text aeol= core.autocrlf=true core.eol=lf file=LF_nul':
compare_ws_file eol_lf_crlf_true_attr_-text_ LF_nul crlf_false_attr__LF_nul.txt
ok 379 - checkout attr=-text aeol= core.autocrlf=true core.eol=lf file=LF_nul
expecting success of 0027.380 'ls-files --eol attr=-text aeol=lf core.autocrlf=true core.eol=lf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 380 - ls-files --eol attr=-text aeol=lf core.autocrlf=true core.eol=lf
expecting success of 0027.381 'checkout attr=-text aeol=lf core.autocrlf=true core.eol=lf file=LF':
compare_ws_file eol_lf_crlf_true_attr_-text_ LF crlf_false_attr__LF.txt
ok 381 - checkout attr=-text aeol=lf core.autocrlf=true core.eol=lf file=LF
expecting success of 0027.382 'checkout attr=-text aeol=lf core.autocrlf=true core.eol=lf file=CRLF':
compare_ws_file eol_lf_crlf_true_attr_-text_ CRLF crlf_false_attr__CRLF.txt
ok 382 - checkout attr=-text aeol=lf core.autocrlf=true core.eol=lf file=CRLF
expecting success of 0027.383 'checkout attr=-text aeol=lf core.autocrlf=true core.eol=lf file=CRLF_mix_LF':
compare_ws_file eol_lf_crlf_true_attr_-text_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 383 - checkout attr=-text aeol=lf core.autocrlf=true core.eol=lf file=CRLF_mix_LF
expecting success of 0027.384 'checkout attr=-text aeol=lf core.autocrlf=true core.eol=lf file=LF_mix_CR':
compare_ws_file eol_lf_crlf_true_attr_-text_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 384 - checkout attr=-text aeol=lf core.autocrlf=true core.eol=lf file=LF_mix_CR
expecting success of 0027.385 'checkout attr=-text aeol=lf core.autocrlf=true core.eol=lf file=LF_nul':
compare_ws_file eol_lf_crlf_true_attr_-text_ LF_nul crlf_false_attr__LF_nul.txt
ok 385 - checkout attr=-text aeol=lf core.autocrlf=true core.eol=lf file=LF_nul
expecting success of 0027.386 'ls-files --eol attr=-text aeol=crlf core.autocrlf=true core.eol=lf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 386 - ls-files --eol attr=-text aeol=crlf core.autocrlf=true core.eol=lf
expecting success of 0027.387 'checkout attr=-text aeol=crlf core.autocrlf=true core.eol=lf file=LF':
compare_ws_file eol_lf_crlf_true_attr_-text_ LF crlf_false_attr__LF.txt
ok 387 - checkout attr=-text aeol=crlf core.autocrlf=true core.eol=lf file=LF
expecting success of 0027.388 'checkout attr=-text aeol=crlf core.autocrlf=true core.eol=lf file=CRLF':
compare_ws_file eol_lf_crlf_true_attr_-text_ CRLF crlf_false_attr__CRLF.txt
ok 388 - checkout attr=-text aeol=crlf core.autocrlf=true core.eol=lf file=CRLF
expecting success of 0027.389 'checkout attr=-text aeol=crlf core.autocrlf=true core.eol=lf file=CRLF_mix_LF':
compare_ws_file eol_lf_crlf_true_attr_-text_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 389 - checkout attr=-text aeol=crlf core.autocrlf=true core.eol=lf file=CRLF_mix_LF
expecting success of 0027.390 'checkout attr=-text aeol=crlf core.autocrlf=true core.eol=lf file=LF_mix_CR':
compare_ws_file eol_lf_crlf_true_attr_-text_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 390 - checkout attr=-text aeol=crlf core.autocrlf=true core.eol=lf file=LF_mix_CR
expecting success of 0027.391 'checkout attr=-text aeol=crlf core.autocrlf=true core.eol=lf file=LF_nul':
compare_ws_file eol_lf_crlf_true_attr_-text_ LF_nul crlf_false_attr__LF_nul.txt
ok 391 - checkout attr=-text aeol=crlf core.autocrlf=true core.eol=lf file=LF_nul
expecting success of 0027.392 'ls-files --eol attr=text aeol=lf core.autocrlf=true core.eol=lf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 392 - ls-files --eol attr=text aeol=lf core.autocrlf=true core.eol=lf
expecting success of 0027.393 'checkout attr=text aeol=lf core.autocrlf=true core.eol=lf file=LF':
compare_ws_file eol_lf_crlf_true_attr_text_ LF crlf_false_attr__LF.txt
ok 393 - checkout attr=text aeol=lf core.autocrlf=true core.eol=lf file=LF
expecting success of 0027.394 'checkout attr=text aeol=lf core.autocrlf=true core.eol=lf file=CRLF':
compare_ws_file eol_lf_crlf_true_attr_text_ CRLF crlf_false_attr__CRLF.txt
ok 394 - checkout attr=text aeol=lf core.autocrlf=true core.eol=lf file=CRLF
expecting success of 0027.395 'checkout attr=text aeol=lf core.autocrlf=true core.eol=lf file=CRLF_mix_LF':
compare_ws_file eol_lf_crlf_true_attr_text_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 395 - checkout attr=text aeol=lf core.autocrlf=true core.eol=lf file=CRLF_mix_LF
expecting success of 0027.396 'checkout attr=text aeol=lf core.autocrlf=true core.eol=lf file=LF_mix_CR':
compare_ws_file eol_lf_crlf_true_attr_text_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 396 - checkout attr=text aeol=lf core.autocrlf=true core.eol=lf file=LF_mix_CR
expecting success of 0027.397 'checkout attr=text aeol=lf core.autocrlf=true core.eol=lf file=LF_nul':
compare_ws_file eol_lf_crlf_true_attr_text_ LF_nul crlf_false_attr__LF_nul.txt
ok 397 - checkout attr=text aeol=lf core.autocrlf=true core.eol=lf file=LF_nul
expecting success of 0027.398 'ls-files --eol attr=text aeol=crlf core.autocrlf=true core.eol=lf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 398 - ls-files --eol attr=text aeol=crlf core.autocrlf=true core.eol=lf
expecting success of 0027.399 'checkout attr=text aeol=crlf core.autocrlf=true core.eol=lf file=LF':
compare_ws_file eol_lf_crlf_true_attr_text_ CRLF crlf_false_attr__LF.txt
ok 399 - checkout attr=text aeol=crlf core.autocrlf=true core.eol=lf file=LF
expecting success of 0027.400 'checkout attr=text aeol=crlf core.autocrlf=true core.eol=lf file=CRLF':
compare_ws_file eol_lf_crlf_true_attr_text_ CRLF crlf_false_attr__CRLF.txt
ok 400 - checkout attr=text aeol=crlf core.autocrlf=true core.eol=lf file=CRLF
expecting success of 0027.401 'checkout attr=text aeol=crlf core.autocrlf=true core.eol=lf file=CRLF_mix_LF':
compare_ws_file eol_lf_crlf_true_attr_text_ CRLF crlf_false_attr__CRLF_mix_LF.txt
ok 401 - checkout attr=text aeol=crlf core.autocrlf=true core.eol=lf file=CRLF_mix_LF
expecting success of 0027.402 'checkout attr=text aeol=crlf core.autocrlf=true core.eol=lf file=LF_mix_CR':
compare_ws_file eol_lf_crlf_true_attr_text_ CRLF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 402 - checkout attr=text aeol=crlf core.autocrlf=true core.eol=lf file=LF_mix_CR
expecting success of 0027.403 'checkout attr=text aeol=crlf core.autocrlf=true core.eol=lf file=LF_nul':
compare_ws_file eol_lf_crlf_true_attr_text_ CRLF_nul crlf_false_attr__LF_nul.txt
ok 403 - checkout attr=text aeol=crlf core.autocrlf=true core.eol=lf file=LF_nul
expecting success of 0027.404 'ls-files --eol attr=auto aeol=lf core.autocrlf=true core.eol=lf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 404 - ls-files --eol attr=auto aeol=lf core.autocrlf=true core.eol=lf
expecting success of 0027.405 'checkout attr=auto aeol=lf core.autocrlf=true core.eol=lf file=LF':
compare_ws_file eol_lf_crlf_true_attr_auto_ LF crlf_false_attr__LF.txt
ok 405 - checkout attr=auto aeol=lf core.autocrlf=true core.eol=lf file=LF
expecting success of 0027.406 'checkout attr=auto aeol=lf core.autocrlf=true core.eol=lf file=CRLF':
compare_ws_file eol_lf_crlf_true_attr_auto_ CRLF crlf_false_attr__CRLF.txt
ok 406 - checkout attr=auto aeol=lf core.autocrlf=true core.eol=lf file=CRLF
expecting success of 0027.407 'checkout attr=auto aeol=lf core.autocrlf=true core.eol=lf file=CRLF_mix_LF':
compare_ws_file eol_lf_crlf_true_attr_auto_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 407 - checkout attr=auto aeol=lf core.autocrlf=true core.eol=lf file=CRLF_mix_LF
expecting success of 0027.408 'checkout attr=auto aeol=lf core.autocrlf=true core.eol=lf file=LF_mix_CR':
compare_ws_file eol_lf_crlf_true_attr_auto_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 408 - checkout attr=auto aeol=lf core.autocrlf=true core.eol=lf file=LF_mix_CR
expecting success of 0027.409 'checkout attr=auto aeol=lf core.autocrlf=true core.eol=lf file=LF_nul':
compare_ws_file eol_lf_crlf_true_attr_auto_ LF_nul crlf_false_attr__LF_nul.txt
ok 409 - checkout attr=auto aeol=lf core.autocrlf=true core.eol=lf file=LF_nul
expecting success of 0027.410 'ls-files --eol attr=auto aeol=crlf core.autocrlf=true core.eol=lf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 410 - ls-files --eol attr=auto aeol=crlf core.autocrlf=true core.eol=lf
expecting success of 0027.411 'checkout attr=auto aeol=crlf core.autocrlf=true core.eol=lf file=LF':
compare_ws_file eol_lf_crlf_true_attr_auto_ CRLF crlf_false_attr__LF.txt
ok 411 - checkout attr=auto aeol=crlf core.autocrlf=true core.eol=lf file=LF
expecting success of 0027.412 'checkout attr=auto aeol=crlf core.autocrlf=true core.eol=lf file=CRLF':
compare_ws_file eol_lf_crlf_true_attr_auto_ CRLF crlf_false_attr__CRLF.txt
ok 412 - checkout attr=auto aeol=crlf core.autocrlf=true core.eol=lf file=CRLF
expecting success of 0027.413 'checkout attr=auto aeol=crlf core.autocrlf=true core.eol=lf file=CRLF_mix_LF':
compare_ws_file eol_lf_crlf_true_attr_auto_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 413 - checkout attr=auto aeol=crlf core.autocrlf=true core.eol=lf file=CRLF_mix_LF
expecting success of 0027.414 'checkout attr=auto aeol=crlf core.autocrlf=true core.eol=lf file=LF_mix_CR':
compare_ws_file eol_lf_crlf_true_attr_auto_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 414 - checkout attr=auto aeol=crlf core.autocrlf=true core.eol=lf file=LF_mix_CR
expecting success of 0027.415 'checkout attr=auto aeol=crlf core.autocrlf=true core.eol=lf file=LF_nul':
compare_ws_file eol_lf_crlf_true_attr_auto_ LF_nul crlf_false_attr__LF_nul.txt
ok 415 - checkout attr=auto aeol=crlf core.autocrlf=true core.eol=lf file=LF_nul
expecting success of 0027.416 'ls-files --eol attr=-text aeol= core.autocrlf=false core.eol=lf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 416 - ls-files --eol attr=-text aeol= core.autocrlf=false core.eol=lf
expecting success of 0027.417 'checkout attr=-text aeol= core.autocrlf=false core.eol=lf file=LF':
compare_ws_file eol_lf_crlf_false_attr_-text_ LF crlf_false_attr__LF.txt
ok 417 - checkout attr=-text aeol= core.autocrlf=false core.eol=lf file=LF
expecting success of 0027.418 'checkout attr=-text aeol= core.autocrlf=false core.eol=lf file=CRLF':
compare_ws_file eol_lf_crlf_false_attr_-text_ CRLF crlf_false_attr__CRLF.txt
ok 418 - checkout attr=-text aeol= core.autocrlf=false core.eol=lf file=CRLF
expecting success of 0027.419 'checkout attr=-text aeol= core.autocrlf=false core.eol=lf file=CRLF_mix_LF':
compare_ws_file eol_lf_crlf_false_attr_-text_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 419 - checkout attr=-text aeol= core.autocrlf=false core.eol=lf file=CRLF_mix_LF
expecting success of 0027.420 'checkout attr=-text aeol= core.autocrlf=false core.eol=lf file=LF_mix_CR':
compare_ws_file eol_lf_crlf_false_attr_-text_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 420 - checkout attr=-text aeol= core.autocrlf=false core.eol=lf file=LF_mix_CR
expecting success of 0027.421 'checkout attr=-text aeol= core.autocrlf=false core.eol=lf file=LF_nul':
compare_ws_file eol_lf_crlf_false_attr_-text_ LF_nul crlf_false_attr__LF_nul.txt
ok 421 - checkout attr=-text aeol= core.autocrlf=false core.eol=lf file=LF_nul
expecting success of 0027.422 'ls-files --eol attr=-text aeol=lf core.autocrlf=false core.eol=lf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 422 - ls-files --eol attr=-text aeol=lf core.autocrlf=false core.eol=lf
expecting success of 0027.423 'checkout attr=-text aeol=lf core.autocrlf=false core.eol=lf file=LF':
compare_ws_file eol_lf_crlf_false_attr_-text_ LF crlf_false_attr__LF.txt
ok 423 - checkout attr=-text aeol=lf core.autocrlf=false core.eol=lf file=LF
expecting success of 0027.424 'checkout attr=-text aeol=lf core.autocrlf=false core.eol=lf file=CRLF':
compare_ws_file eol_lf_crlf_false_attr_-text_ CRLF crlf_false_attr__CRLF.txt
ok 424 - checkout attr=-text aeol=lf core.autocrlf=false core.eol=lf file=CRLF
expecting success of 0027.425 'checkout attr=-text aeol=lf core.autocrlf=false core.eol=lf file=CRLF_mix_LF':
compare_ws_file eol_lf_crlf_false_attr_-text_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 425 - checkout attr=-text aeol=lf core.autocrlf=false core.eol=lf file=CRLF_mix_LF
expecting success of 0027.426 'checkout attr=-text aeol=lf core.autocrlf=false core.eol=lf file=LF_mix_CR':
compare_ws_file eol_lf_crlf_false_attr_-text_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 426 - checkout attr=-text aeol=lf core.autocrlf=false core.eol=lf file=LF_mix_CR
expecting success of 0027.427 'checkout attr=-text aeol=lf core.autocrlf=false core.eol=lf file=LF_nul':
compare_ws_file eol_lf_crlf_false_attr_-text_ LF_nul crlf_false_attr__LF_nul.txt
ok 427 - checkout attr=-text aeol=lf core.autocrlf=false core.eol=lf file=LF_nul
expecting success of 0027.428 'ls-files --eol attr=-text aeol=crlf core.autocrlf=false core.eol=lf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 428 - ls-files --eol attr=-text aeol=crlf core.autocrlf=false core.eol=lf
expecting success of 0027.429 'checkout attr=-text aeol=crlf core.autocrlf=false core.eol=lf file=LF':
compare_ws_file eol_lf_crlf_false_attr_-text_ LF crlf_false_attr__LF.txt
ok 429 - checkout attr=-text aeol=crlf core.autocrlf=false core.eol=lf file=LF
expecting success of 0027.430 'checkout attr=-text aeol=crlf core.autocrlf=false core.eol=lf file=CRLF':
compare_ws_file eol_lf_crlf_false_attr_-text_ CRLF crlf_false_attr__CRLF.txt
ok 430 - checkout attr=-text aeol=crlf core.autocrlf=false core.eol=lf file=CRLF
expecting success of 0027.431 'checkout attr=-text aeol=crlf core.autocrlf=false core.eol=lf file=CRLF_mix_LF':
compare_ws_file eol_lf_crlf_false_attr_-text_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 431 - checkout attr=-text aeol=crlf core.autocrlf=false core.eol=lf file=CRLF_mix_LF
expecting success of 0027.432 'checkout attr=-text aeol=crlf core.autocrlf=false core.eol=lf file=LF_mix_CR':
compare_ws_file eol_lf_crlf_false_attr_-text_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 432 - checkout attr=-text aeol=crlf core.autocrlf=false core.eol=lf file=LF_mix_CR
expecting success of 0027.433 'checkout attr=-text aeol=crlf core.autocrlf=false core.eol=lf file=LF_nul':
compare_ws_file eol_lf_crlf_false_attr_-text_ LF_nul crlf_false_attr__LF_nul.txt
ok 433 - checkout attr=-text aeol=crlf core.autocrlf=false core.eol=lf file=LF_nul
expecting success of 0027.434 'ls-files --eol attr=text aeol=lf core.autocrlf=false core.eol=lf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 434 - ls-files --eol attr=text aeol=lf core.autocrlf=false core.eol=lf
expecting success of 0027.435 'checkout attr=text aeol=lf core.autocrlf=false core.eol=lf file=LF':
compare_ws_file eol_lf_crlf_false_attr_text_ LF crlf_false_attr__LF.txt
ok 435 - checkout attr=text aeol=lf core.autocrlf=false core.eol=lf file=LF
expecting success of 0027.436 'checkout attr=text aeol=lf core.autocrlf=false core.eol=lf file=CRLF':
compare_ws_file eol_lf_crlf_false_attr_text_ CRLF crlf_false_attr__CRLF.txt
ok 436 - checkout attr=text aeol=lf core.autocrlf=false core.eol=lf file=CRLF
expecting success of 0027.437 'checkout attr=text aeol=lf core.autocrlf=false core.eol=lf file=CRLF_mix_LF':
compare_ws_file eol_lf_crlf_false_attr_text_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 437 - checkout attr=text aeol=lf core.autocrlf=false core.eol=lf file=CRLF_mix_LF
expecting success of 0027.438 'checkout attr=text aeol=lf core.autocrlf=false core.eol=lf file=LF_mix_CR':
compare_ws_file eol_lf_crlf_false_attr_text_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 438 - checkout attr=text aeol=lf core.autocrlf=false core.eol=lf file=LF_mix_CR
expecting success of 0027.439 'checkout attr=text aeol=lf core.autocrlf=false core.eol=lf file=LF_nul':
compare_ws_file eol_lf_crlf_false_attr_text_ LF_nul crlf_false_attr__LF_nul.txt
ok 439 - checkout attr=text aeol=lf core.autocrlf=false core.eol=lf file=LF_nul
expecting success of 0027.440 'ls-files --eol attr=text aeol=crlf core.autocrlf=false core.eol=lf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 440 - ls-files --eol attr=text aeol=crlf core.autocrlf=false core.eol=lf
expecting success of 0027.441 'checkout attr=text aeol=crlf core.autocrlf=false core.eol=lf file=LF':
compare_ws_file eol_lf_crlf_false_attr_text_ CRLF crlf_false_attr__LF.txt
ok 441 - checkout attr=text aeol=crlf core.autocrlf=false core.eol=lf file=LF
expecting success of 0027.442 'checkout attr=text aeol=crlf core.autocrlf=false core.eol=lf file=CRLF':
compare_ws_file eol_lf_crlf_false_attr_text_ CRLF crlf_false_attr__CRLF.txt
ok 442 - checkout attr=text aeol=crlf core.autocrlf=false core.eol=lf file=CRLF
expecting success of 0027.443 'checkout attr=text aeol=crlf core.autocrlf=false core.eol=lf file=CRLF_mix_LF':
compare_ws_file eol_lf_crlf_false_attr_text_ CRLF crlf_false_attr__CRLF_mix_LF.txt
ok 443 - checkout attr=text aeol=crlf core.autocrlf=false core.eol=lf file=CRLF_mix_LF
expecting success of 0027.444 'checkout attr=text aeol=crlf core.autocrlf=false core.eol=lf file=LF_mix_CR':
compare_ws_file eol_lf_crlf_false_attr_text_ CRLF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 444 - checkout attr=text aeol=crlf core.autocrlf=false core.eol=lf file=LF_mix_CR
expecting success of 0027.445 'checkout attr=text aeol=crlf core.autocrlf=false core.eol=lf file=LF_nul':
compare_ws_file eol_lf_crlf_false_attr_text_ CRLF_nul crlf_false_attr__LF_nul.txt
ok 445 - checkout attr=text aeol=crlf core.autocrlf=false core.eol=lf file=LF_nul
expecting success of 0027.446 'ls-files --eol attr=auto aeol=lf core.autocrlf=false core.eol=lf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 446 - ls-files --eol attr=auto aeol=lf core.autocrlf=false core.eol=lf
expecting success of 0027.447 'checkout attr=auto aeol=lf core.autocrlf=false core.eol=lf file=LF':
compare_ws_file eol_lf_crlf_false_attr_auto_ LF crlf_false_attr__LF.txt
ok 447 - checkout attr=auto aeol=lf core.autocrlf=false core.eol=lf file=LF
expecting success of 0027.448 'checkout attr=auto aeol=lf core.autocrlf=false core.eol=lf file=CRLF':
compare_ws_file eol_lf_crlf_false_attr_auto_ CRLF crlf_false_attr__CRLF.txt
ok 448 - checkout attr=auto aeol=lf core.autocrlf=false core.eol=lf file=CRLF
expecting success of 0027.449 'checkout attr=auto aeol=lf core.autocrlf=false core.eol=lf file=CRLF_mix_LF':
compare_ws_file eol_lf_crlf_false_attr_auto_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 449 - checkout attr=auto aeol=lf core.autocrlf=false core.eol=lf file=CRLF_mix_LF
expecting success of 0027.450 'checkout attr=auto aeol=lf core.autocrlf=false core.eol=lf file=LF_mix_CR':
compare_ws_file eol_lf_crlf_false_attr_auto_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 450 - checkout attr=auto aeol=lf core.autocrlf=false core.eol=lf file=LF_mix_CR
expecting success of 0027.451 'checkout attr=auto aeol=lf core.autocrlf=false core.eol=lf file=LF_nul':
compare_ws_file eol_lf_crlf_false_attr_auto_ LF_nul crlf_false_attr__LF_nul.txt
ok 451 - checkout attr=auto aeol=lf core.autocrlf=false core.eol=lf file=LF_nul
expecting success of 0027.452 'ls-files --eol attr=auto aeol=crlf core.autocrlf=false core.eol=lf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 452 - ls-files --eol attr=auto aeol=crlf core.autocrlf=false core.eol=lf
expecting success of 0027.453 'checkout attr=auto aeol=crlf core.autocrlf=false core.eol=lf file=LF':
compare_ws_file eol_lf_crlf_false_attr_auto_ CRLF crlf_false_attr__LF.txt
ok 453 - checkout attr=auto aeol=crlf core.autocrlf=false core.eol=lf file=LF
expecting success of 0027.454 'checkout attr=auto aeol=crlf core.autocrlf=false core.eol=lf file=CRLF':
compare_ws_file eol_lf_crlf_false_attr_auto_ CRLF crlf_false_attr__CRLF.txt
ok 454 - checkout attr=auto aeol=crlf core.autocrlf=false core.eol=lf file=CRLF
expecting success of 0027.455 'checkout attr=auto aeol=crlf core.autocrlf=false core.eol=lf file=CRLF_mix_LF':
compare_ws_file eol_lf_crlf_false_attr_auto_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 455 - checkout attr=auto aeol=crlf core.autocrlf=false core.eol=lf file=CRLF_mix_LF
expecting success of 0027.456 'checkout attr=auto aeol=crlf core.autocrlf=false core.eol=lf file=LF_mix_CR':
compare_ws_file eol_lf_crlf_false_attr_auto_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 456 - checkout attr=auto aeol=crlf core.autocrlf=false core.eol=lf file=LF_mix_CR
expecting success of 0027.457 'checkout attr=auto aeol=crlf core.autocrlf=false core.eol=lf file=LF_nul':
compare_ws_file eol_lf_crlf_false_attr_auto_ LF_nul crlf_false_attr__LF_nul.txt
ok 457 - checkout attr=auto aeol=crlf core.autocrlf=false core.eol=lf file=LF_nul
expecting success of 0027.458 'ls-files --eol attr=-text aeol= core.autocrlf=input core.eol=lf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 458 - ls-files --eol attr=-text aeol= core.autocrlf=input core.eol=lf
expecting success of 0027.459 'checkout attr=-text aeol= core.autocrlf=input core.eol=lf file=LF':
compare_ws_file eol_lf_crlf_input_attr_-text_ LF crlf_false_attr__LF.txt
ok 459 - checkout attr=-text aeol= core.autocrlf=input core.eol=lf file=LF
expecting success of 0027.460 'checkout attr=-text aeol= core.autocrlf=input core.eol=lf file=CRLF':
compare_ws_file eol_lf_crlf_input_attr_-text_ CRLF crlf_false_attr__CRLF.txt
ok 460 - checkout attr=-text aeol= core.autocrlf=input core.eol=lf file=CRLF
expecting success of 0027.461 'checkout attr=-text aeol= core.autocrlf=input core.eol=lf file=CRLF_mix_LF':
compare_ws_file eol_lf_crlf_input_attr_-text_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 461 - checkout attr=-text aeol= core.autocrlf=input core.eol=lf file=CRLF_mix_LF
expecting success of 0027.462 'checkout attr=-text aeol= core.autocrlf=input core.eol=lf file=LF_mix_CR':
compare_ws_file eol_lf_crlf_input_attr_-text_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 462 - checkout attr=-text aeol= core.autocrlf=input core.eol=lf file=LF_mix_CR
expecting success of 0027.463 'checkout attr=-text aeol= core.autocrlf=input core.eol=lf file=LF_nul':
compare_ws_file eol_lf_crlf_input_attr_-text_ LF_nul crlf_false_attr__LF_nul.txt
ok 463 - checkout attr=-text aeol= core.autocrlf=input core.eol=lf file=LF_nul
expecting success of 0027.464 'ls-files --eol attr=-text aeol=lf core.autocrlf=input core.eol=lf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 464 - ls-files --eol attr=-text aeol=lf core.autocrlf=input core.eol=lf
expecting success of 0027.465 'checkout attr=-text aeol=lf core.autocrlf=input core.eol=lf file=LF':
compare_ws_file eol_lf_crlf_input_attr_-text_ LF crlf_false_attr__LF.txt
ok 465 - checkout attr=-text aeol=lf core.autocrlf=input core.eol=lf file=LF
expecting success of 0027.466 'checkout attr=-text aeol=lf core.autocrlf=input core.eol=lf file=CRLF':
compare_ws_file eol_lf_crlf_input_attr_-text_ CRLF crlf_false_attr__CRLF.txt
ok 466 - checkout attr=-text aeol=lf core.autocrlf=input core.eol=lf file=CRLF
expecting success of 0027.467 'checkout attr=-text aeol=lf core.autocrlf=input core.eol=lf file=CRLF_mix_LF':
compare_ws_file eol_lf_crlf_input_attr_-text_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 467 - checkout attr=-text aeol=lf core.autocrlf=input core.eol=lf file=CRLF_mix_LF
expecting success of 0027.468 'checkout attr=-text aeol=lf core.autocrlf=input core.eol=lf file=LF_mix_CR':
compare_ws_file eol_lf_crlf_input_attr_-text_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 468 - checkout attr=-text aeol=lf core.autocrlf=input core.eol=lf file=LF_mix_CR
expecting success of 0027.469 'checkout attr=-text aeol=lf core.autocrlf=input core.eol=lf file=LF_nul':
compare_ws_file eol_lf_crlf_input_attr_-text_ LF_nul crlf_false_attr__LF_nul.txt
ok 469 - checkout attr=-text aeol=lf core.autocrlf=input core.eol=lf file=LF_nul
expecting success of 0027.470 'ls-files --eol attr=-text aeol=crlf core.autocrlf=input core.eol=lf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 470 - ls-files --eol attr=-text aeol=crlf core.autocrlf=input core.eol=lf
expecting success of 0027.471 'checkout attr=-text aeol=crlf core.autocrlf=input core.eol=lf file=LF':
compare_ws_file eol_lf_crlf_input_attr_-text_ LF crlf_false_attr__LF.txt
ok 471 - checkout attr=-text aeol=crlf core.autocrlf=input core.eol=lf file=LF
expecting success of 0027.472 'checkout attr=-text aeol=crlf core.autocrlf=input core.eol=lf file=CRLF':
compare_ws_file eol_lf_crlf_input_attr_-text_ CRLF crlf_false_attr__CRLF.txt
ok 472 - checkout attr=-text aeol=crlf core.autocrlf=input core.eol=lf file=CRLF
expecting success of 0027.473 'checkout attr=-text aeol=crlf core.autocrlf=input core.eol=lf file=CRLF_mix_LF':
compare_ws_file eol_lf_crlf_input_attr_-text_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 473 - checkout attr=-text aeol=crlf core.autocrlf=input core.eol=lf file=CRLF_mix_LF
expecting success of 0027.474 'checkout attr=-text aeol=crlf core.autocrlf=input core.eol=lf file=LF_mix_CR':
compare_ws_file eol_lf_crlf_input_attr_-text_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 474 - checkout attr=-text aeol=crlf core.autocrlf=input core.eol=lf file=LF_mix_CR
expecting success of 0027.475 'checkout attr=-text aeol=crlf core.autocrlf=input core.eol=lf file=LF_nul':
compare_ws_file eol_lf_crlf_input_attr_-text_ LF_nul crlf_false_attr__LF_nul.txt
ok 475 - checkout attr=-text aeol=crlf core.autocrlf=input core.eol=lf file=LF_nul
expecting success of 0027.476 'ls-files --eol attr=text aeol=lf core.autocrlf=input core.eol=lf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 476 - ls-files --eol attr=text aeol=lf core.autocrlf=input core.eol=lf
expecting success of 0027.477 'checkout attr=text aeol=lf core.autocrlf=input core.eol=lf file=LF':
compare_ws_file eol_lf_crlf_input_attr_text_ LF crlf_false_attr__LF.txt
ok 477 - checkout attr=text aeol=lf core.autocrlf=input core.eol=lf file=LF
expecting success of 0027.478 'checkout attr=text aeol=lf core.autocrlf=input core.eol=lf file=CRLF':
compare_ws_file eol_lf_crlf_input_attr_text_ CRLF crlf_false_attr__CRLF.txt
ok 478 - checkout attr=text aeol=lf core.autocrlf=input core.eol=lf file=CRLF
expecting success of 0027.479 'checkout attr=text aeol=lf core.autocrlf=input core.eol=lf file=CRLF_mix_LF':
compare_ws_file eol_lf_crlf_input_attr_text_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 479 - checkout attr=text aeol=lf core.autocrlf=input core.eol=lf file=CRLF_mix_LF
expecting success of 0027.480 'checkout attr=text aeol=lf core.autocrlf=input core.eol=lf file=LF_mix_CR':
compare_ws_file eol_lf_crlf_input_attr_text_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 480 - checkout attr=text aeol=lf core.autocrlf=input core.eol=lf file=LF_mix_CR
expecting success of 0027.481 'checkout attr=text aeol=lf core.autocrlf=input core.eol=lf file=LF_nul':
compare_ws_file eol_lf_crlf_input_attr_text_ LF_nul crlf_false_attr__LF_nul.txt
ok 481 - checkout attr=text aeol=lf core.autocrlf=input core.eol=lf file=LF_nul
expecting success of 0027.482 'ls-files --eol attr=text aeol=crlf core.autocrlf=input core.eol=lf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 482 - ls-files --eol attr=text aeol=crlf core.autocrlf=input core.eol=lf
expecting success of 0027.483 'checkout attr=text aeol=crlf core.autocrlf=input core.eol=lf file=LF':
compare_ws_file eol_lf_crlf_input_attr_text_ CRLF crlf_false_attr__LF.txt
ok 483 - checkout attr=text aeol=crlf core.autocrlf=input core.eol=lf file=LF
expecting success of 0027.484 'checkout attr=text aeol=crlf core.autocrlf=input core.eol=lf file=CRLF':
compare_ws_file eol_lf_crlf_input_attr_text_ CRLF crlf_false_attr__CRLF.txt
ok 484 - checkout attr=text aeol=crlf core.autocrlf=input core.eol=lf file=CRLF
expecting success of 0027.485 'checkout attr=text aeol=crlf core.autocrlf=input core.eol=lf file=CRLF_mix_LF':
compare_ws_file eol_lf_crlf_input_attr_text_ CRLF crlf_false_attr__CRLF_mix_LF.txt
ok 485 - checkout attr=text aeol=crlf core.autocrlf=input core.eol=lf file=CRLF_mix_LF
expecting success of 0027.486 'checkout attr=text aeol=crlf core.autocrlf=input core.eol=lf file=LF_mix_CR':
compare_ws_file eol_lf_crlf_input_attr_text_ CRLF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 486 - checkout attr=text aeol=crlf core.autocrlf=input core.eol=lf file=LF_mix_CR
expecting success of 0027.487 'checkout attr=text aeol=crlf core.autocrlf=input core.eol=lf file=LF_nul':
compare_ws_file eol_lf_crlf_input_attr_text_ CRLF_nul crlf_false_attr__LF_nul.txt
ok 487 - checkout attr=text aeol=crlf core.autocrlf=input core.eol=lf file=LF_nul
expecting success of 0027.488 'ls-files --eol attr=auto aeol=lf core.autocrlf=input core.eol=lf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 488 - ls-files --eol attr=auto aeol=lf core.autocrlf=input core.eol=lf
expecting success of 0027.489 'checkout attr=auto aeol=lf core.autocrlf=input core.eol=lf file=LF':
compare_ws_file eol_lf_crlf_input_attr_auto_ LF crlf_false_attr__LF.txt
ok 489 - checkout attr=auto aeol=lf core.autocrlf=input core.eol=lf file=LF
expecting success of 0027.490 'checkout attr=auto aeol=lf core.autocrlf=input core.eol=lf file=CRLF':
compare_ws_file eol_lf_crlf_input_attr_auto_ CRLF crlf_false_attr__CRLF.txt
ok 490 - checkout attr=auto aeol=lf core.autocrlf=input core.eol=lf file=CRLF
expecting success of 0027.491 'checkout attr=auto aeol=lf core.autocrlf=input core.eol=lf file=CRLF_mix_LF':
compare_ws_file eol_lf_crlf_input_attr_auto_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 491 - checkout attr=auto aeol=lf core.autocrlf=input core.eol=lf file=CRLF_mix_LF
expecting success of 0027.492 'checkout attr=auto aeol=lf core.autocrlf=input core.eol=lf file=LF_mix_CR':
compare_ws_file eol_lf_crlf_input_attr_auto_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 492 - checkout attr=auto aeol=lf core.autocrlf=input core.eol=lf file=LF_mix_CR
expecting success of 0027.493 'checkout attr=auto aeol=lf core.autocrlf=input core.eol=lf file=LF_nul':
compare_ws_file eol_lf_crlf_input_attr_auto_ LF_nul crlf_false_attr__LF_nul.txt
ok 493 - checkout attr=auto aeol=lf core.autocrlf=input core.eol=lf file=LF_nul
expecting success of 0027.494 'ls-files --eol attr=auto aeol=crlf core.autocrlf=input core.eol=lf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 494 - ls-files --eol attr=auto aeol=crlf core.autocrlf=input core.eol=lf
expecting success of 0027.495 'checkout attr=auto aeol=crlf core.autocrlf=input core.eol=lf file=LF':
compare_ws_file eol_lf_crlf_input_attr_auto_ CRLF crlf_false_attr__LF.txt
ok 495 - checkout attr=auto aeol=crlf core.autocrlf=input core.eol=lf file=LF
expecting success of 0027.496 'checkout attr=auto aeol=crlf core.autocrlf=input core.eol=lf file=CRLF':
compare_ws_file eol_lf_crlf_input_attr_auto_ CRLF crlf_false_attr__CRLF.txt
ok 496 - checkout attr=auto aeol=crlf core.autocrlf=input core.eol=lf file=CRLF
expecting success of 0027.497 'checkout attr=auto aeol=crlf core.autocrlf=input core.eol=lf file=CRLF_mix_LF':
compare_ws_file eol_lf_crlf_input_attr_auto_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 497 - checkout attr=auto aeol=crlf core.autocrlf=input core.eol=lf file=CRLF_mix_LF
expecting success of 0027.498 'checkout attr=auto aeol=crlf core.autocrlf=input core.eol=lf file=LF_mix_CR':
compare_ws_file eol_lf_crlf_input_attr_auto_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 498 - checkout attr=auto aeol=crlf core.autocrlf=input core.eol=lf file=LF_mix_CR
expecting success of 0027.499 'checkout attr=auto aeol=crlf core.autocrlf=input core.eol=lf file=LF_nul':
compare_ws_file eol_lf_crlf_input_attr_auto_ LF_nul crlf_false_attr__LF_nul.txt
ok 499 - checkout attr=auto aeol=crlf core.autocrlf=input core.eol=lf file=LF_nul
expecting success of 0027.500 'ls-files --eol attr= aeol= core.autocrlf=false core.eol=lf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 500 - ls-files --eol attr= aeol= core.autocrlf=false core.eol=lf
expecting success of 0027.501 'checkout attr= aeol= core.autocrlf=false core.eol=lf file=LF':
compare_ws_file eol_lf_crlf_false_attr__ LF crlf_false_attr__LF.txt
ok 501 - checkout attr= aeol= core.autocrlf=false core.eol=lf file=LF
expecting success of 0027.502 'checkout attr= aeol= core.autocrlf=false core.eol=lf file=CRLF':
compare_ws_file eol_lf_crlf_false_attr__ CRLF crlf_false_attr__CRLF.txt
ok 502 - checkout attr= aeol= core.autocrlf=false core.eol=lf file=CRLF
expecting success of 0027.503 'checkout attr= aeol= core.autocrlf=false core.eol=lf file=CRLF_mix_LF':
compare_ws_file eol_lf_crlf_false_attr__ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 503 - checkout attr= aeol= core.autocrlf=false core.eol=lf file=CRLF_mix_LF
expecting success of 0027.504 'checkout attr= aeol= core.autocrlf=false core.eol=lf file=LF_mix_CR':
compare_ws_file eol_lf_crlf_false_attr__ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 504 - checkout attr= aeol= core.autocrlf=false core.eol=lf file=LF_mix_CR
expecting success of 0027.505 'checkout attr= aeol= core.autocrlf=false core.eol=lf file=LF_nul':
compare_ws_file eol_lf_crlf_false_attr__ LF_nul crlf_false_attr__LF_nul.txt
ok 505 - checkout attr= aeol= core.autocrlf=false core.eol=lf file=LF_nul
expecting success of 0027.506 'ls-files --eol attr= aeol= core.autocrlf=true core.eol=lf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 506 - ls-files --eol attr= aeol= core.autocrlf=true core.eol=lf
expecting success of 0027.507 'checkout attr= aeol= core.autocrlf=true core.eol=lf file=LF':
compare_ws_file eol_lf_crlf_true_attr__ CRLF crlf_false_attr__LF.txt
ok 507 - checkout attr= aeol= core.autocrlf=true core.eol=lf file=LF
expecting success of 0027.508 'checkout attr= aeol= core.autocrlf=true core.eol=lf file=CRLF':
compare_ws_file eol_lf_crlf_true_attr__ CRLF crlf_false_attr__CRLF.txt
ok 508 - checkout attr= aeol= core.autocrlf=true core.eol=lf file=CRLF
expecting success of 0027.509 'checkout attr= aeol= core.autocrlf=true core.eol=lf file=CRLF_mix_LF':
compare_ws_file eol_lf_crlf_true_attr__ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 509 - checkout attr= aeol= core.autocrlf=true core.eol=lf file=CRLF_mix_LF
expecting success of 0027.510 'checkout attr= aeol= core.autocrlf=true core.eol=lf file=LF_mix_CR':
compare_ws_file eol_lf_crlf_true_attr__ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 510 - checkout attr= aeol= core.autocrlf=true core.eol=lf file=LF_mix_CR
expecting success of 0027.511 'checkout attr= aeol= core.autocrlf=true core.eol=lf file=LF_nul':
compare_ws_file eol_lf_crlf_true_attr__ LF_nul crlf_false_attr__LF_nul.txt
ok 511 - checkout attr= aeol= core.autocrlf=true core.eol=lf file=LF_nul
expecting success of 0027.512 'ls-files --eol attr=auto aeol= core.autocrlf=true core.eol=lf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 512 - ls-files --eol attr=auto aeol= core.autocrlf=true core.eol=lf
expecting success of 0027.513 'checkout attr=auto aeol= core.autocrlf=true core.eol=lf file=LF':
compare_ws_file eol_lf_crlf_true_attr_auto_ CRLF crlf_false_attr__LF.txt
ok 513 - checkout attr=auto aeol= core.autocrlf=true core.eol=lf file=LF
expecting success of 0027.514 'checkout attr=auto aeol= core.autocrlf=true core.eol=lf file=CRLF':
compare_ws_file eol_lf_crlf_true_attr_auto_ CRLF crlf_false_attr__CRLF.txt
ok 514 - checkout attr=auto aeol= core.autocrlf=true core.eol=lf file=CRLF
expecting success of 0027.515 'checkout attr=auto aeol= core.autocrlf=true core.eol=lf file=CRLF_mix_LF':
compare_ws_file eol_lf_crlf_true_attr_auto_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 515 - checkout attr=auto aeol= core.autocrlf=true core.eol=lf file=CRLF_mix_LF
expecting success of 0027.516 'checkout attr=auto aeol= core.autocrlf=true core.eol=lf file=LF_mix_CR':
compare_ws_file eol_lf_crlf_true_attr_auto_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 516 - checkout attr=auto aeol= core.autocrlf=true core.eol=lf file=LF_mix_CR
expecting success of 0027.517 'checkout attr=auto aeol= core.autocrlf=true core.eol=lf file=LF_nul':
compare_ws_file eol_lf_crlf_true_attr_auto_ LF_nul crlf_false_attr__LF_nul.txt
ok 517 - checkout attr=auto aeol= core.autocrlf=true core.eol=lf file=LF_nul
expecting success of 0027.518 'ls-files --eol attr=text aeol= core.autocrlf=true core.eol=lf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 518 - ls-files --eol attr=text aeol= core.autocrlf=true core.eol=lf
expecting success of 0027.519 'checkout attr=text aeol= core.autocrlf=true core.eol=lf file=LF':
compare_ws_file eol_lf_crlf_true_attr_text_ CRLF crlf_false_attr__LF.txt
ok 519 - checkout attr=text aeol= core.autocrlf=true core.eol=lf file=LF
expecting success of 0027.520 'checkout attr=text aeol= core.autocrlf=true core.eol=lf file=CRLF':
compare_ws_file eol_lf_crlf_true_attr_text_ CRLF crlf_false_attr__CRLF.txt
ok 520 - checkout attr=text aeol= core.autocrlf=true core.eol=lf file=CRLF
expecting success of 0027.521 'checkout attr=text aeol= core.autocrlf=true core.eol=lf file=CRLF_mix_LF':
compare_ws_file eol_lf_crlf_true_attr_text_ CRLF crlf_false_attr__CRLF_mix_LF.txt
ok 521 - checkout attr=text aeol= core.autocrlf=true core.eol=lf file=CRLF_mix_LF
expecting success of 0027.522 'checkout attr=text aeol= core.autocrlf=true core.eol=lf file=LF_mix_CR':
compare_ws_file eol_lf_crlf_true_attr_text_ CRLF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 522 - checkout attr=text aeol= core.autocrlf=true core.eol=lf file=LF_mix_CR
expecting success of 0027.523 'checkout attr=text aeol= core.autocrlf=true core.eol=lf file=LF_nul':
compare_ws_file eol_lf_crlf_true_attr_text_ CRLF_nul crlf_false_attr__LF_nul.txt
ok 523 - checkout attr=text aeol= core.autocrlf=true core.eol=lf file=LF_nul
expecting success of 0027.524 'ls-files --eol attr=text aeol= core.autocrlf=input core.eol=lf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 524 - ls-files --eol attr=text aeol= core.autocrlf=input core.eol=lf
expecting success of 0027.525 'checkout attr=text aeol= core.autocrlf=input core.eol=lf file=LF':
compare_ws_file eol_lf_crlf_input_attr_text_ LF crlf_false_attr__LF.txt
ok 525 - checkout attr=text aeol= core.autocrlf=input core.eol=lf file=LF
expecting success of 0027.526 'checkout attr=text aeol= core.autocrlf=input core.eol=lf file=CRLF':
compare_ws_file eol_lf_crlf_input_attr_text_ CRLF crlf_false_attr__CRLF.txt
ok 526 - checkout attr=text aeol= core.autocrlf=input core.eol=lf file=CRLF
expecting success of 0027.527 'checkout attr=text aeol= core.autocrlf=input core.eol=lf file=CRLF_mix_LF':
compare_ws_file eol_lf_crlf_input_attr_text_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 527 - checkout attr=text aeol= core.autocrlf=input core.eol=lf file=CRLF_mix_LF
expecting success of 0027.528 'checkout attr=text aeol= core.autocrlf=input core.eol=lf file=LF_mix_CR':
compare_ws_file eol_lf_crlf_input_attr_text_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 528 - checkout attr=text aeol= core.autocrlf=input core.eol=lf file=LF_mix_CR
expecting success of 0027.529 'checkout attr=text aeol= core.autocrlf=input core.eol=lf file=LF_nul':
compare_ws_file eol_lf_crlf_input_attr_text_ LF_nul crlf_false_attr__LF_nul.txt
ok 529 - checkout attr=text aeol= core.autocrlf=input core.eol=lf file=LF_nul
expecting success of 0027.530 'ls-files --eol attr=auto aeol= core.autocrlf=input core.eol=lf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 530 - ls-files --eol attr=auto aeol= core.autocrlf=input core.eol=lf
expecting success of 0027.531 'checkout attr=auto aeol= core.autocrlf=input core.eol=lf file=LF':
compare_ws_file eol_lf_crlf_input_attr_auto_ LF crlf_false_attr__LF.txt
ok 531 - checkout attr=auto aeol= core.autocrlf=input core.eol=lf file=LF
expecting success of 0027.532 'checkout attr=auto aeol= core.autocrlf=input core.eol=lf file=CRLF':
compare_ws_file eol_lf_crlf_input_attr_auto_ CRLF crlf_false_attr__CRLF.txt
ok 532 - checkout attr=auto aeol= core.autocrlf=input core.eol=lf file=CRLF
expecting success of 0027.533 'checkout attr=auto aeol= core.autocrlf=input core.eol=lf file=CRLF_mix_LF':
compare_ws_file eol_lf_crlf_input_attr_auto_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 533 - checkout attr=auto aeol= core.autocrlf=input core.eol=lf file=CRLF_mix_LF
expecting success of 0027.534 'checkout attr=auto aeol= core.autocrlf=input core.eol=lf file=LF_mix_CR':
compare_ws_file eol_lf_crlf_input_attr_auto_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 534 - checkout attr=auto aeol= core.autocrlf=input core.eol=lf file=LF_mix_CR
expecting success of 0027.535 'checkout attr=auto aeol= core.autocrlf=input core.eol=lf file=LF_nul':
compare_ws_file eol_lf_crlf_input_attr_auto_ LF_nul crlf_false_attr__LF_nul.txt
ok 535 - checkout attr=auto aeol= core.autocrlf=input core.eol=lf file=LF_nul
expecting success of 0027.536 'ls-files --eol attr=-text aeol= core.autocrlf=true core.eol=crlf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 536 - ls-files --eol attr=-text aeol= core.autocrlf=true core.eol=crlf
expecting success of 0027.537 'checkout attr=-text aeol= core.autocrlf=true core.eol=crlf file=LF':
compare_ws_file eol_crlf_crlf_true_attr_-text_ LF crlf_false_attr__LF.txt
ok 537 - checkout attr=-text aeol= core.autocrlf=true core.eol=crlf file=LF
expecting success of 0027.538 'checkout attr=-text aeol= core.autocrlf=true core.eol=crlf file=CRLF':
compare_ws_file eol_crlf_crlf_true_attr_-text_ CRLF crlf_false_attr__CRLF.txt
ok 538 - checkout attr=-text aeol= core.autocrlf=true core.eol=crlf file=CRLF
expecting success of 0027.539 'checkout attr=-text aeol= core.autocrlf=true core.eol=crlf file=CRLF_mix_LF':
compare_ws_file eol_crlf_crlf_true_attr_-text_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 539 - checkout attr=-text aeol= core.autocrlf=true core.eol=crlf file=CRLF_mix_LF
expecting success of 0027.540 'checkout attr=-text aeol= core.autocrlf=true core.eol=crlf file=LF_mix_CR':
compare_ws_file eol_crlf_crlf_true_attr_-text_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 540 - checkout attr=-text aeol= core.autocrlf=true core.eol=crlf file=LF_mix_CR
expecting success of 0027.541 'checkout attr=-text aeol= core.autocrlf=true core.eol=crlf file=LF_nul':
compare_ws_file eol_crlf_crlf_true_attr_-text_ LF_nul crlf_false_attr__LF_nul.txt
ok 541 - checkout attr=-text aeol= core.autocrlf=true core.eol=crlf file=LF_nul
expecting success of 0027.542 'ls-files --eol attr=-text aeol=lf core.autocrlf=true core.eol=crlf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 542 - ls-files --eol attr=-text aeol=lf core.autocrlf=true core.eol=crlf
expecting success of 0027.543 'checkout attr=-text aeol=lf core.autocrlf=true core.eol=crlf file=LF':
compare_ws_file eol_crlf_crlf_true_attr_-text_ LF crlf_false_attr__LF.txt
ok 543 - checkout attr=-text aeol=lf core.autocrlf=true core.eol=crlf file=LF
expecting success of 0027.544 'checkout attr=-text aeol=lf core.autocrlf=true core.eol=crlf file=CRLF':
compare_ws_file eol_crlf_crlf_true_attr_-text_ CRLF crlf_false_attr__CRLF.txt
ok 544 - checkout attr=-text aeol=lf core.autocrlf=true core.eol=crlf file=CRLF
expecting success of 0027.545 'checkout attr=-text aeol=lf core.autocrlf=true core.eol=crlf file=CRLF_mix_LF':
compare_ws_file eol_crlf_crlf_true_attr_-text_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 545 - checkout attr=-text aeol=lf core.autocrlf=true core.eol=crlf file=CRLF_mix_LF
expecting success of 0027.546 'checkout attr=-text aeol=lf core.autocrlf=true core.eol=crlf file=LF_mix_CR':
compare_ws_file eol_crlf_crlf_true_attr_-text_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 546 - checkout attr=-text aeol=lf core.autocrlf=true core.eol=crlf file=LF_mix_CR
expecting success of 0027.547 'checkout attr=-text aeol=lf core.autocrlf=true core.eol=crlf file=LF_nul':
compare_ws_file eol_crlf_crlf_true_attr_-text_ LF_nul crlf_false_attr__LF_nul.txt
ok 547 - checkout attr=-text aeol=lf core.autocrlf=true core.eol=crlf file=LF_nul
expecting success of 0027.548 'ls-files --eol attr=-text aeol=crlf core.autocrlf=true core.eol=crlf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 548 - ls-files --eol attr=-text aeol=crlf core.autocrlf=true core.eol=crlf
expecting success of 0027.549 'checkout attr=-text aeol=crlf core.autocrlf=true core.eol=crlf file=LF':
compare_ws_file eol_crlf_crlf_true_attr_-text_ LF crlf_false_attr__LF.txt
ok 549 - checkout attr=-text aeol=crlf core.autocrlf=true core.eol=crlf file=LF
expecting success of 0027.550 'checkout attr=-text aeol=crlf core.autocrlf=true core.eol=crlf file=CRLF':
compare_ws_file eol_crlf_crlf_true_attr_-text_ CRLF crlf_false_attr__CRLF.txt
ok 550 - checkout attr=-text aeol=crlf core.autocrlf=true core.eol=crlf file=CRLF
expecting success of 0027.551 'checkout attr=-text aeol=crlf core.autocrlf=true core.eol=crlf file=CRLF_mix_LF':
compare_ws_file eol_crlf_crlf_true_attr_-text_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 551 - checkout attr=-text aeol=crlf core.autocrlf=true core.eol=crlf file=CRLF_mix_LF
expecting success of 0027.552 'checkout attr=-text aeol=crlf core.autocrlf=true core.eol=crlf file=LF_mix_CR':
compare_ws_file eol_crlf_crlf_true_attr_-text_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 552 - checkout attr=-text aeol=crlf core.autocrlf=true core.eol=crlf file=LF_mix_CR
expecting success of 0027.553 'checkout attr=-text aeol=crlf core.autocrlf=true core.eol=crlf file=LF_nul':
compare_ws_file eol_crlf_crlf_true_attr_-text_ LF_nul crlf_false_attr__LF_nul.txt
ok 553 - checkout attr=-text aeol=crlf core.autocrlf=true core.eol=crlf file=LF_nul
expecting success of 0027.554 'ls-files --eol attr=text aeol=lf core.autocrlf=true core.eol=crlf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 554 - ls-files --eol attr=text aeol=lf core.autocrlf=true core.eol=crlf
expecting success of 0027.555 'checkout attr=text aeol=lf core.autocrlf=true core.eol=crlf file=LF':
compare_ws_file eol_crlf_crlf_true_attr_text_ LF crlf_false_attr__LF.txt
ok 555 - checkout attr=text aeol=lf core.autocrlf=true core.eol=crlf file=LF
expecting success of 0027.556 'checkout attr=text aeol=lf core.autocrlf=true core.eol=crlf file=CRLF':
compare_ws_file eol_crlf_crlf_true_attr_text_ CRLF crlf_false_attr__CRLF.txt
ok 556 - checkout attr=text aeol=lf core.autocrlf=true core.eol=crlf file=CRLF
expecting success of 0027.557 'checkout attr=text aeol=lf core.autocrlf=true core.eol=crlf file=CRLF_mix_LF':
compare_ws_file eol_crlf_crlf_true_attr_text_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 557 - checkout attr=text aeol=lf core.autocrlf=true core.eol=crlf file=CRLF_mix_LF
expecting success of 0027.558 'checkout attr=text aeol=lf core.autocrlf=true core.eol=crlf file=LF_mix_CR':
compare_ws_file eol_crlf_crlf_true_attr_text_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 558 - checkout attr=text aeol=lf core.autocrlf=true core.eol=crlf file=LF_mix_CR
expecting success of 0027.559 'checkout attr=text aeol=lf core.autocrlf=true core.eol=crlf file=LF_nul':
compare_ws_file eol_crlf_crlf_true_attr_text_ LF_nul crlf_false_attr__LF_nul.txt
ok 559 - checkout attr=text aeol=lf core.autocrlf=true core.eol=crlf file=LF_nul
expecting success of 0027.560 'ls-files --eol attr=text aeol=crlf core.autocrlf=true core.eol=crlf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 560 - ls-files --eol attr=text aeol=crlf core.autocrlf=true core.eol=crlf
expecting success of 0027.561 'checkout attr=text aeol=crlf core.autocrlf=true core.eol=crlf file=LF':
compare_ws_file eol_crlf_crlf_true_attr_text_ CRLF crlf_false_attr__LF.txt
ok 561 - checkout attr=text aeol=crlf core.autocrlf=true core.eol=crlf file=LF
expecting success of 0027.562 'checkout attr=text aeol=crlf core.autocrlf=true core.eol=crlf file=CRLF':
compare_ws_file eol_crlf_crlf_true_attr_text_ CRLF crlf_false_attr__CRLF.txt
ok 562 - checkout attr=text aeol=crlf core.autocrlf=true core.eol=crlf file=CRLF
expecting success of 0027.563 'checkout attr=text aeol=crlf core.autocrlf=true core.eol=crlf file=CRLF_mix_LF':
compare_ws_file eol_crlf_crlf_true_attr_text_ CRLF crlf_false_attr__CRLF_mix_LF.txt
ok 563 - checkout attr=text aeol=crlf core.autocrlf=true core.eol=crlf file=CRLF_mix_LF
expecting success of 0027.564 'checkout attr=text aeol=crlf core.autocrlf=true core.eol=crlf file=LF_mix_CR':
compare_ws_file eol_crlf_crlf_true_attr_text_ CRLF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 564 - checkout attr=text aeol=crlf core.autocrlf=true core.eol=crlf file=LF_mix_CR
expecting success of 0027.565 'checkout attr=text aeol=crlf core.autocrlf=true core.eol=crlf file=LF_nul':
compare_ws_file eol_crlf_crlf_true_attr_text_ CRLF_nul crlf_false_attr__LF_nul.txt
ok 565 - checkout attr=text aeol=crlf core.autocrlf=true core.eol=crlf file=LF_nul
expecting success of 0027.566 'ls-files --eol attr=auto aeol=lf core.autocrlf=true core.eol=crlf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 566 - ls-files --eol attr=auto aeol=lf core.autocrlf=true core.eol=crlf
expecting success of 0027.567 'checkout attr=auto aeol=lf core.autocrlf=true core.eol=crlf file=LF':
compare_ws_file eol_crlf_crlf_true_attr_auto_ LF crlf_false_attr__LF.txt
ok 567 - checkout attr=auto aeol=lf core.autocrlf=true core.eol=crlf file=LF
expecting success of 0027.568 'checkout attr=auto aeol=lf core.autocrlf=true core.eol=crlf file=CRLF':
compare_ws_file eol_crlf_crlf_true_attr_auto_ CRLF crlf_false_attr__CRLF.txt
ok 568 - checkout attr=auto aeol=lf core.autocrlf=true core.eol=crlf file=CRLF
expecting success of 0027.569 'checkout attr=auto aeol=lf core.autocrlf=true core.eol=crlf file=CRLF_mix_LF':
compare_ws_file eol_crlf_crlf_true_attr_auto_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 569 - checkout attr=auto aeol=lf core.autocrlf=true core.eol=crlf file=CRLF_mix_LF
expecting success of 0027.570 'checkout attr=auto aeol=lf core.autocrlf=true core.eol=crlf file=LF_mix_CR':
compare_ws_file eol_crlf_crlf_true_attr_auto_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 570 - checkout attr=auto aeol=lf core.autocrlf=true core.eol=crlf file=LF_mix_CR
expecting success of 0027.571 'checkout attr=auto aeol=lf core.autocrlf=true core.eol=crlf file=LF_nul':
compare_ws_file eol_crlf_crlf_true_attr_auto_ LF_nul crlf_false_attr__LF_nul.txt
ok 571 - checkout attr=auto aeol=lf core.autocrlf=true core.eol=crlf file=LF_nul
expecting success of 0027.572 'ls-files --eol attr=auto aeol=crlf core.autocrlf=true core.eol=crlf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 572 - ls-files --eol attr=auto aeol=crlf core.autocrlf=true core.eol=crlf
expecting success of 0027.573 'checkout attr=auto aeol=crlf core.autocrlf=true core.eol=crlf file=LF':
compare_ws_file eol_crlf_crlf_true_attr_auto_ CRLF crlf_false_attr__LF.txt
ok 573 - checkout attr=auto aeol=crlf core.autocrlf=true core.eol=crlf file=LF
expecting success of 0027.574 'checkout attr=auto aeol=crlf core.autocrlf=true core.eol=crlf file=CRLF':
compare_ws_file eol_crlf_crlf_true_attr_auto_ CRLF crlf_false_attr__CRLF.txt
ok 574 - checkout attr=auto aeol=crlf core.autocrlf=true core.eol=crlf file=CRLF
expecting success of 0027.575 'checkout attr=auto aeol=crlf core.autocrlf=true core.eol=crlf file=CRLF_mix_LF':
compare_ws_file eol_crlf_crlf_true_attr_auto_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 575 - checkout attr=auto aeol=crlf core.autocrlf=true core.eol=crlf file=CRLF_mix_LF
expecting success of 0027.576 'checkout attr=auto aeol=crlf core.autocrlf=true core.eol=crlf file=LF_mix_CR':
compare_ws_file eol_crlf_crlf_true_attr_auto_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 576 - checkout attr=auto aeol=crlf core.autocrlf=true core.eol=crlf file=LF_mix_CR
expecting success of 0027.577 'checkout attr=auto aeol=crlf core.autocrlf=true core.eol=crlf file=LF_nul':
compare_ws_file eol_crlf_crlf_true_attr_auto_ LF_nul crlf_false_attr__LF_nul.txt
ok 577 - checkout attr=auto aeol=crlf core.autocrlf=true core.eol=crlf file=LF_nul
expecting success of 0027.578 'ls-files --eol attr=-text aeol= core.autocrlf=false core.eol=crlf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 578 - ls-files --eol attr=-text aeol= core.autocrlf=false core.eol=crlf
expecting success of 0027.579 'checkout attr=-text aeol= core.autocrlf=false core.eol=crlf file=LF':
compare_ws_file eol_crlf_crlf_false_attr_-text_ LF crlf_false_attr__LF.txt
ok 579 - checkout attr=-text aeol= core.autocrlf=false core.eol=crlf file=LF
expecting success of 0027.580 'checkout attr=-text aeol= core.autocrlf=false core.eol=crlf file=CRLF':
compare_ws_file eol_crlf_crlf_false_attr_-text_ CRLF crlf_false_attr__CRLF.txt
ok 580 - checkout attr=-text aeol= core.autocrlf=false core.eol=crlf file=CRLF
expecting success of 0027.581 'checkout attr=-text aeol= core.autocrlf=false core.eol=crlf file=CRLF_mix_LF':
compare_ws_file eol_crlf_crlf_false_attr_-text_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 581 - checkout attr=-text aeol= core.autocrlf=false core.eol=crlf file=CRLF_mix_LF
expecting success of 0027.582 'checkout attr=-text aeol= core.autocrlf=false core.eol=crlf file=LF_mix_CR':
compare_ws_file eol_crlf_crlf_false_attr_-text_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 582 - checkout attr=-text aeol= core.autocrlf=false core.eol=crlf file=LF_mix_CR
expecting success of 0027.583 'checkout attr=-text aeol= core.autocrlf=false core.eol=crlf file=LF_nul':
compare_ws_file eol_crlf_crlf_false_attr_-text_ LF_nul crlf_false_attr__LF_nul.txt
ok 583 - checkout attr=-text aeol= core.autocrlf=false core.eol=crlf file=LF_nul
expecting success of 0027.584 'ls-files --eol attr=-text aeol=lf core.autocrlf=false core.eol=crlf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 584 - ls-files --eol attr=-text aeol=lf core.autocrlf=false core.eol=crlf
expecting success of 0027.585 'checkout attr=-text aeol=lf core.autocrlf=false core.eol=crlf file=LF':
compare_ws_file eol_crlf_crlf_false_attr_-text_ LF crlf_false_attr__LF.txt
ok 585 - checkout attr=-text aeol=lf core.autocrlf=false core.eol=crlf file=LF
expecting success of 0027.586 'checkout attr=-text aeol=lf core.autocrlf=false core.eol=crlf file=CRLF':
compare_ws_file eol_crlf_crlf_false_attr_-text_ CRLF crlf_false_attr__CRLF.txt
ok 586 - checkout attr=-text aeol=lf core.autocrlf=false core.eol=crlf file=CRLF
expecting success of 0027.587 'checkout attr=-text aeol=lf core.autocrlf=false core.eol=crlf file=CRLF_mix_LF':
compare_ws_file eol_crlf_crlf_false_attr_-text_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 587 - checkout attr=-text aeol=lf core.autocrlf=false core.eol=crlf file=CRLF_mix_LF
expecting success of 0027.588 'checkout attr=-text aeol=lf core.autocrlf=false core.eol=crlf file=LF_mix_CR':
compare_ws_file eol_crlf_crlf_false_attr_-text_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 588 - checkout attr=-text aeol=lf core.autocrlf=false core.eol=crlf file=LF_mix_CR
expecting success of 0027.589 'checkout attr=-text aeol=lf core.autocrlf=false core.eol=crlf file=LF_nul':
compare_ws_file eol_crlf_crlf_false_attr_-text_ LF_nul crlf_false_attr__LF_nul.txt
ok 589 - checkout attr=-text aeol=lf core.autocrlf=false core.eol=crlf file=LF_nul
expecting success of 0027.590 'ls-files --eol attr=-text aeol=crlf core.autocrlf=false core.eol=crlf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 590 - ls-files --eol attr=-text aeol=crlf core.autocrlf=false core.eol=crlf
expecting success of 0027.591 'checkout attr=-text aeol=crlf core.autocrlf=false core.eol=crlf file=LF':
compare_ws_file eol_crlf_crlf_false_attr_-text_ LF crlf_false_attr__LF.txt
ok 591 - checkout attr=-text aeol=crlf core.autocrlf=false core.eol=crlf file=LF
expecting success of 0027.592 'checkout attr=-text aeol=crlf core.autocrlf=false core.eol=crlf file=CRLF':
compare_ws_file eol_crlf_crlf_false_attr_-text_ CRLF crlf_false_attr__CRLF.txt
ok 592 - checkout attr=-text aeol=crlf core.autocrlf=false core.eol=crlf file=CRLF
expecting success of 0027.593 'checkout attr=-text aeol=crlf core.autocrlf=false core.eol=crlf file=CRLF_mix_LF':
compare_ws_file eol_crlf_crlf_false_attr_-text_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 593 - checkout attr=-text aeol=crlf core.autocrlf=false core.eol=crlf file=CRLF_mix_LF
expecting success of 0027.594 'checkout attr=-text aeol=crlf core.autocrlf=false core.eol=crlf file=LF_mix_CR':
compare_ws_file eol_crlf_crlf_false_attr_-text_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 594 - checkout attr=-text aeol=crlf core.autocrlf=false core.eol=crlf file=LF_mix_CR
expecting success of 0027.595 'checkout attr=-text aeol=crlf core.autocrlf=false core.eol=crlf file=LF_nul':
compare_ws_file eol_crlf_crlf_false_attr_-text_ LF_nul crlf_false_attr__LF_nul.txt
ok 595 - checkout attr=-text aeol=crlf core.autocrlf=false core.eol=crlf file=LF_nul
expecting success of 0027.596 'ls-files --eol attr=text aeol=lf core.autocrlf=false core.eol=crlf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 596 - ls-files --eol attr=text aeol=lf core.autocrlf=false core.eol=crlf
expecting success of 0027.597 'checkout attr=text aeol=lf core.autocrlf=false core.eol=crlf file=LF':
compare_ws_file eol_crlf_crlf_false_attr_text_ LF crlf_false_attr__LF.txt
ok 597 - checkout attr=text aeol=lf core.autocrlf=false core.eol=crlf file=LF
expecting success of 0027.598 'checkout attr=text aeol=lf core.autocrlf=false core.eol=crlf file=CRLF':
compare_ws_file eol_crlf_crlf_false_attr_text_ CRLF crlf_false_attr__CRLF.txt
ok 598 - checkout attr=text aeol=lf core.autocrlf=false core.eol=crlf file=CRLF
expecting success of 0027.599 'checkout attr=text aeol=lf core.autocrlf=false core.eol=crlf file=CRLF_mix_LF':
compare_ws_file eol_crlf_crlf_false_attr_text_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 599 - checkout attr=text aeol=lf core.autocrlf=false core.eol=crlf file=CRLF_mix_LF
expecting success of 0027.600 'checkout attr=text aeol=lf core.autocrlf=false core.eol=crlf file=LF_mix_CR':
compare_ws_file eol_crlf_crlf_false_attr_text_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 600 - checkout attr=text aeol=lf core.autocrlf=false core.eol=crlf file=LF_mix_CR
expecting success of 0027.601 'checkout attr=text aeol=lf core.autocrlf=false core.eol=crlf file=LF_nul':
compare_ws_file eol_crlf_crlf_false_attr_text_ LF_nul crlf_false_attr__LF_nul.txt
ok 601 - checkout attr=text aeol=lf core.autocrlf=false core.eol=crlf file=LF_nul
expecting success of 0027.602 'ls-files --eol attr=text aeol=crlf core.autocrlf=false core.eol=crlf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 602 - ls-files --eol attr=text aeol=crlf core.autocrlf=false core.eol=crlf
expecting success of 0027.603 'checkout attr=text aeol=crlf core.autocrlf=false core.eol=crlf file=LF':
compare_ws_file eol_crlf_crlf_false_attr_text_ CRLF crlf_false_attr__LF.txt
ok 603 - checkout attr=text aeol=crlf core.autocrlf=false core.eol=crlf file=LF
expecting success of 0027.604 'checkout attr=text aeol=crlf core.autocrlf=false core.eol=crlf file=CRLF':
compare_ws_file eol_crlf_crlf_false_attr_text_ CRLF crlf_false_attr__CRLF.txt
ok 604 - checkout attr=text aeol=crlf core.autocrlf=false core.eol=crlf file=CRLF
expecting success of 0027.605 'checkout attr=text aeol=crlf core.autocrlf=false core.eol=crlf file=CRLF_mix_LF':
compare_ws_file eol_crlf_crlf_false_attr_text_ CRLF crlf_false_attr__CRLF_mix_LF.txt
ok 605 - checkout attr=text aeol=crlf core.autocrlf=false core.eol=crlf file=CRLF_mix_LF
expecting success of 0027.606 'checkout attr=text aeol=crlf core.autocrlf=false core.eol=crlf file=LF_mix_CR':
compare_ws_file eol_crlf_crlf_false_attr_text_ CRLF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 606 - checkout attr=text aeol=crlf core.autocrlf=false core.eol=crlf file=LF_mix_CR
expecting success of 0027.607 'checkout attr=text aeol=crlf core.autocrlf=false core.eol=crlf file=LF_nul':
compare_ws_file eol_crlf_crlf_false_attr_text_ CRLF_nul crlf_false_attr__LF_nul.txt
ok 607 - checkout attr=text aeol=crlf core.autocrlf=false core.eol=crlf file=LF_nul
expecting success of 0027.608 'ls-files --eol attr=auto aeol=lf core.autocrlf=false core.eol=crlf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 608 - ls-files --eol attr=auto aeol=lf core.autocrlf=false core.eol=crlf
expecting success of 0027.609 'checkout attr=auto aeol=lf core.autocrlf=false core.eol=crlf file=LF':
compare_ws_file eol_crlf_crlf_false_attr_auto_ LF crlf_false_attr__LF.txt
ok 609 - checkout attr=auto aeol=lf core.autocrlf=false core.eol=crlf file=LF
expecting success of 0027.610 'checkout attr=auto aeol=lf core.autocrlf=false core.eol=crlf file=CRLF':
compare_ws_file eol_crlf_crlf_false_attr_auto_ CRLF crlf_false_attr__CRLF.txt
ok 610 - checkout attr=auto aeol=lf core.autocrlf=false core.eol=crlf file=CRLF
expecting success of 0027.611 'checkout attr=auto aeol=lf core.autocrlf=false core.eol=crlf file=CRLF_mix_LF':
compare_ws_file eol_crlf_crlf_false_attr_auto_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 611 - checkout attr=auto aeol=lf core.autocrlf=false core.eol=crlf file=CRLF_mix_LF
expecting success of 0027.612 'checkout attr=auto aeol=lf core.autocrlf=false core.eol=crlf file=LF_mix_CR':
compare_ws_file eol_crlf_crlf_false_attr_auto_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 612 - checkout attr=auto aeol=lf core.autocrlf=false core.eol=crlf file=LF_mix_CR
expecting success of 0027.613 'checkout attr=auto aeol=lf core.autocrlf=false core.eol=crlf file=LF_nul':
compare_ws_file eol_crlf_crlf_false_attr_auto_ LF_nul crlf_false_attr__LF_nul.txt
ok 613 - checkout attr=auto aeol=lf core.autocrlf=false core.eol=crlf file=LF_nul
expecting success of 0027.614 'ls-files --eol attr=auto aeol=crlf core.autocrlf=false core.eol=crlf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 614 - ls-files --eol attr=auto aeol=crlf core.autocrlf=false core.eol=crlf
expecting success of 0027.615 'checkout attr=auto aeol=crlf core.autocrlf=false core.eol=crlf file=LF':
compare_ws_file eol_crlf_crlf_false_attr_auto_ CRLF crlf_false_attr__LF.txt
ok 615 - checkout attr=auto aeol=crlf core.autocrlf=false core.eol=crlf file=LF
expecting success of 0027.616 'checkout attr=auto aeol=crlf core.autocrlf=false core.eol=crlf file=CRLF':
compare_ws_file eol_crlf_crlf_false_attr_auto_ CRLF crlf_false_attr__CRLF.txt
ok 616 - checkout attr=auto aeol=crlf core.autocrlf=false core.eol=crlf file=CRLF
expecting success of 0027.617 'checkout attr=auto aeol=crlf core.autocrlf=false core.eol=crlf file=CRLF_mix_LF':
compare_ws_file eol_crlf_crlf_false_attr_auto_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 617 - checkout attr=auto aeol=crlf core.autocrlf=false core.eol=crlf file=CRLF_mix_LF
expecting success of 0027.618 'checkout attr=auto aeol=crlf core.autocrlf=false core.eol=crlf file=LF_mix_CR':
compare_ws_file eol_crlf_crlf_false_attr_auto_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 618 - checkout attr=auto aeol=crlf core.autocrlf=false core.eol=crlf file=LF_mix_CR
expecting success of 0027.619 'checkout attr=auto aeol=crlf core.autocrlf=false core.eol=crlf file=LF_nul':
compare_ws_file eol_crlf_crlf_false_attr_auto_ LF_nul crlf_false_attr__LF_nul.txt
ok 619 - checkout attr=auto aeol=crlf core.autocrlf=false core.eol=crlf file=LF_nul
expecting success of 0027.620 'ls-files --eol attr=-text aeol= core.autocrlf=input core.eol=crlf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 620 - ls-files --eol attr=-text aeol= core.autocrlf=input core.eol=crlf
expecting success of 0027.621 'checkout attr=-text aeol= core.autocrlf=input core.eol=crlf file=LF':
compare_ws_file eol_crlf_crlf_input_attr_-text_ LF crlf_false_attr__LF.txt
ok 621 - checkout attr=-text aeol= core.autocrlf=input core.eol=crlf file=LF
expecting success of 0027.622 'checkout attr=-text aeol= core.autocrlf=input core.eol=crlf file=CRLF':
compare_ws_file eol_crlf_crlf_input_attr_-text_ CRLF crlf_false_attr__CRLF.txt
ok 622 - checkout attr=-text aeol= core.autocrlf=input core.eol=crlf file=CRLF
expecting success of 0027.623 'checkout attr=-text aeol= core.autocrlf=input core.eol=crlf file=CRLF_mix_LF':
compare_ws_file eol_crlf_crlf_input_attr_-text_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 623 - checkout attr=-text aeol= core.autocrlf=input core.eol=crlf file=CRLF_mix_LF
expecting success of 0027.624 'checkout attr=-text aeol= core.autocrlf=input core.eol=crlf file=LF_mix_CR':
compare_ws_file eol_crlf_crlf_input_attr_-text_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 624 - checkout attr=-text aeol= core.autocrlf=input core.eol=crlf file=LF_mix_CR
expecting success of 0027.625 'checkout attr=-text aeol= core.autocrlf=input core.eol=crlf file=LF_nul':
compare_ws_file eol_crlf_crlf_input_attr_-text_ LF_nul crlf_false_attr__LF_nul.txt
ok 625 - checkout attr=-text aeol= core.autocrlf=input core.eol=crlf file=LF_nul
expecting success of 0027.626 'ls-files --eol attr=-text aeol=lf core.autocrlf=input core.eol=crlf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 626 - ls-files --eol attr=-text aeol=lf core.autocrlf=input core.eol=crlf
expecting success of 0027.627 'checkout attr=-text aeol=lf core.autocrlf=input core.eol=crlf file=LF':
compare_ws_file eol_crlf_crlf_input_attr_-text_ LF crlf_false_attr__LF.txt
ok 627 - checkout attr=-text aeol=lf core.autocrlf=input core.eol=crlf file=LF
expecting success of 0027.628 'checkout attr=-text aeol=lf core.autocrlf=input core.eol=crlf file=CRLF':
compare_ws_file eol_crlf_crlf_input_attr_-text_ CRLF crlf_false_attr__CRLF.txt
ok 628 - checkout attr=-text aeol=lf core.autocrlf=input core.eol=crlf file=CRLF
expecting success of 0027.629 'checkout attr=-text aeol=lf core.autocrlf=input core.eol=crlf file=CRLF_mix_LF':
compare_ws_file eol_crlf_crlf_input_attr_-text_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 629 - checkout attr=-text aeol=lf core.autocrlf=input core.eol=crlf file=CRLF_mix_LF
expecting success of 0027.630 'checkout attr=-text aeol=lf core.autocrlf=input core.eol=crlf file=LF_mix_CR':
compare_ws_file eol_crlf_crlf_input_attr_-text_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 630 - checkout attr=-text aeol=lf core.autocrlf=input core.eol=crlf file=LF_mix_CR
expecting success of 0027.631 'checkout attr=-text aeol=lf core.autocrlf=input core.eol=crlf file=LF_nul':
compare_ws_file eol_crlf_crlf_input_attr_-text_ LF_nul crlf_false_attr__LF_nul.txt
ok 631 - checkout attr=-text aeol=lf core.autocrlf=input core.eol=crlf file=LF_nul
expecting success of 0027.632 'ls-files --eol attr=-text aeol=crlf core.autocrlf=input core.eol=crlf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 632 - ls-files --eol attr=-text aeol=crlf core.autocrlf=input core.eol=crlf
expecting success of 0027.633 'checkout attr=-text aeol=crlf core.autocrlf=input core.eol=crlf file=LF':
compare_ws_file eol_crlf_crlf_input_attr_-text_ LF crlf_false_attr__LF.txt
ok 633 - checkout attr=-text aeol=crlf core.autocrlf=input core.eol=crlf file=LF
expecting success of 0027.634 'checkout attr=-text aeol=crlf core.autocrlf=input core.eol=crlf file=CRLF':
compare_ws_file eol_crlf_crlf_input_attr_-text_ CRLF crlf_false_attr__CRLF.txt
ok 634 - checkout attr=-text aeol=crlf core.autocrlf=input core.eol=crlf file=CRLF
expecting success of 0027.635 'checkout attr=-text aeol=crlf core.autocrlf=input core.eol=crlf file=CRLF_mix_LF':
compare_ws_file eol_crlf_crlf_input_attr_-text_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 635 - checkout attr=-text aeol=crlf core.autocrlf=input core.eol=crlf file=CRLF_mix_LF
expecting success of 0027.636 'checkout attr=-text aeol=crlf core.autocrlf=input core.eol=crlf file=LF_mix_CR':
compare_ws_file eol_crlf_crlf_input_attr_-text_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 636 - checkout attr=-text aeol=crlf core.autocrlf=input core.eol=crlf file=LF_mix_CR
expecting success of 0027.637 'checkout attr=-text aeol=crlf core.autocrlf=input core.eol=crlf file=LF_nul':
compare_ws_file eol_crlf_crlf_input_attr_-text_ LF_nul crlf_false_attr__LF_nul.txt
ok 637 - checkout attr=-text aeol=crlf core.autocrlf=input core.eol=crlf file=LF_nul
expecting success of 0027.638 'ls-files --eol attr=text aeol=lf core.autocrlf=input core.eol=crlf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 638 - ls-files --eol attr=text aeol=lf core.autocrlf=input core.eol=crlf
expecting success of 0027.639 'checkout attr=text aeol=lf core.autocrlf=input core.eol=crlf file=LF':
compare_ws_file eol_crlf_crlf_input_attr_text_ LF crlf_false_attr__LF.txt
ok 639 - checkout attr=text aeol=lf core.autocrlf=input core.eol=crlf file=LF
expecting success of 0027.640 'checkout attr=text aeol=lf core.autocrlf=input core.eol=crlf file=CRLF':
compare_ws_file eol_crlf_crlf_input_attr_text_ CRLF crlf_false_attr__CRLF.txt
ok 640 - checkout attr=text aeol=lf core.autocrlf=input core.eol=crlf file=CRLF
expecting success of 0027.641 'checkout attr=text aeol=lf core.autocrlf=input core.eol=crlf file=CRLF_mix_LF':
compare_ws_file eol_crlf_crlf_input_attr_text_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 641 - checkout attr=text aeol=lf core.autocrlf=input core.eol=crlf file=CRLF_mix_LF
expecting success of 0027.642 'checkout attr=text aeol=lf core.autocrlf=input core.eol=crlf file=LF_mix_CR':
compare_ws_file eol_crlf_crlf_input_attr_text_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 642 - checkout attr=text aeol=lf core.autocrlf=input core.eol=crlf file=LF_mix_CR
expecting success of 0027.643 'checkout attr=text aeol=lf core.autocrlf=input core.eol=crlf file=LF_nul':
compare_ws_file eol_crlf_crlf_input_attr_text_ LF_nul crlf_false_attr__LF_nul.txt
ok 643 - checkout attr=text aeol=lf core.autocrlf=input core.eol=crlf file=LF_nul
expecting success of 0027.644 'ls-files --eol attr=text aeol=crlf core.autocrlf=input core.eol=crlf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 644 - ls-files --eol attr=text aeol=crlf core.autocrlf=input core.eol=crlf
expecting success of 0027.645 'checkout attr=text aeol=crlf core.autocrlf=input core.eol=crlf file=LF':
compare_ws_file eol_crlf_crlf_input_attr_text_ CRLF crlf_false_attr__LF.txt
ok 645 - checkout attr=text aeol=crlf core.autocrlf=input core.eol=crlf file=LF
expecting success of 0027.646 'checkout attr=text aeol=crlf core.autocrlf=input core.eol=crlf file=CRLF':
compare_ws_file eol_crlf_crlf_input_attr_text_ CRLF crlf_false_attr__CRLF.txt
ok 646 - checkout attr=text aeol=crlf core.autocrlf=input core.eol=crlf file=CRLF
expecting success of 0027.647 'checkout attr=text aeol=crlf core.autocrlf=input core.eol=crlf file=CRLF_mix_LF':
compare_ws_file eol_crlf_crlf_input_attr_text_ CRLF crlf_false_attr__CRLF_mix_LF.txt
ok 647 - checkout attr=text aeol=crlf core.autocrlf=input core.eol=crlf file=CRLF_mix_LF
expecting success of 0027.648 'checkout attr=text aeol=crlf core.autocrlf=input core.eol=crlf file=LF_mix_CR':
compare_ws_file eol_crlf_crlf_input_attr_text_ CRLF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 648 - checkout attr=text aeol=crlf core.autocrlf=input core.eol=crlf file=LF_mix_CR
expecting success of 0027.649 'checkout attr=text aeol=crlf core.autocrlf=input core.eol=crlf file=LF_nul':
compare_ws_file eol_crlf_crlf_input_attr_text_ CRLF_nul crlf_false_attr__LF_nul.txt
ok 649 - checkout attr=text aeol=crlf core.autocrlf=input core.eol=crlf file=LF_nul
expecting success of 0027.650 'ls-files --eol attr=auto aeol=lf core.autocrlf=input core.eol=crlf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 650 - ls-files --eol attr=auto aeol=lf core.autocrlf=input core.eol=crlf
expecting success of 0027.651 'checkout attr=auto aeol=lf core.autocrlf=input core.eol=crlf file=LF':
compare_ws_file eol_crlf_crlf_input_attr_auto_ LF crlf_false_attr__LF.txt
ok 651 - checkout attr=auto aeol=lf core.autocrlf=input core.eol=crlf file=LF
expecting success of 0027.652 'checkout attr=auto aeol=lf core.autocrlf=input core.eol=crlf file=CRLF':
compare_ws_file eol_crlf_crlf_input_attr_auto_ CRLF crlf_false_attr__CRLF.txt
ok 652 - checkout attr=auto aeol=lf core.autocrlf=input core.eol=crlf file=CRLF
expecting success of 0027.653 'checkout attr=auto aeol=lf core.autocrlf=input core.eol=crlf file=CRLF_mix_LF':
compare_ws_file eol_crlf_crlf_input_attr_auto_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 653 - checkout attr=auto aeol=lf core.autocrlf=input core.eol=crlf file=CRLF_mix_LF
expecting success of 0027.654 'checkout attr=auto aeol=lf core.autocrlf=input core.eol=crlf file=LF_mix_CR':
compare_ws_file eol_crlf_crlf_input_attr_auto_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 654 - checkout attr=auto aeol=lf core.autocrlf=input core.eol=crlf file=LF_mix_CR
expecting success of 0027.655 'checkout attr=auto aeol=lf core.autocrlf=input core.eol=crlf file=LF_nul':
compare_ws_file eol_crlf_crlf_input_attr_auto_ LF_nul crlf_false_attr__LF_nul.txt
ok 655 - checkout attr=auto aeol=lf core.autocrlf=input core.eol=crlf file=LF_nul
expecting success of 0027.656 'ls-files --eol attr=auto aeol=crlf core.autocrlf=input core.eol=crlf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 656 - ls-files --eol attr=auto aeol=crlf core.autocrlf=input core.eol=crlf
expecting success of 0027.657 'checkout attr=auto aeol=crlf core.autocrlf=input core.eol=crlf file=LF':
compare_ws_file eol_crlf_crlf_input_attr_auto_ CRLF crlf_false_attr__LF.txt
ok 657 - checkout attr=auto aeol=crlf core.autocrlf=input core.eol=crlf file=LF
expecting success of 0027.658 'checkout attr=auto aeol=crlf core.autocrlf=input core.eol=crlf file=CRLF':
compare_ws_file eol_crlf_crlf_input_attr_auto_ CRLF crlf_false_attr__CRLF.txt
ok 658 - checkout attr=auto aeol=crlf core.autocrlf=input core.eol=crlf file=CRLF
expecting success of 0027.659 'checkout attr=auto aeol=crlf core.autocrlf=input core.eol=crlf file=CRLF_mix_LF':
compare_ws_file eol_crlf_crlf_input_attr_auto_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 659 - checkout attr=auto aeol=crlf core.autocrlf=input core.eol=crlf file=CRLF_mix_LF
expecting success of 0027.660 'checkout attr=auto aeol=crlf core.autocrlf=input core.eol=crlf file=LF_mix_CR':
compare_ws_file eol_crlf_crlf_input_attr_auto_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 660 - checkout attr=auto aeol=crlf core.autocrlf=input core.eol=crlf file=LF_mix_CR
expecting success of 0027.661 'checkout attr=auto aeol=crlf core.autocrlf=input core.eol=crlf file=LF_nul':
compare_ws_file eol_crlf_crlf_input_attr_auto_ LF_nul crlf_false_attr__LF_nul.txt
ok 661 - checkout attr=auto aeol=crlf core.autocrlf=input core.eol=crlf file=LF_nul
expecting success of 0027.662 'ls-files --eol attr= aeol= core.autocrlf=false core.eol=crlf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 662 - ls-files --eol attr= aeol= core.autocrlf=false core.eol=crlf
expecting success of 0027.663 'checkout attr= aeol= core.autocrlf=false core.eol=crlf file=LF':
compare_ws_file eol_crlf_crlf_false_attr__ LF crlf_false_attr__LF.txt
ok 663 - checkout attr= aeol= core.autocrlf=false core.eol=crlf file=LF
expecting success of 0027.664 'checkout attr= aeol= core.autocrlf=false core.eol=crlf file=CRLF':
compare_ws_file eol_crlf_crlf_false_attr__ CRLF crlf_false_attr__CRLF.txt
ok 664 - checkout attr= aeol= core.autocrlf=false core.eol=crlf file=CRLF
expecting success of 0027.665 'checkout attr= aeol= core.autocrlf=false core.eol=crlf file=CRLF_mix_LF':
compare_ws_file eol_crlf_crlf_false_attr__ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 665 - checkout attr= aeol= core.autocrlf=false core.eol=crlf file=CRLF_mix_LF
expecting success of 0027.666 'checkout attr= aeol= core.autocrlf=false core.eol=crlf file=LF_mix_CR':
compare_ws_file eol_crlf_crlf_false_attr__ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 666 - checkout attr= aeol= core.autocrlf=false core.eol=crlf file=LF_mix_CR
expecting success of 0027.667 'checkout attr= aeol= core.autocrlf=false core.eol=crlf file=LF_nul':
compare_ws_file eol_crlf_crlf_false_attr__ LF_nul crlf_false_attr__LF_nul.txt
ok 667 - checkout attr= aeol= core.autocrlf=false core.eol=crlf file=LF_nul
expecting success of 0027.668 'ls-files --eol attr= aeol= core.autocrlf=true core.eol=crlf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 668 - ls-files --eol attr= aeol= core.autocrlf=true core.eol=crlf
expecting success of 0027.669 'checkout attr= aeol= core.autocrlf=true core.eol=crlf file=LF':
compare_ws_file eol_crlf_crlf_true_attr__ CRLF crlf_false_attr__LF.txt
ok 669 - checkout attr= aeol= core.autocrlf=true core.eol=crlf file=LF
expecting success of 0027.670 'checkout attr= aeol= core.autocrlf=true core.eol=crlf file=CRLF':
compare_ws_file eol_crlf_crlf_true_attr__ CRLF crlf_false_attr__CRLF.txt
ok 670 - checkout attr= aeol= core.autocrlf=true core.eol=crlf file=CRLF
expecting success of 0027.671 'checkout attr= aeol= core.autocrlf=true core.eol=crlf file=CRLF_mix_LF':
compare_ws_file eol_crlf_crlf_true_attr__ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 671 - checkout attr= aeol= core.autocrlf=true core.eol=crlf file=CRLF_mix_LF
expecting success of 0027.672 'checkout attr= aeol= core.autocrlf=true core.eol=crlf file=LF_mix_CR':
compare_ws_file eol_crlf_crlf_true_attr__ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 672 - checkout attr= aeol= core.autocrlf=true core.eol=crlf file=LF_mix_CR
expecting success of 0027.673 'checkout attr= aeol= core.autocrlf=true core.eol=crlf file=LF_nul':
compare_ws_file eol_crlf_crlf_true_attr__ LF_nul crlf_false_attr__LF_nul.txt
ok 673 - checkout attr= aeol= core.autocrlf=true core.eol=crlf file=LF_nul
expecting success of 0027.674 'ls-files --eol attr=auto aeol= core.autocrlf=true core.eol=crlf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 674 - ls-files --eol attr=auto aeol= core.autocrlf=true core.eol=crlf
expecting success of 0027.675 'checkout attr=auto aeol= core.autocrlf=true core.eol=crlf file=LF':
compare_ws_file eol_crlf_crlf_true_attr_auto_ CRLF crlf_false_attr__LF.txt
ok 675 - checkout attr=auto aeol= core.autocrlf=true core.eol=crlf file=LF
expecting success of 0027.676 'checkout attr=auto aeol= core.autocrlf=true core.eol=crlf file=CRLF':
compare_ws_file eol_crlf_crlf_true_attr_auto_ CRLF crlf_false_attr__CRLF.txt
ok 676 - checkout attr=auto aeol= core.autocrlf=true core.eol=crlf file=CRLF
expecting success of 0027.677 'checkout attr=auto aeol= core.autocrlf=true core.eol=crlf file=CRLF_mix_LF':
compare_ws_file eol_crlf_crlf_true_attr_auto_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 677 - checkout attr=auto aeol= core.autocrlf=true core.eol=crlf file=CRLF_mix_LF
expecting success of 0027.678 'checkout attr=auto aeol= core.autocrlf=true core.eol=crlf file=LF_mix_CR':
compare_ws_file eol_crlf_crlf_true_attr_auto_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 678 - checkout attr=auto aeol= core.autocrlf=true core.eol=crlf file=LF_mix_CR
expecting success of 0027.679 'checkout attr=auto aeol= core.autocrlf=true core.eol=crlf file=LF_nul':
compare_ws_file eol_crlf_crlf_true_attr_auto_ LF_nul crlf_false_attr__LF_nul.txt
ok 679 - checkout attr=auto aeol= core.autocrlf=true core.eol=crlf file=LF_nul
expecting success of 0027.680 'ls-files --eol attr=text aeol= core.autocrlf=true core.eol=crlf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 680 - ls-files --eol attr=text aeol= core.autocrlf=true core.eol=crlf
expecting success of 0027.681 'checkout attr=text aeol= core.autocrlf=true core.eol=crlf file=LF':
compare_ws_file eol_crlf_crlf_true_attr_text_ CRLF crlf_false_attr__LF.txt
ok 681 - checkout attr=text aeol= core.autocrlf=true core.eol=crlf file=LF
expecting success of 0027.682 'checkout attr=text aeol= core.autocrlf=true core.eol=crlf file=CRLF':
compare_ws_file eol_crlf_crlf_true_attr_text_ CRLF crlf_false_attr__CRLF.txt
ok 682 - checkout attr=text aeol= core.autocrlf=true core.eol=crlf file=CRLF
expecting success of 0027.683 'checkout attr=text aeol= core.autocrlf=true core.eol=crlf file=CRLF_mix_LF':
compare_ws_file eol_crlf_crlf_true_attr_text_ CRLF crlf_false_attr__CRLF_mix_LF.txt
ok 683 - checkout attr=text aeol= core.autocrlf=true core.eol=crlf file=CRLF_mix_LF
expecting success of 0027.684 'checkout attr=text aeol= core.autocrlf=true core.eol=crlf file=LF_mix_CR':
compare_ws_file eol_crlf_crlf_true_attr_text_ CRLF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 684 - checkout attr=text aeol= core.autocrlf=true core.eol=crlf file=LF_mix_CR
expecting success of 0027.685 'checkout attr=text aeol= core.autocrlf=true core.eol=crlf file=LF_nul':
compare_ws_file eol_crlf_crlf_true_attr_text_ CRLF_nul crlf_false_attr__LF_nul.txt
ok 685 - checkout attr=text aeol= core.autocrlf=true core.eol=crlf file=LF_nul
expecting success of 0027.686 'ls-files --eol attr=text aeol= core.autocrlf=input core.eol=crlf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 686 - ls-files --eol attr=text aeol= core.autocrlf=input core.eol=crlf
expecting success of 0027.687 'checkout attr=text aeol= core.autocrlf=input core.eol=crlf file=LF':
compare_ws_file eol_crlf_crlf_input_attr_text_ LF crlf_false_attr__LF.txt
ok 687 - checkout attr=text aeol= core.autocrlf=input core.eol=crlf file=LF
expecting success of 0027.688 'checkout attr=text aeol= core.autocrlf=input core.eol=crlf file=CRLF':
compare_ws_file eol_crlf_crlf_input_attr_text_ CRLF crlf_false_attr__CRLF.txt
ok 688 - checkout attr=text aeol= core.autocrlf=input core.eol=crlf file=CRLF
expecting success of 0027.689 'checkout attr=text aeol= core.autocrlf=input core.eol=crlf file=CRLF_mix_LF':
compare_ws_file eol_crlf_crlf_input_attr_text_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 689 - checkout attr=text aeol= core.autocrlf=input core.eol=crlf file=CRLF_mix_LF
expecting success of 0027.690 'checkout attr=text aeol= core.autocrlf=input core.eol=crlf file=LF_mix_CR':
compare_ws_file eol_crlf_crlf_input_attr_text_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 690 - checkout attr=text aeol= core.autocrlf=input core.eol=crlf file=LF_mix_CR
expecting success of 0027.691 'checkout attr=text aeol= core.autocrlf=input core.eol=crlf file=LF_nul':
compare_ws_file eol_crlf_crlf_input_attr_text_ LF_nul crlf_false_attr__LF_nul.txt
ok 691 - checkout attr=text aeol= core.autocrlf=input core.eol=crlf file=LF_nul
expecting success of 0027.692 'ls-files --eol attr=auto aeol= core.autocrlf=input core.eol=crlf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 692 - ls-files --eol attr=auto aeol= core.autocrlf=input core.eol=crlf
expecting success of 0027.693 'checkout attr=auto aeol= core.autocrlf=input core.eol=crlf file=LF':
compare_ws_file eol_crlf_crlf_input_attr_auto_ LF crlf_false_attr__LF.txt
ok 693 - checkout attr=auto aeol= core.autocrlf=input core.eol=crlf file=LF
expecting success of 0027.694 'checkout attr=auto aeol= core.autocrlf=input core.eol=crlf file=CRLF':
compare_ws_file eol_crlf_crlf_input_attr_auto_ CRLF crlf_false_attr__CRLF.txt
ok 694 - checkout attr=auto aeol= core.autocrlf=input core.eol=crlf file=CRLF
expecting success of 0027.695 'checkout attr=auto aeol= core.autocrlf=input core.eol=crlf file=CRLF_mix_LF':
compare_ws_file eol_crlf_crlf_input_attr_auto_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 695 - checkout attr=auto aeol= core.autocrlf=input core.eol=crlf file=CRLF_mix_LF
expecting success of 0027.696 'checkout attr=auto aeol= core.autocrlf=input core.eol=crlf file=LF_mix_CR':
compare_ws_file eol_crlf_crlf_input_attr_auto_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 696 - checkout attr=auto aeol= core.autocrlf=input core.eol=crlf file=LF_mix_CR
expecting success of 0027.697 'checkout attr=auto aeol= core.autocrlf=input core.eol=crlf file=LF_nul':
compare_ws_file eol_crlf_crlf_input_attr_auto_ LF_nul crlf_false_attr__LF_nul.txt
ok 697 - checkout attr=auto aeol= core.autocrlf=input core.eol=crlf file=LF_nul
expecting success of 0027.698 'ls-files --eol attr=-text aeol= core.autocrlf=true core.eol=native':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 698 - ls-files --eol attr=-text aeol= core.autocrlf=true core.eol=native
expecting success of 0027.699 'checkout attr=-text aeol= core.autocrlf=true core.eol=native file=LF':
compare_ws_file eol_native_crlf_true_attr_-text_ LF crlf_false_attr__LF.txt
ok 699 - checkout attr=-text aeol= core.autocrlf=true core.eol=native file=LF
expecting success of 0027.700 'checkout attr=-text aeol= core.autocrlf=true core.eol=native file=CRLF':
compare_ws_file eol_native_crlf_true_attr_-text_ CRLF crlf_false_attr__CRLF.txt
ok 700 - checkout attr=-text aeol= core.autocrlf=true core.eol=native file=CRLF
expecting success of 0027.701 'checkout attr=-text aeol= core.autocrlf=true core.eol=native file=CRLF_mix_LF':
compare_ws_file eol_native_crlf_true_attr_-text_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 701 - checkout attr=-text aeol= core.autocrlf=true core.eol=native file=CRLF_mix_LF
expecting success of 0027.702 'checkout attr=-text aeol= core.autocrlf=true core.eol=native file=LF_mix_CR':
compare_ws_file eol_native_crlf_true_attr_-text_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 702 - checkout attr=-text aeol= core.autocrlf=true core.eol=native file=LF_mix_CR
expecting success of 0027.703 'checkout attr=-text aeol= core.autocrlf=true core.eol=native file=LF_nul':
compare_ws_file eol_native_crlf_true_attr_-text_ LF_nul crlf_false_attr__LF_nul.txt
ok 703 - checkout attr=-text aeol= core.autocrlf=true core.eol=native file=LF_nul
expecting success of 0027.704 'ls-files --eol attr=-text aeol=lf core.autocrlf=true core.eol=native':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 704 - ls-files --eol attr=-text aeol=lf core.autocrlf=true core.eol=native
expecting success of 0027.705 'checkout attr=-text aeol=lf core.autocrlf=true core.eol=native file=LF':
compare_ws_file eol_native_crlf_true_attr_-text_ LF crlf_false_attr__LF.txt
ok 705 - checkout attr=-text aeol=lf core.autocrlf=true core.eol=native file=LF
expecting success of 0027.706 'checkout attr=-text aeol=lf core.autocrlf=true core.eol=native file=CRLF':
compare_ws_file eol_native_crlf_true_attr_-text_ CRLF crlf_false_attr__CRLF.txt
ok 706 - checkout attr=-text aeol=lf core.autocrlf=true core.eol=native file=CRLF
expecting success of 0027.707 'checkout attr=-text aeol=lf core.autocrlf=true core.eol=native file=CRLF_mix_LF':
compare_ws_file eol_native_crlf_true_attr_-text_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 707 - checkout attr=-text aeol=lf core.autocrlf=true core.eol=native file=CRLF_mix_LF
expecting success of 0027.708 'checkout attr=-text aeol=lf core.autocrlf=true core.eol=native file=LF_mix_CR':
compare_ws_file eol_native_crlf_true_attr_-text_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 708 - checkout attr=-text aeol=lf core.autocrlf=true core.eol=native file=LF_mix_CR
expecting success of 0027.709 'checkout attr=-text aeol=lf core.autocrlf=true core.eol=native file=LF_nul':
compare_ws_file eol_native_crlf_true_attr_-text_ LF_nul crlf_false_attr__LF_nul.txt
ok 709 - checkout attr=-text aeol=lf core.autocrlf=true core.eol=native file=LF_nul
expecting success of 0027.710 'ls-files --eol attr=-text aeol=crlf core.autocrlf=true core.eol=native':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 710 - ls-files --eol attr=-text aeol=crlf core.autocrlf=true core.eol=native
expecting success of 0027.711 'checkout attr=-text aeol=crlf core.autocrlf=true core.eol=native file=LF':
compare_ws_file eol_native_crlf_true_attr_-text_ LF crlf_false_attr__LF.txt
ok 711 - checkout attr=-text aeol=crlf core.autocrlf=true core.eol=native file=LF
expecting success of 0027.712 'checkout attr=-text aeol=crlf core.autocrlf=true core.eol=native file=CRLF':
compare_ws_file eol_native_crlf_true_attr_-text_ CRLF crlf_false_attr__CRLF.txt
ok 712 - checkout attr=-text aeol=crlf core.autocrlf=true core.eol=native file=CRLF
expecting success of 0027.713 'checkout attr=-text aeol=crlf core.autocrlf=true core.eol=native file=CRLF_mix_LF':
compare_ws_file eol_native_crlf_true_attr_-text_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 713 - checkout attr=-text aeol=crlf core.autocrlf=true core.eol=native file=CRLF_mix_LF
expecting success of 0027.714 'checkout attr=-text aeol=crlf core.autocrlf=true core.eol=native file=LF_mix_CR':
compare_ws_file eol_native_crlf_true_attr_-text_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 714 - checkout attr=-text aeol=crlf core.autocrlf=true core.eol=native file=LF_mix_CR
expecting success of 0027.715 'checkout attr=-text aeol=crlf core.autocrlf=true core.eol=native file=LF_nul':
compare_ws_file eol_native_crlf_true_attr_-text_ LF_nul crlf_false_attr__LF_nul.txt
ok 715 - checkout attr=-text aeol=crlf core.autocrlf=true core.eol=native file=LF_nul
expecting success of 0027.716 'ls-files --eol attr=text aeol=lf core.autocrlf=true core.eol=native':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 716 - ls-files --eol attr=text aeol=lf core.autocrlf=true core.eol=native
expecting success of 0027.717 'checkout attr=text aeol=lf core.autocrlf=true core.eol=native file=LF':
compare_ws_file eol_native_crlf_true_attr_text_ LF crlf_false_attr__LF.txt
ok 717 - checkout attr=text aeol=lf core.autocrlf=true core.eol=native file=LF
expecting success of 0027.718 'checkout attr=text aeol=lf core.autocrlf=true core.eol=native file=CRLF':
compare_ws_file eol_native_crlf_true_attr_text_ CRLF crlf_false_attr__CRLF.txt
ok 718 - checkout attr=text aeol=lf core.autocrlf=true core.eol=native file=CRLF
expecting success of 0027.719 'checkout attr=text aeol=lf core.autocrlf=true core.eol=native file=CRLF_mix_LF':
compare_ws_file eol_native_crlf_true_attr_text_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 719 - checkout attr=text aeol=lf core.autocrlf=true core.eol=native file=CRLF_mix_LF
expecting success of 0027.720 'checkout attr=text aeol=lf core.autocrlf=true core.eol=native file=LF_mix_CR':
compare_ws_file eol_native_crlf_true_attr_text_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 720 - checkout attr=text aeol=lf core.autocrlf=true core.eol=native file=LF_mix_CR
expecting success of 0027.721 'checkout attr=text aeol=lf core.autocrlf=true core.eol=native file=LF_nul':
compare_ws_file eol_native_crlf_true_attr_text_ LF_nul crlf_false_attr__LF_nul.txt
ok 721 - checkout attr=text aeol=lf core.autocrlf=true core.eol=native file=LF_nul
expecting success of 0027.722 'ls-files --eol attr=text aeol=crlf core.autocrlf=true core.eol=native':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 722 - ls-files --eol attr=text aeol=crlf core.autocrlf=true core.eol=native
expecting success of 0027.723 'checkout attr=text aeol=crlf core.autocrlf=true core.eol=native file=LF':
compare_ws_file eol_native_crlf_true_attr_text_ CRLF crlf_false_attr__LF.txt
ok 723 - checkout attr=text aeol=crlf core.autocrlf=true core.eol=native file=LF
expecting success of 0027.724 'checkout attr=text aeol=crlf core.autocrlf=true core.eol=native file=CRLF':
compare_ws_file eol_native_crlf_true_attr_text_ CRLF crlf_false_attr__CRLF.txt
ok 724 - checkout attr=text aeol=crlf core.autocrlf=true core.eol=native file=CRLF
expecting success of 0027.725 'checkout attr=text aeol=crlf core.autocrlf=true core.eol=native file=CRLF_mix_LF':
compare_ws_file eol_native_crlf_true_attr_text_ CRLF crlf_false_attr__CRLF_mix_LF.txt
ok 725 - checkout attr=text aeol=crlf core.autocrlf=true core.eol=native file=CRLF_mix_LF
expecting success of 0027.726 'checkout attr=text aeol=crlf core.autocrlf=true core.eol=native file=LF_mix_CR':
compare_ws_file eol_native_crlf_true_attr_text_ CRLF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 726 - checkout attr=text aeol=crlf core.autocrlf=true core.eol=native file=LF_mix_CR
expecting success of 0027.727 'checkout attr=text aeol=crlf core.autocrlf=true core.eol=native file=LF_nul':
compare_ws_file eol_native_crlf_true_attr_text_ CRLF_nul crlf_false_attr__LF_nul.txt
ok 727 - checkout attr=text aeol=crlf core.autocrlf=true core.eol=native file=LF_nul
expecting success of 0027.728 'ls-files --eol attr=auto aeol=lf core.autocrlf=true core.eol=native':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 728 - ls-files --eol attr=auto aeol=lf core.autocrlf=true core.eol=native
expecting success of 0027.729 'checkout attr=auto aeol=lf core.autocrlf=true core.eol=native file=LF':
compare_ws_file eol_native_crlf_true_attr_auto_ LF crlf_false_attr__LF.txt
ok 729 - checkout attr=auto aeol=lf core.autocrlf=true core.eol=native file=LF
expecting success of 0027.730 'checkout attr=auto aeol=lf core.autocrlf=true core.eol=native file=CRLF':
compare_ws_file eol_native_crlf_true_attr_auto_ CRLF crlf_false_attr__CRLF.txt
ok 730 - checkout attr=auto aeol=lf core.autocrlf=true core.eol=native file=CRLF
expecting success of 0027.731 'checkout attr=auto aeol=lf core.autocrlf=true core.eol=native file=CRLF_mix_LF':
compare_ws_file eol_native_crlf_true_attr_auto_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 731 - checkout attr=auto aeol=lf core.autocrlf=true core.eol=native file=CRLF_mix_LF
expecting success of 0027.732 'checkout attr=auto aeol=lf core.autocrlf=true core.eol=native file=LF_mix_CR':
compare_ws_file eol_native_crlf_true_attr_auto_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 732 - checkout attr=auto aeol=lf core.autocrlf=true core.eol=native file=LF_mix_CR
expecting success of 0027.733 'checkout attr=auto aeol=lf core.autocrlf=true core.eol=native file=LF_nul':
compare_ws_file eol_native_crlf_true_attr_auto_ LF_nul crlf_false_attr__LF_nul.txt
ok 733 - checkout attr=auto aeol=lf core.autocrlf=true core.eol=native file=LF_nul
expecting success of 0027.734 'ls-files --eol attr=auto aeol=crlf core.autocrlf=true core.eol=native':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 734 - ls-files --eol attr=auto aeol=crlf core.autocrlf=true core.eol=native
expecting success of 0027.735 'checkout attr=auto aeol=crlf core.autocrlf=true core.eol=native file=LF':
compare_ws_file eol_native_crlf_true_attr_auto_ CRLF crlf_false_attr__LF.txt
ok 735 - checkout attr=auto aeol=crlf core.autocrlf=true core.eol=native file=LF
expecting success of 0027.736 'checkout attr=auto aeol=crlf core.autocrlf=true core.eol=native file=CRLF':
compare_ws_file eol_native_crlf_true_attr_auto_ CRLF crlf_false_attr__CRLF.txt
ok 736 - checkout attr=auto aeol=crlf core.autocrlf=true core.eol=native file=CRLF
expecting success of 0027.737 'checkout attr=auto aeol=crlf core.autocrlf=true core.eol=native file=CRLF_mix_LF':
compare_ws_file eol_native_crlf_true_attr_auto_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 737 - checkout attr=auto aeol=crlf core.autocrlf=true core.eol=native file=CRLF_mix_LF
expecting success of 0027.738 'checkout attr=auto aeol=crlf core.autocrlf=true core.eol=native file=LF_mix_CR':
compare_ws_file eol_native_crlf_true_attr_auto_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 738 - checkout attr=auto aeol=crlf core.autocrlf=true core.eol=native file=LF_mix_CR
expecting success of 0027.739 'checkout attr=auto aeol=crlf core.autocrlf=true core.eol=native file=LF_nul':
compare_ws_file eol_native_crlf_true_attr_auto_ LF_nul crlf_false_attr__LF_nul.txt
ok 739 - checkout attr=auto aeol=crlf core.autocrlf=true core.eol=native file=LF_nul
expecting success of 0027.740 'ls-files --eol attr=-text aeol= core.autocrlf=false core.eol=native':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 740 - ls-files --eol attr=-text aeol= core.autocrlf=false core.eol=native
expecting success of 0027.741 'checkout attr=-text aeol= core.autocrlf=false core.eol=native file=LF':
compare_ws_file eol_native_crlf_false_attr_-text_ LF crlf_false_attr__LF.txt
ok 741 - checkout attr=-text aeol= core.autocrlf=false core.eol=native file=LF
expecting success of 0027.742 'checkout attr=-text aeol= core.autocrlf=false core.eol=native file=CRLF':
compare_ws_file eol_native_crlf_false_attr_-text_ CRLF crlf_false_attr__CRLF.txt
ok 742 - checkout attr=-text aeol= core.autocrlf=false core.eol=native file=CRLF
expecting success of 0027.743 'checkout attr=-text aeol= core.autocrlf=false core.eol=native file=CRLF_mix_LF':
compare_ws_file eol_native_crlf_false_attr_-text_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 743 - checkout attr=-text aeol= core.autocrlf=false core.eol=native file=CRLF_mix_LF
expecting success of 0027.744 'checkout attr=-text aeol= core.autocrlf=false core.eol=native file=LF_mix_CR':
compare_ws_file eol_native_crlf_false_attr_-text_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 744 - checkout attr=-text aeol= core.autocrlf=false core.eol=native file=LF_mix_CR
expecting success of 0027.745 'checkout attr=-text aeol= core.autocrlf=false core.eol=native file=LF_nul':
compare_ws_file eol_native_crlf_false_attr_-text_ LF_nul crlf_false_attr__LF_nul.txt
ok 745 - checkout attr=-text aeol= core.autocrlf=false core.eol=native file=LF_nul
expecting success of 0027.746 'ls-files --eol attr=-text aeol=lf core.autocrlf=false core.eol=native':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 746 - ls-files --eol attr=-text aeol=lf core.autocrlf=false core.eol=native
expecting success of 0027.747 'checkout attr=-text aeol=lf core.autocrlf=false core.eol=native file=LF':
compare_ws_file eol_native_crlf_false_attr_-text_ LF crlf_false_attr__LF.txt
ok 747 - checkout attr=-text aeol=lf core.autocrlf=false core.eol=native file=LF
expecting success of 0027.748 'checkout attr=-text aeol=lf core.autocrlf=false core.eol=native file=CRLF':
compare_ws_file eol_native_crlf_false_attr_-text_ CRLF crlf_false_attr__CRLF.txt
ok 748 - checkout attr=-text aeol=lf core.autocrlf=false core.eol=native file=CRLF
expecting success of 0027.749 'checkout attr=-text aeol=lf core.autocrlf=false core.eol=native file=CRLF_mix_LF':
compare_ws_file eol_native_crlf_false_attr_-text_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 749 - checkout attr=-text aeol=lf core.autocrlf=false core.eol=native file=CRLF_mix_LF
expecting success of 0027.750 'checkout attr=-text aeol=lf core.autocrlf=false core.eol=native file=LF_mix_CR':
compare_ws_file eol_native_crlf_false_attr_-text_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 750 - checkout attr=-text aeol=lf core.autocrlf=false core.eol=native file=LF_mix_CR
expecting success of 0027.751 'checkout attr=-text aeol=lf core.autocrlf=false core.eol=native file=LF_nul':
compare_ws_file eol_native_crlf_false_attr_-text_ LF_nul crlf_false_attr__LF_nul.txt
ok 751 - checkout attr=-text aeol=lf core.autocrlf=false core.eol=native file=LF_nul
expecting success of 0027.752 'ls-files --eol attr=-text aeol=crlf core.autocrlf=false core.eol=native':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 752 - ls-files --eol attr=-text aeol=crlf core.autocrlf=false core.eol=native
expecting success of 0027.753 'checkout attr=-text aeol=crlf core.autocrlf=false core.eol=native file=LF':
compare_ws_file eol_native_crlf_false_attr_-text_ LF crlf_false_attr__LF.txt
ok 753 - checkout attr=-text aeol=crlf core.autocrlf=false core.eol=native file=LF
expecting success of 0027.754 'checkout attr=-text aeol=crlf core.autocrlf=false core.eol=native file=CRLF':
compare_ws_file eol_native_crlf_false_attr_-text_ CRLF crlf_false_attr__CRLF.txt
ok 754 - checkout attr=-text aeol=crlf core.autocrlf=false core.eol=native file=CRLF
expecting success of 0027.755 'checkout attr=-text aeol=crlf core.autocrlf=false core.eol=native file=CRLF_mix_LF':
compare_ws_file eol_native_crlf_false_attr_-text_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 755 - checkout attr=-text aeol=crlf core.autocrlf=false core.eol=native file=CRLF_mix_LF
expecting success of 0027.756 'checkout attr=-text aeol=crlf core.autocrlf=false core.eol=native file=LF_mix_CR':
compare_ws_file eol_native_crlf_false_attr_-text_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 756 - checkout attr=-text aeol=crlf core.autocrlf=false core.eol=native file=LF_mix_CR
expecting success of 0027.757 'checkout attr=-text aeol=crlf core.autocrlf=false core.eol=native file=LF_nul':
compare_ws_file eol_native_crlf_false_attr_-text_ LF_nul crlf_false_attr__LF_nul.txt
ok 757 - checkout attr=-text aeol=crlf core.autocrlf=false core.eol=native file=LF_nul
expecting success of 0027.758 'ls-files --eol attr=text aeol=lf core.autocrlf=false core.eol=native':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 758 - ls-files --eol attr=text aeol=lf core.autocrlf=false core.eol=native
expecting success of 0027.759 'checkout attr=text aeol=lf core.autocrlf=false core.eol=native file=LF':
compare_ws_file eol_native_crlf_false_attr_text_ LF crlf_false_attr__LF.txt
ok 759 - checkout attr=text aeol=lf core.autocrlf=false core.eol=native file=LF
expecting success of 0027.760 'checkout attr=text aeol=lf core.autocrlf=false core.eol=native file=CRLF':
compare_ws_file eol_native_crlf_false_attr_text_ CRLF crlf_false_attr__CRLF.txt
ok 760 - checkout attr=text aeol=lf core.autocrlf=false core.eol=native file=CRLF
expecting success of 0027.761 'checkout attr=text aeol=lf core.autocrlf=false core.eol=native file=CRLF_mix_LF':
compare_ws_file eol_native_crlf_false_attr_text_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 761 - checkout attr=text aeol=lf core.autocrlf=false core.eol=native file=CRLF_mix_LF
expecting success of 0027.762 'checkout attr=text aeol=lf core.autocrlf=false core.eol=native file=LF_mix_CR':
compare_ws_file eol_native_crlf_false_attr_text_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 762 - checkout attr=text aeol=lf core.autocrlf=false core.eol=native file=LF_mix_CR
expecting success of 0027.763 'checkout attr=text aeol=lf core.autocrlf=false core.eol=native file=LF_nul':
compare_ws_file eol_native_crlf_false_attr_text_ LF_nul crlf_false_attr__LF_nul.txt
ok 763 - checkout attr=text aeol=lf core.autocrlf=false core.eol=native file=LF_nul
expecting success of 0027.764 'ls-files --eol attr=text aeol=crlf core.autocrlf=false core.eol=native':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 764 - ls-files --eol attr=text aeol=crlf core.autocrlf=false core.eol=native
expecting success of 0027.765 'checkout attr=text aeol=crlf core.autocrlf=false core.eol=native file=LF':
compare_ws_file eol_native_crlf_false_attr_text_ CRLF crlf_false_attr__LF.txt
ok 765 - checkout attr=text aeol=crlf core.autocrlf=false core.eol=native file=LF
expecting success of 0027.766 'checkout attr=text aeol=crlf core.autocrlf=false core.eol=native file=CRLF':
compare_ws_file eol_native_crlf_false_attr_text_ CRLF crlf_false_attr__CRLF.txt
ok 766 - checkout attr=text aeol=crlf core.autocrlf=false core.eol=native file=CRLF
expecting success of 0027.767 'checkout attr=text aeol=crlf core.autocrlf=false core.eol=native file=CRLF_mix_LF':
compare_ws_file eol_native_crlf_false_attr_text_ CRLF crlf_false_attr__CRLF_mix_LF.txt
ok 767 - checkout attr=text aeol=crlf core.autocrlf=false core.eol=native file=CRLF_mix_LF
expecting success of 0027.768 'checkout attr=text aeol=crlf core.autocrlf=false core.eol=native file=LF_mix_CR':
compare_ws_file eol_native_crlf_false_attr_text_ CRLF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 768 - checkout attr=text aeol=crlf core.autocrlf=false core.eol=native file=LF_mix_CR
expecting success of 0027.769 'checkout attr=text aeol=crlf core.autocrlf=false core.eol=native file=LF_nul':
compare_ws_file eol_native_crlf_false_attr_text_ CRLF_nul crlf_false_attr__LF_nul.txt
ok 769 - checkout attr=text aeol=crlf core.autocrlf=false core.eol=native file=LF_nul
expecting success of 0027.770 'ls-files --eol attr=auto aeol=lf core.autocrlf=false core.eol=native':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 770 - ls-files --eol attr=auto aeol=lf core.autocrlf=false core.eol=native
expecting success of 0027.771 'checkout attr=auto aeol=lf core.autocrlf=false core.eol=native file=LF':
compare_ws_file eol_native_crlf_false_attr_auto_ LF crlf_false_attr__LF.txt
ok 771 - checkout attr=auto aeol=lf core.autocrlf=false core.eol=native file=LF
expecting success of 0027.772 'checkout attr=auto aeol=lf core.autocrlf=false core.eol=native file=CRLF':
compare_ws_file eol_native_crlf_false_attr_auto_ CRLF crlf_false_attr__CRLF.txt
ok 772 - checkout attr=auto aeol=lf core.autocrlf=false core.eol=native file=CRLF
expecting success of 0027.773 'checkout attr=auto aeol=lf core.autocrlf=false core.eol=native file=CRLF_mix_LF':
compare_ws_file eol_native_crlf_false_attr_auto_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 773 - checkout attr=auto aeol=lf core.autocrlf=false core.eol=native file=CRLF_mix_LF
expecting success of 0027.774 'checkout attr=auto aeol=lf core.autocrlf=false core.eol=native file=LF_mix_CR':
compare_ws_file eol_native_crlf_false_attr_auto_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 774 - checkout attr=auto aeol=lf core.autocrlf=false core.eol=native file=LF_mix_CR
expecting success of 0027.775 'checkout attr=auto aeol=lf core.autocrlf=false core.eol=native file=LF_nul':
compare_ws_file eol_native_crlf_false_attr_auto_ LF_nul crlf_false_attr__LF_nul.txt
ok 775 - checkout attr=auto aeol=lf core.autocrlf=false core.eol=native file=LF_nul
expecting success of 0027.776 'ls-files --eol attr=auto aeol=crlf core.autocrlf=false core.eol=native':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 776 - ls-files --eol attr=auto aeol=crlf core.autocrlf=false core.eol=native
expecting success of 0027.777 'checkout attr=auto aeol=crlf core.autocrlf=false core.eol=native file=LF':
compare_ws_file eol_native_crlf_false_attr_auto_ CRLF crlf_false_attr__LF.txt
ok 777 - checkout attr=auto aeol=crlf core.autocrlf=false core.eol=native file=LF
expecting success of 0027.778 'checkout attr=auto aeol=crlf core.autocrlf=false core.eol=native file=CRLF':
compare_ws_file eol_native_crlf_false_attr_auto_ CRLF crlf_false_attr__CRLF.txt
ok 778 - checkout attr=auto aeol=crlf core.autocrlf=false core.eol=native file=CRLF
expecting success of 0027.779 'checkout attr=auto aeol=crlf core.autocrlf=false core.eol=native file=CRLF_mix_LF':
compare_ws_file eol_native_crlf_false_attr_auto_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 779 - checkout attr=auto aeol=crlf core.autocrlf=false core.eol=native file=CRLF_mix_LF
expecting success of 0027.780 'checkout attr=auto aeol=crlf core.autocrlf=false core.eol=native file=LF_mix_CR':
compare_ws_file eol_native_crlf_false_attr_auto_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 780 - checkout attr=auto aeol=crlf core.autocrlf=false core.eol=native file=LF_mix_CR
expecting success of 0027.781 'checkout attr=auto aeol=crlf core.autocrlf=false core.eol=native file=LF_nul':
compare_ws_file eol_native_crlf_false_attr_auto_ LF_nul crlf_false_attr__LF_nul.txt
ok 781 - checkout attr=auto aeol=crlf core.autocrlf=false core.eol=native file=LF_nul
expecting success of 0027.782 'ls-files --eol attr=-text aeol= core.autocrlf=input core.eol=native':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 782 - ls-files --eol attr=-text aeol= core.autocrlf=input core.eol=native
expecting success of 0027.783 'checkout attr=-text aeol= core.autocrlf=input core.eol=native file=LF':
compare_ws_file eol_native_crlf_input_attr_-text_ LF crlf_false_attr__LF.txt
ok 783 - checkout attr=-text aeol= core.autocrlf=input core.eol=native file=LF
expecting success of 0027.784 'checkout attr=-text aeol= core.autocrlf=input core.eol=native file=CRLF':
compare_ws_file eol_native_crlf_input_attr_-text_ CRLF crlf_false_attr__CRLF.txt
ok 784 - checkout attr=-text aeol= core.autocrlf=input core.eol=native file=CRLF
expecting success of 0027.785 'checkout attr=-text aeol= core.autocrlf=input core.eol=native file=CRLF_mix_LF':
compare_ws_file eol_native_crlf_input_attr_-text_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 785 - checkout attr=-text aeol= core.autocrlf=input core.eol=native file=CRLF_mix_LF
expecting success of 0027.786 'checkout attr=-text aeol= core.autocrlf=input core.eol=native file=LF_mix_CR':
compare_ws_file eol_native_crlf_input_attr_-text_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 786 - checkout attr=-text aeol= core.autocrlf=input core.eol=native file=LF_mix_CR
expecting success of 0027.787 'checkout attr=-text aeol= core.autocrlf=input core.eol=native file=LF_nul':
compare_ws_file eol_native_crlf_input_attr_-text_ LF_nul crlf_false_attr__LF_nul.txt
ok 787 - checkout attr=-text aeol= core.autocrlf=input core.eol=native file=LF_nul
expecting success of 0027.788 'ls-files --eol attr=-text aeol=lf core.autocrlf=input core.eol=native':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 788 - ls-files --eol attr=-text aeol=lf core.autocrlf=input core.eol=native
expecting success of 0027.789 'checkout attr=-text aeol=lf core.autocrlf=input core.eol=native file=LF':
compare_ws_file eol_native_crlf_input_attr_-text_ LF crlf_false_attr__LF.txt
ok 789 - checkout attr=-text aeol=lf core.autocrlf=input core.eol=native file=LF
expecting success of 0027.790 'checkout attr=-text aeol=lf core.autocrlf=input core.eol=native file=CRLF':
compare_ws_file eol_native_crlf_input_attr_-text_ CRLF crlf_false_attr__CRLF.txt
ok 790 - checkout attr=-text aeol=lf core.autocrlf=input core.eol=native file=CRLF
expecting success of 0027.791 'checkout attr=-text aeol=lf core.autocrlf=input core.eol=native file=CRLF_mix_LF':
compare_ws_file eol_native_crlf_input_attr_-text_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 791 - checkout attr=-text aeol=lf core.autocrlf=input core.eol=native file=CRLF_mix_LF
expecting success of 0027.792 'checkout attr=-text aeol=lf core.autocrlf=input core.eol=native file=LF_mix_CR':
compare_ws_file eol_native_crlf_input_attr_-text_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 792 - checkout attr=-text aeol=lf core.autocrlf=input core.eol=native file=LF_mix_CR
expecting success of 0027.793 'checkout attr=-text aeol=lf core.autocrlf=input core.eol=native file=LF_nul':
compare_ws_file eol_native_crlf_input_attr_-text_ LF_nul crlf_false_attr__LF_nul.txt
ok 793 - checkout attr=-text aeol=lf core.autocrlf=input core.eol=native file=LF_nul
expecting success of 0027.794 'ls-files --eol attr=-text aeol=crlf core.autocrlf=input core.eol=native':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 794 - ls-files --eol attr=-text aeol=crlf core.autocrlf=input core.eol=native
expecting success of 0027.795 'checkout attr=-text aeol=crlf core.autocrlf=input core.eol=native file=LF':
compare_ws_file eol_native_crlf_input_attr_-text_ LF crlf_false_attr__LF.txt
ok 795 - checkout attr=-text aeol=crlf core.autocrlf=input core.eol=native file=LF
expecting success of 0027.796 'checkout attr=-text aeol=crlf core.autocrlf=input core.eol=native file=CRLF':
compare_ws_file eol_native_crlf_input_attr_-text_ CRLF crlf_false_attr__CRLF.txt
ok 796 - checkout attr=-text aeol=crlf core.autocrlf=input core.eol=native file=CRLF
expecting success of 0027.797 'checkout attr=-text aeol=crlf core.autocrlf=input core.eol=native file=CRLF_mix_LF':
compare_ws_file eol_native_crlf_input_attr_-text_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 797 - checkout attr=-text aeol=crlf core.autocrlf=input core.eol=native file=CRLF_mix_LF
expecting success of 0027.798 'checkout attr=-text aeol=crlf core.autocrlf=input core.eol=native file=LF_mix_CR':
compare_ws_file eol_native_crlf_input_attr_-text_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 798 - checkout attr=-text aeol=crlf core.autocrlf=input core.eol=native file=LF_mix_CR
expecting success of 0027.799 'checkout attr=-text aeol=crlf core.autocrlf=input core.eol=native file=LF_nul':
compare_ws_file eol_native_crlf_input_attr_-text_ LF_nul crlf_false_attr__LF_nul.txt
ok 799 - checkout attr=-text aeol=crlf core.autocrlf=input core.eol=native file=LF_nul
expecting success of 0027.800 'ls-files --eol attr=text aeol=lf core.autocrlf=input core.eol=native':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 800 - ls-files --eol attr=text aeol=lf core.autocrlf=input core.eol=native
expecting success of 0027.801 'checkout attr=text aeol=lf core.autocrlf=input core.eol=native file=LF':
compare_ws_file eol_native_crlf_input_attr_text_ LF crlf_false_attr__LF.txt
ok 801 - checkout attr=text aeol=lf core.autocrlf=input core.eol=native file=LF
expecting success of 0027.802 'checkout attr=text aeol=lf core.autocrlf=input core.eol=native file=CRLF':
compare_ws_file eol_native_crlf_input_attr_text_ CRLF crlf_false_attr__CRLF.txt
ok 802 - checkout attr=text aeol=lf core.autocrlf=input core.eol=native file=CRLF
expecting success of 0027.803 'checkout attr=text aeol=lf core.autocrlf=input core.eol=native file=CRLF_mix_LF':
compare_ws_file eol_native_crlf_input_attr_text_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 803 - checkout attr=text aeol=lf core.autocrlf=input core.eol=native file=CRLF_mix_LF
expecting success of 0027.804 'checkout attr=text aeol=lf core.autocrlf=input core.eol=native file=LF_mix_CR':
compare_ws_file eol_native_crlf_input_attr_text_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 804 - checkout attr=text aeol=lf core.autocrlf=input core.eol=native file=LF_mix_CR
expecting success of 0027.805 'checkout attr=text aeol=lf core.autocrlf=input core.eol=native file=LF_nul':
compare_ws_file eol_native_crlf_input_attr_text_ LF_nul crlf_false_attr__LF_nul.txt
ok 805 - checkout attr=text aeol=lf core.autocrlf=input core.eol=native file=LF_nul
expecting success of 0027.806 'ls-files --eol attr=text aeol=crlf core.autocrlf=input core.eol=native':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 806 - ls-files --eol attr=text aeol=crlf core.autocrlf=input core.eol=native
expecting success of 0027.807 'checkout attr=text aeol=crlf core.autocrlf=input core.eol=native file=LF':
compare_ws_file eol_native_crlf_input_attr_text_ CRLF crlf_false_attr__LF.txt
ok 807 - checkout attr=text aeol=crlf core.autocrlf=input core.eol=native file=LF
expecting success of 0027.808 'checkout attr=text aeol=crlf core.autocrlf=input core.eol=native file=CRLF':
compare_ws_file eol_native_crlf_input_attr_text_ CRLF crlf_false_attr__CRLF.txt
ok 808 - checkout attr=text aeol=crlf core.autocrlf=input core.eol=native file=CRLF
expecting success of 0027.809 'checkout attr=text aeol=crlf core.autocrlf=input core.eol=native file=CRLF_mix_LF':
compare_ws_file eol_native_crlf_input_attr_text_ CRLF crlf_false_attr__CRLF_mix_LF.txt
ok 809 - checkout attr=text aeol=crlf core.autocrlf=input core.eol=native file=CRLF_mix_LF
expecting success of 0027.810 'checkout attr=text aeol=crlf core.autocrlf=input core.eol=native file=LF_mix_CR':
compare_ws_file eol_native_crlf_input_attr_text_ CRLF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 810 - checkout attr=text aeol=crlf core.autocrlf=input core.eol=native file=LF_mix_CR
expecting success of 0027.811 'checkout attr=text aeol=crlf core.autocrlf=input core.eol=native file=LF_nul':
compare_ws_file eol_native_crlf_input_attr_text_ CRLF_nul crlf_false_attr__LF_nul.txt
ok 811 - checkout attr=text aeol=crlf core.autocrlf=input core.eol=native file=LF_nul
expecting success of 0027.812 'ls-files --eol attr=auto aeol=lf core.autocrlf=input core.eol=native':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 812 - ls-files --eol attr=auto aeol=lf core.autocrlf=input core.eol=native
expecting success of 0027.813 'checkout attr=auto aeol=lf core.autocrlf=input core.eol=native file=LF':
compare_ws_file eol_native_crlf_input_attr_auto_ LF crlf_false_attr__LF.txt
ok 813 - checkout attr=auto aeol=lf core.autocrlf=input core.eol=native file=LF
expecting success of 0027.814 'checkout attr=auto aeol=lf core.autocrlf=input core.eol=native file=CRLF':
compare_ws_file eol_native_crlf_input_attr_auto_ CRLF crlf_false_attr__CRLF.txt
ok 814 - checkout attr=auto aeol=lf core.autocrlf=input core.eol=native file=CRLF
expecting success of 0027.815 'checkout attr=auto aeol=lf core.autocrlf=input core.eol=native file=CRLF_mix_LF':
compare_ws_file eol_native_crlf_input_attr_auto_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 815 - checkout attr=auto aeol=lf core.autocrlf=input core.eol=native file=CRLF_mix_LF
expecting success of 0027.816 'checkout attr=auto aeol=lf core.autocrlf=input core.eol=native file=LF_mix_CR':
compare_ws_file eol_native_crlf_input_attr_auto_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 816 - checkout attr=auto aeol=lf core.autocrlf=input core.eol=native file=LF_mix_CR
expecting success of 0027.817 'checkout attr=auto aeol=lf core.autocrlf=input core.eol=native file=LF_nul':
compare_ws_file eol_native_crlf_input_attr_auto_ LF_nul crlf_false_attr__LF_nul.txt
ok 817 - checkout attr=auto aeol=lf core.autocrlf=input core.eol=native file=LF_nul
expecting success of 0027.818 'ls-files --eol attr=auto aeol=crlf core.autocrlf=input core.eol=native':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 818 - ls-files --eol attr=auto aeol=crlf core.autocrlf=input core.eol=native
expecting success of 0027.819 'checkout attr=auto aeol=crlf core.autocrlf=input core.eol=native file=LF':
compare_ws_file eol_native_crlf_input_attr_auto_ CRLF crlf_false_attr__LF.txt
ok 819 - checkout attr=auto aeol=crlf core.autocrlf=input core.eol=native file=LF
expecting success of 0027.820 'checkout attr=auto aeol=crlf core.autocrlf=input core.eol=native file=CRLF':
compare_ws_file eol_native_crlf_input_attr_auto_ CRLF crlf_false_attr__CRLF.txt
ok 820 - checkout attr=auto aeol=crlf core.autocrlf=input core.eol=native file=CRLF
expecting success of 0027.821 'checkout attr=auto aeol=crlf core.autocrlf=input core.eol=native file=CRLF_mix_LF':
compare_ws_file eol_native_crlf_input_attr_auto_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 821 - checkout attr=auto aeol=crlf core.autocrlf=input core.eol=native file=CRLF_mix_LF
expecting success of 0027.822 'checkout attr=auto aeol=crlf core.autocrlf=input core.eol=native file=LF_mix_CR':
compare_ws_file eol_native_crlf_input_attr_auto_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 822 - checkout attr=auto aeol=crlf core.autocrlf=input core.eol=native file=LF_mix_CR
expecting success of 0027.823 'checkout attr=auto aeol=crlf core.autocrlf=input core.eol=native file=LF_nul':
compare_ws_file eol_native_crlf_input_attr_auto_ LF_nul crlf_false_attr__LF_nul.txt
ok 823 - checkout attr=auto aeol=crlf core.autocrlf=input core.eol=native file=LF_nul
expecting success of 0027.824 'ls-files --eol attr= aeol= core.autocrlf=false core.eol=native':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 824 - ls-files --eol attr= aeol= core.autocrlf=false core.eol=native
expecting success of 0027.825 'checkout attr= aeol= core.autocrlf=false core.eol=native file=LF':
compare_ws_file eol_native_crlf_false_attr__ LF crlf_false_attr__LF.txt
ok 825 - checkout attr= aeol= core.autocrlf=false core.eol=native file=LF
expecting success of 0027.826 'checkout attr= aeol= core.autocrlf=false core.eol=native file=CRLF':
compare_ws_file eol_native_crlf_false_attr__ CRLF crlf_false_attr__CRLF.txt
ok 826 - checkout attr= aeol= core.autocrlf=false core.eol=native file=CRLF
expecting success of 0027.827 'checkout attr= aeol= core.autocrlf=false core.eol=native file=CRLF_mix_LF':
compare_ws_file eol_native_crlf_false_attr__ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 827 - checkout attr= aeol= core.autocrlf=false core.eol=native file=CRLF_mix_LF
expecting success of 0027.828 'checkout attr= aeol= core.autocrlf=false core.eol=native file=LF_mix_CR':
compare_ws_file eol_native_crlf_false_attr__ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 828 - checkout attr= aeol= core.autocrlf=false core.eol=native file=LF_mix_CR
expecting success of 0027.829 'checkout attr= aeol= core.autocrlf=false core.eol=native file=LF_nul':
compare_ws_file eol_native_crlf_false_attr__ LF_nul crlf_false_attr__LF_nul.txt
ok 829 - checkout attr= aeol= core.autocrlf=false core.eol=native file=LF_nul
expecting success of 0027.830 'ls-files --eol attr= aeol= core.autocrlf=true core.eol=native':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 830 - ls-files --eol attr= aeol= core.autocrlf=true core.eol=native
expecting success of 0027.831 'checkout attr= aeol= core.autocrlf=true core.eol=native file=LF':
compare_ws_file eol_native_crlf_true_attr__ CRLF crlf_false_attr__LF.txt
ok 831 - checkout attr= aeol= core.autocrlf=true core.eol=native file=LF
expecting success of 0027.832 'checkout attr= aeol= core.autocrlf=true core.eol=native file=CRLF':
compare_ws_file eol_native_crlf_true_attr__ CRLF crlf_false_attr__CRLF.txt
ok 832 - checkout attr= aeol= core.autocrlf=true core.eol=native file=CRLF
expecting success of 0027.833 'checkout attr= aeol= core.autocrlf=true core.eol=native file=CRLF_mix_LF':
compare_ws_file eol_native_crlf_true_attr__ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 833 - checkout attr= aeol= core.autocrlf=true core.eol=native file=CRLF_mix_LF
expecting success of 0027.834 'checkout attr= aeol= core.autocrlf=true core.eol=native file=LF_mix_CR':
compare_ws_file eol_native_crlf_true_attr__ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 834 - checkout attr= aeol= core.autocrlf=true core.eol=native file=LF_mix_CR
expecting success of 0027.835 'checkout attr= aeol= core.autocrlf=true core.eol=native file=LF_nul':
compare_ws_file eol_native_crlf_true_attr__ LF_nul crlf_false_attr__LF_nul.txt
ok 835 - checkout attr= aeol= core.autocrlf=true core.eol=native file=LF_nul
expecting success of 0027.836 'ls-files --eol attr=auto aeol= core.autocrlf=true core.eol=native':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 836 - ls-files --eol attr=auto aeol= core.autocrlf=true core.eol=native
expecting success of 0027.837 'checkout attr=auto aeol= core.autocrlf=true core.eol=native file=LF':
compare_ws_file eol_native_crlf_true_attr_auto_ CRLF crlf_false_attr__LF.txt
ok 837 - checkout attr=auto aeol= core.autocrlf=true core.eol=native file=LF
expecting success of 0027.838 'checkout attr=auto aeol= core.autocrlf=true core.eol=native file=CRLF':
compare_ws_file eol_native_crlf_true_attr_auto_ CRLF crlf_false_attr__CRLF.txt
ok 838 - checkout attr=auto aeol= core.autocrlf=true core.eol=native file=CRLF
expecting success of 0027.839 'checkout attr=auto aeol= core.autocrlf=true core.eol=native file=CRLF_mix_LF':
compare_ws_file eol_native_crlf_true_attr_auto_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 839 - checkout attr=auto aeol= core.autocrlf=true core.eol=native file=CRLF_mix_LF
expecting success of 0027.840 'checkout attr=auto aeol= core.autocrlf=true core.eol=native file=LF_mix_CR':
compare_ws_file eol_native_crlf_true_attr_auto_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 840 - checkout attr=auto aeol= core.autocrlf=true core.eol=native file=LF_mix_CR
expecting success of 0027.841 'checkout attr=auto aeol= core.autocrlf=true core.eol=native file=LF_nul':
compare_ws_file eol_native_crlf_true_attr_auto_ LF_nul crlf_false_attr__LF_nul.txt
ok 841 - checkout attr=auto aeol= core.autocrlf=true core.eol=native file=LF_nul
expecting success of 0027.842 'ls-files --eol attr=text aeol= core.autocrlf=true core.eol=native':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 842 - ls-files --eol attr=text aeol= core.autocrlf=true core.eol=native
expecting success of 0027.843 'checkout attr=text aeol= core.autocrlf=true core.eol=native file=LF':
compare_ws_file eol_native_crlf_true_attr_text_ CRLF crlf_false_attr__LF.txt
ok 843 - checkout attr=text aeol= core.autocrlf=true core.eol=native file=LF
expecting success of 0027.844 'checkout attr=text aeol= core.autocrlf=true core.eol=native file=CRLF':
compare_ws_file eol_native_crlf_true_attr_text_ CRLF crlf_false_attr__CRLF.txt
ok 844 - checkout attr=text aeol= core.autocrlf=true core.eol=native file=CRLF
expecting success of 0027.845 'checkout attr=text aeol= core.autocrlf=true core.eol=native file=CRLF_mix_LF':
compare_ws_file eol_native_crlf_true_attr_text_ CRLF crlf_false_attr__CRLF_mix_LF.txt
ok 845 - checkout attr=text aeol= core.autocrlf=true core.eol=native file=CRLF_mix_LF
expecting success of 0027.846 'checkout attr=text aeol= core.autocrlf=true core.eol=native file=LF_mix_CR':
compare_ws_file eol_native_crlf_true_attr_text_ CRLF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 846 - checkout attr=text aeol= core.autocrlf=true core.eol=native file=LF_mix_CR
expecting success of 0027.847 'checkout attr=text aeol= core.autocrlf=true core.eol=native file=LF_nul':
compare_ws_file eol_native_crlf_true_attr_text_ CRLF_nul crlf_false_attr__LF_nul.txt
ok 847 - checkout attr=text aeol= core.autocrlf=true core.eol=native file=LF_nul
expecting success of 0027.848 'ls-files --eol attr=text aeol= core.autocrlf=input core.eol=native':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 848 - ls-files --eol attr=text aeol= core.autocrlf=input core.eol=native
expecting success of 0027.849 'checkout attr=text aeol= core.autocrlf=input core.eol=native file=LF':
compare_ws_file eol_native_crlf_input_attr_text_ LF crlf_false_attr__LF.txt
ok 849 - checkout attr=text aeol= core.autocrlf=input core.eol=native file=LF
expecting success of 0027.850 'checkout attr=text aeol= core.autocrlf=input core.eol=native file=CRLF':
compare_ws_file eol_native_crlf_input_attr_text_ CRLF crlf_false_attr__CRLF.txt
ok 850 - checkout attr=text aeol= core.autocrlf=input core.eol=native file=CRLF
expecting success of 0027.851 'checkout attr=text aeol= core.autocrlf=input core.eol=native file=CRLF_mix_LF':
compare_ws_file eol_native_crlf_input_attr_text_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 851 - checkout attr=text aeol= core.autocrlf=input core.eol=native file=CRLF_mix_LF
expecting success of 0027.852 'checkout attr=text aeol= core.autocrlf=input core.eol=native file=LF_mix_CR':
compare_ws_file eol_native_crlf_input_attr_text_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 852 - checkout attr=text aeol= core.autocrlf=input core.eol=native file=LF_mix_CR
expecting success of 0027.853 'checkout attr=text aeol= core.autocrlf=input core.eol=native file=LF_nul':
compare_ws_file eol_native_crlf_input_attr_text_ LF_nul crlf_false_attr__LF_nul.txt
ok 853 - checkout attr=text aeol= core.autocrlf=input core.eol=native file=LF_nul
expecting success of 0027.854 'ls-files --eol attr=auto aeol= core.autocrlf=input core.eol=native':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 854 - ls-files --eol attr=auto aeol= core.autocrlf=input core.eol=native
expecting success of 0027.855 'checkout attr=auto aeol= core.autocrlf=input core.eol=native file=LF':
compare_ws_file eol_native_crlf_input_attr_auto_ LF crlf_false_attr__LF.txt
ok 855 - checkout attr=auto aeol= core.autocrlf=input core.eol=native file=LF
expecting success of 0027.856 'checkout attr=auto aeol= core.autocrlf=input core.eol=native file=CRLF':
compare_ws_file eol_native_crlf_input_attr_auto_ CRLF crlf_false_attr__CRLF.txt
ok 856 - checkout attr=auto aeol= core.autocrlf=input core.eol=native file=CRLF
expecting success of 0027.857 'checkout attr=auto aeol= core.autocrlf=input core.eol=native file=CRLF_mix_LF':
compare_ws_file eol_native_crlf_input_attr_auto_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 857 - checkout attr=auto aeol= core.autocrlf=input core.eol=native file=CRLF_mix_LF
expecting success of 0027.858 'checkout attr=auto aeol= core.autocrlf=input core.eol=native file=LF_mix_CR':
compare_ws_file eol_native_crlf_input_attr_auto_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 858 - checkout attr=auto aeol= core.autocrlf=input core.eol=native file=LF_mix_CR
expecting success of 0027.859 'checkout attr=auto aeol= core.autocrlf=input core.eol=native file=LF_nul':
compare_ws_file eol_native_crlf_input_attr_auto_ LF_nul crlf_false_attr__LF_nul.txt
ok 859 - checkout attr=auto aeol= core.autocrlf=input core.eol=native file=LF_nul
expecting success of 0027.860 'ls-files --eol attr=text aeol= core.autocrlf=false core.eol=crlf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 860 - ls-files --eol attr=text aeol= core.autocrlf=false core.eol=crlf
expecting success of 0027.861 'checkout attr=text aeol= core.autocrlf=false core.eol=crlf file=LF':
compare_ws_file eol_crlf_crlf_false_attr_text_ CRLF crlf_false_attr__LF.txt
ok 861 - checkout attr=text aeol= core.autocrlf=false core.eol=crlf file=LF
expecting success of 0027.862 'checkout attr=text aeol= core.autocrlf=false core.eol=crlf file=CRLF':
compare_ws_file eol_crlf_crlf_false_attr_text_ CRLF crlf_false_attr__CRLF.txt
ok 862 - checkout attr=text aeol= core.autocrlf=false core.eol=crlf file=CRLF
expecting success of 0027.863 'checkout attr=text aeol= core.autocrlf=false core.eol=crlf file=CRLF_mix_LF':
compare_ws_file eol_crlf_crlf_false_attr_text_ CRLF crlf_false_attr__CRLF_mix_LF.txt
ok 863 - checkout attr=text aeol= core.autocrlf=false core.eol=crlf file=CRLF_mix_LF
expecting success of 0027.864 'checkout attr=text aeol= core.autocrlf=false core.eol=crlf file=LF_mix_CR':
compare_ws_file eol_crlf_crlf_false_attr_text_ CRLF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 864 - checkout attr=text aeol= core.autocrlf=false core.eol=crlf file=LF_mix_CR
expecting success of 0027.865 'checkout attr=text aeol= core.autocrlf=false core.eol=crlf file=LF_nul':
compare_ws_file eol_crlf_crlf_false_attr_text_ CRLF_nul crlf_false_attr__LF_nul.txt
ok 865 - checkout attr=text aeol= core.autocrlf=false core.eol=crlf file=LF_nul
expecting success of 0027.866 'ls-files --eol attr=text aeol= core.autocrlf=false core.eol=lf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 866 - ls-files --eol attr=text aeol= core.autocrlf=false core.eol=lf
expecting success of 0027.867 'checkout attr=text aeol= core.autocrlf=false core.eol=lf file=LF':
compare_ws_file eol_lf_crlf_false_attr_text_ LF crlf_false_attr__LF.txt
ok 867 - checkout attr=text aeol= core.autocrlf=false core.eol=lf file=LF
expecting success of 0027.868 'checkout attr=text aeol= core.autocrlf=false core.eol=lf file=CRLF':
compare_ws_file eol_lf_crlf_false_attr_text_ CRLF crlf_false_attr__CRLF.txt
ok 868 - checkout attr=text aeol= core.autocrlf=false core.eol=lf file=CRLF
expecting success of 0027.869 'checkout attr=text aeol= core.autocrlf=false core.eol=lf file=CRLF_mix_LF':
compare_ws_file eol_lf_crlf_false_attr_text_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 869 - checkout attr=text aeol= core.autocrlf=false core.eol=lf file=CRLF_mix_LF
expecting success of 0027.870 'checkout attr=text aeol= core.autocrlf=false core.eol=lf file=LF_mix_CR':
compare_ws_file eol_lf_crlf_false_attr_text_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 870 - checkout attr=text aeol= core.autocrlf=false core.eol=lf file=LF_mix_CR
expecting success of 0027.871 'checkout attr=text aeol= core.autocrlf=false core.eol=lf file=LF_nul':
compare_ws_file eol_lf_crlf_false_attr_text_ LF_nul crlf_false_attr__LF_nul.txt
ok 871 - checkout attr=text aeol= core.autocrlf=false core.eol=lf file=LF_nul
expecting success of 0027.872 'ls-files --eol attr=text aeol= core.autocrlf=false core.eol=':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 872 - ls-files --eol attr=text aeol= core.autocrlf=false core.eol=
expecting success of 0027.873 'checkout attr=text aeol= core.autocrlf=false core.eol= file=LF':
compare_ws_file eol__crlf_false_attr_text_ LF crlf_false_attr__LF.txt
ok 873 - checkout attr=text aeol= core.autocrlf=false core.eol= file=LF
expecting success of 0027.874 'checkout attr=text aeol= core.autocrlf=false core.eol= file=CRLF':
compare_ws_file eol__crlf_false_attr_text_ CRLF crlf_false_attr__CRLF.txt
ok 874 - checkout attr=text aeol= core.autocrlf=false core.eol= file=CRLF
expecting success of 0027.875 'checkout attr=text aeol= core.autocrlf=false core.eol= file=CRLF_mix_LF':
compare_ws_file eol__crlf_false_attr_text_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 875 - checkout attr=text aeol= core.autocrlf=false core.eol= file=CRLF_mix_LF
expecting success of 0027.876 'checkout attr=text aeol= core.autocrlf=false core.eol= file=LF_mix_CR':
compare_ws_file eol__crlf_false_attr_text_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 876 - checkout attr=text aeol= core.autocrlf=false core.eol= file=LF_mix_CR
expecting success of 0027.877 'checkout attr=text aeol= core.autocrlf=false core.eol= file=LF_nul':
compare_ws_file eol__crlf_false_attr_text_ LF_nul crlf_false_attr__LF_nul.txt
ok 877 - checkout attr=text aeol= core.autocrlf=false core.eol= file=LF_nul
expecting success of 0027.878 'ls-files --eol attr=text aeol= core.autocrlf=false core.eol=native':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 878 - ls-files --eol attr=text aeol= core.autocrlf=false core.eol=native
expecting success of 0027.879 'checkout attr=text aeol= core.autocrlf=false core.eol=native file=LF':
compare_ws_file eol_native_crlf_false_attr_text_ LF crlf_false_attr__LF.txt
ok 879 - checkout attr=text aeol= core.autocrlf=false core.eol=native file=LF
expecting success of 0027.880 'checkout attr=text aeol= core.autocrlf=false core.eol=native file=CRLF':
compare_ws_file eol_native_crlf_false_attr_text_ CRLF crlf_false_attr__CRLF.txt
ok 880 - checkout attr=text aeol= core.autocrlf=false core.eol=native file=CRLF
expecting success of 0027.881 'checkout attr=text aeol= core.autocrlf=false core.eol=native file=CRLF_mix_LF':
compare_ws_file eol_native_crlf_false_attr_text_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 881 - checkout attr=text aeol= core.autocrlf=false core.eol=native file=CRLF_mix_LF
expecting success of 0027.882 'checkout attr=text aeol= core.autocrlf=false core.eol=native file=LF_mix_CR':
compare_ws_file eol_native_crlf_false_attr_text_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 882 - checkout attr=text aeol= core.autocrlf=false core.eol=native file=LF_mix_CR
expecting success of 0027.883 'checkout attr=text aeol= core.autocrlf=false core.eol=native file=LF_nul':
compare_ws_file eol_native_crlf_false_attr_text_ LF_nul crlf_false_attr__LF_nul.txt
ok 883 - checkout attr=text aeol= core.autocrlf=false core.eol=native file=LF_nul
expecting success of 0027.884 'ls-files --eol attr=auto aeol= core.autocrlf=false core.eol=':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 884 - ls-files --eol attr=auto aeol= core.autocrlf=false core.eol=
expecting success of 0027.885 'checkout attr=auto aeol= core.autocrlf=false core.eol= file=LF':
compare_ws_file eol__crlf_false_attr_auto_ LF crlf_false_attr__LF.txt
ok 885 - checkout attr=auto aeol= core.autocrlf=false core.eol= file=LF
expecting success of 0027.886 'checkout attr=auto aeol= core.autocrlf=false core.eol= file=CRLF':
compare_ws_file eol__crlf_false_attr_auto_ CRLF crlf_false_attr__CRLF.txt
ok 886 - checkout attr=auto aeol= core.autocrlf=false core.eol= file=CRLF
expecting success of 0027.887 'checkout attr=auto aeol= core.autocrlf=false core.eol= file=CRLF_mix_LF':
compare_ws_file eol__crlf_false_attr_auto_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 887 - checkout attr=auto aeol= core.autocrlf=false core.eol= file=CRLF_mix_LF
expecting success of 0027.888 'checkout attr=auto aeol= core.autocrlf=false core.eol= file=LF_mix_CR':
compare_ws_file eol__crlf_false_attr_auto_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 888 - checkout attr=auto aeol= core.autocrlf=false core.eol= file=LF_mix_CR
expecting success of 0027.889 'checkout attr=auto aeol= core.autocrlf=false core.eol= file=LF_nul':
compare_ws_file eol__crlf_false_attr_auto_ LF_nul crlf_false_attr__LF_nul.txt
ok 889 - checkout attr=auto aeol= core.autocrlf=false core.eol= file=LF_nul
expecting success of 0027.890 'ls-files --eol attr=auto aeol= core.autocrlf=false core.eol=native':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 890 - ls-files --eol attr=auto aeol= core.autocrlf=false core.eol=native
expecting success of 0027.891 'checkout attr=auto aeol= core.autocrlf=false core.eol=native file=LF':
compare_ws_file eol_native_crlf_false_attr_auto_ LF crlf_false_attr__LF.txt
ok 891 - checkout attr=auto aeol= core.autocrlf=false core.eol=native file=LF
expecting success of 0027.892 'checkout attr=auto aeol= core.autocrlf=false core.eol=native file=CRLF':
compare_ws_file eol_native_crlf_false_attr_auto_ CRLF crlf_false_attr__CRLF.txt
ok 892 - checkout attr=auto aeol= core.autocrlf=false core.eol=native file=CRLF
expecting success of 0027.893 'checkout attr=auto aeol= core.autocrlf=false core.eol=native file=CRLF_mix_LF':
compare_ws_file eol_native_crlf_false_attr_auto_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 893 - checkout attr=auto aeol= core.autocrlf=false core.eol=native file=CRLF_mix_LF
expecting success of 0027.894 'checkout attr=auto aeol= core.autocrlf=false core.eol=native file=LF_mix_CR':
compare_ws_file eol_native_crlf_false_attr_auto_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 894 - checkout attr=auto aeol= core.autocrlf=false core.eol=native file=LF_mix_CR
expecting success of 0027.895 'checkout attr=auto aeol= core.autocrlf=false core.eol=native file=LF_nul':
compare_ws_file eol_native_crlf_false_attr_auto_ LF_nul crlf_false_attr__LF_nul.txt
ok 895 - checkout attr=auto aeol= core.autocrlf=false core.eol=native file=LF_nul
expecting success of 0027.896 'ls-files --eol attr=-text ident aeol= core.autocrlf=true core.eol=lf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 896 - ls-files --eol attr=-text ident aeol= core.autocrlf=true core.eol=lf
expecting success of 0027.897 'checkout attr=-text ident aeol= core.autocrlf=true core.eol=lf file=LF':
compare_ws_file eol_lf_crlf_true_attr_-text_ LF crlf_false_attr__LF.txt
ok 897 - checkout attr=-text ident aeol= core.autocrlf=true core.eol=lf file=LF
expecting success of 0027.898 'checkout attr=-text ident aeol= core.autocrlf=true core.eol=lf file=CRLF':
compare_ws_file eol_lf_crlf_true_attr_-text_ CRLF crlf_false_attr__CRLF.txt
ok 898 - checkout attr=-text ident aeol= core.autocrlf=true core.eol=lf file=CRLF
expecting success of 0027.899 'checkout attr=-text ident aeol= core.autocrlf=true core.eol=lf file=CRLF_mix_LF':
compare_ws_file eol_lf_crlf_true_attr_-text_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 899 - checkout attr=-text ident aeol= core.autocrlf=true core.eol=lf file=CRLF_mix_LF
expecting success of 0027.900 'checkout attr=-text ident aeol= core.autocrlf=true core.eol=lf file=LF_mix_CR':
compare_ws_file eol_lf_crlf_true_attr_-text_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 900 - checkout attr=-text ident aeol= core.autocrlf=true core.eol=lf file=LF_mix_CR
expecting success of 0027.901 'checkout attr=-text ident aeol= core.autocrlf=true core.eol=lf file=LF_nul':
compare_ws_file eol_lf_crlf_true_attr_-text_ LF_nul crlf_false_attr__LF_nul.txt
ok 901 - checkout attr=-text ident aeol= core.autocrlf=true core.eol=lf file=LF_nul
expecting success of 0027.902 'ls-files --eol attr=-text ident aeol=lf core.autocrlf=true core.eol=lf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 902 - ls-files --eol attr=-text ident aeol=lf core.autocrlf=true core.eol=lf
expecting success of 0027.903 'checkout attr=-text ident aeol=lf core.autocrlf=true core.eol=lf file=LF':
compare_ws_file eol_lf_crlf_true_attr_-text_ LF crlf_false_attr__LF.txt
ok 903 - checkout attr=-text ident aeol=lf core.autocrlf=true core.eol=lf file=LF
expecting success of 0027.904 'checkout attr=-text ident aeol=lf core.autocrlf=true core.eol=lf file=CRLF':
compare_ws_file eol_lf_crlf_true_attr_-text_ CRLF crlf_false_attr__CRLF.txt
ok 904 - checkout attr=-text ident aeol=lf core.autocrlf=true core.eol=lf file=CRLF
expecting success of 0027.905 'checkout attr=-text ident aeol=lf core.autocrlf=true core.eol=lf file=CRLF_mix_LF':
compare_ws_file eol_lf_crlf_true_attr_-text_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 905 - checkout attr=-text ident aeol=lf core.autocrlf=true core.eol=lf file=CRLF_mix_LF
expecting success of 0027.906 'checkout attr=-text ident aeol=lf core.autocrlf=true core.eol=lf file=LF_mix_CR':
compare_ws_file eol_lf_crlf_true_attr_-text_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 906 - checkout attr=-text ident aeol=lf core.autocrlf=true core.eol=lf file=LF_mix_CR
expecting success of 0027.907 'checkout attr=-text ident aeol=lf core.autocrlf=true core.eol=lf file=LF_nul':
compare_ws_file eol_lf_crlf_true_attr_-text_ LF_nul crlf_false_attr__LF_nul.txt
ok 907 - checkout attr=-text ident aeol=lf core.autocrlf=true core.eol=lf file=LF_nul
expecting success of 0027.908 'ls-files --eol attr=-text ident aeol=crlf core.autocrlf=true core.eol=lf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 908 - ls-files --eol attr=-text ident aeol=crlf core.autocrlf=true core.eol=lf
expecting success of 0027.909 'checkout attr=-text ident aeol=crlf core.autocrlf=true core.eol=lf file=LF':
compare_ws_file eol_lf_crlf_true_attr_-text_ LF crlf_false_attr__LF.txt
ok 909 - checkout attr=-text ident aeol=crlf core.autocrlf=true core.eol=lf file=LF
expecting success of 0027.910 'checkout attr=-text ident aeol=crlf core.autocrlf=true core.eol=lf file=CRLF':
compare_ws_file eol_lf_crlf_true_attr_-text_ CRLF crlf_false_attr__CRLF.txt
ok 910 - checkout attr=-text ident aeol=crlf core.autocrlf=true core.eol=lf file=CRLF
expecting success of 0027.911 'checkout attr=-text ident aeol=crlf core.autocrlf=true core.eol=lf file=CRLF_mix_LF':
compare_ws_file eol_lf_crlf_true_attr_-text_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 911 - checkout attr=-text ident aeol=crlf core.autocrlf=true core.eol=lf file=CRLF_mix_LF
expecting success of 0027.912 'checkout attr=-text ident aeol=crlf core.autocrlf=true core.eol=lf file=LF_mix_CR':
compare_ws_file eol_lf_crlf_true_attr_-text_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 912 - checkout attr=-text ident aeol=crlf core.autocrlf=true core.eol=lf file=LF_mix_CR
expecting success of 0027.913 'checkout attr=-text ident aeol=crlf core.autocrlf=true core.eol=lf file=LF_nul':
compare_ws_file eol_lf_crlf_true_attr_-text_ LF_nul crlf_false_attr__LF_nul.txt
ok 913 - checkout attr=-text ident aeol=crlf core.autocrlf=true core.eol=lf file=LF_nul
expecting success of 0027.914 'ls-files --eol attr=text ident aeol=lf core.autocrlf=true core.eol=lf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 914 - ls-files --eol attr=text ident aeol=lf core.autocrlf=true core.eol=lf
expecting success of 0027.915 'checkout attr=text ident aeol=lf core.autocrlf=true core.eol=lf file=LF':
compare_ws_file eol_lf_crlf_true_attr_text_ LF crlf_false_attr__LF.txt
ok 915 - checkout attr=text ident aeol=lf core.autocrlf=true core.eol=lf file=LF
expecting success of 0027.916 'checkout attr=text ident aeol=lf core.autocrlf=true core.eol=lf file=CRLF':
compare_ws_file eol_lf_crlf_true_attr_text_ CRLF crlf_false_attr__CRLF.txt
ok 916 - checkout attr=text ident aeol=lf core.autocrlf=true core.eol=lf file=CRLF
expecting success of 0027.917 'checkout attr=text ident aeol=lf core.autocrlf=true core.eol=lf file=CRLF_mix_LF':
compare_ws_file eol_lf_crlf_true_attr_text_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 917 - checkout attr=text ident aeol=lf core.autocrlf=true core.eol=lf file=CRLF_mix_LF
expecting success of 0027.918 'checkout attr=text ident aeol=lf core.autocrlf=true core.eol=lf file=LF_mix_CR':
compare_ws_file eol_lf_crlf_true_attr_text_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 918 - checkout attr=text ident aeol=lf core.autocrlf=true core.eol=lf file=LF_mix_CR
expecting success of 0027.919 'checkout attr=text ident aeol=lf core.autocrlf=true core.eol=lf file=LF_nul':
compare_ws_file eol_lf_crlf_true_attr_text_ LF_nul crlf_false_attr__LF_nul.txt
ok 919 - checkout attr=text ident aeol=lf core.autocrlf=true core.eol=lf file=LF_nul
expecting success of 0027.920 'ls-files --eol attr=text ident aeol=crlf core.autocrlf=true core.eol=lf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 920 - ls-files --eol attr=text ident aeol=crlf core.autocrlf=true core.eol=lf
expecting success of 0027.921 'checkout attr=text ident aeol=crlf core.autocrlf=true core.eol=lf file=LF':
compare_ws_file eol_lf_crlf_true_attr_text_ CRLF crlf_false_attr__LF.txt
ok 921 - checkout attr=text ident aeol=crlf core.autocrlf=true core.eol=lf file=LF
expecting success of 0027.922 'checkout attr=text ident aeol=crlf core.autocrlf=true core.eol=lf file=CRLF':
compare_ws_file eol_lf_crlf_true_attr_text_ CRLF crlf_false_attr__CRLF.txt
ok 922 - checkout attr=text ident aeol=crlf core.autocrlf=true core.eol=lf file=CRLF
expecting success of 0027.923 'checkout attr=text ident aeol=crlf core.autocrlf=true core.eol=lf file=CRLF_mix_LF':
compare_ws_file eol_lf_crlf_true_attr_text_ CRLF crlf_false_attr__CRLF_mix_LF.txt
ok 923 - checkout attr=text ident aeol=crlf core.autocrlf=true core.eol=lf file=CRLF_mix_LF
expecting success of 0027.924 'checkout attr=text ident aeol=crlf core.autocrlf=true core.eol=lf file=LF_mix_CR':
compare_ws_file eol_lf_crlf_true_attr_text_ CRLF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 924 - checkout attr=text ident aeol=crlf core.autocrlf=true core.eol=lf file=LF_mix_CR
expecting success of 0027.925 'checkout attr=text ident aeol=crlf core.autocrlf=true core.eol=lf file=LF_nul':
compare_ws_file eol_lf_crlf_true_attr_text_ CRLF_nul crlf_false_attr__LF_nul.txt
ok 925 - checkout attr=text ident aeol=crlf core.autocrlf=true core.eol=lf file=LF_nul
expecting success of 0027.926 'ls-files --eol attr=auto ident aeol=lf core.autocrlf=true core.eol=lf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 926 - ls-files --eol attr=auto ident aeol=lf core.autocrlf=true core.eol=lf
expecting success of 0027.927 'checkout attr=auto ident aeol=lf core.autocrlf=true core.eol=lf file=LF':
compare_ws_file eol_lf_crlf_true_attr_auto_ LF crlf_false_attr__LF.txt
ok 927 - checkout attr=auto ident aeol=lf core.autocrlf=true core.eol=lf file=LF
expecting success of 0027.928 'checkout attr=auto ident aeol=lf core.autocrlf=true core.eol=lf file=CRLF':
compare_ws_file eol_lf_crlf_true_attr_auto_ CRLF crlf_false_attr__CRLF.txt
ok 928 - checkout attr=auto ident aeol=lf core.autocrlf=true core.eol=lf file=CRLF
expecting success of 0027.929 'checkout attr=auto ident aeol=lf core.autocrlf=true core.eol=lf file=CRLF_mix_LF':
compare_ws_file eol_lf_crlf_true_attr_auto_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 929 - checkout attr=auto ident aeol=lf core.autocrlf=true core.eol=lf file=CRLF_mix_LF
expecting success of 0027.930 'checkout attr=auto ident aeol=lf core.autocrlf=true core.eol=lf file=LF_mix_CR':
compare_ws_file eol_lf_crlf_true_attr_auto_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 930 - checkout attr=auto ident aeol=lf core.autocrlf=true core.eol=lf file=LF_mix_CR
expecting success of 0027.931 'checkout attr=auto ident aeol=lf core.autocrlf=true core.eol=lf file=LF_nul':
compare_ws_file eol_lf_crlf_true_attr_auto_ LF_nul crlf_false_attr__LF_nul.txt
ok 931 - checkout attr=auto ident aeol=lf core.autocrlf=true core.eol=lf file=LF_nul
expecting success of 0027.932 'ls-files --eol attr=auto ident aeol=crlf core.autocrlf=true core.eol=lf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 932 - ls-files --eol attr=auto ident aeol=crlf core.autocrlf=true core.eol=lf
expecting success of 0027.933 'checkout attr=auto ident aeol=crlf core.autocrlf=true core.eol=lf file=LF':
compare_ws_file eol_lf_crlf_true_attr_auto_ CRLF crlf_false_attr__LF.txt
ok 933 - checkout attr=auto ident aeol=crlf core.autocrlf=true core.eol=lf file=LF
expecting success of 0027.934 'checkout attr=auto ident aeol=crlf core.autocrlf=true core.eol=lf file=CRLF':
compare_ws_file eol_lf_crlf_true_attr_auto_ CRLF crlf_false_attr__CRLF.txt
ok 934 - checkout attr=auto ident aeol=crlf core.autocrlf=true core.eol=lf file=CRLF
expecting success of 0027.935 'checkout attr=auto ident aeol=crlf core.autocrlf=true core.eol=lf file=CRLF_mix_LF':
compare_ws_file eol_lf_crlf_true_attr_auto_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 935 - checkout attr=auto ident aeol=crlf core.autocrlf=true core.eol=lf file=CRLF_mix_LF
expecting success of 0027.936 'checkout attr=auto ident aeol=crlf core.autocrlf=true core.eol=lf file=LF_mix_CR':
compare_ws_file eol_lf_crlf_true_attr_auto_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 936 - checkout attr=auto ident aeol=crlf core.autocrlf=true core.eol=lf file=LF_mix_CR
expecting success of 0027.937 'checkout attr=auto ident aeol=crlf core.autocrlf=true core.eol=lf file=LF_nul':
compare_ws_file eol_lf_crlf_true_attr_auto_ LF_nul crlf_false_attr__LF_nul.txt
ok 937 - checkout attr=auto ident aeol=crlf core.autocrlf=true core.eol=lf file=LF_nul
expecting success of 0027.938 'ls-files --eol attr=-text ident aeol= core.autocrlf=false core.eol=lf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 938 - ls-files --eol attr=-text ident aeol= core.autocrlf=false core.eol=lf
expecting success of 0027.939 'checkout attr=-text ident aeol= core.autocrlf=false core.eol=lf file=LF':
compare_ws_file eol_lf_crlf_false_attr_-text_ LF crlf_false_attr__LF.txt
ok 939 - checkout attr=-text ident aeol= core.autocrlf=false core.eol=lf file=LF
expecting success of 0027.940 'checkout attr=-text ident aeol= core.autocrlf=false core.eol=lf file=CRLF':
compare_ws_file eol_lf_crlf_false_attr_-text_ CRLF crlf_false_attr__CRLF.txt
ok 940 - checkout attr=-text ident aeol= core.autocrlf=false core.eol=lf file=CRLF
expecting success of 0027.941 'checkout attr=-text ident aeol= core.autocrlf=false core.eol=lf file=CRLF_mix_LF':
compare_ws_file eol_lf_crlf_false_attr_-text_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 941 - checkout attr=-text ident aeol= core.autocrlf=false core.eol=lf file=CRLF_mix_LF
expecting success of 0027.942 'checkout attr=-text ident aeol= core.autocrlf=false core.eol=lf file=LF_mix_CR':
compare_ws_file eol_lf_crlf_false_attr_-text_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 942 - checkout attr=-text ident aeol= core.autocrlf=false core.eol=lf file=LF_mix_CR
expecting success of 0027.943 'checkout attr=-text ident aeol= core.autocrlf=false core.eol=lf file=LF_nul':
compare_ws_file eol_lf_crlf_false_attr_-text_ LF_nul crlf_false_attr__LF_nul.txt
ok 943 - checkout attr=-text ident aeol= core.autocrlf=false core.eol=lf file=LF_nul
expecting success of 0027.944 'ls-files --eol attr=-text ident aeol=lf core.autocrlf=false core.eol=lf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 944 - ls-files --eol attr=-text ident aeol=lf core.autocrlf=false core.eol=lf
expecting success of 0027.945 'checkout attr=-text ident aeol=lf core.autocrlf=false core.eol=lf file=LF':
compare_ws_file eol_lf_crlf_false_attr_-text_ LF crlf_false_attr__LF.txt
ok 945 - checkout attr=-text ident aeol=lf core.autocrlf=false core.eol=lf file=LF
expecting success of 0027.946 'checkout attr=-text ident aeol=lf core.autocrlf=false core.eol=lf file=CRLF':
compare_ws_file eol_lf_crlf_false_attr_-text_ CRLF crlf_false_attr__CRLF.txt
ok 946 - checkout attr=-text ident aeol=lf core.autocrlf=false core.eol=lf file=CRLF
expecting success of 0027.947 'checkout attr=-text ident aeol=lf core.autocrlf=false core.eol=lf file=CRLF_mix_LF':
compare_ws_file eol_lf_crlf_false_attr_-text_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 947 - checkout attr=-text ident aeol=lf core.autocrlf=false core.eol=lf file=CRLF_mix_LF
expecting success of 0027.948 'checkout attr=-text ident aeol=lf core.autocrlf=false core.eol=lf file=LF_mix_CR':
compare_ws_file eol_lf_crlf_false_attr_-text_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 948 - checkout attr=-text ident aeol=lf core.autocrlf=false core.eol=lf file=LF_mix_CR
expecting success of 0027.949 'checkout attr=-text ident aeol=lf core.autocrlf=false core.eol=lf file=LF_nul':
compare_ws_file eol_lf_crlf_false_attr_-text_ LF_nul crlf_false_attr__LF_nul.txt
ok 949 - checkout attr=-text ident aeol=lf core.autocrlf=false core.eol=lf file=LF_nul
expecting success of 0027.950 'ls-files --eol attr=-text ident aeol=crlf core.autocrlf=false core.eol=lf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 950 - ls-files --eol attr=-text ident aeol=crlf core.autocrlf=false core.eol=lf
expecting success of 0027.951 'checkout attr=-text ident aeol=crlf core.autocrlf=false core.eol=lf file=LF':
compare_ws_file eol_lf_crlf_false_attr_-text_ LF crlf_false_attr__LF.txt
ok 951 - checkout attr=-text ident aeol=crlf core.autocrlf=false core.eol=lf file=LF
expecting success of 0027.952 'checkout attr=-text ident aeol=crlf core.autocrlf=false core.eol=lf file=CRLF':
compare_ws_file eol_lf_crlf_false_attr_-text_ CRLF crlf_false_attr__CRLF.txt
ok 952 - checkout attr=-text ident aeol=crlf core.autocrlf=false core.eol=lf file=CRLF
expecting success of 0027.953 'checkout attr=-text ident aeol=crlf core.autocrlf=false core.eol=lf file=CRLF_mix_LF':
compare_ws_file eol_lf_crlf_false_attr_-text_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 953 - checkout attr=-text ident aeol=crlf core.autocrlf=false core.eol=lf file=CRLF_mix_LF
expecting success of 0027.954 'checkout attr=-text ident aeol=crlf core.autocrlf=false core.eol=lf file=LF_mix_CR':
compare_ws_file eol_lf_crlf_false_attr_-text_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 954 - checkout attr=-text ident aeol=crlf core.autocrlf=false core.eol=lf file=LF_mix_CR
expecting success of 0027.955 'checkout attr=-text ident aeol=crlf core.autocrlf=false core.eol=lf file=LF_nul':
compare_ws_file eol_lf_crlf_false_attr_-text_ LF_nul crlf_false_attr__LF_nul.txt
ok 955 - checkout attr=-text ident aeol=crlf core.autocrlf=false core.eol=lf file=LF_nul
expecting success of 0027.956 'ls-files --eol attr=text ident aeol=lf core.autocrlf=false core.eol=lf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 956 - ls-files --eol attr=text ident aeol=lf core.autocrlf=false core.eol=lf
expecting success of 0027.957 'checkout attr=text ident aeol=lf core.autocrlf=false core.eol=lf file=LF':
compare_ws_file eol_lf_crlf_false_attr_text_ LF crlf_false_attr__LF.txt
ok 957 - checkout attr=text ident aeol=lf core.autocrlf=false core.eol=lf file=LF
expecting success of 0027.958 'checkout attr=text ident aeol=lf core.autocrlf=false core.eol=lf file=CRLF':
compare_ws_file eol_lf_crlf_false_attr_text_ CRLF crlf_false_attr__CRLF.txt
ok 958 - checkout attr=text ident aeol=lf core.autocrlf=false core.eol=lf file=CRLF
expecting success of 0027.959 'checkout attr=text ident aeol=lf core.autocrlf=false core.eol=lf file=CRLF_mix_LF':
compare_ws_file eol_lf_crlf_false_attr_text_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 959 - checkout attr=text ident aeol=lf core.autocrlf=false core.eol=lf file=CRLF_mix_LF
expecting success of 0027.960 'checkout attr=text ident aeol=lf core.autocrlf=false core.eol=lf file=LF_mix_CR':
compare_ws_file eol_lf_crlf_false_attr_text_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 960 - checkout attr=text ident aeol=lf core.autocrlf=false core.eol=lf file=LF_mix_CR
expecting success of 0027.961 'checkout attr=text ident aeol=lf core.autocrlf=false core.eol=lf file=LF_nul':
compare_ws_file eol_lf_crlf_false_attr_text_ LF_nul crlf_false_attr__LF_nul.txt
ok 961 - checkout attr=text ident aeol=lf core.autocrlf=false core.eol=lf file=LF_nul
expecting success of 0027.962 'ls-files --eol attr=text ident aeol=crlf core.autocrlf=false core.eol=lf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 962 - ls-files --eol attr=text ident aeol=crlf core.autocrlf=false core.eol=lf
expecting success of 0027.963 'checkout attr=text ident aeol=crlf core.autocrlf=false core.eol=lf file=LF':
compare_ws_file eol_lf_crlf_false_attr_text_ CRLF crlf_false_attr__LF.txt
ok 963 - checkout attr=text ident aeol=crlf core.autocrlf=false core.eol=lf file=LF
expecting success of 0027.964 'checkout attr=text ident aeol=crlf core.autocrlf=false core.eol=lf file=CRLF':
compare_ws_file eol_lf_crlf_false_attr_text_ CRLF crlf_false_attr__CRLF.txt
ok 964 - checkout attr=text ident aeol=crlf core.autocrlf=false core.eol=lf file=CRLF
expecting success of 0027.965 'checkout attr=text ident aeol=crlf core.autocrlf=false core.eol=lf file=CRLF_mix_LF':
compare_ws_file eol_lf_crlf_false_attr_text_ CRLF crlf_false_attr__CRLF_mix_LF.txt
ok 965 - checkout attr=text ident aeol=crlf core.autocrlf=false core.eol=lf file=CRLF_mix_LF
expecting success of 0027.966 'checkout attr=text ident aeol=crlf core.autocrlf=false core.eol=lf file=LF_mix_CR':
compare_ws_file eol_lf_crlf_false_attr_text_ CRLF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 966 - checkout attr=text ident aeol=crlf core.autocrlf=false core.eol=lf file=LF_mix_CR
expecting success of 0027.967 'checkout attr=text ident aeol=crlf core.autocrlf=false core.eol=lf file=LF_nul':
compare_ws_file eol_lf_crlf_false_attr_text_ CRLF_nul crlf_false_attr__LF_nul.txt
ok 967 - checkout attr=text ident aeol=crlf core.autocrlf=false core.eol=lf file=LF_nul
expecting success of 0027.968 'ls-files --eol attr=auto ident aeol=lf core.autocrlf=false core.eol=lf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 968 - ls-files --eol attr=auto ident aeol=lf core.autocrlf=false core.eol=lf
expecting success of 0027.969 'checkout attr=auto ident aeol=lf core.autocrlf=false core.eol=lf file=LF':
compare_ws_file eol_lf_crlf_false_attr_auto_ LF crlf_false_attr__LF.txt
ok 969 - checkout attr=auto ident aeol=lf core.autocrlf=false core.eol=lf file=LF
expecting success of 0027.970 'checkout attr=auto ident aeol=lf core.autocrlf=false core.eol=lf file=CRLF':
compare_ws_file eol_lf_crlf_false_attr_auto_ CRLF crlf_false_attr__CRLF.txt
ok 970 - checkout attr=auto ident aeol=lf core.autocrlf=false core.eol=lf file=CRLF
expecting success of 0027.971 'checkout attr=auto ident aeol=lf core.autocrlf=false core.eol=lf file=CRLF_mix_LF':
compare_ws_file eol_lf_crlf_false_attr_auto_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 971 - checkout attr=auto ident aeol=lf core.autocrlf=false core.eol=lf file=CRLF_mix_LF
expecting success of 0027.972 'checkout attr=auto ident aeol=lf core.autocrlf=false core.eol=lf file=LF_mix_CR':
compare_ws_file eol_lf_crlf_false_attr_auto_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 972 - checkout attr=auto ident aeol=lf core.autocrlf=false core.eol=lf file=LF_mix_CR
expecting success of 0027.973 'checkout attr=auto ident aeol=lf core.autocrlf=false core.eol=lf file=LF_nul':
compare_ws_file eol_lf_crlf_false_attr_auto_ LF_nul crlf_false_attr__LF_nul.txt
ok 973 - checkout attr=auto ident aeol=lf core.autocrlf=false core.eol=lf file=LF_nul
expecting success of 0027.974 'ls-files --eol attr=auto ident aeol=crlf core.autocrlf=false core.eol=lf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 974 - ls-files --eol attr=auto ident aeol=crlf core.autocrlf=false core.eol=lf
expecting success of 0027.975 'checkout attr=auto ident aeol=crlf core.autocrlf=false core.eol=lf file=LF':
compare_ws_file eol_lf_crlf_false_attr_auto_ CRLF crlf_false_attr__LF.txt
ok 975 - checkout attr=auto ident aeol=crlf core.autocrlf=false core.eol=lf file=LF
expecting success of 0027.976 'checkout attr=auto ident aeol=crlf core.autocrlf=false core.eol=lf file=CRLF':
compare_ws_file eol_lf_crlf_false_attr_auto_ CRLF crlf_false_attr__CRLF.txt
ok 976 - checkout attr=auto ident aeol=crlf core.autocrlf=false core.eol=lf file=CRLF
expecting success of 0027.977 'checkout attr=auto ident aeol=crlf core.autocrlf=false core.eol=lf file=CRLF_mix_LF':
compare_ws_file eol_lf_crlf_false_attr_auto_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 977 - checkout attr=auto ident aeol=crlf core.autocrlf=false core.eol=lf file=CRLF_mix_LF
expecting success of 0027.978 'checkout attr=auto ident aeol=crlf core.autocrlf=false core.eol=lf file=LF_mix_CR':
compare_ws_file eol_lf_crlf_false_attr_auto_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 978 - checkout attr=auto ident aeol=crlf core.autocrlf=false core.eol=lf file=LF_mix_CR
expecting success of 0027.979 'checkout attr=auto ident aeol=crlf core.autocrlf=false core.eol=lf file=LF_nul':
compare_ws_file eol_lf_crlf_false_attr_auto_ LF_nul crlf_false_attr__LF_nul.txt
ok 979 - checkout attr=auto ident aeol=crlf core.autocrlf=false core.eol=lf file=LF_nul
expecting success of 0027.980 'ls-files --eol attr=-text ident aeol= core.autocrlf=input core.eol=lf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 980 - ls-files --eol attr=-text ident aeol= core.autocrlf=input core.eol=lf
expecting success of 0027.981 'checkout attr=-text ident aeol= core.autocrlf=input core.eol=lf file=LF':
compare_ws_file eol_lf_crlf_input_attr_-text_ LF crlf_false_attr__LF.txt
ok 981 - checkout attr=-text ident aeol= core.autocrlf=input core.eol=lf file=LF
expecting success of 0027.982 'checkout attr=-text ident aeol= core.autocrlf=input core.eol=lf file=CRLF':
compare_ws_file eol_lf_crlf_input_attr_-text_ CRLF crlf_false_attr__CRLF.txt
ok 982 - checkout attr=-text ident aeol= core.autocrlf=input core.eol=lf file=CRLF
expecting success of 0027.983 'checkout attr=-text ident aeol= core.autocrlf=input core.eol=lf file=CRLF_mix_LF':
compare_ws_file eol_lf_crlf_input_attr_-text_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 983 - checkout attr=-text ident aeol= core.autocrlf=input core.eol=lf file=CRLF_mix_LF
expecting success of 0027.984 'checkout attr=-text ident aeol= core.autocrlf=input core.eol=lf file=LF_mix_CR':
compare_ws_file eol_lf_crlf_input_attr_-text_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 984 - checkout attr=-text ident aeol= core.autocrlf=input core.eol=lf file=LF_mix_CR
expecting success of 0027.985 'checkout attr=-text ident aeol= core.autocrlf=input core.eol=lf file=LF_nul':
compare_ws_file eol_lf_crlf_input_attr_-text_ LF_nul crlf_false_attr__LF_nul.txt
ok 985 - checkout attr=-text ident aeol= core.autocrlf=input core.eol=lf file=LF_nul
expecting success of 0027.986 'ls-files --eol attr=-text ident aeol=lf core.autocrlf=input core.eol=lf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 986 - ls-files --eol attr=-text ident aeol=lf core.autocrlf=input core.eol=lf
expecting success of 0027.987 'checkout attr=-text ident aeol=lf core.autocrlf=input core.eol=lf file=LF':
compare_ws_file eol_lf_crlf_input_attr_-text_ LF crlf_false_attr__LF.txt
ok 987 - checkout attr=-text ident aeol=lf core.autocrlf=input core.eol=lf file=LF
expecting success of 0027.988 'checkout attr=-text ident aeol=lf core.autocrlf=input core.eol=lf file=CRLF':
compare_ws_file eol_lf_crlf_input_attr_-text_ CRLF crlf_false_attr__CRLF.txt
ok 988 - checkout attr=-text ident aeol=lf core.autocrlf=input core.eol=lf file=CRLF
expecting success of 0027.989 'checkout attr=-text ident aeol=lf core.autocrlf=input core.eol=lf file=CRLF_mix_LF':
compare_ws_file eol_lf_crlf_input_attr_-text_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 989 - checkout attr=-text ident aeol=lf core.autocrlf=input core.eol=lf file=CRLF_mix_LF
expecting success of 0027.990 'checkout attr=-text ident aeol=lf core.autocrlf=input core.eol=lf file=LF_mix_CR':
compare_ws_file eol_lf_crlf_input_attr_-text_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 990 - checkout attr=-text ident aeol=lf core.autocrlf=input core.eol=lf file=LF_mix_CR
expecting success of 0027.991 'checkout attr=-text ident aeol=lf core.autocrlf=input core.eol=lf file=LF_nul':
compare_ws_file eol_lf_crlf_input_attr_-text_ LF_nul crlf_false_attr__LF_nul.txt
ok 991 - checkout attr=-text ident aeol=lf core.autocrlf=input core.eol=lf file=LF_nul
expecting success of 0027.992 'ls-files --eol attr=-text ident aeol=crlf core.autocrlf=input core.eol=lf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 992 - ls-files --eol attr=-text ident aeol=crlf core.autocrlf=input core.eol=lf
expecting success of 0027.993 'checkout attr=-text ident aeol=crlf core.autocrlf=input core.eol=lf file=LF':
compare_ws_file eol_lf_crlf_input_attr_-text_ LF crlf_false_attr__LF.txt
ok 993 - checkout attr=-text ident aeol=crlf core.autocrlf=input core.eol=lf file=LF
expecting success of 0027.994 'checkout attr=-text ident aeol=crlf core.autocrlf=input core.eol=lf file=CRLF':
compare_ws_file eol_lf_crlf_input_attr_-text_ CRLF crlf_false_attr__CRLF.txt
ok 994 - checkout attr=-text ident aeol=crlf core.autocrlf=input core.eol=lf file=CRLF
expecting success of 0027.995 'checkout attr=-text ident aeol=crlf core.autocrlf=input core.eol=lf file=CRLF_mix_LF':
compare_ws_file eol_lf_crlf_input_attr_-text_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 995 - checkout attr=-text ident aeol=crlf core.autocrlf=input core.eol=lf file=CRLF_mix_LF
expecting success of 0027.996 'checkout attr=-text ident aeol=crlf core.autocrlf=input core.eol=lf file=LF_mix_CR':
compare_ws_file eol_lf_crlf_input_attr_-text_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 996 - checkout attr=-text ident aeol=crlf core.autocrlf=input core.eol=lf file=LF_mix_CR
expecting success of 0027.997 'checkout attr=-text ident aeol=crlf core.autocrlf=input core.eol=lf file=LF_nul':
compare_ws_file eol_lf_crlf_input_attr_-text_ LF_nul crlf_false_attr__LF_nul.txt
ok 997 - checkout attr=-text ident aeol=crlf core.autocrlf=input core.eol=lf file=LF_nul
expecting success of 0027.998 'ls-files --eol attr=text ident aeol=lf core.autocrlf=input core.eol=lf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 998 - ls-files --eol attr=text ident aeol=lf core.autocrlf=input core.eol=lf
expecting success of 0027.999 'checkout attr=text ident aeol=lf core.autocrlf=input core.eol=lf file=LF':
compare_ws_file eol_lf_crlf_input_attr_text_ LF crlf_false_attr__LF.txt
ok 999 - checkout attr=text ident aeol=lf core.autocrlf=input core.eol=lf file=LF
expecting success of 0027.1000 'checkout attr=text ident aeol=lf core.autocrlf=input core.eol=lf file=CRLF':
compare_ws_file eol_lf_crlf_input_attr_text_ CRLF crlf_false_attr__CRLF.txt
ok 1000 - checkout attr=text ident aeol=lf core.autocrlf=input core.eol=lf file=CRLF
expecting success of 0027.1001 'checkout attr=text ident aeol=lf core.autocrlf=input core.eol=lf file=CRLF_mix_LF':
compare_ws_file eol_lf_crlf_input_attr_text_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 1001 - checkout attr=text ident aeol=lf core.autocrlf=input core.eol=lf file=CRLF_mix_LF
expecting success of 0027.1002 'checkout attr=text ident aeol=lf core.autocrlf=input core.eol=lf file=LF_mix_CR':
compare_ws_file eol_lf_crlf_input_attr_text_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 1002 - checkout attr=text ident aeol=lf core.autocrlf=input core.eol=lf file=LF_mix_CR
expecting success of 0027.1003 'checkout attr=text ident aeol=lf core.autocrlf=input core.eol=lf file=LF_nul':
compare_ws_file eol_lf_crlf_input_attr_text_ LF_nul crlf_false_attr__LF_nul.txt
ok 1003 - checkout attr=text ident aeol=lf core.autocrlf=input core.eol=lf file=LF_nul
expecting success of 0027.1004 'ls-files --eol attr=text ident aeol=crlf core.autocrlf=input core.eol=lf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 1004 - ls-files --eol attr=text ident aeol=crlf core.autocrlf=input core.eol=lf
expecting success of 0027.1005 'checkout attr=text ident aeol=crlf core.autocrlf=input core.eol=lf file=LF':
compare_ws_file eol_lf_crlf_input_attr_text_ CRLF crlf_false_attr__LF.txt
ok 1005 - checkout attr=text ident aeol=crlf core.autocrlf=input core.eol=lf file=LF
expecting success of 0027.1006 'checkout attr=text ident aeol=crlf core.autocrlf=input core.eol=lf file=CRLF':
compare_ws_file eol_lf_crlf_input_attr_text_ CRLF crlf_false_attr__CRLF.txt
ok 1006 - checkout attr=text ident aeol=crlf core.autocrlf=input core.eol=lf file=CRLF
expecting success of 0027.1007 'checkout attr=text ident aeol=crlf core.autocrlf=input core.eol=lf file=CRLF_mix_LF':
compare_ws_file eol_lf_crlf_input_attr_text_ CRLF crlf_false_attr__CRLF_mix_LF.txt
ok 1007 - checkout attr=text ident aeol=crlf core.autocrlf=input core.eol=lf file=CRLF_mix_LF
expecting success of 0027.1008 'checkout attr=text ident aeol=crlf core.autocrlf=input core.eol=lf file=LF_mix_CR':
compare_ws_file eol_lf_crlf_input_attr_text_ CRLF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 1008 - checkout attr=text ident aeol=crlf core.autocrlf=input core.eol=lf file=LF_mix_CR
expecting success of 0027.1009 'checkout attr=text ident aeol=crlf core.autocrlf=input core.eol=lf file=LF_nul':
compare_ws_file eol_lf_crlf_input_attr_text_ CRLF_nul crlf_false_attr__LF_nul.txt
ok 1009 - checkout attr=text ident aeol=crlf core.autocrlf=input core.eol=lf file=LF_nul
expecting success of 0027.1010 'ls-files --eol attr=auto ident aeol=lf core.autocrlf=input core.eol=lf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 1010 - ls-files --eol attr=auto ident aeol=lf core.autocrlf=input core.eol=lf
expecting success of 0027.1011 'checkout attr=auto ident aeol=lf core.autocrlf=input core.eol=lf file=LF':
compare_ws_file eol_lf_crlf_input_attr_auto_ LF crlf_false_attr__LF.txt
ok 1011 - checkout attr=auto ident aeol=lf core.autocrlf=input core.eol=lf file=LF
expecting success of 0027.1012 'checkout attr=auto ident aeol=lf core.autocrlf=input core.eol=lf file=CRLF':
compare_ws_file eol_lf_crlf_input_attr_auto_ CRLF crlf_false_attr__CRLF.txt
ok 1012 - checkout attr=auto ident aeol=lf core.autocrlf=input core.eol=lf file=CRLF
expecting success of 0027.1013 'checkout attr=auto ident aeol=lf core.autocrlf=input core.eol=lf file=CRLF_mix_LF':
compare_ws_file eol_lf_crlf_input_attr_auto_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 1013 - checkout attr=auto ident aeol=lf core.autocrlf=input core.eol=lf file=CRLF_mix_LF
expecting success of 0027.1014 'checkout attr=auto ident aeol=lf core.autocrlf=input core.eol=lf file=LF_mix_CR':
compare_ws_file eol_lf_crlf_input_attr_auto_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 1014 - checkout attr=auto ident aeol=lf core.autocrlf=input core.eol=lf file=LF_mix_CR
expecting success of 0027.1015 'checkout attr=auto ident aeol=lf core.autocrlf=input core.eol=lf file=LF_nul':
compare_ws_file eol_lf_crlf_input_attr_auto_ LF_nul crlf_false_attr__LF_nul.txt
ok 1015 - checkout attr=auto ident aeol=lf core.autocrlf=input core.eol=lf file=LF_nul
expecting success of 0027.1016 'ls-files --eol attr=auto ident aeol=crlf core.autocrlf=input core.eol=lf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 1016 - ls-files --eol attr=auto ident aeol=crlf core.autocrlf=input core.eol=lf
expecting success of 0027.1017 'checkout attr=auto ident aeol=crlf core.autocrlf=input core.eol=lf file=LF':
compare_ws_file eol_lf_crlf_input_attr_auto_ CRLF crlf_false_attr__LF.txt
ok 1017 - checkout attr=auto ident aeol=crlf core.autocrlf=input core.eol=lf file=LF
expecting success of 0027.1018 'checkout attr=auto ident aeol=crlf core.autocrlf=input core.eol=lf file=CRLF':
compare_ws_file eol_lf_crlf_input_attr_auto_ CRLF crlf_false_attr__CRLF.txt
ok 1018 - checkout attr=auto ident aeol=crlf core.autocrlf=input core.eol=lf file=CRLF
expecting success of 0027.1019 'checkout attr=auto ident aeol=crlf core.autocrlf=input core.eol=lf file=CRLF_mix_LF':
compare_ws_file eol_lf_crlf_input_attr_auto_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 1019 - checkout attr=auto ident aeol=crlf core.autocrlf=input core.eol=lf file=CRLF_mix_LF
expecting success of 0027.1020 'checkout attr=auto ident aeol=crlf core.autocrlf=input core.eol=lf file=LF_mix_CR':
compare_ws_file eol_lf_crlf_input_attr_auto_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 1020 - checkout attr=auto ident aeol=crlf core.autocrlf=input core.eol=lf file=LF_mix_CR
expecting success of 0027.1021 'checkout attr=auto ident aeol=crlf core.autocrlf=input core.eol=lf file=LF_nul':
compare_ws_file eol_lf_crlf_input_attr_auto_ LF_nul crlf_false_attr__LF_nul.txt
ok 1021 - checkout attr=auto ident aeol=crlf core.autocrlf=input core.eol=lf file=LF_nul
expecting success of 0027.1022 'ls-files --eol attr= ident aeol= core.autocrlf=false core.eol=lf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 1022 - ls-files --eol attr= ident aeol= core.autocrlf=false core.eol=lf
expecting success of 0027.1023 'checkout attr= ident aeol= core.autocrlf=false core.eol=lf file=LF':
compare_ws_file eol_lf_crlf_false_attr__ LF crlf_false_attr__LF.txt
ok 1023 - checkout attr= ident aeol= core.autocrlf=false core.eol=lf file=LF
expecting success of 0027.1024 'checkout attr= ident aeol= core.autocrlf=false core.eol=lf file=CRLF':
compare_ws_file eol_lf_crlf_false_attr__ CRLF crlf_false_attr__CRLF.txt
ok 1024 - checkout attr= ident aeol= core.autocrlf=false core.eol=lf file=CRLF
expecting success of 0027.1025 'checkout attr= ident aeol= core.autocrlf=false core.eol=lf file=CRLF_mix_LF':
compare_ws_file eol_lf_crlf_false_attr__ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 1025 - checkout attr= ident aeol= core.autocrlf=false core.eol=lf file=CRLF_mix_LF
expecting success of 0027.1026 'checkout attr= ident aeol= core.autocrlf=false core.eol=lf file=LF_mix_CR':
compare_ws_file eol_lf_crlf_false_attr__ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 1026 - checkout attr= ident aeol= core.autocrlf=false core.eol=lf file=LF_mix_CR
expecting success of 0027.1027 'checkout attr= ident aeol= core.autocrlf=false core.eol=lf file=LF_nul':
compare_ws_file eol_lf_crlf_false_attr__ LF_nul crlf_false_attr__LF_nul.txt
ok 1027 - checkout attr= ident aeol= core.autocrlf=false core.eol=lf file=LF_nul
expecting success of 0027.1028 'ls-files --eol attr= ident aeol= core.autocrlf=true core.eol=lf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 1028 - ls-files --eol attr= ident aeol= core.autocrlf=true core.eol=lf
expecting success of 0027.1029 'checkout attr= ident aeol= core.autocrlf=true core.eol=lf file=LF':
compare_ws_file eol_lf_crlf_true_attr__ CRLF crlf_false_attr__LF.txt
ok 1029 - checkout attr= ident aeol= core.autocrlf=true core.eol=lf file=LF
expecting success of 0027.1030 'checkout attr= ident aeol= core.autocrlf=true core.eol=lf file=CRLF':
compare_ws_file eol_lf_crlf_true_attr__ CRLF crlf_false_attr__CRLF.txt
ok 1030 - checkout attr= ident aeol= core.autocrlf=true core.eol=lf file=CRLF
expecting success of 0027.1031 'checkout attr= ident aeol= core.autocrlf=true core.eol=lf file=CRLF_mix_LF':
compare_ws_file eol_lf_crlf_true_attr__ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 1031 - checkout attr= ident aeol= core.autocrlf=true core.eol=lf file=CRLF_mix_LF
expecting success of 0027.1032 'checkout attr= ident aeol= core.autocrlf=true core.eol=lf file=LF_mix_CR':
compare_ws_file eol_lf_crlf_true_attr__ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 1032 - checkout attr= ident aeol= core.autocrlf=true core.eol=lf file=LF_mix_CR
expecting success of 0027.1033 'checkout attr= ident aeol= core.autocrlf=true core.eol=lf file=LF_nul':
compare_ws_file eol_lf_crlf_true_attr__ LF_nul crlf_false_attr__LF_nul.txt
ok 1033 - checkout attr= ident aeol= core.autocrlf=true core.eol=lf file=LF_nul
expecting success of 0027.1034 'ls-files --eol attr=auto ident aeol= core.autocrlf=true core.eol=lf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 1034 - ls-files --eol attr=auto ident aeol= core.autocrlf=true core.eol=lf
expecting success of 0027.1035 'checkout attr=auto ident aeol= core.autocrlf=true core.eol=lf file=LF':
compare_ws_file eol_lf_crlf_true_attr_auto_ CRLF crlf_false_attr__LF.txt
ok 1035 - checkout attr=auto ident aeol= core.autocrlf=true core.eol=lf file=LF
expecting success of 0027.1036 'checkout attr=auto ident aeol= core.autocrlf=true core.eol=lf file=CRLF':
compare_ws_file eol_lf_crlf_true_attr_auto_ CRLF crlf_false_attr__CRLF.txt
ok 1036 - checkout attr=auto ident aeol= core.autocrlf=true core.eol=lf file=CRLF
expecting success of 0027.1037 'checkout attr=auto ident aeol= core.autocrlf=true core.eol=lf file=CRLF_mix_LF':
compare_ws_file eol_lf_crlf_true_attr_auto_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 1037 - checkout attr=auto ident aeol= core.autocrlf=true core.eol=lf file=CRLF_mix_LF
expecting success of 0027.1038 'checkout attr=auto ident aeol= core.autocrlf=true core.eol=lf file=LF_mix_CR':
compare_ws_file eol_lf_crlf_true_attr_auto_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 1038 - checkout attr=auto ident aeol= core.autocrlf=true core.eol=lf file=LF_mix_CR
expecting success of 0027.1039 'checkout attr=auto ident aeol= core.autocrlf=true core.eol=lf file=LF_nul':
compare_ws_file eol_lf_crlf_true_attr_auto_ LF_nul crlf_false_attr__LF_nul.txt
ok 1039 - checkout attr=auto ident aeol= core.autocrlf=true core.eol=lf file=LF_nul
expecting success of 0027.1040 'ls-files --eol attr=text ident aeol= core.autocrlf=true core.eol=lf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 1040 - ls-files --eol attr=text ident aeol= core.autocrlf=true core.eol=lf
expecting success of 0027.1041 'checkout attr=text ident aeol= core.autocrlf=true core.eol=lf file=LF':
compare_ws_file eol_lf_crlf_true_attr_text_ CRLF crlf_false_attr__LF.txt
ok 1041 - checkout attr=text ident aeol= core.autocrlf=true core.eol=lf file=LF
expecting success of 0027.1042 'checkout attr=text ident aeol= core.autocrlf=true core.eol=lf file=CRLF':
compare_ws_file eol_lf_crlf_true_attr_text_ CRLF crlf_false_attr__CRLF.txt
ok 1042 - checkout attr=text ident aeol= core.autocrlf=true core.eol=lf file=CRLF
expecting success of 0027.1043 'checkout attr=text ident aeol= core.autocrlf=true core.eol=lf file=CRLF_mix_LF':
compare_ws_file eol_lf_crlf_true_attr_text_ CRLF crlf_false_attr__CRLF_mix_LF.txt
ok 1043 - checkout attr=text ident aeol= core.autocrlf=true core.eol=lf file=CRLF_mix_LF
expecting success of 0027.1044 'checkout attr=text ident aeol= core.autocrlf=true core.eol=lf file=LF_mix_CR':
compare_ws_file eol_lf_crlf_true_attr_text_ CRLF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 1044 - checkout attr=text ident aeol= core.autocrlf=true core.eol=lf file=LF_mix_CR
expecting success of 0027.1045 'checkout attr=text ident aeol= core.autocrlf=true core.eol=lf file=LF_nul':
compare_ws_file eol_lf_crlf_true_attr_text_ CRLF_nul crlf_false_attr__LF_nul.txt
ok 1045 - checkout attr=text ident aeol= core.autocrlf=true core.eol=lf file=LF_nul
expecting success of 0027.1046 'ls-files --eol attr=text ident aeol= core.autocrlf=input core.eol=lf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 1046 - ls-files --eol attr=text ident aeol= core.autocrlf=input core.eol=lf
expecting success of 0027.1047 'checkout attr=text ident aeol= core.autocrlf=input core.eol=lf file=LF':
compare_ws_file eol_lf_crlf_input_attr_text_ LF crlf_false_attr__LF.txt
ok 1047 - checkout attr=text ident aeol= core.autocrlf=input core.eol=lf file=LF
expecting success of 0027.1048 'checkout attr=text ident aeol= core.autocrlf=input core.eol=lf file=CRLF':
compare_ws_file eol_lf_crlf_input_attr_text_ CRLF crlf_false_attr__CRLF.txt
ok 1048 - checkout attr=text ident aeol= core.autocrlf=input core.eol=lf file=CRLF
expecting success of 0027.1049 'checkout attr=text ident aeol= core.autocrlf=input core.eol=lf file=CRLF_mix_LF':
compare_ws_file eol_lf_crlf_input_attr_text_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 1049 - checkout attr=text ident aeol= core.autocrlf=input core.eol=lf file=CRLF_mix_LF
expecting success of 0027.1050 'checkout attr=text ident aeol= core.autocrlf=input core.eol=lf file=LF_mix_CR':
compare_ws_file eol_lf_crlf_input_attr_text_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 1050 - checkout attr=text ident aeol= core.autocrlf=input core.eol=lf file=LF_mix_CR
expecting success of 0027.1051 'checkout attr=text ident aeol= core.autocrlf=input core.eol=lf file=LF_nul':
compare_ws_file eol_lf_crlf_input_attr_text_ LF_nul crlf_false_attr__LF_nul.txt
ok 1051 - checkout attr=text ident aeol= core.autocrlf=input core.eol=lf file=LF_nul
expecting success of 0027.1052 'ls-files --eol attr=auto ident aeol= core.autocrlf=input core.eol=lf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 1052 - ls-files --eol attr=auto ident aeol= core.autocrlf=input core.eol=lf
expecting success of 0027.1053 'checkout attr=auto ident aeol= core.autocrlf=input core.eol=lf file=LF':
compare_ws_file eol_lf_crlf_input_attr_auto_ LF crlf_false_attr__LF.txt
ok 1053 - checkout attr=auto ident aeol= core.autocrlf=input core.eol=lf file=LF
expecting success of 0027.1054 'checkout attr=auto ident aeol= core.autocrlf=input core.eol=lf file=CRLF':
compare_ws_file eol_lf_crlf_input_attr_auto_ CRLF crlf_false_attr__CRLF.txt
ok 1054 - checkout attr=auto ident aeol= core.autocrlf=input core.eol=lf file=CRLF
expecting success of 0027.1055 'checkout attr=auto ident aeol= core.autocrlf=input core.eol=lf file=CRLF_mix_LF':
compare_ws_file eol_lf_crlf_input_attr_auto_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 1055 - checkout attr=auto ident aeol= core.autocrlf=input core.eol=lf file=CRLF_mix_LF
expecting success of 0027.1056 'checkout attr=auto ident aeol= core.autocrlf=input core.eol=lf file=LF_mix_CR':
compare_ws_file eol_lf_crlf_input_attr_auto_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 1056 - checkout attr=auto ident aeol= core.autocrlf=input core.eol=lf file=LF_mix_CR
expecting success of 0027.1057 'checkout attr=auto ident aeol= core.autocrlf=input core.eol=lf file=LF_nul':
compare_ws_file eol_lf_crlf_input_attr_auto_ LF_nul crlf_false_attr__LF_nul.txt
ok 1057 - checkout attr=auto ident aeol= core.autocrlf=input core.eol=lf file=LF_nul
expecting success of 0027.1058 'ls-files --eol attr=-text ident aeol= core.autocrlf=true core.eol=crlf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 1058 - ls-files --eol attr=-text ident aeol= core.autocrlf=true core.eol=crlf
expecting success of 0027.1059 'checkout attr=-text ident aeol= core.autocrlf=true core.eol=crlf file=LF':
compare_ws_file eol_crlf_crlf_true_attr_-text_ LF crlf_false_attr__LF.txt
ok 1059 - checkout attr=-text ident aeol= core.autocrlf=true core.eol=crlf file=LF
expecting success of 0027.1060 'checkout attr=-text ident aeol= core.autocrlf=true core.eol=crlf file=CRLF':
compare_ws_file eol_crlf_crlf_true_attr_-text_ CRLF crlf_false_attr__CRLF.txt
ok 1060 - checkout attr=-text ident aeol= core.autocrlf=true core.eol=crlf file=CRLF
expecting success of 0027.1061 'checkout attr=-text ident aeol= core.autocrlf=true core.eol=crlf file=CRLF_mix_LF':
compare_ws_file eol_crlf_crlf_true_attr_-text_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 1061 - checkout attr=-text ident aeol= core.autocrlf=true core.eol=crlf file=CRLF_mix_LF
expecting success of 0027.1062 'checkout attr=-text ident aeol= core.autocrlf=true core.eol=crlf file=LF_mix_CR':
compare_ws_file eol_crlf_crlf_true_attr_-text_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 1062 - checkout attr=-text ident aeol= core.autocrlf=true core.eol=crlf file=LF_mix_CR
expecting success of 0027.1063 'checkout attr=-text ident aeol= core.autocrlf=true core.eol=crlf file=LF_nul':
compare_ws_file eol_crlf_crlf_true_attr_-text_ LF_nul crlf_false_attr__LF_nul.txt
ok 1063 - checkout attr=-text ident aeol= core.autocrlf=true core.eol=crlf file=LF_nul
expecting success of 0027.1064 'ls-files --eol attr=-text ident aeol=lf core.autocrlf=true core.eol=crlf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 1064 - ls-files --eol attr=-text ident aeol=lf core.autocrlf=true core.eol=crlf
expecting success of 0027.1065 'checkout attr=-text ident aeol=lf core.autocrlf=true core.eol=crlf file=LF':
compare_ws_file eol_crlf_crlf_true_attr_-text_ LF crlf_false_attr__LF.txt
ok 1065 - checkout attr=-text ident aeol=lf core.autocrlf=true core.eol=crlf file=LF
expecting success of 0027.1066 'checkout attr=-text ident aeol=lf core.autocrlf=true core.eol=crlf file=CRLF':
compare_ws_file eol_crlf_crlf_true_attr_-text_ CRLF crlf_false_attr__CRLF.txt
ok 1066 - checkout attr=-text ident aeol=lf core.autocrlf=true core.eol=crlf file=CRLF
expecting success of 0027.1067 'checkout attr=-text ident aeol=lf core.autocrlf=true core.eol=crlf file=CRLF_mix_LF':
compare_ws_file eol_crlf_crlf_true_attr_-text_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 1067 - checkout attr=-text ident aeol=lf core.autocrlf=true core.eol=crlf file=CRLF_mix_LF
expecting success of 0027.1068 'checkout attr=-text ident aeol=lf core.autocrlf=true core.eol=crlf file=LF_mix_CR':
compare_ws_file eol_crlf_crlf_true_attr_-text_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 1068 - checkout attr=-text ident aeol=lf core.autocrlf=true core.eol=crlf file=LF_mix_CR
expecting success of 0027.1069 'checkout attr=-text ident aeol=lf core.autocrlf=true core.eol=crlf file=LF_nul':
compare_ws_file eol_crlf_crlf_true_attr_-text_ LF_nul crlf_false_attr__LF_nul.txt
ok 1069 - checkout attr=-text ident aeol=lf core.autocrlf=true core.eol=crlf file=LF_nul
expecting success of 0027.1070 'ls-files --eol attr=-text ident aeol=crlf core.autocrlf=true core.eol=crlf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 1070 - ls-files --eol attr=-text ident aeol=crlf core.autocrlf=true core.eol=crlf
expecting success of 0027.1071 'checkout attr=-text ident aeol=crlf core.autocrlf=true core.eol=crlf file=LF':
compare_ws_file eol_crlf_crlf_true_attr_-text_ LF crlf_false_attr__LF.txt
ok 1071 - checkout attr=-text ident aeol=crlf core.autocrlf=true core.eol=crlf file=LF
expecting success of 0027.1072 'checkout attr=-text ident aeol=crlf core.autocrlf=true core.eol=crlf file=CRLF':
compare_ws_file eol_crlf_crlf_true_attr_-text_ CRLF crlf_false_attr__CRLF.txt
ok 1072 - checkout attr=-text ident aeol=crlf core.autocrlf=true core.eol=crlf file=CRLF
expecting success of 0027.1073 'checkout attr=-text ident aeol=crlf core.autocrlf=true core.eol=crlf file=CRLF_mix_LF':
compare_ws_file eol_crlf_crlf_true_attr_-text_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 1073 - checkout attr=-text ident aeol=crlf core.autocrlf=true core.eol=crlf file=CRLF_mix_LF
expecting success of 0027.1074 'checkout attr=-text ident aeol=crlf core.autocrlf=true core.eol=crlf file=LF_mix_CR':
compare_ws_file eol_crlf_crlf_true_attr_-text_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 1074 - checkout attr=-text ident aeol=crlf core.autocrlf=true core.eol=crlf file=LF_mix_CR
expecting success of 0027.1075 'checkout attr=-text ident aeol=crlf core.autocrlf=true core.eol=crlf file=LF_nul':
compare_ws_file eol_crlf_crlf_true_attr_-text_ LF_nul crlf_false_attr__LF_nul.txt
ok 1075 - checkout attr=-text ident aeol=crlf core.autocrlf=true core.eol=crlf file=LF_nul
expecting success of 0027.1076 'ls-files --eol attr=text ident aeol=lf core.autocrlf=true core.eol=crlf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 1076 - ls-files --eol attr=text ident aeol=lf core.autocrlf=true core.eol=crlf
expecting success of 0027.1077 'checkout attr=text ident aeol=lf core.autocrlf=true core.eol=crlf file=LF':
compare_ws_file eol_crlf_crlf_true_attr_text_ LF crlf_false_attr__LF.txt
ok 1077 - checkout attr=text ident aeol=lf core.autocrlf=true core.eol=crlf file=LF
expecting success of 0027.1078 'checkout attr=text ident aeol=lf core.autocrlf=true core.eol=crlf file=CRLF':
compare_ws_file eol_crlf_crlf_true_attr_text_ CRLF crlf_false_attr__CRLF.txt
ok 1078 - checkout attr=text ident aeol=lf core.autocrlf=true core.eol=crlf file=CRLF
expecting success of 0027.1079 'checkout attr=text ident aeol=lf core.autocrlf=true core.eol=crlf file=CRLF_mix_LF':
compare_ws_file eol_crlf_crlf_true_attr_text_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 1079 - checkout attr=text ident aeol=lf core.autocrlf=true core.eol=crlf file=CRLF_mix_LF
expecting success of 0027.1080 'checkout attr=text ident aeol=lf core.autocrlf=true core.eol=crlf file=LF_mix_CR':
compare_ws_file eol_crlf_crlf_true_attr_text_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 1080 - checkout attr=text ident aeol=lf core.autocrlf=true core.eol=crlf file=LF_mix_CR
expecting success of 0027.1081 'checkout attr=text ident aeol=lf core.autocrlf=true core.eol=crlf file=LF_nul':
compare_ws_file eol_crlf_crlf_true_attr_text_ LF_nul crlf_false_attr__LF_nul.txt
ok 1081 - checkout attr=text ident aeol=lf core.autocrlf=true core.eol=crlf file=LF_nul
expecting success of 0027.1082 'ls-files --eol attr=text ident aeol=crlf core.autocrlf=true core.eol=crlf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 1082 - ls-files --eol attr=text ident aeol=crlf core.autocrlf=true core.eol=crlf
expecting success of 0027.1083 'checkout attr=text ident aeol=crlf core.autocrlf=true core.eol=crlf file=LF':
compare_ws_file eol_crlf_crlf_true_attr_text_ CRLF crlf_false_attr__LF.txt
ok 1083 - checkout attr=text ident aeol=crlf core.autocrlf=true core.eol=crlf file=LF
expecting success of 0027.1084 'checkout attr=text ident aeol=crlf core.autocrlf=true core.eol=crlf file=CRLF':
compare_ws_file eol_crlf_crlf_true_attr_text_ CRLF crlf_false_attr__CRLF.txt
ok 1084 - checkout attr=text ident aeol=crlf core.autocrlf=true core.eol=crlf file=CRLF
expecting success of 0027.1085 'checkout attr=text ident aeol=crlf core.autocrlf=true core.eol=crlf file=CRLF_mix_LF':
compare_ws_file eol_crlf_crlf_true_attr_text_ CRLF crlf_false_attr__CRLF_mix_LF.txt
ok 1085 - checkout attr=text ident aeol=crlf core.autocrlf=true core.eol=crlf file=CRLF_mix_LF
expecting success of 0027.1086 'checkout attr=text ident aeol=crlf core.autocrlf=true core.eol=crlf file=LF_mix_CR':
compare_ws_file eol_crlf_crlf_true_attr_text_ CRLF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 1086 - checkout attr=text ident aeol=crlf core.autocrlf=true core.eol=crlf file=LF_mix_CR
expecting success of 0027.1087 'checkout attr=text ident aeol=crlf core.autocrlf=true core.eol=crlf file=LF_nul':
compare_ws_file eol_crlf_crlf_true_attr_text_ CRLF_nul crlf_false_attr__LF_nul.txt
ok 1087 - checkout attr=text ident aeol=crlf core.autocrlf=true core.eol=crlf file=LF_nul
expecting success of 0027.1088 'ls-files --eol attr=auto ident aeol=lf core.autocrlf=true core.eol=crlf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 1088 - ls-files --eol attr=auto ident aeol=lf core.autocrlf=true core.eol=crlf
expecting success of 0027.1089 'checkout attr=auto ident aeol=lf core.autocrlf=true core.eol=crlf file=LF':
compare_ws_file eol_crlf_crlf_true_attr_auto_ LF crlf_false_attr__LF.txt
ok 1089 - checkout attr=auto ident aeol=lf core.autocrlf=true core.eol=crlf file=LF
expecting success of 0027.1090 'checkout attr=auto ident aeol=lf core.autocrlf=true core.eol=crlf file=CRLF':
compare_ws_file eol_crlf_crlf_true_attr_auto_ CRLF crlf_false_attr__CRLF.txt
ok 1090 - checkout attr=auto ident aeol=lf core.autocrlf=true core.eol=crlf file=CRLF
expecting success of 0027.1091 'checkout attr=auto ident aeol=lf core.autocrlf=true core.eol=crlf file=CRLF_mix_LF':
compare_ws_file eol_crlf_crlf_true_attr_auto_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 1091 - checkout attr=auto ident aeol=lf core.autocrlf=true core.eol=crlf file=CRLF_mix_LF
expecting success of 0027.1092 'checkout attr=auto ident aeol=lf core.autocrlf=true core.eol=crlf file=LF_mix_CR':
compare_ws_file eol_crlf_crlf_true_attr_auto_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 1092 - checkout attr=auto ident aeol=lf core.autocrlf=true core.eol=crlf file=LF_mix_CR
expecting success of 0027.1093 'checkout attr=auto ident aeol=lf core.autocrlf=true core.eol=crlf file=LF_nul':
compare_ws_file eol_crlf_crlf_true_attr_auto_ LF_nul crlf_false_attr__LF_nul.txt
ok 1093 - checkout attr=auto ident aeol=lf core.autocrlf=true core.eol=crlf file=LF_nul
expecting success of 0027.1094 'ls-files --eol attr=auto ident aeol=crlf core.autocrlf=true core.eol=crlf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 1094 - ls-files --eol attr=auto ident aeol=crlf core.autocrlf=true core.eol=crlf
expecting success of 0027.1095 'checkout attr=auto ident aeol=crlf core.autocrlf=true core.eol=crlf file=LF':
compare_ws_file eol_crlf_crlf_true_attr_auto_ CRLF crlf_false_attr__LF.txt
ok 1095 - checkout attr=auto ident aeol=crlf core.autocrlf=true core.eol=crlf file=LF
expecting success of 0027.1096 'checkout attr=auto ident aeol=crlf core.autocrlf=true core.eol=crlf file=CRLF':
compare_ws_file eol_crlf_crlf_true_attr_auto_ CRLF crlf_false_attr__CRLF.txt
ok 1096 - checkout attr=auto ident aeol=crlf core.autocrlf=true core.eol=crlf file=CRLF
expecting success of 0027.1097 'checkout attr=auto ident aeol=crlf core.autocrlf=true core.eol=crlf file=CRLF_mix_LF':
compare_ws_file eol_crlf_crlf_true_attr_auto_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 1097 - checkout attr=auto ident aeol=crlf core.autocrlf=true core.eol=crlf file=CRLF_mix_LF
expecting success of 0027.1098 'checkout attr=auto ident aeol=crlf core.autocrlf=true core.eol=crlf file=LF_mix_CR':
compare_ws_file eol_crlf_crlf_true_attr_auto_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 1098 - checkout attr=auto ident aeol=crlf core.autocrlf=true core.eol=crlf file=LF_mix_CR
expecting success of 0027.1099 'checkout attr=auto ident aeol=crlf core.autocrlf=true core.eol=crlf file=LF_nul':
compare_ws_file eol_crlf_crlf_true_attr_auto_ LF_nul crlf_false_attr__LF_nul.txt
ok 1099 - checkout attr=auto ident aeol=crlf core.autocrlf=true core.eol=crlf file=LF_nul
expecting success of 0027.1100 'ls-files --eol attr=-text ident aeol= core.autocrlf=false core.eol=crlf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 1100 - ls-files --eol attr=-text ident aeol= core.autocrlf=false core.eol=crlf
expecting success of 0027.1101 'checkout attr=-text ident aeol= core.autocrlf=false core.eol=crlf file=LF':
compare_ws_file eol_crlf_crlf_false_attr_-text_ LF crlf_false_attr__LF.txt
ok 1101 - checkout attr=-text ident aeol= core.autocrlf=false core.eol=crlf file=LF
expecting success of 0027.1102 'checkout attr=-text ident aeol= core.autocrlf=false core.eol=crlf file=CRLF':
compare_ws_file eol_crlf_crlf_false_attr_-text_ CRLF crlf_false_attr__CRLF.txt
ok 1102 - checkout attr=-text ident aeol= core.autocrlf=false core.eol=crlf file=CRLF
expecting success of 0027.1103 'checkout attr=-text ident aeol= core.autocrlf=false core.eol=crlf file=CRLF_mix_LF':
compare_ws_file eol_crlf_crlf_false_attr_-text_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 1103 - checkout attr=-text ident aeol= core.autocrlf=false core.eol=crlf file=CRLF_mix_LF
expecting success of 0027.1104 'checkout attr=-text ident aeol= core.autocrlf=false core.eol=crlf file=LF_mix_CR':
compare_ws_file eol_crlf_crlf_false_attr_-text_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 1104 - checkout attr=-text ident aeol= core.autocrlf=false core.eol=crlf file=LF_mix_CR
expecting success of 0027.1105 'checkout attr=-text ident aeol= core.autocrlf=false core.eol=crlf file=LF_nul':
compare_ws_file eol_crlf_crlf_false_attr_-text_ LF_nul crlf_false_attr__LF_nul.txt
ok 1105 - checkout attr=-text ident aeol= core.autocrlf=false core.eol=crlf file=LF_nul
expecting success of 0027.1106 'ls-files --eol attr=-text ident aeol=lf core.autocrlf=false core.eol=crlf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 1106 - ls-files --eol attr=-text ident aeol=lf core.autocrlf=false core.eol=crlf
expecting success of 0027.1107 'checkout attr=-text ident aeol=lf core.autocrlf=false core.eol=crlf file=LF':
compare_ws_file eol_crlf_crlf_false_attr_-text_ LF crlf_false_attr__LF.txt
ok 1107 - checkout attr=-text ident aeol=lf core.autocrlf=false core.eol=crlf file=LF
expecting success of 0027.1108 'checkout attr=-text ident aeol=lf core.autocrlf=false core.eol=crlf file=CRLF':
compare_ws_file eol_crlf_crlf_false_attr_-text_ CRLF crlf_false_attr__CRLF.txt
ok 1108 - checkout attr=-text ident aeol=lf core.autocrlf=false core.eol=crlf file=CRLF
expecting success of 0027.1109 'checkout attr=-text ident aeol=lf core.autocrlf=false core.eol=crlf file=CRLF_mix_LF':
compare_ws_file eol_crlf_crlf_false_attr_-text_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 1109 - checkout attr=-text ident aeol=lf core.autocrlf=false core.eol=crlf file=CRLF_mix_LF
expecting success of 0027.1110 'checkout attr=-text ident aeol=lf core.autocrlf=false core.eol=crlf file=LF_mix_CR':
compare_ws_file eol_crlf_crlf_false_attr_-text_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 1110 - checkout attr=-text ident aeol=lf core.autocrlf=false core.eol=crlf file=LF_mix_CR
expecting success of 0027.1111 'checkout attr=-text ident aeol=lf core.autocrlf=false core.eol=crlf file=LF_nul':
compare_ws_file eol_crlf_crlf_false_attr_-text_ LF_nul crlf_false_attr__LF_nul.txt
ok 1111 - checkout attr=-text ident aeol=lf core.autocrlf=false core.eol=crlf file=LF_nul
expecting success of 0027.1112 'ls-files --eol attr=-text ident aeol=crlf core.autocrlf=false core.eol=crlf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 1112 - ls-files --eol attr=-text ident aeol=crlf core.autocrlf=false core.eol=crlf
expecting success of 0027.1113 'checkout attr=-text ident aeol=crlf core.autocrlf=false core.eol=crlf file=LF':
compare_ws_file eol_crlf_crlf_false_attr_-text_ LF crlf_false_attr__LF.txt
ok 1113 - checkout attr=-text ident aeol=crlf core.autocrlf=false core.eol=crlf file=LF
expecting success of 0027.1114 'checkout attr=-text ident aeol=crlf core.autocrlf=false core.eol=crlf file=CRLF':
compare_ws_file eol_crlf_crlf_false_attr_-text_ CRLF crlf_false_attr__CRLF.txt
ok 1114 - checkout attr=-text ident aeol=crlf core.autocrlf=false core.eol=crlf file=CRLF
expecting success of 0027.1115 'checkout attr=-text ident aeol=crlf core.autocrlf=false core.eol=crlf file=CRLF_mix_LF':
compare_ws_file eol_crlf_crlf_false_attr_-text_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 1115 - checkout attr=-text ident aeol=crlf core.autocrlf=false core.eol=crlf file=CRLF_mix_LF
expecting success of 0027.1116 'checkout attr=-text ident aeol=crlf core.autocrlf=false core.eol=crlf file=LF_mix_CR':
compare_ws_file eol_crlf_crlf_false_attr_-text_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 1116 - checkout attr=-text ident aeol=crlf core.autocrlf=false core.eol=crlf file=LF_mix_CR
expecting success of 0027.1117 'checkout attr=-text ident aeol=crlf core.autocrlf=false core.eol=crlf file=LF_nul':
compare_ws_file eol_crlf_crlf_false_attr_-text_ LF_nul crlf_false_attr__LF_nul.txt
ok 1117 - checkout attr=-text ident aeol=crlf core.autocrlf=false core.eol=crlf file=LF_nul
expecting success of 0027.1118 'ls-files --eol attr=text ident aeol=lf core.autocrlf=false core.eol=crlf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 1118 - ls-files --eol attr=text ident aeol=lf core.autocrlf=false core.eol=crlf
expecting success of 0027.1119 'checkout attr=text ident aeol=lf core.autocrlf=false core.eol=crlf file=LF':
compare_ws_file eol_crlf_crlf_false_attr_text_ LF crlf_false_attr__LF.txt
ok 1119 - checkout attr=text ident aeol=lf core.autocrlf=false core.eol=crlf file=LF
expecting success of 0027.1120 'checkout attr=text ident aeol=lf core.autocrlf=false core.eol=crlf file=CRLF':
compare_ws_file eol_crlf_crlf_false_attr_text_ CRLF crlf_false_attr__CRLF.txt
ok 1120 - checkout attr=text ident aeol=lf core.autocrlf=false core.eol=crlf file=CRLF
expecting success of 0027.1121 'checkout attr=text ident aeol=lf core.autocrlf=false core.eol=crlf file=CRLF_mix_LF':
compare_ws_file eol_crlf_crlf_false_attr_text_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 1121 - checkout attr=text ident aeol=lf core.autocrlf=false core.eol=crlf file=CRLF_mix_LF
expecting success of 0027.1122 'checkout attr=text ident aeol=lf core.autocrlf=false core.eol=crlf file=LF_mix_CR':
compare_ws_file eol_crlf_crlf_false_attr_text_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 1122 - checkout attr=text ident aeol=lf core.autocrlf=false core.eol=crlf file=LF_mix_CR
expecting success of 0027.1123 'checkout attr=text ident aeol=lf core.autocrlf=false core.eol=crlf file=LF_nul':
compare_ws_file eol_crlf_crlf_false_attr_text_ LF_nul crlf_false_attr__LF_nul.txt
ok 1123 - checkout attr=text ident aeol=lf core.autocrlf=false core.eol=crlf file=LF_nul
expecting success of 0027.1124 'ls-files --eol attr=text ident aeol=crlf core.autocrlf=false core.eol=crlf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 1124 - ls-files --eol attr=text ident aeol=crlf core.autocrlf=false core.eol=crlf
expecting success of 0027.1125 'checkout attr=text ident aeol=crlf core.autocrlf=false core.eol=crlf file=LF':
compare_ws_file eol_crlf_crlf_false_attr_text_ CRLF crlf_false_attr__LF.txt
ok 1125 - checkout attr=text ident aeol=crlf core.autocrlf=false core.eol=crlf file=LF
expecting success of 0027.1126 'checkout attr=text ident aeol=crlf core.autocrlf=false core.eol=crlf file=CRLF':
compare_ws_file eol_crlf_crlf_false_attr_text_ CRLF crlf_false_attr__CRLF.txt
ok 1126 - checkout attr=text ident aeol=crlf core.autocrlf=false core.eol=crlf file=CRLF
expecting success of 0027.1127 'checkout attr=text ident aeol=crlf core.autocrlf=false core.eol=crlf file=CRLF_mix_LF':
compare_ws_file eol_crlf_crlf_false_attr_text_ CRLF crlf_false_attr__CRLF_mix_LF.txt
ok 1127 - checkout attr=text ident aeol=crlf core.autocrlf=false core.eol=crlf file=CRLF_mix_LF
expecting success of 0027.1128 'checkout attr=text ident aeol=crlf core.autocrlf=false core.eol=crlf file=LF_mix_CR':
compare_ws_file eol_crlf_crlf_false_attr_text_ CRLF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 1128 - checkout attr=text ident aeol=crlf core.autocrlf=false core.eol=crlf file=LF_mix_CR
expecting success of 0027.1129 'checkout attr=text ident aeol=crlf core.autocrlf=false core.eol=crlf file=LF_nul':
compare_ws_file eol_crlf_crlf_false_attr_text_ CRLF_nul crlf_false_attr__LF_nul.txt
ok 1129 - checkout attr=text ident aeol=crlf core.autocrlf=false core.eol=crlf file=LF_nul
expecting success of 0027.1130 'ls-files --eol attr=auto ident aeol=lf core.autocrlf=false core.eol=crlf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 1130 - ls-files --eol attr=auto ident aeol=lf core.autocrlf=false core.eol=crlf
expecting success of 0027.1131 'checkout attr=auto ident aeol=lf core.autocrlf=false core.eol=crlf file=LF':
compare_ws_file eol_crlf_crlf_false_attr_auto_ LF crlf_false_attr__LF.txt
ok 1131 - checkout attr=auto ident aeol=lf core.autocrlf=false core.eol=crlf file=LF
expecting success of 0027.1132 'checkout attr=auto ident aeol=lf core.autocrlf=false core.eol=crlf file=CRLF':
compare_ws_file eol_crlf_crlf_false_attr_auto_ CRLF crlf_false_attr__CRLF.txt
ok 1132 - checkout attr=auto ident aeol=lf core.autocrlf=false core.eol=crlf file=CRLF
expecting success of 0027.1133 'checkout attr=auto ident aeol=lf core.autocrlf=false core.eol=crlf file=CRLF_mix_LF':
compare_ws_file eol_crlf_crlf_false_attr_auto_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 1133 - checkout attr=auto ident aeol=lf core.autocrlf=false core.eol=crlf file=CRLF_mix_LF
expecting success of 0027.1134 'checkout attr=auto ident aeol=lf core.autocrlf=false core.eol=crlf file=LF_mix_CR':
compare_ws_file eol_crlf_crlf_false_attr_auto_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 1134 - checkout attr=auto ident aeol=lf core.autocrlf=false core.eol=crlf file=LF_mix_CR
expecting success of 0027.1135 'checkout attr=auto ident aeol=lf core.autocrlf=false core.eol=crlf file=LF_nul':
compare_ws_file eol_crlf_crlf_false_attr_auto_ LF_nul crlf_false_attr__LF_nul.txt
ok 1135 - checkout attr=auto ident aeol=lf core.autocrlf=false core.eol=crlf file=LF_nul
expecting success of 0027.1136 'ls-files --eol attr=auto ident aeol=crlf core.autocrlf=false core.eol=crlf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 1136 - ls-files --eol attr=auto ident aeol=crlf core.autocrlf=false core.eol=crlf
expecting success of 0027.1137 'checkout attr=auto ident aeol=crlf core.autocrlf=false core.eol=crlf file=LF':
compare_ws_file eol_crlf_crlf_false_attr_auto_ CRLF crlf_false_attr__LF.txt
ok 1137 - checkout attr=auto ident aeol=crlf core.autocrlf=false core.eol=crlf file=LF
expecting success of 0027.1138 'checkout attr=auto ident aeol=crlf core.autocrlf=false core.eol=crlf file=CRLF':
compare_ws_file eol_crlf_crlf_false_attr_auto_ CRLF crlf_false_attr__CRLF.txt
ok 1138 - checkout attr=auto ident aeol=crlf core.autocrlf=false core.eol=crlf file=CRLF
expecting success of 0027.1139 'checkout attr=auto ident aeol=crlf core.autocrlf=false core.eol=crlf file=CRLF_mix_LF':
compare_ws_file eol_crlf_crlf_false_attr_auto_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 1139 - checkout attr=auto ident aeol=crlf core.autocrlf=false core.eol=crlf file=CRLF_mix_LF
expecting success of 0027.1140 'checkout attr=auto ident aeol=crlf core.autocrlf=false core.eol=crlf file=LF_mix_CR':
compare_ws_file eol_crlf_crlf_false_attr_auto_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 1140 - checkout attr=auto ident aeol=crlf core.autocrlf=false core.eol=crlf file=LF_mix_CR
expecting success of 0027.1141 'checkout attr=auto ident aeol=crlf core.autocrlf=false core.eol=crlf file=LF_nul':
compare_ws_file eol_crlf_crlf_false_attr_auto_ LF_nul crlf_false_attr__LF_nul.txt
ok 1141 - checkout attr=auto ident aeol=crlf core.autocrlf=false core.eol=crlf file=LF_nul
expecting success of 0027.1142 'ls-files --eol attr=-text ident aeol= core.autocrlf=input core.eol=crlf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 1142 - ls-files --eol attr=-text ident aeol= core.autocrlf=input core.eol=crlf
expecting success of 0027.1143 'checkout attr=-text ident aeol= core.autocrlf=input core.eol=crlf file=LF':
compare_ws_file eol_crlf_crlf_input_attr_-text_ LF crlf_false_attr__LF.txt
ok 1143 - checkout attr=-text ident aeol= core.autocrlf=input core.eol=crlf file=LF
expecting success of 0027.1144 'checkout attr=-text ident aeol= core.autocrlf=input core.eol=crlf file=CRLF':
compare_ws_file eol_crlf_crlf_input_attr_-text_ CRLF crlf_false_attr__CRLF.txt
ok 1144 - checkout attr=-text ident aeol= core.autocrlf=input core.eol=crlf file=CRLF
expecting success of 0027.1145 'checkout attr=-text ident aeol= core.autocrlf=input core.eol=crlf file=CRLF_mix_LF':
compare_ws_file eol_crlf_crlf_input_attr_-text_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 1145 - checkout attr=-text ident aeol= core.autocrlf=input core.eol=crlf file=CRLF_mix_LF
expecting success of 0027.1146 'checkout attr=-text ident aeol= core.autocrlf=input core.eol=crlf file=LF_mix_CR':
compare_ws_file eol_crlf_crlf_input_attr_-text_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 1146 - checkout attr=-text ident aeol= core.autocrlf=input core.eol=crlf file=LF_mix_CR
expecting success of 0027.1147 'checkout attr=-text ident aeol= core.autocrlf=input core.eol=crlf file=LF_nul':
compare_ws_file eol_crlf_crlf_input_attr_-text_ LF_nul crlf_false_attr__LF_nul.txt
ok 1147 - checkout attr=-text ident aeol= core.autocrlf=input core.eol=crlf file=LF_nul
expecting success of 0027.1148 'ls-files --eol attr=-text ident aeol=lf core.autocrlf=input core.eol=crlf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 1148 - ls-files --eol attr=-text ident aeol=lf core.autocrlf=input core.eol=crlf
expecting success of 0027.1149 'checkout attr=-text ident aeol=lf core.autocrlf=input core.eol=crlf file=LF':
compare_ws_file eol_crlf_crlf_input_attr_-text_ LF crlf_false_attr__LF.txt
ok 1149 - checkout attr=-text ident aeol=lf core.autocrlf=input core.eol=crlf file=LF
expecting success of 0027.1150 'checkout attr=-text ident aeol=lf core.autocrlf=input core.eol=crlf file=CRLF':
compare_ws_file eol_crlf_crlf_input_attr_-text_ CRLF crlf_false_attr__CRLF.txt
ok 1150 - checkout attr=-text ident aeol=lf core.autocrlf=input core.eol=crlf file=CRLF
expecting success of 0027.1151 'checkout attr=-text ident aeol=lf core.autocrlf=input core.eol=crlf file=CRLF_mix_LF':
compare_ws_file eol_crlf_crlf_input_attr_-text_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 1151 - checkout attr=-text ident aeol=lf core.autocrlf=input core.eol=crlf file=CRLF_mix_LF
expecting success of 0027.1152 'checkout attr=-text ident aeol=lf core.autocrlf=input core.eol=crlf file=LF_mix_CR':
compare_ws_file eol_crlf_crlf_input_attr_-text_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 1152 - checkout attr=-text ident aeol=lf core.autocrlf=input core.eol=crlf file=LF_mix_CR
expecting success of 0027.1153 'checkout attr=-text ident aeol=lf core.autocrlf=input core.eol=crlf file=LF_nul':
compare_ws_file eol_crlf_crlf_input_attr_-text_ LF_nul crlf_false_attr__LF_nul.txt
ok 1153 - checkout attr=-text ident aeol=lf core.autocrlf=input core.eol=crlf file=LF_nul
expecting success of 0027.1154 'ls-files --eol attr=-text ident aeol=crlf core.autocrlf=input core.eol=crlf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 1154 - ls-files --eol attr=-text ident aeol=crlf core.autocrlf=input core.eol=crlf
expecting success of 0027.1155 'checkout attr=-text ident aeol=crlf core.autocrlf=input core.eol=crlf file=LF':
compare_ws_file eol_crlf_crlf_input_attr_-text_ LF crlf_false_attr__LF.txt
ok 1155 - checkout attr=-text ident aeol=crlf core.autocrlf=input core.eol=crlf file=LF
expecting success of 0027.1156 'checkout attr=-text ident aeol=crlf core.autocrlf=input core.eol=crlf file=CRLF':
compare_ws_file eol_crlf_crlf_input_attr_-text_ CRLF crlf_false_attr__CRLF.txt
ok 1156 - checkout attr=-text ident aeol=crlf core.autocrlf=input core.eol=crlf file=CRLF
expecting success of 0027.1157 'checkout attr=-text ident aeol=crlf core.autocrlf=input core.eol=crlf file=CRLF_mix_LF':
compare_ws_file eol_crlf_crlf_input_attr_-text_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 1157 - checkout attr=-text ident aeol=crlf core.autocrlf=input core.eol=crlf file=CRLF_mix_LF
expecting success of 0027.1158 'checkout attr=-text ident aeol=crlf core.autocrlf=input core.eol=crlf file=LF_mix_CR':
compare_ws_file eol_crlf_crlf_input_attr_-text_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 1158 - checkout attr=-text ident aeol=crlf core.autocrlf=input core.eol=crlf file=LF_mix_CR
expecting success of 0027.1159 'checkout attr=-text ident aeol=crlf core.autocrlf=input core.eol=crlf file=LF_nul':
compare_ws_file eol_crlf_crlf_input_attr_-text_ LF_nul crlf_false_attr__LF_nul.txt
ok 1159 - checkout attr=-text ident aeol=crlf core.autocrlf=input core.eol=crlf file=LF_nul
expecting success of 0027.1160 'ls-files --eol attr=text ident aeol=lf core.autocrlf=input core.eol=crlf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 1160 - ls-files --eol attr=text ident aeol=lf core.autocrlf=input core.eol=crlf
expecting success of 0027.1161 'checkout attr=text ident aeol=lf core.autocrlf=input core.eol=crlf file=LF':
compare_ws_file eol_crlf_crlf_input_attr_text_ LF crlf_false_attr__LF.txt
ok 1161 - checkout attr=text ident aeol=lf core.autocrlf=input core.eol=crlf file=LF
expecting success of 0027.1162 'checkout attr=text ident aeol=lf core.autocrlf=input core.eol=crlf file=CRLF':
compare_ws_file eol_crlf_crlf_input_attr_text_ CRLF crlf_false_attr__CRLF.txt
ok 1162 - checkout attr=text ident aeol=lf core.autocrlf=input core.eol=crlf file=CRLF
expecting success of 0027.1163 'checkout attr=text ident aeol=lf core.autocrlf=input core.eol=crlf file=CRLF_mix_LF':
compare_ws_file eol_crlf_crlf_input_attr_text_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 1163 - checkout attr=text ident aeol=lf core.autocrlf=input core.eol=crlf file=CRLF_mix_LF
expecting success of 0027.1164 'checkout attr=text ident aeol=lf core.autocrlf=input core.eol=crlf file=LF_mix_CR':
compare_ws_file eol_crlf_crlf_input_attr_text_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 1164 - checkout attr=text ident aeol=lf core.autocrlf=input core.eol=crlf file=LF_mix_CR
expecting success of 0027.1165 'checkout attr=text ident aeol=lf core.autocrlf=input core.eol=crlf file=LF_nul':
compare_ws_file eol_crlf_crlf_input_attr_text_ LF_nul crlf_false_attr__LF_nul.txt
ok 1165 - checkout attr=text ident aeol=lf core.autocrlf=input core.eol=crlf file=LF_nul
expecting success of 0027.1166 'ls-files --eol attr=text ident aeol=crlf core.autocrlf=input core.eol=crlf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 1166 - ls-files --eol attr=text ident aeol=crlf core.autocrlf=input core.eol=crlf
expecting success of 0027.1167 'checkout attr=text ident aeol=crlf core.autocrlf=input core.eol=crlf file=LF':
compare_ws_file eol_crlf_crlf_input_attr_text_ CRLF crlf_false_attr__LF.txt
ok 1167 - checkout attr=text ident aeol=crlf core.autocrlf=input core.eol=crlf file=LF
expecting success of 0027.1168 'checkout attr=text ident aeol=crlf core.autocrlf=input core.eol=crlf file=CRLF':
compare_ws_file eol_crlf_crlf_input_attr_text_ CRLF crlf_false_attr__CRLF.txt
ok 1168 - checkout attr=text ident aeol=crlf core.autocrlf=input core.eol=crlf file=CRLF
expecting success of 0027.1169 'checkout attr=text ident aeol=crlf core.autocrlf=input core.eol=crlf file=CRLF_mix_LF':
compare_ws_file eol_crlf_crlf_input_attr_text_ CRLF crlf_false_attr__CRLF_mix_LF.txt
ok 1169 - checkout attr=text ident aeol=crlf core.autocrlf=input core.eol=crlf file=CRLF_mix_LF
expecting success of 0027.1170 'checkout attr=text ident aeol=crlf core.autocrlf=input core.eol=crlf file=LF_mix_CR':
compare_ws_file eol_crlf_crlf_input_attr_text_ CRLF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 1170 - checkout attr=text ident aeol=crlf core.autocrlf=input core.eol=crlf file=LF_mix_CR
expecting success of 0027.1171 'checkout attr=text ident aeol=crlf core.autocrlf=input core.eol=crlf file=LF_nul':
compare_ws_file eol_crlf_crlf_input_attr_text_ CRLF_nul crlf_false_attr__LF_nul.txt
ok 1171 - checkout attr=text ident aeol=crlf core.autocrlf=input core.eol=crlf file=LF_nul
expecting success of 0027.1172 'ls-files --eol attr=auto ident aeol=lf core.autocrlf=input core.eol=crlf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 1172 - ls-files --eol attr=auto ident aeol=lf core.autocrlf=input core.eol=crlf
expecting success of 0027.1173 'checkout attr=auto ident aeol=lf core.autocrlf=input core.eol=crlf file=LF':
compare_ws_file eol_crlf_crlf_input_attr_auto_ LF crlf_false_attr__LF.txt
ok 1173 - checkout attr=auto ident aeol=lf core.autocrlf=input core.eol=crlf file=LF
expecting success of 0027.1174 'checkout attr=auto ident aeol=lf core.autocrlf=input core.eol=crlf file=CRLF':
compare_ws_file eol_crlf_crlf_input_attr_auto_ CRLF crlf_false_attr__CRLF.txt
ok 1174 - checkout attr=auto ident aeol=lf core.autocrlf=input core.eol=crlf file=CRLF
expecting success of 0027.1175 'checkout attr=auto ident aeol=lf core.autocrlf=input core.eol=crlf file=CRLF_mix_LF':
compare_ws_file eol_crlf_crlf_input_attr_auto_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 1175 - checkout attr=auto ident aeol=lf core.autocrlf=input core.eol=crlf file=CRLF_mix_LF
expecting success of 0027.1176 'checkout attr=auto ident aeol=lf core.autocrlf=input core.eol=crlf file=LF_mix_CR':
compare_ws_file eol_crlf_crlf_input_attr_auto_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 1176 - checkout attr=auto ident aeol=lf core.autocrlf=input core.eol=crlf file=LF_mix_CR
expecting success of 0027.1177 'checkout attr=auto ident aeol=lf core.autocrlf=input core.eol=crlf file=LF_nul':
compare_ws_file eol_crlf_crlf_input_attr_auto_ LF_nul crlf_false_attr__LF_nul.txt
ok 1177 - checkout attr=auto ident aeol=lf core.autocrlf=input core.eol=crlf file=LF_nul
expecting success of 0027.1178 'ls-files --eol attr=auto ident aeol=crlf core.autocrlf=input core.eol=crlf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 1178 - ls-files --eol attr=auto ident aeol=crlf core.autocrlf=input core.eol=crlf
expecting success of 0027.1179 'checkout attr=auto ident aeol=crlf core.autocrlf=input core.eol=crlf file=LF':
compare_ws_file eol_crlf_crlf_input_attr_auto_ CRLF crlf_false_attr__LF.txt
ok 1179 - checkout attr=auto ident aeol=crlf core.autocrlf=input core.eol=crlf file=LF
expecting success of 0027.1180 'checkout attr=auto ident aeol=crlf core.autocrlf=input core.eol=crlf file=CRLF':
compare_ws_file eol_crlf_crlf_input_attr_auto_ CRLF crlf_false_attr__CRLF.txt
ok 1180 - checkout attr=auto ident aeol=crlf core.autocrlf=input core.eol=crlf file=CRLF
expecting success of 0027.1181 'checkout attr=auto ident aeol=crlf core.autocrlf=input core.eol=crlf file=CRLF_mix_LF':
compare_ws_file eol_crlf_crlf_input_attr_auto_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 1181 - checkout attr=auto ident aeol=crlf core.autocrlf=input core.eol=crlf file=CRLF_mix_LF
expecting success of 0027.1182 'checkout attr=auto ident aeol=crlf core.autocrlf=input core.eol=crlf file=LF_mix_CR':
compare_ws_file eol_crlf_crlf_input_attr_auto_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 1182 - checkout attr=auto ident aeol=crlf core.autocrlf=input core.eol=crlf file=LF_mix_CR
expecting success of 0027.1183 'checkout attr=auto ident aeol=crlf core.autocrlf=input core.eol=crlf file=LF_nul':
compare_ws_file eol_crlf_crlf_input_attr_auto_ LF_nul crlf_false_attr__LF_nul.txt
ok 1183 - checkout attr=auto ident aeol=crlf core.autocrlf=input core.eol=crlf file=LF_nul
expecting success of 0027.1184 'ls-files --eol attr= ident aeol= core.autocrlf=false core.eol=crlf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 1184 - ls-files --eol attr= ident aeol= core.autocrlf=false core.eol=crlf
expecting success of 0027.1185 'checkout attr= ident aeol= core.autocrlf=false core.eol=crlf file=LF':
compare_ws_file eol_crlf_crlf_false_attr__ LF crlf_false_attr__LF.txt
ok 1185 - checkout attr= ident aeol= core.autocrlf=false core.eol=crlf file=LF
expecting success of 0027.1186 'checkout attr= ident aeol= core.autocrlf=false core.eol=crlf file=CRLF':
compare_ws_file eol_crlf_crlf_false_attr__ CRLF crlf_false_attr__CRLF.txt
ok 1186 - checkout attr= ident aeol= core.autocrlf=false core.eol=crlf file=CRLF
expecting success of 0027.1187 'checkout attr= ident aeol= core.autocrlf=false core.eol=crlf file=CRLF_mix_LF':
compare_ws_file eol_crlf_crlf_false_attr__ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 1187 - checkout attr= ident aeol= core.autocrlf=false core.eol=crlf file=CRLF_mix_LF
expecting success of 0027.1188 'checkout attr= ident aeol= core.autocrlf=false core.eol=crlf file=LF_mix_CR':
compare_ws_file eol_crlf_crlf_false_attr__ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 1188 - checkout attr= ident aeol= core.autocrlf=false core.eol=crlf file=LF_mix_CR
expecting success of 0027.1189 'checkout attr= ident aeol= core.autocrlf=false core.eol=crlf file=LF_nul':
compare_ws_file eol_crlf_crlf_false_attr__ LF_nul crlf_false_attr__LF_nul.txt
ok 1189 - checkout attr= ident aeol= core.autocrlf=false core.eol=crlf file=LF_nul
expecting success of 0027.1190 'ls-files --eol attr= ident aeol= core.autocrlf=true core.eol=crlf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 1190 - ls-files --eol attr= ident aeol= core.autocrlf=true core.eol=crlf
expecting success of 0027.1191 'checkout attr= ident aeol= core.autocrlf=true core.eol=crlf file=LF':
compare_ws_file eol_crlf_crlf_true_attr__ CRLF crlf_false_attr__LF.txt
ok 1191 - checkout attr= ident aeol= core.autocrlf=true core.eol=crlf file=LF
expecting success of 0027.1192 'checkout attr= ident aeol= core.autocrlf=true core.eol=crlf file=CRLF':
compare_ws_file eol_crlf_crlf_true_attr__ CRLF crlf_false_attr__CRLF.txt
ok 1192 - checkout attr= ident aeol= core.autocrlf=true core.eol=crlf file=CRLF
expecting success of 0027.1193 'checkout attr= ident aeol= core.autocrlf=true core.eol=crlf file=CRLF_mix_LF':
compare_ws_file eol_crlf_crlf_true_attr__ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 1193 - checkout attr= ident aeol= core.autocrlf=true core.eol=crlf file=CRLF_mix_LF
expecting success of 0027.1194 'checkout attr= ident aeol= core.autocrlf=true core.eol=crlf file=LF_mix_CR':
compare_ws_file eol_crlf_crlf_true_attr__ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 1194 - checkout attr= ident aeol= core.autocrlf=true core.eol=crlf file=LF_mix_CR
expecting success of 0027.1195 'checkout attr= ident aeol= core.autocrlf=true core.eol=crlf file=LF_nul':
compare_ws_file eol_crlf_crlf_true_attr__ LF_nul crlf_false_attr__LF_nul.txt
ok 1195 - checkout attr= ident aeol= core.autocrlf=true core.eol=crlf file=LF_nul
expecting success of 0027.1196 'ls-files --eol attr=auto ident aeol= core.autocrlf=true core.eol=crlf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 1196 - ls-files --eol attr=auto ident aeol= core.autocrlf=true core.eol=crlf
expecting success of 0027.1197 'checkout attr=auto ident aeol= core.autocrlf=true core.eol=crlf file=LF':
compare_ws_file eol_crlf_crlf_true_attr_auto_ CRLF crlf_false_attr__LF.txt
ok 1197 - checkout attr=auto ident aeol= core.autocrlf=true core.eol=crlf file=LF
expecting success of 0027.1198 'checkout attr=auto ident aeol= core.autocrlf=true core.eol=crlf file=CRLF':
compare_ws_file eol_crlf_crlf_true_attr_auto_ CRLF crlf_false_attr__CRLF.txt
ok 1198 - checkout attr=auto ident aeol= core.autocrlf=true core.eol=crlf file=CRLF
expecting success of 0027.1199 'checkout attr=auto ident aeol= core.autocrlf=true core.eol=crlf file=CRLF_mix_LF':
compare_ws_file eol_crlf_crlf_true_attr_auto_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 1199 - checkout attr=auto ident aeol= core.autocrlf=true core.eol=crlf file=CRLF_mix_LF
expecting success of 0027.1200 'checkout attr=auto ident aeol= core.autocrlf=true core.eol=crlf file=LF_mix_CR':
compare_ws_file eol_crlf_crlf_true_attr_auto_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 1200 - checkout attr=auto ident aeol= core.autocrlf=true core.eol=crlf file=LF_mix_CR
expecting success of 0027.1201 'checkout attr=auto ident aeol= core.autocrlf=true core.eol=crlf file=LF_nul':
compare_ws_file eol_crlf_crlf_true_attr_auto_ LF_nul crlf_false_attr__LF_nul.txt
ok 1201 - checkout attr=auto ident aeol= core.autocrlf=true core.eol=crlf file=LF_nul
expecting success of 0027.1202 'ls-files --eol attr=text ident aeol= core.autocrlf=true core.eol=crlf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 1202 - ls-files --eol attr=text ident aeol= core.autocrlf=true core.eol=crlf
expecting success of 0027.1203 'checkout attr=text ident aeol= core.autocrlf=true core.eol=crlf file=LF':
compare_ws_file eol_crlf_crlf_true_attr_text_ CRLF crlf_false_attr__LF.txt
ok 1203 - checkout attr=text ident aeol= core.autocrlf=true core.eol=crlf file=LF
expecting success of 0027.1204 'checkout attr=text ident aeol= core.autocrlf=true core.eol=crlf file=CRLF':
compare_ws_file eol_crlf_crlf_true_attr_text_ CRLF crlf_false_attr__CRLF.txt
ok 1204 - checkout attr=text ident aeol= core.autocrlf=true core.eol=crlf file=CRLF
expecting success of 0027.1205 'checkout attr=text ident aeol= core.autocrlf=true core.eol=crlf file=CRLF_mix_LF':
compare_ws_file eol_crlf_crlf_true_attr_text_ CRLF crlf_false_attr__CRLF_mix_LF.txt
ok 1205 - checkout attr=text ident aeol= core.autocrlf=true core.eol=crlf file=CRLF_mix_LF
expecting success of 0027.1206 'checkout attr=text ident aeol= core.autocrlf=true core.eol=crlf file=LF_mix_CR':
compare_ws_file eol_crlf_crlf_true_attr_text_ CRLF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 1206 - checkout attr=text ident aeol= core.autocrlf=true core.eol=crlf file=LF_mix_CR
expecting success of 0027.1207 'checkout attr=text ident aeol= core.autocrlf=true core.eol=crlf file=LF_nul':
compare_ws_file eol_crlf_crlf_true_attr_text_ CRLF_nul crlf_false_attr__LF_nul.txt
ok 1207 - checkout attr=text ident aeol= core.autocrlf=true core.eol=crlf file=LF_nul
expecting success of 0027.1208 'ls-files --eol attr=text ident aeol= core.autocrlf=input core.eol=crlf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 1208 - ls-files --eol attr=text ident aeol= core.autocrlf=input core.eol=crlf
expecting success of 0027.1209 'checkout attr=text ident aeol= core.autocrlf=input core.eol=crlf file=LF':
compare_ws_file eol_crlf_crlf_input_attr_text_ LF crlf_false_attr__LF.txt
ok 1209 - checkout attr=text ident aeol= core.autocrlf=input core.eol=crlf file=LF
expecting success of 0027.1210 'checkout attr=text ident aeol= core.autocrlf=input core.eol=crlf file=CRLF':
compare_ws_file eol_crlf_crlf_input_attr_text_ CRLF crlf_false_attr__CRLF.txt
ok 1210 - checkout attr=text ident aeol= core.autocrlf=input core.eol=crlf file=CRLF
expecting success of 0027.1211 'checkout attr=text ident aeol= core.autocrlf=input core.eol=crlf file=CRLF_mix_LF':
compare_ws_file eol_crlf_crlf_input_attr_text_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 1211 - checkout attr=text ident aeol= core.autocrlf=input core.eol=crlf file=CRLF_mix_LF
expecting success of 0027.1212 'checkout attr=text ident aeol= core.autocrlf=input core.eol=crlf file=LF_mix_CR':
compare_ws_file eol_crlf_crlf_input_attr_text_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 1212 - checkout attr=text ident aeol= core.autocrlf=input core.eol=crlf file=LF_mix_CR
expecting success of 0027.1213 'checkout attr=text ident aeol= core.autocrlf=input core.eol=crlf file=LF_nul':
compare_ws_file eol_crlf_crlf_input_attr_text_ LF_nul crlf_false_attr__LF_nul.txt
ok 1213 - checkout attr=text ident aeol= core.autocrlf=input core.eol=crlf file=LF_nul
expecting success of 0027.1214 'ls-files --eol attr=auto ident aeol= core.autocrlf=input core.eol=crlf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 1214 - ls-files --eol attr=auto ident aeol= core.autocrlf=input core.eol=crlf
expecting success of 0027.1215 'checkout attr=auto ident aeol= core.autocrlf=input core.eol=crlf file=LF':
compare_ws_file eol_crlf_crlf_input_attr_auto_ LF crlf_false_attr__LF.txt
ok 1215 - checkout attr=auto ident aeol= core.autocrlf=input core.eol=crlf file=LF
expecting success of 0027.1216 'checkout attr=auto ident aeol= core.autocrlf=input core.eol=crlf file=CRLF':
compare_ws_file eol_crlf_crlf_input_attr_auto_ CRLF crlf_false_attr__CRLF.txt
ok 1216 - checkout attr=auto ident aeol= core.autocrlf=input core.eol=crlf file=CRLF
expecting success of 0027.1217 'checkout attr=auto ident aeol= core.autocrlf=input core.eol=crlf file=CRLF_mix_LF':
compare_ws_file eol_crlf_crlf_input_attr_auto_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 1217 - checkout attr=auto ident aeol= core.autocrlf=input core.eol=crlf file=CRLF_mix_LF
expecting success of 0027.1218 'checkout attr=auto ident aeol= core.autocrlf=input core.eol=crlf file=LF_mix_CR':
compare_ws_file eol_crlf_crlf_input_attr_auto_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 1218 - checkout attr=auto ident aeol= core.autocrlf=input core.eol=crlf file=LF_mix_CR
expecting success of 0027.1219 'checkout attr=auto ident aeol= core.autocrlf=input core.eol=crlf file=LF_nul':
compare_ws_file eol_crlf_crlf_input_attr_auto_ LF_nul crlf_false_attr__LF_nul.txt
ok 1219 - checkout attr=auto ident aeol= core.autocrlf=input core.eol=crlf file=LF_nul
expecting success of 0027.1220 'ls-files --eol attr=-text ident aeol= core.autocrlf=true core.eol=native':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 1220 - ls-files --eol attr=-text ident aeol= core.autocrlf=true core.eol=native
expecting success of 0027.1221 'checkout attr=-text ident aeol= core.autocrlf=true core.eol=native file=LF':
compare_ws_file eol_native_crlf_true_attr_-text_ LF crlf_false_attr__LF.txt
ok 1221 - checkout attr=-text ident aeol= core.autocrlf=true core.eol=native file=LF
expecting success of 0027.1222 'checkout attr=-text ident aeol= core.autocrlf=true core.eol=native file=CRLF':
compare_ws_file eol_native_crlf_true_attr_-text_ CRLF crlf_false_attr__CRLF.txt
ok 1222 - checkout attr=-text ident aeol= core.autocrlf=true core.eol=native file=CRLF
expecting success of 0027.1223 'checkout attr=-text ident aeol= core.autocrlf=true core.eol=native file=CRLF_mix_LF':
compare_ws_file eol_native_crlf_true_attr_-text_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 1223 - checkout attr=-text ident aeol= core.autocrlf=true core.eol=native file=CRLF_mix_LF
expecting success of 0027.1224 'checkout attr=-text ident aeol= core.autocrlf=true core.eol=native file=LF_mix_CR':
compare_ws_file eol_native_crlf_true_attr_-text_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 1224 - checkout attr=-text ident aeol= core.autocrlf=true core.eol=native file=LF_mix_CR
expecting success of 0027.1225 'checkout attr=-text ident aeol= core.autocrlf=true core.eol=native file=LF_nul':
compare_ws_file eol_native_crlf_true_attr_-text_ LF_nul crlf_false_attr__LF_nul.txt
ok 1225 - checkout attr=-text ident aeol= core.autocrlf=true core.eol=native file=LF_nul
expecting success of 0027.1226 'ls-files --eol attr=-text ident aeol=lf core.autocrlf=true core.eol=native':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 1226 - ls-files --eol attr=-text ident aeol=lf core.autocrlf=true core.eol=native
expecting success of 0027.1227 'checkout attr=-text ident aeol=lf core.autocrlf=true core.eol=native file=LF':
compare_ws_file eol_native_crlf_true_attr_-text_ LF crlf_false_attr__LF.txt
ok 1227 - checkout attr=-text ident aeol=lf core.autocrlf=true core.eol=native file=LF
expecting success of 0027.1228 'checkout attr=-text ident aeol=lf core.autocrlf=true core.eol=native file=CRLF':
compare_ws_file eol_native_crlf_true_attr_-text_ CRLF crlf_false_attr__CRLF.txt
ok 1228 - checkout attr=-text ident aeol=lf core.autocrlf=true core.eol=native file=CRLF
expecting success of 0027.1229 'checkout attr=-text ident aeol=lf core.autocrlf=true core.eol=native file=CRLF_mix_LF':
compare_ws_file eol_native_crlf_true_attr_-text_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 1229 - checkout attr=-text ident aeol=lf core.autocrlf=true core.eol=native file=CRLF_mix_LF
expecting success of 0027.1230 'checkout attr=-text ident aeol=lf core.autocrlf=true core.eol=native file=LF_mix_CR':
compare_ws_file eol_native_crlf_true_attr_-text_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 1230 - checkout attr=-text ident aeol=lf core.autocrlf=true core.eol=native file=LF_mix_CR
expecting success of 0027.1231 'checkout attr=-text ident aeol=lf core.autocrlf=true core.eol=native file=LF_nul':
compare_ws_file eol_native_crlf_true_attr_-text_ LF_nul crlf_false_attr__LF_nul.txt
ok 1231 - checkout attr=-text ident aeol=lf core.autocrlf=true core.eol=native file=LF_nul
expecting success of 0027.1232 'ls-files --eol attr=-text ident aeol=crlf core.autocrlf=true core.eol=native':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 1232 - ls-files --eol attr=-text ident aeol=crlf core.autocrlf=true core.eol=native
expecting success of 0027.1233 'checkout attr=-text ident aeol=crlf core.autocrlf=true core.eol=native file=LF':
compare_ws_file eol_native_crlf_true_attr_-text_ LF crlf_false_attr__LF.txt
ok 1233 - checkout attr=-text ident aeol=crlf core.autocrlf=true core.eol=native file=LF
expecting success of 0027.1234 'checkout attr=-text ident aeol=crlf core.autocrlf=true core.eol=native file=CRLF':
compare_ws_file eol_native_crlf_true_attr_-text_ CRLF crlf_false_attr__CRLF.txt
ok 1234 - checkout attr=-text ident aeol=crlf core.autocrlf=true core.eol=native file=CRLF
expecting success of 0027.1235 'checkout attr=-text ident aeol=crlf core.autocrlf=true core.eol=native file=CRLF_mix_LF':
compare_ws_file eol_native_crlf_true_attr_-text_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 1235 - checkout attr=-text ident aeol=crlf core.autocrlf=true core.eol=native file=CRLF_mix_LF
expecting success of 0027.1236 'checkout attr=-text ident aeol=crlf core.autocrlf=true core.eol=native file=LF_mix_CR':
compare_ws_file eol_native_crlf_true_attr_-text_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 1236 - checkout attr=-text ident aeol=crlf core.autocrlf=true core.eol=native file=LF_mix_CR
expecting success of 0027.1237 'checkout attr=-text ident aeol=crlf core.autocrlf=true core.eol=native file=LF_nul':
compare_ws_file eol_native_crlf_true_attr_-text_ LF_nul crlf_false_attr__LF_nul.txt
ok 1237 - checkout attr=-text ident aeol=crlf core.autocrlf=true core.eol=native file=LF_nul
expecting success of 0027.1238 'ls-files --eol attr=text ident aeol=lf core.autocrlf=true core.eol=native':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 1238 - ls-files --eol attr=text ident aeol=lf core.autocrlf=true core.eol=native
expecting success of 0027.1239 'checkout attr=text ident aeol=lf core.autocrlf=true core.eol=native file=LF':
compare_ws_file eol_native_crlf_true_attr_text_ LF crlf_false_attr__LF.txt
ok 1239 - checkout attr=text ident aeol=lf core.autocrlf=true core.eol=native file=LF
expecting success of 0027.1240 'checkout attr=text ident aeol=lf core.autocrlf=true core.eol=native file=CRLF':
compare_ws_file eol_native_crlf_true_attr_text_ CRLF crlf_false_attr__CRLF.txt
ok 1240 - checkout attr=text ident aeol=lf core.autocrlf=true core.eol=native file=CRLF
expecting success of 0027.1241 'checkout attr=text ident aeol=lf core.autocrlf=true core.eol=native file=CRLF_mix_LF':
compare_ws_file eol_native_crlf_true_attr_text_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 1241 - checkout attr=text ident aeol=lf core.autocrlf=true core.eol=native file=CRLF_mix_LF
expecting success of 0027.1242 'checkout attr=text ident aeol=lf core.autocrlf=true core.eol=native file=LF_mix_CR':
compare_ws_file eol_native_crlf_true_attr_text_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 1242 - checkout attr=text ident aeol=lf core.autocrlf=true core.eol=native file=LF_mix_CR
expecting success of 0027.1243 'checkout attr=text ident aeol=lf core.autocrlf=true core.eol=native file=LF_nul':
compare_ws_file eol_native_crlf_true_attr_text_ LF_nul crlf_false_attr__LF_nul.txt
ok 1243 - checkout attr=text ident aeol=lf core.autocrlf=true core.eol=native file=LF_nul
expecting success of 0027.1244 'ls-files --eol attr=text ident aeol=crlf core.autocrlf=true core.eol=native':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 1244 - ls-files --eol attr=text ident aeol=crlf core.autocrlf=true core.eol=native
expecting success of 0027.1245 'checkout attr=text ident aeol=crlf core.autocrlf=true core.eol=native file=LF':
compare_ws_file eol_native_crlf_true_attr_text_ CRLF crlf_false_attr__LF.txt
ok 1245 - checkout attr=text ident aeol=crlf core.autocrlf=true core.eol=native file=LF
expecting success of 0027.1246 'checkout attr=text ident aeol=crlf core.autocrlf=true core.eol=native file=CRLF':
compare_ws_file eol_native_crlf_true_attr_text_ CRLF crlf_false_attr__CRLF.txt
ok 1246 - checkout attr=text ident aeol=crlf core.autocrlf=true core.eol=native file=CRLF
expecting success of 0027.1247 'checkout attr=text ident aeol=crlf core.autocrlf=true core.eol=native file=CRLF_mix_LF':
compare_ws_file eol_native_crlf_true_attr_text_ CRLF crlf_false_attr__CRLF_mix_LF.txt
ok 1247 - checkout attr=text ident aeol=crlf core.autocrlf=true core.eol=native file=CRLF_mix_LF
expecting success of 0027.1248 'checkout attr=text ident aeol=crlf core.autocrlf=true core.eol=native file=LF_mix_CR':
compare_ws_file eol_native_crlf_true_attr_text_ CRLF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 1248 - checkout attr=text ident aeol=crlf core.autocrlf=true core.eol=native file=LF_mix_CR
expecting success of 0027.1249 'checkout attr=text ident aeol=crlf core.autocrlf=true core.eol=native file=LF_nul':
compare_ws_file eol_native_crlf_true_attr_text_ CRLF_nul crlf_false_attr__LF_nul.txt
ok 1249 - checkout attr=text ident aeol=crlf core.autocrlf=true core.eol=native file=LF_nul
expecting success of 0027.1250 'ls-files --eol attr=auto ident aeol=lf core.autocrlf=true core.eol=native':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 1250 - ls-files --eol attr=auto ident aeol=lf core.autocrlf=true core.eol=native
expecting success of 0027.1251 'checkout attr=auto ident aeol=lf core.autocrlf=true core.eol=native file=LF':
compare_ws_file eol_native_crlf_true_attr_auto_ LF crlf_false_attr__LF.txt
ok 1251 - checkout attr=auto ident aeol=lf core.autocrlf=true core.eol=native file=LF
expecting success of 0027.1252 'checkout attr=auto ident aeol=lf core.autocrlf=true core.eol=native file=CRLF':
compare_ws_file eol_native_crlf_true_attr_auto_ CRLF crlf_false_attr__CRLF.txt
ok 1252 - checkout attr=auto ident aeol=lf core.autocrlf=true core.eol=native file=CRLF
expecting success of 0027.1253 'checkout attr=auto ident aeol=lf core.autocrlf=true core.eol=native file=CRLF_mix_LF':
compare_ws_file eol_native_crlf_true_attr_auto_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 1253 - checkout attr=auto ident aeol=lf core.autocrlf=true core.eol=native file=CRLF_mix_LF
expecting success of 0027.1254 'checkout attr=auto ident aeol=lf core.autocrlf=true core.eol=native file=LF_mix_CR':
compare_ws_file eol_native_crlf_true_attr_auto_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 1254 - checkout attr=auto ident aeol=lf core.autocrlf=true core.eol=native file=LF_mix_CR
expecting success of 0027.1255 'checkout attr=auto ident aeol=lf core.autocrlf=true core.eol=native file=LF_nul':
compare_ws_file eol_native_crlf_true_attr_auto_ LF_nul crlf_false_attr__LF_nul.txt
ok 1255 - checkout attr=auto ident aeol=lf core.autocrlf=true core.eol=native file=LF_nul
expecting success of 0027.1256 'ls-files --eol attr=auto ident aeol=crlf core.autocrlf=true core.eol=native':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 1256 - ls-files --eol attr=auto ident aeol=crlf core.autocrlf=true core.eol=native
expecting success of 0027.1257 'checkout attr=auto ident aeol=crlf core.autocrlf=true core.eol=native file=LF':
compare_ws_file eol_native_crlf_true_attr_auto_ CRLF crlf_false_attr__LF.txt
ok 1257 - checkout attr=auto ident aeol=crlf core.autocrlf=true core.eol=native file=LF
expecting success of 0027.1258 'checkout attr=auto ident aeol=crlf core.autocrlf=true core.eol=native file=CRLF':
compare_ws_file eol_native_crlf_true_attr_auto_ CRLF crlf_false_attr__CRLF.txt
ok 1258 - checkout attr=auto ident aeol=crlf core.autocrlf=true core.eol=native file=CRLF
expecting success of 0027.1259 'checkout attr=auto ident aeol=crlf core.autocrlf=true core.eol=native file=CRLF_mix_LF':
compare_ws_file eol_native_crlf_true_attr_auto_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 1259 - checkout attr=auto ident aeol=crlf core.autocrlf=true core.eol=native file=CRLF_mix_LF
expecting success of 0027.1260 'checkout attr=auto ident aeol=crlf core.autocrlf=true core.eol=native file=LF_mix_CR':
compare_ws_file eol_native_crlf_true_attr_auto_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 1260 - checkout attr=auto ident aeol=crlf core.autocrlf=true core.eol=native file=LF_mix_CR
expecting success of 0027.1261 'checkout attr=auto ident aeol=crlf core.autocrlf=true core.eol=native file=LF_nul':
compare_ws_file eol_native_crlf_true_attr_auto_ LF_nul crlf_false_attr__LF_nul.txt
ok 1261 - checkout attr=auto ident aeol=crlf core.autocrlf=true core.eol=native file=LF_nul
expecting success of 0027.1262 'ls-files --eol attr=-text ident aeol= core.autocrlf=false core.eol=native':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 1262 - ls-files --eol attr=-text ident aeol= core.autocrlf=false core.eol=native
expecting success of 0027.1263 'checkout attr=-text ident aeol= core.autocrlf=false core.eol=native file=LF':
compare_ws_file eol_native_crlf_false_attr_-text_ LF crlf_false_attr__LF.txt
ok 1263 - checkout attr=-text ident aeol= core.autocrlf=false core.eol=native file=LF
expecting success of 0027.1264 'checkout attr=-text ident aeol= core.autocrlf=false core.eol=native file=CRLF':
compare_ws_file eol_native_crlf_false_attr_-text_ CRLF crlf_false_attr__CRLF.txt
ok 1264 - checkout attr=-text ident aeol= core.autocrlf=false core.eol=native file=CRLF
expecting success of 0027.1265 'checkout attr=-text ident aeol= core.autocrlf=false core.eol=native file=CRLF_mix_LF':
compare_ws_file eol_native_crlf_false_attr_-text_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 1265 - checkout attr=-text ident aeol= core.autocrlf=false core.eol=native file=CRLF_mix_LF
expecting success of 0027.1266 'checkout attr=-text ident aeol= core.autocrlf=false core.eol=native file=LF_mix_CR':
compare_ws_file eol_native_crlf_false_attr_-text_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 1266 - checkout attr=-text ident aeol= core.autocrlf=false core.eol=native file=LF_mix_CR
expecting success of 0027.1267 'checkout attr=-text ident aeol= core.autocrlf=false core.eol=native file=LF_nul':
compare_ws_file eol_native_crlf_false_attr_-text_ LF_nul crlf_false_attr__LF_nul.txt
ok 1267 - checkout attr=-text ident aeol= core.autocrlf=false core.eol=native file=LF_nul
expecting success of 0027.1268 'ls-files --eol attr=-text ident aeol=lf core.autocrlf=false core.eol=native':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 1268 - ls-files --eol attr=-text ident aeol=lf core.autocrlf=false core.eol=native
expecting success of 0027.1269 'checkout attr=-text ident aeol=lf core.autocrlf=false core.eol=native file=LF':
compare_ws_file eol_native_crlf_false_attr_-text_ LF crlf_false_attr__LF.txt
ok 1269 - checkout attr=-text ident aeol=lf core.autocrlf=false core.eol=native file=LF
expecting success of 0027.1270 'checkout attr=-text ident aeol=lf core.autocrlf=false core.eol=native file=CRLF':
compare_ws_file eol_native_crlf_false_attr_-text_ CRLF crlf_false_attr__CRLF.txt
ok 1270 - checkout attr=-text ident aeol=lf core.autocrlf=false core.eol=native file=CRLF
expecting success of 0027.1271 'checkout attr=-text ident aeol=lf core.autocrlf=false core.eol=native file=CRLF_mix_LF':
compare_ws_file eol_native_crlf_false_attr_-text_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 1271 - checkout attr=-text ident aeol=lf core.autocrlf=false core.eol=native file=CRLF_mix_LF
expecting success of 0027.1272 'checkout attr=-text ident aeol=lf core.autocrlf=false core.eol=native file=LF_mix_CR':
compare_ws_file eol_native_crlf_false_attr_-text_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 1272 - checkout attr=-text ident aeol=lf core.autocrlf=false core.eol=native file=LF_mix_CR
expecting success of 0027.1273 'checkout attr=-text ident aeol=lf core.autocrlf=false core.eol=native file=LF_nul':
compare_ws_file eol_native_crlf_false_attr_-text_ LF_nul crlf_false_attr__LF_nul.txt
ok 1273 - checkout attr=-text ident aeol=lf core.autocrlf=false core.eol=native file=LF_nul
expecting success of 0027.1274 'ls-files --eol attr=-text ident aeol=crlf core.autocrlf=false core.eol=native':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 1274 - ls-files --eol attr=-text ident aeol=crlf core.autocrlf=false core.eol=native
expecting success of 0027.1275 'checkout attr=-text ident aeol=crlf core.autocrlf=false core.eol=native file=LF':
compare_ws_file eol_native_crlf_false_attr_-text_ LF crlf_false_attr__LF.txt
ok 1275 - checkout attr=-text ident aeol=crlf core.autocrlf=false core.eol=native file=LF
expecting success of 0027.1276 'checkout attr=-text ident aeol=crlf core.autocrlf=false core.eol=native file=CRLF':
compare_ws_file eol_native_crlf_false_attr_-text_ CRLF crlf_false_attr__CRLF.txt
ok 1276 - checkout attr=-text ident aeol=crlf core.autocrlf=false core.eol=native file=CRLF
expecting success of 0027.1277 'checkout attr=-text ident aeol=crlf core.autocrlf=false core.eol=native file=CRLF_mix_LF':
compare_ws_file eol_native_crlf_false_attr_-text_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 1277 - checkout attr=-text ident aeol=crlf core.autocrlf=false core.eol=native file=CRLF_mix_LF
expecting success of 0027.1278 'checkout attr=-text ident aeol=crlf core.autocrlf=false core.eol=native file=LF_mix_CR':
compare_ws_file eol_native_crlf_false_attr_-text_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 1278 - checkout attr=-text ident aeol=crlf core.autocrlf=false core.eol=native file=LF_mix_CR
expecting success of 0027.1279 'checkout attr=-text ident aeol=crlf core.autocrlf=false core.eol=native file=LF_nul':
compare_ws_file eol_native_crlf_false_attr_-text_ LF_nul crlf_false_attr__LF_nul.txt
ok 1279 - checkout attr=-text ident aeol=crlf core.autocrlf=false core.eol=native file=LF_nul
expecting success of 0027.1280 'ls-files --eol attr=text ident aeol=lf core.autocrlf=false core.eol=native':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 1280 - ls-files --eol attr=text ident aeol=lf core.autocrlf=false core.eol=native
expecting success of 0027.1281 'checkout attr=text ident aeol=lf core.autocrlf=false core.eol=native file=LF':
compare_ws_file eol_native_crlf_false_attr_text_ LF crlf_false_attr__LF.txt
ok 1281 - checkout attr=text ident aeol=lf core.autocrlf=false core.eol=native file=LF
expecting success of 0027.1282 'checkout attr=text ident aeol=lf core.autocrlf=false core.eol=native file=CRLF':
compare_ws_file eol_native_crlf_false_attr_text_ CRLF crlf_false_attr__CRLF.txt
ok 1282 - checkout attr=text ident aeol=lf core.autocrlf=false core.eol=native file=CRLF
expecting success of 0027.1283 'checkout attr=text ident aeol=lf core.autocrlf=false core.eol=native file=CRLF_mix_LF':
compare_ws_file eol_native_crlf_false_attr_text_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 1283 - checkout attr=text ident aeol=lf core.autocrlf=false core.eol=native file=CRLF_mix_LF
expecting success of 0027.1284 'checkout attr=text ident aeol=lf core.autocrlf=false core.eol=native file=LF_mix_CR':
compare_ws_file eol_native_crlf_false_attr_text_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 1284 - checkout attr=text ident aeol=lf core.autocrlf=false core.eol=native file=LF_mix_CR
expecting success of 0027.1285 'checkout attr=text ident aeol=lf core.autocrlf=false core.eol=native file=LF_nul':
compare_ws_file eol_native_crlf_false_attr_text_ LF_nul crlf_false_attr__LF_nul.txt
ok 1285 - checkout attr=text ident aeol=lf core.autocrlf=false core.eol=native file=LF_nul
expecting success of 0027.1286 'ls-files --eol attr=text ident aeol=crlf core.autocrlf=false core.eol=native':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 1286 - ls-files --eol attr=text ident aeol=crlf core.autocrlf=false core.eol=native
expecting success of 0027.1287 'checkout attr=text ident aeol=crlf core.autocrlf=false core.eol=native file=LF':
compare_ws_file eol_native_crlf_false_attr_text_ CRLF crlf_false_attr__LF.txt
ok 1287 - checkout attr=text ident aeol=crlf core.autocrlf=false core.eol=native file=LF
expecting success of 0027.1288 'checkout attr=text ident aeol=crlf core.autocrlf=false core.eol=native file=CRLF':
compare_ws_file eol_native_crlf_false_attr_text_ CRLF crlf_false_attr__CRLF.txt
ok 1288 - checkout attr=text ident aeol=crlf core.autocrlf=false core.eol=native file=CRLF
expecting success of 0027.1289 'checkout attr=text ident aeol=crlf core.autocrlf=false core.eol=native file=CRLF_mix_LF':
compare_ws_file eol_native_crlf_false_attr_text_ CRLF crlf_false_attr__CRLF_mix_LF.txt
ok 1289 - checkout attr=text ident aeol=crlf core.autocrlf=false core.eol=native file=CRLF_mix_LF
expecting success of 0027.1290 'checkout attr=text ident aeol=crlf core.autocrlf=false core.eol=native file=LF_mix_CR':
compare_ws_file eol_native_crlf_false_attr_text_ CRLF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 1290 - checkout attr=text ident aeol=crlf core.autocrlf=false core.eol=native file=LF_mix_CR
expecting success of 0027.1291 'checkout attr=text ident aeol=crlf core.autocrlf=false core.eol=native file=LF_nul':
compare_ws_file eol_native_crlf_false_attr_text_ CRLF_nul crlf_false_attr__LF_nul.txt
ok 1291 - checkout attr=text ident aeol=crlf core.autocrlf=false core.eol=native file=LF_nul
expecting success of 0027.1292 'ls-files --eol attr=auto ident aeol=lf core.autocrlf=false core.eol=native':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 1292 - ls-files --eol attr=auto ident aeol=lf core.autocrlf=false core.eol=native
expecting success of 0027.1293 'checkout attr=auto ident aeol=lf core.autocrlf=false core.eol=native file=LF':
compare_ws_file eol_native_crlf_false_attr_auto_ LF crlf_false_attr__LF.txt
ok 1293 - checkout attr=auto ident aeol=lf core.autocrlf=false core.eol=native file=LF
expecting success of 0027.1294 'checkout attr=auto ident aeol=lf core.autocrlf=false core.eol=native file=CRLF':
compare_ws_file eol_native_crlf_false_attr_auto_ CRLF crlf_false_attr__CRLF.txt
ok 1294 - checkout attr=auto ident aeol=lf core.autocrlf=false core.eol=native file=CRLF
expecting success of 0027.1295 'checkout attr=auto ident aeol=lf core.autocrlf=false core.eol=native file=CRLF_mix_LF':
compare_ws_file eol_native_crlf_false_attr_auto_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 1295 - checkout attr=auto ident aeol=lf core.autocrlf=false core.eol=native file=CRLF_mix_LF
expecting success of 0027.1296 'checkout attr=auto ident aeol=lf core.autocrlf=false core.eol=native file=LF_mix_CR':
compare_ws_file eol_native_crlf_false_attr_auto_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 1296 - checkout attr=auto ident aeol=lf core.autocrlf=false core.eol=native file=LF_mix_CR
expecting success of 0027.1297 'checkout attr=auto ident aeol=lf core.autocrlf=false core.eol=native file=LF_nul':
compare_ws_file eol_native_crlf_false_attr_auto_ LF_nul crlf_false_attr__LF_nul.txt
ok 1297 - checkout attr=auto ident aeol=lf core.autocrlf=false core.eol=native file=LF_nul
expecting success of 0027.1298 'ls-files --eol attr=auto ident aeol=crlf core.autocrlf=false core.eol=native':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 1298 - ls-files --eol attr=auto ident aeol=crlf core.autocrlf=false core.eol=native
expecting success of 0027.1299 'checkout attr=auto ident aeol=crlf core.autocrlf=false core.eol=native file=LF':
compare_ws_file eol_native_crlf_false_attr_auto_ CRLF crlf_false_attr__LF.txt
ok 1299 - checkout attr=auto ident aeol=crlf core.autocrlf=false core.eol=native file=LF
expecting success of 0027.1300 'checkout attr=auto ident aeol=crlf core.autocrlf=false core.eol=native file=CRLF':
compare_ws_file eol_native_crlf_false_attr_auto_ CRLF crlf_false_attr__CRLF.txt
ok 1300 - checkout attr=auto ident aeol=crlf core.autocrlf=false core.eol=native file=CRLF
expecting success of 0027.1301 'checkout attr=auto ident aeol=crlf core.autocrlf=false core.eol=native file=CRLF_mix_LF':
compare_ws_file eol_native_crlf_false_attr_auto_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 1301 - checkout attr=auto ident aeol=crlf core.autocrlf=false core.eol=native file=CRLF_mix_LF
expecting success of 0027.1302 'checkout attr=auto ident aeol=crlf core.autocrlf=false core.eol=native file=LF_mix_CR':
compare_ws_file eol_native_crlf_false_attr_auto_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 1302 - checkout attr=auto ident aeol=crlf core.autocrlf=false core.eol=native file=LF_mix_CR
expecting success of 0027.1303 'checkout attr=auto ident aeol=crlf core.autocrlf=false core.eol=native file=LF_nul':
compare_ws_file eol_native_crlf_false_attr_auto_ LF_nul crlf_false_attr__LF_nul.txt
ok 1303 - checkout attr=auto ident aeol=crlf core.autocrlf=false core.eol=native file=LF_nul
expecting success of 0027.1304 'ls-files --eol attr=-text ident aeol= core.autocrlf=input core.eol=native':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 1304 - ls-files --eol attr=-text ident aeol= core.autocrlf=input core.eol=native
expecting success of 0027.1305 'checkout attr=-text ident aeol= core.autocrlf=input core.eol=native file=LF':
compare_ws_file eol_native_crlf_input_attr_-text_ LF crlf_false_attr__LF.txt
ok 1305 - checkout attr=-text ident aeol= core.autocrlf=input core.eol=native file=LF
expecting success of 0027.1306 'checkout attr=-text ident aeol= core.autocrlf=input core.eol=native file=CRLF':
compare_ws_file eol_native_crlf_input_attr_-text_ CRLF crlf_false_attr__CRLF.txt
ok 1306 - checkout attr=-text ident aeol= core.autocrlf=input core.eol=native file=CRLF
expecting success of 0027.1307 'checkout attr=-text ident aeol= core.autocrlf=input core.eol=native file=CRLF_mix_LF':
compare_ws_file eol_native_crlf_input_attr_-text_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 1307 - checkout attr=-text ident aeol= core.autocrlf=input core.eol=native file=CRLF_mix_LF
expecting success of 0027.1308 'checkout attr=-text ident aeol= core.autocrlf=input core.eol=native file=LF_mix_CR':
compare_ws_file eol_native_crlf_input_attr_-text_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 1308 - checkout attr=-text ident aeol= core.autocrlf=input core.eol=native file=LF_mix_CR
expecting success of 0027.1309 'checkout attr=-text ident aeol= core.autocrlf=input core.eol=native file=LF_nul':
compare_ws_file eol_native_crlf_input_attr_-text_ LF_nul crlf_false_attr__LF_nul.txt
ok 1309 - checkout attr=-text ident aeol= core.autocrlf=input core.eol=native file=LF_nul
expecting success of 0027.1310 'ls-files --eol attr=-text ident aeol=lf core.autocrlf=input core.eol=native':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 1310 - ls-files --eol attr=-text ident aeol=lf core.autocrlf=input core.eol=native
expecting success of 0027.1311 'checkout attr=-text ident aeol=lf core.autocrlf=input core.eol=native file=LF':
compare_ws_file eol_native_crlf_input_attr_-text_ LF crlf_false_attr__LF.txt
ok 1311 - checkout attr=-text ident aeol=lf core.autocrlf=input core.eol=native file=LF
expecting success of 0027.1312 'checkout attr=-text ident aeol=lf core.autocrlf=input core.eol=native file=CRLF':
compare_ws_file eol_native_crlf_input_attr_-text_ CRLF crlf_false_attr__CRLF.txt
ok 1312 - checkout attr=-text ident aeol=lf core.autocrlf=input core.eol=native file=CRLF
expecting success of 0027.1313 'checkout attr=-text ident aeol=lf core.autocrlf=input core.eol=native file=CRLF_mix_LF':
compare_ws_file eol_native_crlf_input_attr_-text_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 1313 - checkout attr=-text ident aeol=lf core.autocrlf=input core.eol=native file=CRLF_mix_LF
expecting success of 0027.1314 'checkout attr=-text ident aeol=lf core.autocrlf=input core.eol=native file=LF_mix_CR':
compare_ws_file eol_native_crlf_input_attr_-text_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 1314 - checkout attr=-text ident aeol=lf core.autocrlf=input core.eol=native file=LF_mix_CR
expecting success of 0027.1315 'checkout attr=-text ident aeol=lf core.autocrlf=input core.eol=native file=LF_nul':
compare_ws_file eol_native_crlf_input_attr_-text_ LF_nul crlf_false_attr__LF_nul.txt
ok 1315 - checkout attr=-text ident aeol=lf core.autocrlf=input core.eol=native file=LF_nul
expecting success of 0027.1316 'ls-files --eol attr=-text ident aeol=crlf core.autocrlf=input core.eol=native':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 1316 - ls-files --eol attr=-text ident aeol=crlf core.autocrlf=input core.eol=native
expecting success of 0027.1317 'checkout attr=-text ident aeol=crlf core.autocrlf=input core.eol=native file=LF':
compare_ws_file eol_native_crlf_input_attr_-text_ LF crlf_false_attr__LF.txt
ok 1317 - checkout attr=-text ident aeol=crlf core.autocrlf=input core.eol=native file=LF
expecting success of 0027.1318 'checkout attr=-text ident aeol=crlf core.autocrlf=input core.eol=native file=CRLF':
compare_ws_file eol_native_crlf_input_attr_-text_ CRLF crlf_false_attr__CRLF.txt
ok 1318 - checkout attr=-text ident aeol=crlf core.autocrlf=input core.eol=native file=CRLF
expecting success of 0027.1319 'checkout attr=-text ident aeol=crlf core.autocrlf=input core.eol=native file=CRLF_mix_LF':
compare_ws_file eol_native_crlf_input_attr_-text_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 1319 - checkout attr=-text ident aeol=crlf core.autocrlf=input core.eol=native file=CRLF_mix_LF
expecting success of 0027.1320 'checkout attr=-text ident aeol=crlf core.autocrlf=input core.eol=native file=LF_mix_CR':
compare_ws_file eol_native_crlf_input_attr_-text_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 1320 - checkout attr=-text ident aeol=crlf core.autocrlf=input core.eol=native file=LF_mix_CR
expecting success of 0027.1321 'checkout attr=-text ident aeol=crlf core.autocrlf=input core.eol=native file=LF_nul':
compare_ws_file eol_native_crlf_input_attr_-text_ LF_nul crlf_false_attr__LF_nul.txt
ok 1321 - checkout attr=-text ident aeol=crlf core.autocrlf=input core.eol=native file=LF_nul
expecting success of 0027.1322 'ls-files --eol attr=text ident aeol=lf core.autocrlf=input core.eol=native':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 1322 - ls-files --eol attr=text ident aeol=lf core.autocrlf=input core.eol=native
expecting success of 0027.1323 'checkout attr=text ident aeol=lf core.autocrlf=input core.eol=native file=LF':
compare_ws_file eol_native_crlf_input_attr_text_ LF crlf_false_attr__LF.txt
ok 1323 - checkout attr=text ident aeol=lf core.autocrlf=input core.eol=native file=LF
expecting success of 0027.1324 'checkout attr=text ident aeol=lf core.autocrlf=input core.eol=native file=CRLF':
compare_ws_file eol_native_crlf_input_attr_text_ CRLF crlf_false_attr__CRLF.txt
ok 1324 - checkout attr=text ident aeol=lf core.autocrlf=input core.eol=native file=CRLF
expecting success of 0027.1325 'checkout attr=text ident aeol=lf core.autocrlf=input core.eol=native file=CRLF_mix_LF':
compare_ws_file eol_native_crlf_input_attr_text_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 1325 - checkout attr=text ident aeol=lf core.autocrlf=input core.eol=native file=CRLF_mix_LF
expecting success of 0027.1326 'checkout attr=text ident aeol=lf core.autocrlf=input core.eol=native file=LF_mix_CR':
compare_ws_file eol_native_crlf_input_attr_text_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 1326 - checkout attr=text ident aeol=lf core.autocrlf=input core.eol=native file=LF_mix_CR
expecting success of 0027.1327 'checkout attr=text ident aeol=lf core.autocrlf=input core.eol=native file=LF_nul':
compare_ws_file eol_native_crlf_input_attr_text_ LF_nul crlf_false_attr__LF_nul.txt
ok 1327 - checkout attr=text ident aeol=lf core.autocrlf=input core.eol=native file=LF_nul
expecting success of 0027.1328 'ls-files --eol attr=text ident aeol=crlf core.autocrlf=input core.eol=native':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 1328 - ls-files --eol attr=text ident aeol=crlf core.autocrlf=input core.eol=native
expecting success of 0027.1329 'checkout attr=text ident aeol=crlf core.autocrlf=input core.eol=native file=LF':
compare_ws_file eol_native_crlf_input_attr_text_ CRLF crlf_false_attr__LF.txt
ok 1329 - checkout attr=text ident aeol=crlf core.autocrlf=input core.eol=native file=LF
expecting success of 0027.1330 'checkout attr=text ident aeol=crlf core.autocrlf=input core.eol=native file=CRLF':
compare_ws_file eol_native_crlf_input_attr_text_ CRLF crlf_false_attr__CRLF.txt
ok 1330 - checkout attr=text ident aeol=crlf core.autocrlf=input core.eol=native file=CRLF
expecting success of 0027.1331 'checkout attr=text ident aeol=crlf core.autocrlf=input core.eol=native file=CRLF_mix_LF':
compare_ws_file eol_native_crlf_input_attr_text_ CRLF crlf_false_attr__CRLF_mix_LF.txt
ok 1331 - checkout attr=text ident aeol=crlf core.autocrlf=input core.eol=native file=CRLF_mix_LF
expecting success of 0027.1332 'checkout attr=text ident aeol=crlf core.autocrlf=input core.eol=native file=LF_mix_CR':
compare_ws_file eol_native_crlf_input_attr_text_ CRLF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 1332 - checkout attr=text ident aeol=crlf core.autocrlf=input core.eol=native file=LF_mix_CR
expecting success of 0027.1333 'checkout attr=text ident aeol=crlf core.autocrlf=input core.eol=native file=LF_nul':
compare_ws_file eol_native_crlf_input_attr_text_ CRLF_nul crlf_false_attr__LF_nul.txt
ok 1333 - checkout attr=text ident aeol=crlf core.autocrlf=input core.eol=native file=LF_nul
expecting success of 0027.1334 'ls-files --eol attr=auto ident aeol=lf core.autocrlf=input core.eol=native':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 1334 - ls-files --eol attr=auto ident aeol=lf core.autocrlf=input core.eol=native
expecting success of 0027.1335 'checkout attr=auto ident aeol=lf core.autocrlf=input core.eol=native file=LF':
compare_ws_file eol_native_crlf_input_attr_auto_ LF crlf_false_attr__LF.txt
ok 1335 - checkout attr=auto ident aeol=lf core.autocrlf=input core.eol=native file=LF
expecting success of 0027.1336 'checkout attr=auto ident aeol=lf core.autocrlf=input core.eol=native file=CRLF':
compare_ws_file eol_native_crlf_input_attr_auto_ CRLF crlf_false_attr__CRLF.txt
ok 1336 - checkout attr=auto ident aeol=lf core.autocrlf=input core.eol=native file=CRLF
expecting success of 0027.1337 'checkout attr=auto ident aeol=lf core.autocrlf=input core.eol=native file=CRLF_mix_LF':
compare_ws_file eol_native_crlf_input_attr_auto_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 1337 - checkout attr=auto ident aeol=lf core.autocrlf=input core.eol=native file=CRLF_mix_LF
expecting success of 0027.1338 'checkout attr=auto ident aeol=lf core.autocrlf=input core.eol=native file=LF_mix_CR':
compare_ws_file eol_native_crlf_input_attr_auto_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 1338 - checkout attr=auto ident aeol=lf core.autocrlf=input core.eol=native file=LF_mix_CR
expecting success of 0027.1339 'checkout attr=auto ident aeol=lf core.autocrlf=input core.eol=native file=LF_nul':
compare_ws_file eol_native_crlf_input_attr_auto_ LF_nul crlf_false_attr__LF_nul.txt
ok 1339 - checkout attr=auto ident aeol=lf core.autocrlf=input core.eol=native file=LF_nul
expecting success of 0027.1340 'ls-files --eol attr=auto ident aeol=crlf core.autocrlf=input core.eol=native':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 1340 - ls-files --eol attr=auto ident aeol=crlf core.autocrlf=input core.eol=native
expecting success of 0027.1341 'checkout attr=auto ident aeol=crlf core.autocrlf=input core.eol=native file=LF':
compare_ws_file eol_native_crlf_input_attr_auto_ CRLF crlf_false_attr__LF.txt
ok 1341 - checkout attr=auto ident aeol=crlf core.autocrlf=input core.eol=native file=LF
expecting success of 0027.1342 'checkout attr=auto ident aeol=crlf core.autocrlf=input core.eol=native file=CRLF':
compare_ws_file eol_native_crlf_input_attr_auto_ CRLF crlf_false_attr__CRLF.txt
ok 1342 - checkout attr=auto ident aeol=crlf core.autocrlf=input core.eol=native file=CRLF
expecting success of 0027.1343 'checkout attr=auto ident aeol=crlf core.autocrlf=input core.eol=native file=CRLF_mix_LF':
compare_ws_file eol_native_crlf_input_attr_auto_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 1343 - checkout attr=auto ident aeol=crlf core.autocrlf=input core.eol=native file=CRLF_mix_LF
expecting success of 0027.1344 'checkout attr=auto ident aeol=crlf core.autocrlf=input core.eol=native file=LF_mix_CR':
compare_ws_file eol_native_crlf_input_attr_auto_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 1344 - checkout attr=auto ident aeol=crlf core.autocrlf=input core.eol=native file=LF_mix_CR
expecting success of 0027.1345 'checkout attr=auto ident aeol=crlf core.autocrlf=input core.eol=native file=LF_nul':
compare_ws_file eol_native_crlf_input_attr_auto_ LF_nul crlf_false_attr__LF_nul.txt
ok 1345 - checkout attr=auto ident aeol=crlf core.autocrlf=input core.eol=native file=LF_nul
expecting success of 0027.1346 'ls-files --eol attr= ident aeol= core.autocrlf=false core.eol=native':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 1346 - ls-files --eol attr= ident aeol= core.autocrlf=false core.eol=native
expecting success of 0027.1347 'checkout attr= ident aeol= core.autocrlf=false core.eol=native file=LF':
compare_ws_file eol_native_crlf_false_attr__ LF crlf_false_attr__LF.txt
ok 1347 - checkout attr= ident aeol= core.autocrlf=false core.eol=native file=LF
expecting success of 0027.1348 'checkout attr= ident aeol= core.autocrlf=false core.eol=native file=CRLF':
compare_ws_file eol_native_crlf_false_attr__ CRLF crlf_false_attr__CRLF.txt
ok 1348 - checkout attr= ident aeol= core.autocrlf=false core.eol=native file=CRLF
expecting success of 0027.1349 'checkout attr= ident aeol= core.autocrlf=false core.eol=native file=CRLF_mix_LF':
compare_ws_file eol_native_crlf_false_attr__ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 1349 - checkout attr= ident aeol= core.autocrlf=false core.eol=native file=CRLF_mix_LF
expecting success of 0027.1350 'checkout attr= ident aeol= core.autocrlf=false core.eol=native file=LF_mix_CR':
compare_ws_file eol_native_crlf_false_attr__ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 1350 - checkout attr= ident aeol= core.autocrlf=false core.eol=native file=LF_mix_CR
expecting success of 0027.1351 'checkout attr= ident aeol= core.autocrlf=false core.eol=native file=LF_nul':
compare_ws_file eol_native_crlf_false_attr__ LF_nul crlf_false_attr__LF_nul.txt
ok 1351 - checkout attr= ident aeol= core.autocrlf=false core.eol=native file=LF_nul
expecting success of 0027.1352 'ls-files --eol attr= ident aeol= core.autocrlf=true core.eol=native':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 1352 - ls-files --eol attr= ident aeol= core.autocrlf=true core.eol=native
expecting success of 0027.1353 'checkout attr= ident aeol= core.autocrlf=true core.eol=native file=LF':
compare_ws_file eol_native_crlf_true_attr__ CRLF crlf_false_attr__LF.txt
ok 1353 - checkout attr= ident aeol= core.autocrlf=true core.eol=native file=LF
expecting success of 0027.1354 'checkout attr= ident aeol= core.autocrlf=true core.eol=native file=CRLF':
compare_ws_file eol_native_crlf_true_attr__ CRLF crlf_false_attr__CRLF.txt
ok 1354 - checkout attr= ident aeol= core.autocrlf=true core.eol=native file=CRLF
expecting success of 0027.1355 'checkout attr= ident aeol= core.autocrlf=true core.eol=native file=CRLF_mix_LF':
compare_ws_file eol_native_crlf_true_attr__ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 1355 - checkout attr= ident aeol= core.autocrlf=true core.eol=native file=CRLF_mix_LF
expecting success of 0027.1356 'checkout attr= ident aeol= core.autocrlf=true core.eol=native file=LF_mix_CR':
compare_ws_file eol_native_crlf_true_attr__ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 1356 - checkout attr= ident aeol= core.autocrlf=true core.eol=native file=LF_mix_CR
expecting success of 0027.1357 'checkout attr= ident aeol= core.autocrlf=true core.eol=native file=LF_nul':
compare_ws_file eol_native_crlf_true_attr__ LF_nul crlf_false_attr__LF_nul.txt
ok 1357 - checkout attr= ident aeol= core.autocrlf=true core.eol=native file=LF_nul
expecting success of 0027.1358 'ls-files --eol attr=auto ident aeol= core.autocrlf=true core.eol=native':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 1358 - ls-files --eol attr=auto ident aeol= core.autocrlf=true core.eol=native
expecting success of 0027.1359 'checkout attr=auto ident aeol= core.autocrlf=true core.eol=native file=LF':
compare_ws_file eol_native_crlf_true_attr_auto_ CRLF crlf_false_attr__LF.txt
ok 1359 - checkout attr=auto ident aeol= core.autocrlf=true core.eol=native file=LF
expecting success of 0027.1360 'checkout attr=auto ident aeol= core.autocrlf=true core.eol=native file=CRLF':
compare_ws_file eol_native_crlf_true_attr_auto_ CRLF crlf_false_attr__CRLF.txt
ok 1360 - checkout attr=auto ident aeol= core.autocrlf=true core.eol=native file=CRLF
expecting success of 0027.1361 'checkout attr=auto ident aeol= core.autocrlf=true core.eol=native file=CRLF_mix_LF':
compare_ws_file eol_native_crlf_true_attr_auto_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 1361 - checkout attr=auto ident aeol= core.autocrlf=true core.eol=native file=CRLF_mix_LF
expecting success of 0027.1362 'checkout attr=auto ident aeol= core.autocrlf=true core.eol=native file=LF_mix_CR':
compare_ws_file eol_native_crlf_true_attr_auto_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 1362 - checkout attr=auto ident aeol= core.autocrlf=true core.eol=native file=LF_mix_CR
expecting success of 0027.1363 'checkout attr=auto ident aeol= core.autocrlf=true core.eol=native file=LF_nul':
compare_ws_file eol_native_crlf_true_attr_auto_ LF_nul crlf_false_attr__LF_nul.txt
ok 1363 - checkout attr=auto ident aeol= core.autocrlf=true core.eol=native file=LF_nul
expecting success of 0027.1364 'ls-files --eol attr=text ident aeol= core.autocrlf=true core.eol=native':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 1364 - ls-files --eol attr=text ident aeol= core.autocrlf=true core.eol=native
expecting success of 0027.1365 'checkout attr=text ident aeol= core.autocrlf=true core.eol=native file=LF':
compare_ws_file eol_native_crlf_true_attr_text_ CRLF crlf_false_attr__LF.txt
ok 1365 - checkout attr=text ident aeol= core.autocrlf=true core.eol=native file=LF
expecting success of 0027.1366 'checkout attr=text ident aeol= core.autocrlf=true core.eol=native file=CRLF':
compare_ws_file eol_native_crlf_true_attr_text_ CRLF crlf_false_attr__CRLF.txt
ok 1366 - checkout attr=text ident aeol= core.autocrlf=true core.eol=native file=CRLF
expecting success of 0027.1367 'checkout attr=text ident aeol= core.autocrlf=true core.eol=native file=CRLF_mix_LF':
compare_ws_file eol_native_crlf_true_attr_text_ CRLF crlf_false_attr__CRLF_mix_LF.txt
ok 1367 - checkout attr=text ident aeol= core.autocrlf=true core.eol=native file=CRLF_mix_LF
expecting success of 0027.1368 'checkout attr=text ident aeol= core.autocrlf=true core.eol=native file=LF_mix_CR':
compare_ws_file eol_native_crlf_true_attr_text_ CRLF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 1368 - checkout attr=text ident aeol= core.autocrlf=true core.eol=native file=LF_mix_CR
expecting success of 0027.1369 'checkout attr=text ident aeol= core.autocrlf=true core.eol=native file=LF_nul':
compare_ws_file eol_native_crlf_true_attr_text_ CRLF_nul crlf_false_attr__LF_nul.txt
ok 1369 - checkout attr=text ident aeol= core.autocrlf=true core.eol=native file=LF_nul
expecting success of 0027.1370 'ls-files --eol attr=text ident aeol= core.autocrlf=input core.eol=native':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 1370 - ls-files --eol attr=text ident aeol= core.autocrlf=input core.eol=native
expecting success of 0027.1371 'checkout attr=text ident aeol= core.autocrlf=input core.eol=native file=LF':
compare_ws_file eol_native_crlf_input_attr_text_ LF crlf_false_attr__LF.txt
ok 1371 - checkout attr=text ident aeol= core.autocrlf=input core.eol=native file=LF
expecting success of 0027.1372 'checkout attr=text ident aeol= core.autocrlf=input core.eol=native file=CRLF':
compare_ws_file eol_native_crlf_input_attr_text_ CRLF crlf_false_attr__CRLF.txt
ok 1372 - checkout attr=text ident aeol= core.autocrlf=input core.eol=native file=CRLF
expecting success of 0027.1373 'checkout attr=text ident aeol= core.autocrlf=input core.eol=native file=CRLF_mix_LF':
compare_ws_file eol_native_crlf_input_attr_text_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 1373 - checkout attr=text ident aeol= core.autocrlf=input core.eol=native file=CRLF_mix_LF
expecting success of 0027.1374 'checkout attr=text ident aeol= core.autocrlf=input core.eol=native file=LF_mix_CR':
compare_ws_file eol_native_crlf_input_attr_text_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 1374 - checkout attr=text ident aeol= core.autocrlf=input core.eol=native file=LF_mix_CR
expecting success of 0027.1375 'checkout attr=text ident aeol= core.autocrlf=input core.eol=native file=LF_nul':
compare_ws_file eol_native_crlf_input_attr_text_ LF_nul crlf_false_attr__LF_nul.txt
ok 1375 - checkout attr=text ident aeol= core.autocrlf=input core.eol=native file=LF_nul
expecting success of 0027.1376 'ls-files --eol attr=auto ident aeol= core.autocrlf=input core.eol=native':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 1376 - ls-files --eol attr=auto ident aeol= core.autocrlf=input core.eol=native
expecting success of 0027.1377 'checkout attr=auto ident aeol= core.autocrlf=input core.eol=native file=LF':
compare_ws_file eol_native_crlf_input_attr_auto_ LF crlf_false_attr__LF.txt
ok 1377 - checkout attr=auto ident aeol= core.autocrlf=input core.eol=native file=LF
expecting success of 0027.1378 'checkout attr=auto ident aeol= core.autocrlf=input core.eol=native file=CRLF':
compare_ws_file eol_native_crlf_input_attr_auto_ CRLF crlf_false_attr__CRLF.txt
ok 1378 - checkout attr=auto ident aeol= core.autocrlf=input core.eol=native file=CRLF
expecting success of 0027.1379 'checkout attr=auto ident aeol= core.autocrlf=input core.eol=native file=CRLF_mix_LF':
compare_ws_file eol_native_crlf_input_attr_auto_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 1379 - checkout attr=auto ident aeol= core.autocrlf=input core.eol=native file=CRLF_mix_LF
expecting success of 0027.1380 'checkout attr=auto ident aeol= core.autocrlf=input core.eol=native file=LF_mix_CR':
compare_ws_file eol_native_crlf_input_attr_auto_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 1380 - checkout attr=auto ident aeol= core.autocrlf=input core.eol=native file=LF_mix_CR
expecting success of 0027.1381 'checkout attr=auto ident aeol= core.autocrlf=input core.eol=native file=LF_nul':
compare_ws_file eol_native_crlf_input_attr_auto_ LF_nul crlf_false_attr__LF_nul.txt
ok 1381 - checkout attr=auto ident aeol= core.autocrlf=input core.eol=native file=LF_nul
expecting success of 0027.1382 'ls-files --eol attr=text ident aeol= core.autocrlf=false core.eol=crlf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 1382 - ls-files --eol attr=text ident aeol= core.autocrlf=false core.eol=crlf
expecting success of 0027.1383 'checkout attr=text ident aeol= core.autocrlf=false core.eol=crlf file=LF':
compare_ws_file eol_crlf_crlf_false_attr_text_ CRLF crlf_false_attr__LF.txt
ok 1383 - checkout attr=text ident aeol= core.autocrlf=false core.eol=crlf file=LF
expecting success of 0027.1384 'checkout attr=text ident aeol= core.autocrlf=false core.eol=crlf file=CRLF':
compare_ws_file eol_crlf_crlf_false_attr_text_ CRLF crlf_false_attr__CRLF.txt
ok 1384 - checkout attr=text ident aeol= core.autocrlf=false core.eol=crlf file=CRLF
expecting success of 0027.1385 'checkout attr=text ident aeol= core.autocrlf=false core.eol=crlf file=CRLF_mix_LF':
compare_ws_file eol_crlf_crlf_false_attr_text_ CRLF crlf_false_attr__CRLF_mix_LF.txt
ok 1385 - checkout attr=text ident aeol= core.autocrlf=false core.eol=crlf file=CRLF_mix_LF
expecting success of 0027.1386 'checkout attr=text ident aeol= core.autocrlf=false core.eol=crlf file=LF_mix_CR':
compare_ws_file eol_crlf_crlf_false_attr_text_ CRLF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 1386 - checkout attr=text ident aeol= core.autocrlf=false core.eol=crlf file=LF_mix_CR
expecting success of 0027.1387 'checkout attr=text ident aeol= core.autocrlf=false core.eol=crlf file=LF_nul':
compare_ws_file eol_crlf_crlf_false_attr_text_ CRLF_nul crlf_false_attr__LF_nul.txt
ok 1387 - checkout attr=text ident aeol= core.autocrlf=false core.eol=crlf file=LF_nul
expecting success of 0027.1388 'ls-files --eol attr=text ident aeol= core.autocrlf=false core.eol=lf':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 1388 - ls-files --eol attr=text ident aeol= core.autocrlf=false core.eol=lf
expecting success of 0027.1389 'checkout attr=text ident aeol= core.autocrlf=false core.eol=lf file=LF':
compare_ws_file eol_lf_crlf_false_attr_text_ LF crlf_false_attr__LF.txt
ok 1389 - checkout attr=text ident aeol= core.autocrlf=false core.eol=lf file=LF
expecting success of 0027.1390 'checkout attr=text ident aeol= core.autocrlf=false core.eol=lf file=CRLF':
compare_ws_file eol_lf_crlf_false_attr_text_ CRLF crlf_false_attr__CRLF.txt
ok 1390 - checkout attr=text ident aeol= core.autocrlf=false core.eol=lf file=CRLF
expecting success of 0027.1391 'checkout attr=text ident aeol= core.autocrlf=false core.eol=lf file=CRLF_mix_LF':
compare_ws_file eol_lf_crlf_false_attr_text_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 1391 - checkout attr=text ident aeol= core.autocrlf=false core.eol=lf file=CRLF_mix_LF
expecting success of 0027.1392 'checkout attr=text ident aeol= core.autocrlf=false core.eol=lf file=LF_mix_CR':
compare_ws_file eol_lf_crlf_false_attr_text_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 1392 - checkout attr=text ident aeol= core.autocrlf=false core.eol=lf file=LF_mix_CR
expecting success of 0027.1393 'checkout attr=text ident aeol= core.autocrlf=false core.eol=lf file=LF_nul':
compare_ws_file eol_lf_crlf_false_attr_text_ LF_nul crlf_false_attr__LF_nul.txt
ok 1393 - checkout attr=text ident aeol= core.autocrlf=false core.eol=lf file=LF_nul
expecting success of 0027.1394 'ls-files --eol attr=text ident aeol= core.autocrlf=false core.eol=':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 1394 - ls-files --eol attr=text ident aeol= core.autocrlf=false core.eol=
expecting success of 0027.1395 'checkout attr=text ident aeol= core.autocrlf=false core.eol= file=LF':
compare_ws_file eol__crlf_false_attr_text_ LF crlf_false_attr__LF.txt
ok 1395 - checkout attr=text ident aeol= core.autocrlf=false core.eol= file=LF
expecting success of 0027.1396 'checkout attr=text ident aeol= core.autocrlf=false core.eol= file=CRLF':
compare_ws_file eol__crlf_false_attr_text_ CRLF crlf_false_attr__CRLF.txt
ok 1396 - checkout attr=text ident aeol= core.autocrlf=false core.eol= file=CRLF
expecting success of 0027.1397 'checkout attr=text ident aeol= core.autocrlf=false core.eol= file=CRLF_mix_LF':
compare_ws_file eol__crlf_false_attr_text_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 1397 - checkout attr=text ident aeol= core.autocrlf=false core.eol= file=CRLF_mix_LF
expecting success of 0027.1398 'checkout attr=text ident aeol= core.autocrlf=false core.eol= file=LF_mix_CR':
compare_ws_file eol__crlf_false_attr_text_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 1398 - checkout attr=text ident aeol= core.autocrlf=false core.eol= file=LF_mix_CR
expecting success of 0027.1399 'checkout attr=text ident aeol= core.autocrlf=false core.eol= file=LF_nul':
compare_ws_file eol__crlf_false_attr_text_ LF_nul crlf_false_attr__LF_nul.txt
ok 1399 - checkout attr=text ident aeol= core.autocrlf=false core.eol= file=LF_nul
expecting success of 0027.1400 'ls-files --eol attr=text ident aeol= core.autocrlf=false core.eol=native':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 1400 - ls-files --eol attr=text ident aeol= core.autocrlf=false core.eol=native
expecting success of 0027.1401 'checkout attr=text ident aeol= core.autocrlf=false core.eol=native file=LF':
compare_ws_file eol_native_crlf_false_attr_text_ LF crlf_false_attr__LF.txt
ok 1401 - checkout attr=text ident aeol= core.autocrlf=false core.eol=native file=LF
expecting success of 0027.1402 'checkout attr=text ident aeol= core.autocrlf=false core.eol=native file=CRLF':
compare_ws_file eol_native_crlf_false_attr_text_ CRLF crlf_false_attr__CRLF.txt
ok 1402 - checkout attr=text ident aeol= core.autocrlf=false core.eol=native file=CRLF
expecting success of 0027.1403 'checkout attr=text ident aeol= core.autocrlf=false core.eol=native file=CRLF_mix_LF':
compare_ws_file eol_native_crlf_false_attr_text_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 1403 - checkout attr=text ident aeol= core.autocrlf=false core.eol=native file=CRLF_mix_LF
expecting success of 0027.1404 'checkout attr=text ident aeol= core.autocrlf=false core.eol=native file=LF_mix_CR':
compare_ws_file eol_native_crlf_false_attr_text_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 1404 - checkout attr=text ident aeol= core.autocrlf=false core.eol=native file=LF_mix_CR
expecting success of 0027.1405 'checkout attr=text ident aeol= core.autocrlf=false core.eol=native file=LF_nul':
compare_ws_file eol_native_crlf_false_attr_text_ LF_nul crlf_false_attr__LF_nul.txt
ok 1405 - checkout attr=text ident aeol= core.autocrlf=false core.eol=native file=LF_nul
expecting success of 0027.1406 'ls-files --eol attr=auto ident aeol= core.autocrlf=false core.eol=':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 1406 - ls-files --eol attr=auto ident aeol= core.autocrlf=false core.eol=
expecting success of 0027.1407 'checkout attr=auto ident aeol= core.autocrlf=false core.eol= file=LF':
compare_ws_file eol__crlf_false_attr_auto_ LF crlf_false_attr__LF.txt
ok 1407 - checkout attr=auto ident aeol= core.autocrlf=false core.eol= file=LF
expecting success of 0027.1408 'checkout attr=auto ident aeol= core.autocrlf=false core.eol= file=CRLF':
compare_ws_file eol__crlf_false_attr_auto_ CRLF crlf_false_attr__CRLF.txt
ok 1408 - checkout attr=auto ident aeol= core.autocrlf=false core.eol= file=CRLF
expecting success of 0027.1409 'checkout attr=auto ident aeol= core.autocrlf=false core.eol= file=CRLF_mix_LF':
compare_ws_file eol__crlf_false_attr_auto_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 1409 - checkout attr=auto ident aeol= core.autocrlf=false core.eol= file=CRLF_mix_LF
expecting success of 0027.1410 'checkout attr=auto ident aeol= core.autocrlf=false core.eol= file=LF_mix_CR':
compare_ws_file eol__crlf_false_attr_auto_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 1410 - checkout attr=auto ident aeol= core.autocrlf=false core.eol= file=LF_mix_CR
expecting success of 0027.1411 'checkout attr=auto ident aeol= core.autocrlf=false core.eol= file=LF_nul':
compare_ws_file eol__crlf_false_attr_auto_ LF_nul crlf_false_attr__LF_nul.txt
ok 1411 - checkout attr=auto ident aeol= core.autocrlf=false core.eol= file=LF_nul
expecting success of 0027.1412 'ls-files --eol attr=auto ident aeol= core.autocrlf=false core.eol=native':
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 1412 - ls-files --eol attr=auto ident aeol= core.autocrlf=false core.eol=native
expecting success of 0027.1413 'checkout attr=auto ident aeol= core.autocrlf=false core.eol=native file=LF':
compare_ws_file eol_native_crlf_false_attr_auto_ LF crlf_false_attr__LF.txt
ok 1413 - checkout attr=auto ident aeol= core.autocrlf=false core.eol=native file=LF
expecting success of 0027.1414 'checkout attr=auto ident aeol= core.autocrlf=false core.eol=native file=CRLF':
compare_ws_file eol_native_crlf_false_attr_auto_ CRLF crlf_false_attr__CRLF.txt
ok 1414 - checkout attr=auto ident aeol= core.autocrlf=false core.eol=native file=CRLF
expecting success of 0027.1415 'checkout attr=auto ident aeol= core.autocrlf=false core.eol=native file=CRLF_mix_LF':
compare_ws_file eol_native_crlf_false_attr_auto_ CRLF_mix_LF crlf_false_attr__CRLF_mix_LF.txt
ok 1415 - checkout attr=auto ident aeol= core.autocrlf=false core.eol=native file=CRLF_mix_LF
expecting success of 0027.1416 'checkout attr=auto ident aeol= core.autocrlf=false core.eol=native file=LF_mix_CR':
compare_ws_file eol_native_crlf_false_attr_auto_ LF_mix_CR crlf_false_attr__LF_mix_CR.txt
ok 1416 - checkout attr=auto ident aeol= core.autocrlf=false core.eol=native file=LF_mix_CR
expecting success of 0027.1417 'checkout attr=auto ident aeol= core.autocrlf=false core.eol=native file=LF_nul':
compare_ws_file eol_native_crlf_false_attr_auto_ LF_nul crlf_false_attr__LF_nul.txt
ok 1417 - checkout attr=auto ident aeol= core.autocrlf=false core.eol=native file=LF_nul
expecting success of 0027.1418 'ls-files --eol -d -z':
rm crlf_false_attr__CRLF.txt crlf_false_attr__CRLF_mix_LF.txt crlf_false_attr__LF.txt .gitattributes &&
cat >expect <<-\EOF &&
i/crlf w/ crlf_false_attr__CRLF.txt
i/lf w/ .gitattributes
i/lf w/ crlf_false_attr__LF.txt
i/mixed w/ crlf_false_attr__CRLF_mix_LF.txt
EOF
git ls-files --eol -d |
sed -e "s!attr/[^ ]*!!g" -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
ok 1418 - ls-files --eol -d -z
# passed all 1418 test(s)
1..1418
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t1511-rev-parse-caret.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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) 77756a1] Initial
Author: A U Thor <author@example.com>
2 files changed, 2 insertions(+)
create mode 100644 a-blob
create mode 100644 a-tree/another-blob
Already on 'master'
[master 5177e80] Modified
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
[master ff9650a] !Exp
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
[master 521216f] Changed
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
[master 01c842f] Changed-again
Author: A U Thor <author@example.com>
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 <command> [<revision>...] -- [<file>...]'
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 <command> [<revision>...] -- [<file>...]'
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 <command> [<revision>...] -- [<file>...]'
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 <command> [<revision>...] -- [<file>...]'
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 <command> [<revision>...] -- [<file>...]'
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 <command> [<revision>...] -- [<file>...]'
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 <command> [<revision>...] -- [<file>...]'
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 <command> [<revision>...] -- [<file>...]'
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 <command> [<revision>...] -- [<file>...]'
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 <command> [<revision>...] -- [<file>...]'
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 '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t1513-rev-parse-prefix.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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
[master (root-commit) 8ee9fab] commit
Author: A U Thor <author@example.com>
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
ok 2 - empty prefix -- file
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
ok 3 - valid prefix -- file
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 '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t1514-rev-parse-push.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1514-rev-parse-push/parent.git/
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1514-rev-parse-push/other.git/
[master (root-commit) d1ff1c9] base
Author: A U Thor <author@example.com>
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 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 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}
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 <new-branch-name>
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 '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t1515-rev-parse-outside-repo.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1515-rev-parse-outside-repo/non-repo/repo/
fatal: not a gitdir '.'
ok 4 - rev-parse --resolve-git-dir
# passed all 4 test(s)
1..4
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t1512-rev-parse-disambiguation.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1512-rev-parse-disambiguation/.git/
checking prerequisite: SHA1
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
test $(git hash-object /dev/null) = e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
)
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" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
! 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_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 <author@example.com>
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 <author@example.com>
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 <author@example.com>
1 file changed, 1 insertion(+)
rename a0blgqsjc => d12cr3h8t (76%)
[master 00000000008] ioiley5o
Author: A U Thor <author@example.com>
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 <new-branch-name>
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 <author@example.com>
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 <new-branch-name> 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 <author@example.com>
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 <command> [<revision>...] -- [<file>...]'
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 <command> [<revision>...] -- [<file>...]'
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 <command> [<revision>...] -- [<file>...]'
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 <command> [<revision>...] -- [<file>...]'
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 <command> [<revision>...] -- [<file>...]'
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 <command> [<revision>...] -- [<file>...]'
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 <command> [<revision>...] -- [<file>...]'
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 <expect &&
git rev-parse --disambiguate=000000000 >actual &&
test_cmp expect actual
bdfb78b16a1cd3c3b1ebf4cca29330c92a46fc43
ok 23 - rev-parse --disambiguate drops duplicates
expecting success of 1512.24 'ambiguous 40-hex ref':
TREE=$(git mktree </dev/null) &&
REF=$(git rev-parse HEAD) &&
VAL=$(git commit-tree $TREE </dev/null) &&
git update-ref refs/heads/$REF $VAL &&
test $(git rev-parse $REF 2>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 </dev/null) &&
REF=$(git rev-parse --short HEAD) &&
VAL=$(git commit-tree $TREE </dev/null) &&
git update-ref refs/heads/$REF $VAL &&
test $(git rev-parse $REF 2>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 <command> [<revision>...] -- [<file>...]'
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 <command> [<revision>...] -- [<file>...]'
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 >objects.types &&
uniq <objects.types >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 '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t1601-index-bogus.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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 '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t1600-index.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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':
(
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
)
checking prerequisite: C_LOCALE_OUTPUT
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
! 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" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
! 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" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
! 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 '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t1013-read-tree-submodule.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/.git/
expecting success of 1013.1 'git read-tree -u -m --recurse-submodules: added submodule is checked out':
prolog &&
reset_work_tree_to_interested no_submodule &&
(
cd submodule_update &&
git branch -t add_sub1 origin/add_sub1 &&
$command add_sub1 &&
test_superproject_content origin/add_sub1 &&
test_submodule_content sub1 origin/add_sub1
)
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update_sub1/.git/
[master (root-commit) 7eadce9] Base inside first submodule
Author: A U Thor <author@example.com>
3 files changed, 4 insertions(+)
create mode 100644 .gitignore
create mode 100644 file1
create mode 100644 file2
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update_sub2/.git/
[master (root-commit) e0459b2] nested submodule base
Author: A U Thor <author@example.com>
3 files changed, 4 insertions(+)
create mode 100644 .gitignore
create mode 100644 file1
create mode 100644 file2
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update_repo/.git/
[master (root-commit) f601989] Base
Author: A U Thor <author@example.com>
3 files changed, 4 insertions(+)
create mode 100644 .gitignore
create mode 100644 file1
create mode 100644 file2
Switched to a new branch 'add_sub1'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update_repo/sub1'...
done.
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update_repo/uninitialized_sub'...
done.
[add_sub1 24db8ed] Add sub1
Author: A U Thor <author@example.com>
2 files changed, 8 insertions(+)
create mode 100644 .gitmodules
create mode 160000 uninitialized_sub
Switched to a new branch 'remove_sub1'
Removing uninitialized_sub
Removing sub1
Removing .gitmodules
[remove_sub1 7ad9bf9] Revert "Add sub1"
Author: A U Thor <author@example.com>
Date: Fri Jun 12 06:32:21 2020 +0000
3 files changed, 9 deletions(-)
delete mode 100644 .gitmodules
delete mode 160000 sub1
delete mode 160000 uninitialized_sub
Switched to a new branch 'modify_sub1'
Switched to a new branch 'modifications'
[modifications 3a067e8] modified file2 and added file3
Author: A U Thor <author@example.com>
2 files changed, 2 insertions(+), 1 deletion(-)
create mode 100644 file3
To /<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update_sub1
* [new branch] modifications -> modifications
[modify_sub1 076f341] Modify sub1
Author: A U Thor <author@example.com>
Switched to a new branch 'add_nested_sub'
Switched to a new branch 'add_nested_sub'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update_repo/sub1/sub2'...
done.
[add_nested_sub f8ed44d] add a nested submodule
Author: A U Thor <author@example.com>
2 files changed, 5 insertions(+)
create mode 100644 .gitmodules
create mode 160000 sub2
[add_nested_sub c894fb0] update submodule, that updates a nested submodule
Author: A U Thor <author@example.com>
Switched to a new branch 'modify_sub1_recursively'
Switched to a new branch 'modify_sub1_recursively'
Switched to a new branch 'modify_sub1_recursively'
[modify_sub1_recursively 76d4b0d] make a change in nested sub
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 file3
[modify_sub1_recursively bc548ab] update nested sub
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
[modify_sub1_recursively 6eb9d11] update sub1, that updates nested sub
Author: A U Thor <author@example.com>
To /<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update_sub1
* [new branch] modify_sub1_recursively -> modify_sub1_recursively
To /<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update_sub2
* [new branch] modify_sub1_recursively -> modify_sub1_recursively
Cleared directory 'sub2'
Submodule 'sub2' (../submodule_update_sub2) unregistered for path 'sub2'
Switched to a new branch 'replace_sub1_with_directory'
Submodule path 'sub1': checked out '7eadce981067c63726722770bd3925170f8e886e'
Previous HEAD position was 7eadce9 Base inside first submodule
Switched to branch 'modifications'
rm 'sub1'
[replace_sub1_with_directory 16b5329] Replace sub1 with directory
Author: A U Thor <author@example.com>
5 files changed, 3 insertions(+), 5 deletions(-)
delete mode 160000 sub1
create mode 100644 sub1/file1
create mode 100644 sub1/file2
create mode 100644 sub1/file3
Switched to a new branch 'replace_directory_with_sub1'
Removing sub1/file3
Removing sub1/file2
Removing sub1/file1
Adding sub1
[replace_directory_with_sub1 70da6ba] Revert "Replace sub1 with directory"
Author: A U Thor <author@example.com>
Date: Fri Jun 12 06:32:25 2020 +0000
4 files changed, 4 insertions(+), 3 deletions(-)
delete mode 100644 sub1/file1
delete mode 100644 sub1/file2
delete mode 100644 sub1/file3
Switched to a new branch 'replace_sub1_with_file'
rm 'sub1'
[replace_sub1_with_file 198953b] Replace sub1 with file
Author: A U Thor <author@example.com>
2 files changed, 1 insertion(+), 5 deletions(-)
mode change 160000 => 100644 sub1
Switched to a new branch 'replace_file_with_sub1'
[replace_file_with_sub1 aa43ed0] Revert "Replace sub1 with file"
Author: A U Thor <author@example.com>
Date: Fri Jun 12 06:32:26 2020 +0000
2 files changed, 5 insertions(+), 1 deletion(-)
mode change 100644 => 160000 sub1
Switched to a new branch 'invalid_sub1'
[invalid_sub1 b8e73b5] Invalid sub1 commit
Author: A U Thor <author@example.com>
Switched to a new branch 'valid_sub1'
[valid_sub1 88b6013] Revert "Invalid sub1 commit"
Author: A U Thor <author@example.com>
Date: Fri Jun 12 06:32:26 2020 +0000
warning: unable to rmdir 'uninitialized_sub': Directory not empty
Switched to branch 'master'
Cloning into 'submodule_update'...
done.
Switched to a new branch 'no_submodule'
Branch 'no_submodule' set up to track remote branch 'no_submodule' from 'origin'.
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
ok 1 - git read-tree -u -m --recurse-submodules: added submodule is checked out
expecting success of 1013.2 'git read-tree -u -m --recurse-submodules: added submodule is checked out in empty dir':
prolog &&
reset_work_tree_to_interested no_submodule &&
(
cd submodule_update &&
mkdir sub1 &&
git branch -t add_sub1 origin/add_sub1 &&
$command add_sub1 &&
test_superproject_content origin/add_sub1 &&
test_submodule_content sub1 origin/add_sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'no_submodule'
Branch 'no_submodule' set up to track remote branch 'no_submodule' from 'origin'.
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
ok 2 - git read-tree -u -m --recurse-submodules: added submodule is checked out in empty dir
expecting success of 1013.3 'git read-tree -u -m --recurse-submodules: replace tracked file with submodule checks out submodule':
prolog &&
reset_work_tree_to_interested replace_sub1_with_file &&
(
cd submodule_update &&
git branch -t replace_file_with_sub1 origin/replace_file_with_sub1 &&
$command replace_file_with_sub1 &&
test_superproject_content origin/replace_file_with_sub1 &&
test_submodule_content sub1 origin/replace_file_with_sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'replace_sub1_with_file'
Branch 'replace_sub1_with_file' set up to track remote branch 'replace_sub1_with_file' from 'origin'.
fatal: Needed a single revision
Branch 'replace_file_with_sub1' set up to track remote branch 'replace_file_with_sub1' from 'origin'.
ok 3 - git read-tree -u -m --recurse-submodules: replace tracked file with submodule checks out submodule
expecting success of 1013.4 'git read-tree -u -m --recurse-submodules: replace directory with submodule':
prolog &&
reset_work_tree_to_interested replace_sub1_with_directory &&
(
cd submodule_update &&
git branch -t replace_directory_with_sub1 origin/replace_directory_with_sub1 &&
$command replace_directory_with_sub1 &&
test_superproject_content origin/replace_directory_with_sub1 &&
test_submodule_content sub1 origin/replace_directory_with_sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'replace_sub1_with_directory'
Branch 'replace_sub1_with_directory' set up to track remote branch 'replace_sub1_with_directory' from 'origin'.
fatal: Needed a single revision
Branch 'replace_directory_with_sub1' set up to track remote branch 'replace_directory_with_sub1' from 'origin'.
ok 4 - git read-tree -u -m --recurse-submodules: replace directory with submodule
expecting success of 1013.5 'git read-tree -u -m --recurse-submodules: nested submodules are checked out':
prolog &&
reset_work_tree_to_interested no_submodule &&
(
cd submodule_update &&
git branch -t modify_sub1_recursively origin/modify_sub1_recursively &&
$command modify_sub1_recursively &&
test_superproject_content origin/modify_sub1_recursively &&
test_submodule_content sub1 origin/modify_sub1_recursively &&
test_submodule_content -C sub1 sub2 origin/modify_sub1_recursively
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'no_submodule'
Branch 'no_submodule' set up to track remote branch 'no_submodule' from 'origin'.
Branch 'modify_sub1_recursively' set up to track remote branch 'modify_sub1_recursively' from 'origin'.
ok 5 - git read-tree -u -m --recurse-submodules: nested submodules are checked out
expecting success of 1013.6 'git read-tree -u -m --recurse-submodules: removed submodule removes submodules working tree':
prolog &&
reset_work_tree_to_interested add_sub1 &&
(
cd submodule_update &&
git branch -t remove_sub1 origin/remove_sub1 &&
$command remove_sub1 &&
test_superproject_content origin/remove_sub1 &&
! test -e sub1 &&
test_must_fail git config -f .git/modules/sub1/config core.worktree
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'add_sub1'
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update_sub1) registered for path 'sub1'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update/sub1'...
done.
Submodule path 'sub1': checked out '7eadce981067c63726722770bd3925170f8e886e'
Branch 'remove_sub1' set up to track remote branch 'remove_sub1' from 'origin'.
ok 6 - git read-tree -u -m --recurse-submodules: removed submodule removes submodules working tree
expecting success of 1013.7 'git read-tree -u -m --recurse-submodules: removed submodule absorbs submodules .git directory':
prolog &&
reset_work_tree_to_interested add_sub1 &&
(
cd submodule_update &&
git branch -t remove_sub1 origin/remove_sub1 &&
replace_gitfile_with_git_dir sub1 &&
rm -rf .git/modules &&
$command remove_sub1 &&
test_superproject_content origin/remove_sub1 &&
! test -e sub1 &&
test_git_directory_exists sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'add_sub1'
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update_sub1) registered for path 'sub1'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update/sub1'...
done.
Submodule path 'sub1': checked out '7eadce981067c63726722770bd3925170f8e886e'
Branch 'remove_sub1' set up to track remote branch 'remove_sub1' from 'origin'.
Migrating git directory of 'sub1' from
'/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update/sub1/.git' to
'/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update/.git/modules/sub1'
ok 7 - git read-tree -u -m --recurse-submodules: removed submodule absorbs submodules .git directory
expecting success of 1013.8 'git read-tree -u -m --recurse-submodules: replace submodule with a file':
prolog &&
reset_work_tree_to_interested add_sub1 &&
(
cd submodule_update &&
git branch -t replace_sub1_with_file origin/replace_sub1_with_file &&
$command replace_sub1_with_file &&
test_superproject_content origin/replace_sub1_with_file &&
test -f sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'add_sub1'
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update_sub1) registered for path 'sub1'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update/sub1'...
done.
Submodule path 'sub1': checked out '7eadce981067c63726722770bd3925170f8e886e'
Branch 'replace_sub1_with_file' set up to track remote branch 'replace_sub1_with_file' from 'origin'.
ok 8 - git read-tree -u -m --recurse-submodules: replace submodule with a file
checking known breakage of 1013.9 'git read-tree -u -m --recurse-submodules: replace submodule with a file must fail with untracked files':
prolog &&
reset_work_tree_to_interested add_sub1 &&
(
cd submodule_update &&
git branch -t replace_sub1_with_file origin/replace_sub1_with_file &&
: >sub1/untrackedfile &&
test_must_fail $command replace_sub1_with_file &&
test_superproject_content origin/add_sub1 &&
test_submodule_content sub1 origin/add_sub1 &&
test -f sub1/untracked_file
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'add_sub1'
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update_sub1) registered for path 'sub1'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update/sub1'...
done.
Submodule path 'sub1': checked out '7eadce981067c63726722770bd3925170f8e886e'
Branch 'replace_sub1_with_file' set up to track remote branch 'replace_sub1_with_file' from 'origin'.
test_must_fail: command succeeded: git read-tree -u -m --recurse-submodules replace_sub1_with_file
not ok 9 - git read-tree -u -m --recurse-submodules: replace submodule with a file must fail with untracked files # TODO known breakage
expecting success of 1013.10 'git read-tree -u -m --recurse-submodules: worktrees of nested submodules are removed':
prolog &&
reset_work_tree_to_interested add_nested_sub &&
(
cd submodule_update &&
git branch -t no_submodule origin/no_submodule &&
$command no_submodule &&
test_superproject_content origin/no_submodule &&
! test_path_is_dir sub1 &&
test_must_fail git config -f .git/modules/sub1/config core.worktree &&
test_must_fail git config -f .git/modules/sub1/modules/sub2/config core.worktree
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'add_nested_sub'
Branch 'add_nested_sub' set up to track remote branch 'add_nested_sub' from 'origin'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update_sub1) registered for path 'sub1'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update/sub1'...
done.
Submodule path 'sub1': checked out 'f8ed44d9569275cd29c1e148857532745ac6eabd'
Submodule 'sub2' (/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update_sub2) registered for path 'sub1/sub2'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update/sub1/sub2'...
done.
Submodule path 'sub1/sub2': checked out 'e0459b2c8bc7b353ff1992a2fa785dcc31fcd67f'
Branch 'no_submodule' set up to track remote branch 'no_submodule' from 'origin'.
Directory sub1 doesn't exist.
ok 10 - git read-tree -u -m --recurse-submodules: worktrees of nested submodules are removed
expecting success of 1013.11 'git read-tree -u -m --recurse-submodules: modified submodule updates submodule work tree':
prolog &&
reset_work_tree_to_interested add_sub1 &&
(
cd submodule_update &&
git branch -t modify_sub1 origin/modify_sub1 &&
$command modify_sub1 &&
test_superproject_content origin/modify_sub1 &&
test_submodule_content sub1 origin/modify_sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'add_sub1'
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update_sub1) registered for path 'sub1'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update/sub1'...
done.
Submodule path 'sub1': checked out '7eadce981067c63726722770bd3925170f8e886e'
Branch 'modify_sub1' set up to track remote branch 'modify_sub1' from 'origin'.
ok 11 - git read-tree -u -m --recurse-submodules: modified submodule updates submodule work tree
expecting success of 1013.12 'git read-tree -u -m --recurse-submodules: updating to a missing submodule commit fails':
prolog &&
reset_work_tree_to_interested add_sub1 &&
(
cd submodule_update &&
git branch -t invalid_sub1 origin/invalid_sub1 &&
test_must_fail $command invalid_sub1 2>err &&
test_i18ngrep sub1 err &&
test_superproject_content origin/add_sub1 &&
test_submodule_content sub1 origin/add_sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'add_sub1'
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update_sub1) registered for path 'sub1'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update/sub1'...
done.
Submodule path 'sub1': checked out '7eadce981067c63726722770bd3925170f8e886e'
Branch 'invalid_sub1' set up to track remote branch 'invalid_sub1' from 'origin'.
checking prerequisite: C_LOCALE_OUTPUT
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
! test_bool_env GIT_TEST_GETTEXT_POISON false
)
prerequisite C_LOCALE_OUTPUT ok
error: Submodule 'sub1' could not be updated.
error: Submodule 'sub1' cannot checkout new HEAD.
ok 12 - git read-tree -u -m --recurse-submodules: updating to a missing submodule commit fails
expecting success of 1013.13 'git read-tree -u -m --recurse-submodules: submodule branch is not changed, detach HEAD instead':
prolog &&
reset_work_tree_to_interested add_sub1 &&
(
cd submodule_update &&
git -C sub1 checkout -b keep_branch &&
git -C sub1 rev-parse HEAD >expect &&
git branch -t modify_sub1 origin/modify_sub1 &&
$command modify_sub1 &&
test_superproject_content origin/modify_sub1 &&
test_submodule_content sub1 origin/modify_sub1 &&
git -C sub1 rev-parse keep_branch >actual &&
test_cmp expect actual &&
test_must_fail git -C sub1 symbolic-ref HEAD
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'add_sub1'
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update_sub1) registered for path 'sub1'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update/sub1'...
done.
Submodule path 'sub1': checked out '7eadce981067c63726722770bd3925170f8e886e'
Switched to a new branch 'keep_branch'
Branch 'modify_sub1' set up to track remote branch 'modify_sub1' from 'origin'.
fatal: ref HEAD is not a symbolic ref
ok 13 - git read-tree -u -m --recurse-submodules: submodule branch is not changed, detach HEAD instead
expecting success of 1013.14 'git read-tree -u -m --recurse-submodules: added submodule doesn't remove untracked file with same name':
prolog &&
reset_work_tree_to_interested no_submodule &&
(
cd submodule_update &&
git branch -t add_sub1 origin/add_sub1 &&
: >sub1 &&
test_must_fail $command add_sub1 &&
test_superproject_content origin/no_submodule &&
test_must_be_empty sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'no_submodule'
Branch 'no_submodule' set up to track remote branch 'no_submodule' from 'origin'.
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
error: Untracked working tree file 'sub1' would be overwritten by merge.
ok 14 - git read-tree -u -m --recurse-submodules: added submodule doesn't remove untracked file with same name
checking known breakage of 1013.15 'git read-tree -u -m --recurse-submodules: added submodule removes an untracked ignored file':
test_when_finished "rm submodule_update/.git/info/exclude" &&
prolog &&
reset_work_tree_to_interested no_submodule &&
(
cd submodule_update &&
git branch -t add_sub1 origin/add_sub1 &&
: >sub1 &&
echo sub1 >.git/info/exclude &&
$command add_sub1 &&
test_superproject_content origin/add_sub1 &&
test_submodule_content sub1 origin/add_sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'no_submodule'
Branch 'no_submodule' set up to track remote branch 'no_submodule' from 'origin'.
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
error: Untracked working tree file 'sub1' would be overwritten by merge.
not ok 15 - git read-tree -u -m --recurse-submodules: added submodule removes an untracked ignored file # TODO known breakage
checking known breakage of 1013.16 'git read-tree -u -m --recurse-submodules: replace submodule with a directory':
prolog &&
reset_work_tree_to_interested add_sub1 &&
(
cd submodule_update &&
git branch -t replace_sub1_with_directory origin/replace_sub1_with_directory &&
$command replace_sub1_with_directory &&
test_superproject_content origin/replace_sub1_with_directory &&
test_submodule_content sub1 origin/replace_sub1_with_directory
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'add_sub1'
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update_sub1) registered for path 'sub1'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update/sub1'...
done.
Submodule path 'sub1': checked out '7eadce981067c63726722770bd3925170f8e886e'
Branch 'replace_sub1_with_directory' set up to track remote branch 'replace_sub1_with_directory' from 'origin'.
error: Untracked working tree file 'sub1/file1' would be overwritten by merge.
not ok 16 - git read-tree -u -m --recurse-submodules: replace submodule with a directory # TODO known breakage
checking known breakage of 1013.17 'git read-tree -u -m --recurse-submodules: replace submodule containing a .git directory with a directory must absorb the git dir':
prolog &&
reset_work_tree_to_interested add_sub1 &&
(
cd submodule_update &&
git branch -t replace_sub1_with_directory origin/replace_sub1_with_directory &&
replace_gitfile_with_git_dir sub1 &&
rm -rf .git/modules &&
$command replace_sub1_with_directory &&
test_superproject_content origin/replace_sub1_with_directory &&
test_git_directory_exists sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'add_sub1'
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update_sub1) registered for path 'sub1'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update/sub1'...
done.
Submodule path 'sub1': checked out '7eadce981067c63726722770bd3925170f8e886e'
Branch 'replace_sub1_with_directory' set up to track remote branch 'replace_sub1_with_directory' from 'origin'.
error: Untracked working tree file 'sub1/file1' would be overwritten by merge.
not ok 17 - git read-tree -u -m --recurse-submodules: replace submodule containing a .git directory with a directory must absorb the git dir # TODO known breakage
expecting success of 1013.18 'git read-tree -u -m --recurse-submodules: replace submodule with a file works ignores ignored files in submodule':
test_when_finished "rm submodule_update/.git/modules/sub1/info/exclude" &&
prolog &&
reset_work_tree_to_interested add_sub1 &&
(
cd submodule_update &&
git branch -t replace_sub1_with_file origin/replace_sub1_with_file &&
echo ignored >.git/modules/sub1/info/exclude &&
: >sub1/ignored &&
$command replace_sub1_with_file &&
test_superproject_content origin/replace_sub1_with_file &&
test -f sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'add_sub1'
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update_sub1) registered for path 'sub1'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update/sub1'...
done.
Submodule path 'sub1': checked out '7eadce981067c63726722770bd3925170f8e886e'
Branch 'replace_sub1_with_file' set up to track remote branch 'replace_sub1_with_file' from 'origin'.
ok 18 - git read-tree -u -m --recurse-submodules: replace submodule with a file works ignores ignored files in submodule
expecting success of 1013.19 'git -c submodule.recurse=true read-tree -u -m: modified submodule updates submodule work tree':
prolog &&
reset_work_tree_to_interested add_sub1 &&
(
cd submodule_update &&
git branch -t modify_sub1 origin/modify_sub1 &&
git -c submodule.recurse=true $cmd_args modify_sub1 &&
test_superproject_content origin/modify_sub1 &&
test_submodule_content sub1 origin/modify_sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'add_sub1'
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update_sub1) registered for path 'sub1'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update/sub1'...
done.
Submodule path 'sub1': checked out '7eadce981067c63726722770bd3925170f8e886e'
Branch 'modify_sub1' set up to track remote branch 'modify_sub1' from 'origin'.
ok 19 - git -c submodule.recurse=true read-tree -u -m: modified submodule updates submodule work tree
expecting success of 1013.20 'git read-tree -u -m --recurse-submodules: modified submodule updates submodule recursively':
prolog &&
reset_work_tree_to_interested add_nested_sub &&
(
cd submodule_update &&
git branch -t modify_sub1_recursively origin/modify_sub1_recursively &&
$command modify_sub1_recursively &&
test_superproject_content origin/modify_sub1_recursively &&
test_submodule_content sub1 origin/modify_sub1_recursively &&
test_submodule_content -C sub1 sub2 origin/modify_sub1_recursively
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'add_nested_sub'
Branch 'add_nested_sub' set up to track remote branch 'add_nested_sub' from 'origin'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update_sub1) registered for path 'sub1'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update/sub1'...
done.
Submodule path 'sub1': checked out 'f8ed44d9569275cd29c1e148857532745ac6eabd'
Submodule 'sub2' (/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update_sub2) registered for path 'sub1/sub2'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update/sub1/sub2'...
done.
Submodule path 'sub1/sub2': checked out 'e0459b2c8bc7b353ff1992a2fa785dcc31fcd67f'
Branch 'modify_sub1_recursively' set up to track remote branch 'modify_sub1_recursively' from 'origin'.
ok 20 - git read-tree -u -m --recurse-submodules: modified submodule updates submodule recursively
expecting success of 1013.21 'git read-tree -u --reset --recurse-submodules: added submodule is checked out':
prolog &&
reset_work_tree_to_interested no_submodule &&
(
cd submodule_update &&
git branch -t add_sub1 origin/add_sub1 &&
$command add_sub1 &&
test_superproject_content origin/add_sub1 &&
test_submodule_content sub1 origin/add_sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'no_submodule'
Branch 'no_submodule' set up to track remote branch 'no_submodule' from 'origin'.
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
ok 21 - git read-tree -u --reset --recurse-submodules: added submodule is checked out
expecting success of 1013.22 'git read-tree -u --reset --recurse-submodules: added submodule is checked out in empty dir':
prolog &&
reset_work_tree_to_interested no_submodule &&
(
cd submodule_update &&
mkdir sub1 &&
git branch -t add_sub1 origin/add_sub1 &&
$command add_sub1 &&
test_superproject_content origin/add_sub1 &&
test_submodule_content sub1 origin/add_sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'no_submodule'
Branch 'no_submodule' set up to track remote branch 'no_submodule' from 'origin'.
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
ok 22 - git read-tree -u --reset --recurse-submodules: added submodule is checked out in empty dir
expecting success of 1013.23 'git read-tree -u --reset --recurse-submodules: replace tracked file with submodule checks out submodule':
prolog &&
reset_work_tree_to_interested replace_sub1_with_file &&
(
cd submodule_update &&
git branch -t replace_file_with_sub1 origin/replace_file_with_sub1 &&
$command replace_file_with_sub1 &&
test_superproject_content origin/replace_file_with_sub1 &&
test_submodule_content sub1 origin/replace_file_with_sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'replace_sub1_with_file'
Branch 'replace_sub1_with_file' set up to track remote branch 'replace_sub1_with_file' from 'origin'.
fatal: Needed a single revision
Branch 'replace_file_with_sub1' set up to track remote branch 'replace_file_with_sub1' from 'origin'.
ok 23 - git read-tree -u --reset --recurse-submodules: replace tracked file with submodule checks out submodule
expecting success of 1013.24 'git read-tree -u --reset --recurse-submodules: replace directory with submodule':
prolog &&
reset_work_tree_to_interested replace_sub1_with_directory &&
(
cd submodule_update &&
git branch -t replace_directory_with_sub1 origin/replace_directory_with_sub1 &&
$command replace_directory_with_sub1 &&
test_superproject_content origin/replace_directory_with_sub1 &&
test_submodule_content sub1 origin/replace_directory_with_sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'replace_sub1_with_directory'
Branch 'replace_sub1_with_directory' set up to track remote branch 'replace_sub1_with_directory' from 'origin'.
fatal: Needed a single revision
Branch 'replace_directory_with_sub1' set up to track remote branch 'replace_directory_with_sub1' from 'origin'.
ok 24 - git read-tree -u --reset --recurse-submodules: replace directory with submodule
expecting success of 1013.25 'git read-tree -u --reset --recurse-submodules: nested submodules are checked out':
prolog &&
reset_work_tree_to_interested no_submodule &&
(
cd submodule_update &&
git branch -t modify_sub1_recursively origin/modify_sub1_recursively &&
$command modify_sub1_recursively &&
test_superproject_content origin/modify_sub1_recursively &&
test_submodule_content sub1 origin/modify_sub1_recursively &&
test_submodule_content -C sub1 sub2 origin/modify_sub1_recursively
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'no_submodule'
Branch 'no_submodule' set up to track remote branch 'no_submodule' from 'origin'.
Branch 'modify_sub1_recursively' set up to track remote branch 'modify_sub1_recursively' from 'origin'.
ok 25 - git read-tree -u --reset --recurse-submodules: nested submodules are checked out
expecting success of 1013.26 'git read-tree -u --reset --recurse-submodules: removed submodule removes submodules working tree':
prolog &&
reset_work_tree_to_interested add_sub1 &&
(
cd submodule_update &&
git branch -t remove_sub1 origin/remove_sub1 &&
$command remove_sub1 &&
test_superproject_content origin/remove_sub1 &&
! test -e sub1 &&
test_must_fail git config -f .git/modules/sub1/config core.worktree
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'add_sub1'
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update_sub1) registered for path 'sub1'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update/sub1'...
done.
Submodule path 'sub1': checked out '7eadce981067c63726722770bd3925170f8e886e'
Branch 'remove_sub1' set up to track remote branch 'remove_sub1' from 'origin'.
ok 26 - git read-tree -u --reset --recurse-submodules: removed submodule removes submodules working tree
expecting success of 1013.27 'git read-tree -u --reset --recurse-submodules: removed submodule absorbs submodules .git directory':
prolog &&
reset_work_tree_to_interested add_sub1 &&
(
cd submodule_update &&
git branch -t remove_sub1 origin/remove_sub1 &&
replace_gitfile_with_git_dir sub1 &&
rm -rf .git/modules &&
$command remove_sub1 &&
test_superproject_content origin/remove_sub1 &&
! test -e sub1 &&
test_git_directory_exists sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'add_sub1'
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update_sub1) registered for path 'sub1'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update/sub1'...
done.
Submodule path 'sub1': checked out '7eadce981067c63726722770bd3925170f8e886e'
Branch 'remove_sub1' set up to track remote branch 'remove_sub1' from 'origin'.
Migrating git directory of 'sub1' from
'/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update/sub1/.git' to
'/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update/.git/modules/sub1'
ok 27 - git read-tree -u --reset --recurse-submodules: removed submodule absorbs submodules .git directory
expecting success of 1013.28 'git read-tree -u --reset --recurse-submodules: replace submodule with a file':
prolog &&
reset_work_tree_to_interested add_sub1 &&
(
cd submodule_update &&
git branch -t replace_sub1_with_file origin/replace_sub1_with_file &&
$command replace_sub1_with_file &&
test_superproject_content origin/replace_sub1_with_file &&
test -f sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'add_sub1'
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update_sub1) registered for path 'sub1'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update/sub1'...
done.
Submodule path 'sub1': checked out '7eadce981067c63726722770bd3925170f8e886e'
Branch 'replace_sub1_with_file' set up to track remote branch 'replace_sub1_with_file' from 'origin'.
ok 28 - git read-tree -u --reset --recurse-submodules: replace submodule with a file
checking known breakage of 1013.29 'git read-tree -u --reset --recurse-submodules: replace submodule with a file must fail with untracked files':
prolog &&
reset_work_tree_to_interested add_sub1 &&
(
cd submodule_update &&
git branch -t replace_sub1_with_file origin/replace_sub1_with_file &&
: >sub1/untrackedfile &&
test_must_fail $command replace_sub1_with_file &&
test_superproject_content origin/add_sub1 &&
test_submodule_content sub1 origin/add_sub1 &&
test -f sub1/untracked_file
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'add_sub1'
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update_sub1) registered for path 'sub1'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update/sub1'...
done.
Submodule path 'sub1': checked out '7eadce981067c63726722770bd3925170f8e886e'
Branch 'replace_sub1_with_file' set up to track remote branch 'replace_sub1_with_file' from 'origin'.
test_must_fail: command succeeded: git read-tree -u --reset --recurse-submodules replace_sub1_with_file
not ok 29 - git read-tree -u --reset --recurse-submodules: replace submodule with a file must fail with untracked files # TODO known breakage
expecting success of 1013.30 'git read-tree -u --reset --recurse-submodules: worktrees of nested submodules are removed':
prolog &&
reset_work_tree_to_interested add_nested_sub &&
(
cd submodule_update &&
git branch -t no_submodule origin/no_submodule &&
$command no_submodule &&
test_superproject_content origin/no_submodule &&
! test_path_is_dir sub1 &&
test_must_fail git config -f .git/modules/sub1/config core.worktree &&
test_must_fail git config -f .git/modules/sub1/modules/sub2/config core.worktree
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'add_nested_sub'
Branch 'add_nested_sub' set up to track remote branch 'add_nested_sub' from 'origin'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update_sub1) registered for path 'sub1'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update/sub1'...
done.
Submodule path 'sub1': checked out 'f8ed44d9569275cd29c1e148857532745ac6eabd'
Submodule 'sub2' (/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update_sub2) registered for path 'sub1/sub2'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update/sub1/sub2'...
done.
Submodule path 'sub1/sub2': checked out 'e0459b2c8bc7b353ff1992a2fa785dcc31fcd67f'
Branch 'no_submodule' set up to track remote branch 'no_submodule' from 'origin'.
Directory sub1 doesn't exist.
ok 30 - git read-tree -u --reset --recurse-submodules: worktrees of nested submodules are removed
expecting success of 1013.31 'git read-tree -u --reset --recurse-submodules: modified submodule updates submodule work tree':
prolog &&
reset_work_tree_to_interested add_sub1 &&
(
cd submodule_update &&
git branch -t modify_sub1 origin/modify_sub1 &&
$command modify_sub1 &&
test_superproject_content origin/modify_sub1 &&
test_submodule_content sub1 origin/modify_sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'add_sub1'
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update_sub1) registered for path 'sub1'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update/sub1'...
done.
Submodule path 'sub1': checked out '7eadce981067c63726722770bd3925170f8e886e'
Branch 'modify_sub1' set up to track remote branch 'modify_sub1' from 'origin'.
ok 31 - git read-tree -u --reset --recurse-submodules: modified submodule updates submodule work tree
expecting success of 1013.32 'git read-tree -u --reset --recurse-submodules: updating to a missing submodule commit fails':
prolog &&
reset_work_tree_to_interested add_sub1 &&
(
cd submodule_update &&
git branch -t invalid_sub1 origin/invalid_sub1 &&
test_must_fail $command invalid_sub1 2>err &&
test_i18ngrep sub1 err &&
test_superproject_content origin/add_sub1 &&
test_submodule_content sub1 origin/add_sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'add_sub1'
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update_sub1) registered for path 'sub1'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update/sub1'...
done.
Submodule path 'sub1': checked out '7eadce981067c63726722770bd3925170f8e886e'
Branch 'invalid_sub1' set up to track remote branch 'invalid_sub1' from 'origin'.
checking prerequisite: C_LOCALE_OUTPUT
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
! test_bool_env GIT_TEST_GETTEXT_POISON false
)
prerequisite C_LOCALE_OUTPUT ok
error: Submodule 'sub1' could not be updated.
error: Submodule 'sub1' cannot checkout new HEAD.
ok 32 - git read-tree -u --reset --recurse-submodules: updating to a missing submodule commit fails
expecting success of 1013.33 'git read-tree -u --reset --recurse-submodules: submodule branch is not changed, detach HEAD instead':
prolog &&
reset_work_tree_to_interested add_sub1 &&
(
cd submodule_update &&
git -C sub1 checkout -b keep_branch &&
git -C sub1 rev-parse HEAD >expect &&
git branch -t modify_sub1 origin/modify_sub1 &&
$command modify_sub1 &&
test_superproject_content origin/modify_sub1 &&
test_submodule_content sub1 origin/modify_sub1 &&
git -C sub1 rev-parse keep_branch >actual &&
test_cmp expect actual &&
test_must_fail git -C sub1 symbolic-ref HEAD
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'add_sub1'
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update_sub1) registered for path 'sub1'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update/sub1'...
done.
Submodule path 'sub1': checked out '7eadce981067c63726722770bd3925170f8e886e'
Switched to a new branch 'keep_branch'
Branch 'modify_sub1' set up to track remote branch 'modify_sub1' from 'origin'.
fatal: ref HEAD is not a symbolic ref
ok 33 - git read-tree -u --reset --recurse-submodules: submodule branch is not changed, detach HEAD instead
expecting success of 1013.34 'git read-tree -u --reset --recurse-submodules: added submodule does remove untracked unignored file with same name when forced':
prolog &&
reset_work_tree_to_interested no_submodule &&
(
cd submodule_update &&
git branch -t add_sub1 origin/add_sub1 &&
>sub1 &&
$command add_sub1 &&
test_superproject_content origin/add_sub1 &&
test_submodule_content sub1 origin/add_sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'no_submodule'
Branch 'no_submodule' set up to track remote branch 'no_submodule' from 'origin'.
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
ok 34 - git read-tree -u --reset --recurse-submodules: added submodule does remove untracked unignored file with same name when forced
expecting success of 1013.35 'git read-tree -u --reset --recurse-submodules: replace submodule with a directory':
prolog &&
reset_work_tree_to_interested add_sub1 &&
(
cd submodule_update &&
git branch -t replace_sub1_with_directory origin/replace_sub1_with_directory &&
$command replace_sub1_with_directory &&
test_superproject_content origin/replace_sub1_with_directory
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'add_sub1'
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update_sub1) registered for path 'sub1'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update/sub1'...
done.
Submodule path 'sub1': checked out '7eadce981067c63726722770bd3925170f8e886e'
Branch 'replace_sub1_with_directory' set up to track remote branch 'replace_sub1_with_directory' from 'origin'.
ok 35 - git read-tree -u --reset --recurse-submodules: replace submodule with a directory
expecting success of 1013.36 'git read-tree -u --reset --recurse-submodules: replace submodule containing a .git directory with a directory must fail':
prolog &&
reset_work_tree_to_interested add_sub1 &&
(
cd submodule_update &&
git branch -t replace_sub1_with_directory origin/replace_sub1_with_directory &&
replace_gitfile_with_git_dir sub1 &&
rm -rf .git/modules/sub1 &&
$command replace_sub1_with_directory &&
test_superproject_content origin/replace_sub1_with_directory &&
test_git_directory_exists sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'add_sub1'
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update_sub1) registered for path 'sub1'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update/sub1'...
done.
Submodule path 'sub1': checked out '7eadce981067c63726722770bd3925170f8e886e'
Branch 'replace_sub1_with_directory' set up to track remote branch 'replace_sub1_with_directory' from 'origin'.
Migrating git directory of 'sub1' from
'/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update/sub1/.git' to
'/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update/.git/modules/sub1'
ok 36 - git read-tree -u --reset --recurse-submodules: replace submodule containing a .git directory with a directory must fail
expecting success of 1013.37 'git read-tree -u --reset --recurse-submodules: replace submodule with a file ignoring ignored files':
prolog &&
reset_work_tree_to_interested add_sub1 &&
(
cd submodule_update &&
git branch -t replace_sub1_with_file origin/replace_sub1_with_file &&
: >sub1/expect &&
$command replace_sub1_with_file &&
test_superproject_content origin/replace_sub1_with_file
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'add_sub1'
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update_sub1) registered for path 'sub1'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update/sub1'...
done.
Submodule path 'sub1': checked out '7eadce981067c63726722770bd3925170f8e886e'
Branch 'replace_sub1_with_file' set up to track remote branch 'replace_sub1_with_file' from 'origin'.
ok 37 - git read-tree -u --reset --recurse-submodules: replace submodule with a file ignoring ignored files
expecting success of 1013.38 'git read-tree -u --reset --recurse-submodules: modified submodule does update submodule work tree from invalid commit':
prolog &&
reset_work_tree_to_interested invalid_sub1 &&
(
cd submodule_update &&
git branch -t valid_sub1 origin/valid_sub1 &&
$command valid_sub1 &&
test_superproject_content origin/valid_sub1 &&
test_submodule_content sub1 origin/valid_sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'invalid_sub1'
Branch 'invalid_sub1' set up to track remote branch 'invalid_sub1' from 'origin'.
fatal: Needed a single revision
Branch 'valid_sub1' set up to track remote branch 'valid_sub1' from 'origin'.
ok 38 - git read-tree -u --reset --recurse-submodules: modified submodule does update submodule work tree from invalid commit
expecting success of 1013.39 'git read-tree -u --reset --recurse-submodules: updating submodules fixes .git links':
prolog &&
reset_work_tree_to_interested add_sub1 &&
(
cd submodule_update &&
git branch -t modify_sub1 origin/modify_sub1 &&
echo "gitdir: bogus/path" >sub1/.git &&
$command modify_sub1 &&
test_superproject_content origin/modify_sub1 &&
test_submodule_content sub1 origin/modify_sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'add_sub1'
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update_sub1) registered for path 'sub1'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update/sub1'...
done.
Submodule path 'sub1': checked out '7eadce981067c63726722770bd3925170f8e886e'
Branch 'modify_sub1' set up to track remote branch 'modify_sub1' from 'origin'.
ok 39 - git read-tree -u --reset --recurse-submodules: updating submodules fixes .git links
expecting success of 1013.40 'git read-tree -u --reset --recurse-submodules: changed submodule worktree is reset':
prolog &&
reset_work_tree_to_interested add_sub1 &&
(
cd submodule_update &&
rm sub1/file1 &&
: >sub1/new_file &&
git -C sub1 add new_file &&
$command HEAD &&
test_path_is_file sub1/file1 &&
test_path_is_missing sub1/new_file
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'add_sub1'
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update_sub1) registered for path 'sub1'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update/sub1'...
done.
Submodule path 'sub1': checked out '7eadce981067c63726722770bd3925170f8e886e'
ok 40 - git read-tree -u --reset --recurse-submodules: changed submodule worktree is reset
expecting success of 1013.41 'git read-tree -u -m: added submodule creates empty directory':
prolog &&
reset_work_tree_to no_submodule &&
(
cd submodule_update &&
git branch -t add_sub1 origin/add_sub1 &&
$command add_sub1 &&
test_superproject_content origin/add_sub1 &&
test_dir_is_empty sub1 &&
git submodule update --init --recursive &&
test_submodule_content sub1 origin/add_sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'no_submodule'
Branch 'no_submodule' set up to track remote branch 'no_submodule' from 'origin'.
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update_sub1) registered for path 'sub1'
Submodule 'uninitialized_sub' (/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update_sub1) registered for path 'uninitialized_sub'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update/sub1'...
done.
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update/uninitialized_sub'...
done.
Submodule path 'sub1': checked out '7eadce981067c63726722770bd3925170f8e886e'
Submodule path 'uninitialized_sub': checked out '7eadce981067c63726722770bd3925170f8e886e'
ok 41 - git read-tree -u -m: added submodule creates empty directory
expecting success of 1013.42 'git read-tree -u -m: added submodule leaves existing empty directory alone':
prolog &&
reset_work_tree_to no_submodule &&
(
cd submodule_update &&
mkdir sub1 &&
git branch -t add_sub1 origin/add_sub1 &&
$command add_sub1 &&
test_superproject_content origin/add_sub1 &&
test_dir_is_empty sub1 &&
git submodule update --init --recursive &&
test_submodule_content sub1 origin/add_sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'no_submodule'
Branch 'no_submodule' set up to track remote branch 'no_submodule' from 'origin'.
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update_sub1) registered for path 'sub1'
Submodule 'uninitialized_sub' (/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update_sub1) registered for path 'uninitialized_sub'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update/sub1'...
done.
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update/uninitialized_sub'...
done.
Submodule path 'sub1': checked out '7eadce981067c63726722770bd3925170f8e886e'
Submodule path 'uninitialized_sub': checked out '7eadce981067c63726722770bd3925170f8e886e'
ok 42 - git read-tree -u -m: added submodule leaves existing empty directory alone
expecting success of 1013.43 'git read-tree -u -m: replace tracked file with submodule creates empty directory':
prolog &&
reset_work_tree_to replace_sub1_with_file &&
(
cd submodule_update &&
git branch -t replace_file_with_sub1 origin/replace_file_with_sub1 &&
$command replace_file_with_sub1 &&
test_superproject_content origin/replace_file_with_sub1 &&
test_dir_is_empty sub1 &&
git submodule update --init --recursive &&
test_submodule_content sub1 origin/replace_file_with_sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'replace_sub1_with_file'
Branch 'replace_sub1_with_file' set up to track remote branch 'replace_sub1_with_file' from 'origin'.
fatal: Needed a single revision
Branch 'replace_file_with_sub1' set up to track remote branch 'replace_file_with_sub1' from 'origin'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update_sub1) registered for path 'sub1'
Submodule 'uninitialized_sub' (/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update_sub1) registered for path 'uninitialized_sub'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update/sub1'...
done.
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update/uninitialized_sub'...
done.
Submodule path 'sub1': checked out '7eadce981067c63726722770bd3925170f8e886e'
Submodule path 'uninitialized_sub': checked out '7eadce981067c63726722770bd3925170f8e886e'
ok 43 - git read-tree -u -m: replace tracked file with submodule creates empty directory
expecting success of 1013.44 'git read-tree -u -m: replace directory with submodule':
prolog &&
reset_work_tree_to replace_sub1_with_directory &&
(
cd submodule_update &&
git branch -t replace_directory_with_sub1 origin/replace_directory_with_sub1 &&
$command replace_directory_with_sub1 &&
test_superproject_content origin/replace_directory_with_sub1 &&
test_dir_is_empty sub1 &&
git submodule update --init --recursive &&
test_submodule_content sub1 origin/replace_directory_with_sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'replace_sub1_with_directory'
Branch 'replace_sub1_with_directory' set up to track remote branch 'replace_sub1_with_directory' from 'origin'.
fatal: Needed a single revision
Branch 'replace_directory_with_sub1' set up to track remote branch 'replace_directory_with_sub1' from 'origin'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update_sub1) registered for path 'sub1'
Submodule 'uninitialized_sub' (/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update_sub1) registered for path 'uninitialized_sub'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update/sub1'...
done.
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update/uninitialized_sub'...
done.
Submodule path 'sub1': checked out '7eadce981067c63726722770bd3925170f8e886e'
Submodule path 'uninitialized_sub': checked out '7eadce981067c63726722770bd3925170f8e886e'
ok 44 - git read-tree -u -m: replace directory with submodule
expecting success of 1013.45 'git read-tree -u -m: removed submodule leaves submodule directory and its contents in place':
prolog &&
reset_work_tree_to add_sub1 &&
(
cd submodule_update &&
git branch -t remove_sub1 origin/remove_sub1 &&
$command remove_sub1 &&
test_superproject_content origin/remove_sub1 &&
test_submodule_content sub1 origin/add_sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'add_sub1'
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update_sub1) registered for path 'sub1'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update/sub1'...
done.
Submodule path 'sub1': checked out '7eadce981067c63726722770bd3925170f8e886e'
Branch 'remove_sub1' set up to track remote branch 'remove_sub1' from 'origin'.
warning: unable to rmdir 'sub1': Directory not empty
ok 45 - git read-tree -u -m: removed submodule leaves submodule directory and its contents in place
expecting success of 1013.46 'git read-tree -u -m: removed submodule leaves submodule containing a .git directory alone':
prolog &&
reset_work_tree_to add_sub1 &&
(
cd submodule_update &&
git branch -t remove_sub1 origin/remove_sub1 &&
replace_gitfile_with_git_dir sub1 &&
$command remove_sub1 &&
test_superproject_content origin/remove_sub1 &&
test_git_directory_is_unchanged sub1 &&
test_submodule_content sub1 origin/add_sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'add_sub1'
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update_sub1) registered for path 'sub1'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update/sub1'...
done.
Submodule path 'sub1': checked out '7eadce981067c63726722770bd3925170f8e886e'
Branch 'remove_sub1' set up to track remote branch 'remove_sub1' from 'origin'.
warning: unable to rmdir 'sub1': Directory not empty
ok 46 - git read-tree -u -m: removed submodule leaves submodule containing a .git directory alone
expecting success of 1013.47 'git read-tree -u -m: replace submodule with a directory must fail':
prolog &&
reset_work_tree_to add_sub1 &&
(
cd submodule_update &&
git branch -t replace_sub1_with_directory origin/replace_sub1_with_directory &&
test_must_fail $command replace_sub1_with_directory &&
test_superproject_content origin/add_sub1 &&
test_submodule_content sub1 origin/add_sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'add_sub1'
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update_sub1) registered for path 'sub1'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update/sub1'...
done.
Submodule path 'sub1': checked out '7eadce981067c63726722770bd3925170f8e886e'
Branch 'replace_sub1_with_directory' set up to track remote branch 'replace_sub1_with_directory' from 'origin'.
error: Untracked working tree file 'sub1/file1' would be overwritten by merge.
ok 47 - git read-tree -u -m: replace submodule with a directory must fail
expecting success of 1013.48 'git read-tree -u -m: replace submodule containing a .git directory with a directory must fail':
prolog &&
reset_work_tree_to add_sub1 &&
(
cd submodule_update &&
git branch -t replace_sub1_with_directory origin/replace_sub1_with_directory &&
replace_gitfile_with_git_dir sub1 &&
test_must_fail $command replace_sub1_with_directory &&
test_superproject_content origin/add_sub1 &&
test_git_directory_is_unchanged sub1 &&
test_submodule_content sub1 origin/add_sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'add_sub1'
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update_sub1) registered for path 'sub1'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update/sub1'...
done.
Submodule path 'sub1': checked out '7eadce981067c63726722770bd3925170f8e886e'
Branch 'replace_sub1_with_directory' set up to track remote branch 'replace_sub1_with_directory' from 'origin'.
error: Untracked working tree file 'sub1/file1' would be overwritten by merge.
ok 48 - git read-tree -u -m: replace submodule containing a .git directory with a directory must fail
checking known breakage of 1013.49 'git read-tree -u -m: replace submodule with a file must fail':
prolog &&
reset_work_tree_to add_sub1 &&
(
cd submodule_update &&
git branch -t replace_sub1_with_file origin/replace_sub1_with_file &&
test_must_fail $command replace_sub1_with_file &&
test_superproject_content origin/add_sub1 &&
test_submodule_content sub1 origin/add_sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'add_sub1'
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update_sub1) registered for path 'sub1'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update/sub1'...
done.
Submodule path 'sub1': checked out '7eadce981067c63726722770bd3925170f8e886e'
Branch 'replace_sub1_with_file' set up to track remote branch 'replace_sub1_with_file' from 'origin'.
test_must_fail: command succeeded: git read-tree -u -m replace_sub1_with_file
not ok 49 - git read-tree -u -m: replace submodule with a file must fail # TODO known breakage
checking known breakage of 1013.50 'git read-tree -u -m: replace submodule containing a .git directory with a file must fail':
prolog &&
reset_work_tree_to add_sub1 &&
(
cd submodule_update &&
git branch -t replace_sub1_with_file origin/replace_sub1_with_file &&
replace_gitfile_with_git_dir sub1 &&
test_must_fail $command replace_sub1_with_file &&
test_superproject_content origin/add_sub1 &&
test_git_directory_is_unchanged sub1 &&
test_submodule_content sub1 origin/add_sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'add_sub1'
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update_sub1) registered for path 'sub1'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update/sub1'...
done.
Submodule path 'sub1': checked out '7eadce981067c63726722770bd3925170f8e886e'
Branch 'replace_sub1_with_file' set up to track remote branch 'replace_sub1_with_file' from 'origin'.
test_must_fail: command succeeded: git read-tree -u -m replace_sub1_with_file
not ok 50 - git read-tree -u -m: replace submodule containing a .git directory with a file must fail # TODO known breakage
expecting success of 1013.51 'git read-tree -u -m: modified submodule does not update submodule work tree':
prolog &&
reset_work_tree_to add_sub1 &&
(
cd submodule_update &&
git branch -t modify_sub1 origin/modify_sub1 &&
$command modify_sub1 &&
test_superproject_content origin/modify_sub1 &&
test_submodule_content sub1 origin/add_sub1 &&
git submodule update &&
test_submodule_content sub1 origin/modify_sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'add_sub1'
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update_sub1) registered for path 'sub1'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update/sub1'...
done.
Submodule path 'sub1': checked out '7eadce981067c63726722770bd3925170f8e886e'
Branch 'modify_sub1' set up to track remote branch 'modify_sub1' from 'origin'.
Submodule path 'sub1': checked out '3a067e8c2f5dce66056f9ca7e7e96f632477ee07'
ok 51 - git read-tree -u -m: modified submodule does not update submodule work tree
expecting success of 1013.52 'git read-tree -u -m: modified submodule does not update submodule work tree to invalid commit':
prolog &&
reset_work_tree_to add_sub1 &&
(
cd submodule_update &&
git branch -t invalid_sub1 origin/invalid_sub1 &&
$command invalid_sub1 &&
test_superproject_content origin/invalid_sub1 &&
test_submodule_content sub1 origin/add_sub1 &&
test_must_fail git submodule update &&
test_submodule_content sub1 origin/add_sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'add_sub1'
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update_sub1) registered for path 'sub1'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update/sub1'...
done.
Submodule path 'sub1': checked out '7eadce981067c63726722770bd3925170f8e886e'
Branch 'invalid_sub1' set up to track remote branch 'invalid_sub1' from 'origin'.
error: Server does not allow request for unadvertised object 0123456789012345678901234567890123456789
Fetched in submodule path 'sub1', but it did not contain 0123456789012345678901234567890123456789. Direct fetching of that commit failed.
ok 52 - git read-tree -u -m: modified submodule does not update submodule work tree to invalid commit
expecting success of 1013.53 'git read-tree -u -m: modified submodule does not update submodule work tree from invalid commit':
prolog &&
reset_work_tree_to invalid_sub1 &&
(
cd submodule_update &&
git branch -t valid_sub1 origin/valid_sub1 &&
$command valid_sub1 &&
test_superproject_content origin/valid_sub1 &&
test_dir_is_empty sub1 &&
git submodule update --init --recursive &&
test_submodule_content sub1 origin/valid_sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'invalid_sub1'
Branch 'invalid_sub1' set up to track remote branch 'invalid_sub1' from 'origin'.
fatal: Needed a single revision
Branch 'valid_sub1' set up to track remote branch 'valid_sub1' from 'origin'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update_sub1) registered for path 'sub1'
Submodule 'uninitialized_sub' (/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update_sub1) registered for path 'uninitialized_sub'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update/sub1'...
done.
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update/uninitialized_sub'...
done.
Submodule path 'sub1': checked out '7eadce981067c63726722770bd3925170f8e886e'
Submodule path 'uninitialized_sub': checked out '7eadce981067c63726722770bd3925170f8e886e'
ok 53 - git read-tree -u -m: modified submodule does not update submodule work tree from invalid commit
expecting success of 1013.54 'git read-tree -u -m: added submodule doesn't remove untracked unignored file with same name':
prolog &&
reset_work_tree_to no_submodule &&
(
cd submodule_update &&
git branch -t add_sub1 origin/add_sub1 &&
>sub1 &&
test_must_fail $command add_sub1 &&
test_superproject_content origin/no_submodule &&
test_must_be_empty sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'no_submodule'
Branch 'no_submodule' set up to track remote branch 'no_submodule' from 'origin'.
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
error: Untracked working tree file 'sub1' would be overwritten by merge.
ok 54 - git read-tree -u -m: added submodule doesn't remove untracked unignored file with same name
expecting success of 1013.55 'git read-tree -u --reset: added submodule creates empty directory':
prolog &&
reset_work_tree_to no_submodule &&
(
cd submodule_update &&
git branch -t add_sub1 origin/add_sub1 &&
$command add_sub1 &&
test_superproject_content origin/add_sub1 &&
test_dir_is_empty sub1 &&
git submodule update --init --recursive &&
test_submodule_content sub1 origin/add_sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'no_submodule'
Branch 'no_submodule' set up to track remote branch 'no_submodule' from 'origin'.
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update_sub1) registered for path 'sub1'
Submodule 'uninitialized_sub' (/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update_sub1) registered for path 'uninitialized_sub'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update/sub1'...
done.
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update/uninitialized_sub'...
done.
Submodule path 'sub1': checked out '7eadce981067c63726722770bd3925170f8e886e'
Submodule path 'uninitialized_sub': checked out '7eadce981067c63726722770bd3925170f8e886e'
ok 55 - git read-tree -u --reset: added submodule creates empty directory
expecting success of 1013.56 'git read-tree -u --reset: added submodule leaves existing empty directory alone':
prolog &&
reset_work_tree_to no_submodule &&
(
cd submodule_update &&
mkdir sub1 &&
git branch -t add_sub1 origin/add_sub1 &&
$command add_sub1 &&
test_superproject_content origin/add_sub1 &&
test_dir_is_empty sub1 &&
git submodule update --init --recursive &&
test_submodule_content sub1 origin/add_sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'no_submodule'
Branch 'no_submodule' set up to track remote branch 'no_submodule' from 'origin'.
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update_sub1) registered for path 'sub1'
Submodule 'uninitialized_sub' (/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update_sub1) registered for path 'uninitialized_sub'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update/sub1'...
done.
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update/uninitialized_sub'...
done.
Submodule path 'sub1': checked out '7eadce981067c63726722770bd3925170f8e886e'
Submodule path 'uninitialized_sub': checked out '7eadce981067c63726722770bd3925170f8e886e'
ok 56 - git read-tree -u --reset: added submodule leaves existing empty directory alone
expecting success of 1013.57 'git read-tree -u --reset: replace tracked file with submodule creates empty directory':
prolog &&
reset_work_tree_to replace_sub1_with_file &&
(
cd submodule_update &&
git branch -t replace_file_with_sub1 origin/replace_file_with_sub1 &&
$command replace_file_with_sub1 &&
test_superproject_content origin/replace_file_with_sub1 &&
test_dir_is_empty sub1 &&
git submodule update --init --recursive &&
test_submodule_content sub1 origin/replace_file_with_sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'replace_sub1_with_file'
Branch 'replace_sub1_with_file' set up to track remote branch 'replace_sub1_with_file' from 'origin'.
fatal: Needed a single revision
Branch 'replace_file_with_sub1' set up to track remote branch 'replace_file_with_sub1' from 'origin'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update_sub1) registered for path 'sub1'
Submodule 'uninitialized_sub' (/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update_sub1) registered for path 'uninitialized_sub'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update/sub1'...
done.
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update/uninitialized_sub'...
done.
Submodule path 'sub1': checked out '7eadce981067c63726722770bd3925170f8e886e'
Submodule path 'uninitialized_sub': checked out '7eadce981067c63726722770bd3925170f8e886e'
ok 57 - git read-tree -u --reset: replace tracked file with submodule creates empty directory
expecting success of 1013.58 'git read-tree -u --reset: replace directory with submodule':
prolog &&
reset_work_tree_to replace_sub1_with_directory &&
(
cd submodule_update &&
git branch -t replace_directory_with_sub1 origin/replace_directory_with_sub1 &&
$command replace_directory_with_sub1 &&
test_superproject_content origin/replace_directory_with_sub1 &&
test_dir_is_empty sub1 &&
git submodule update --init --recursive &&
test_submodule_content sub1 origin/replace_directory_with_sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'replace_sub1_with_directory'
Branch 'replace_sub1_with_directory' set up to track remote branch 'replace_sub1_with_directory' from 'origin'.
fatal: Needed a single revision
Branch 'replace_directory_with_sub1' set up to track remote branch 'replace_directory_with_sub1' from 'origin'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update_sub1) registered for path 'sub1'
Submodule 'uninitialized_sub' (/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update_sub1) registered for path 'uninitialized_sub'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update/sub1'...
done.
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update/uninitialized_sub'...
done.
Submodule path 'sub1': checked out '7eadce981067c63726722770bd3925170f8e886e'
Submodule path 'uninitialized_sub': checked out '7eadce981067c63726722770bd3925170f8e886e'
ok 58 - git read-tree -u --reset: replace directory with submodule
expecting success of 1013.59 'git read-tree -u --reset: removed submodule leaves submodule directory and its contents in place':
prolog &&
reset_work_tree_to add_sub1 &&
(
cd submodule_update &&
git branch -t remove_sub1 origin/remove_sub1 &&
$command remove_sub1 &&
test_superproject_content origin/remove_sub1 &&
test_submodule_content sub1 origin/add_sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'add_sub1'
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update_sub1) registered for path 'sub1'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update/sub1'...
done.
Submodule path 'sub1': checked out '7eadce981067c63726722770bd3925170f8e886e'
Branch 'remove_sub1' set up to track remote branch 'remove_sub1' from 'origin'.
warning: unable to rmdir 'sub1': Directory not empty
ok 59 - git read-tree -u --reset: removed submodule leaves submodule directory and its contents in place
expecting success of 1013.60 'git read-tree -u --reset: removed submodule leaves submodule containing a .git directory alone':
prolog &&
reset_work_tree_to add_sub1 &&
(
cd submodule_update &&
git branch -t remove_sub1 origin/remove_sub1 &&
replace_gitfile_with_git_dir sub1 &&
$command remove_sub1 &&
test_superproject_content origin/remove_sub1 &&
test_git_directory_is_unchanged sub1 &&
test_submodule_content sub1 origin/add_sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'add_sub1'
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update_sub1) registered for path 'sub1'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update/sub1'...
done.
Submodule path 'sub1': checked out '7eadce981067c63726722770bd3925170f8e886e'
Branch 'remove_sub1' set up to track remote branch 'remove_sub1' from 'origin'.
warning: unable to rmdir 'sub1': Directory not empty
ok 60 - git read-tree -u --reset: removed submodule leaves submodule containing a .git directory alone
checking known breakage of 1013.61 'git read-tree -u --reset: replace submodule with a directory must fail':
prolog &&
reset_work_tree_to add_sub1 &&
(
cd submodule_update &&
git branch -t replace_sub1_with_directory origin/replace_sub1_with_directory &&
test_must_fail $command replace_sub1_with_directory &&
test_superproject_content origin/add_sub1 &&
test_submodule_content sub1 origin/add_sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'add_sub1'
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update_sub1) registered for path 'sub1'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update/sub1'...
done.
Submodule path 'sub1': checked out '7eadce981067c63726722770bd3925170f8e886e'
Branch 'replace_sub1_with_directory' set up to track remote branch 'replace_sub1_with_directory' from 'origin'.
warning: unable to rmdir 'sub1': Directory not empty
test_must_fail: command succeeded: git read-tree -u --reset replace_sub1_with_directory
not ok 61 - git read-tree -u --reset: replace submodule with a directory must fail # TODO known breakage
checking known breakage of 1013.62 'git read-tree -u --reset: replace submodule containing a .git directory with a directory must fail':
prolog &&
reset_work_tree_to add_sub1 &&
(
cd submodule_update &&
git branch -t replace_sub1_with_directory origin/replace_sub1_with_directory &&
replace_gitfile_with_git_dir sub1 &&
test_must_fail $command replace_sub1_with_directory &&
test_superproject_content origin/add_sub1 &&
test_git_directory_is_unchanged sub1 &&
test_submodule_content sub1 origin/add_sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'add_sub1'
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update_sub1) registered for path 'sub1'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update/sub1'...
done.
Submodule path 'sub1': checked out '7eadce981067c63726722770bd3925170f8e886e'
Branch 'replace_sub1_with_directory' set up to track remote branch 'replace_sub1_with_directory' from 'origin'.
warning: unable to rmdir 'sub1': Directory not empty
test_must_fail: command succeeded: git read-tree -u --reset replace_sub1_with_directory
not ok 62 - git read-tree -u --reset: replace submodule containing a .git directory with a directory must fail # TODO known breakage
checking known breakage of 1013.63 'git read-tree -u --reset: replace submodule with a file must fail':
prolog &&
reset_work_tree_to add_sub1 &&
(
cd submodule_update &&
git branch -t replace_sub1_with_file origin/replace_sub1_with_file &&
test_must_fail $command replace_sub1_with_file &&
test_superproject_content origin/add_sub1 &&
test_submodule_content sub1 origin/add_sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'add_sub1'
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update_sub1) registered for path 'sub1'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update/sub1'...
done.
Submodule path 'sub1': checked out '7eadce981067c63726722770bd3925170f8e886e'
Branch 'replace_sub1_with_file' set up to track remote branch 'replace_sub1_with_file' from 'origin'.
test_must_fail: command succeeded: git read-tree -u --reset replace_sub1_with_file
not ok 63 - git read-tree -u --reset: replace submodule with a file must fail # TODO known breakage
checking known breakage of 1013.64 'git read-tree -u --reset: replace submodule containing a .git directory with a file must fail':
prolog &&
reset_work_tree_to add_sub1 &&
(
cd submodule_update &&
git branch -t replace_sub1_with_file origin/replace_sub1_with_file &&
replace_gitfile_with_git_dir sub1 &&
test_must_fail $command replace_sub1_with_file &&
test_superproject_content origin/add_sub1 &&
test_git_directory_is_unchanged sub1 &&
test_submodule_content sub1 origin/add_sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'add_sub1'
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update_sub1) registered for path 'sub1'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update/sub1'...
done.
Submodule path 'sub1': checked out '7eadce981067c63726722770bd3925170f8e886e'
Branch 'replace_sub1_with_file' set up to track remote branch 'replace_sub1_with_file' from 'origin'.
test_must_fail: command succeeded: git read-tree -u --reset replace_sub1_with_file
not ok 64 - git read-tree -u --reset: replace submodule containing a .git directory with a file must fail # TODO known breakage
expecting success of 1013.65 'git read-tree -u --reset: modified submodule does not update submodule work tree':
prolog &&
reset_work_tree_to add_sub1 &&
(
cd submodule_update &&
git branch -t modify_sub1 origin/modify_sub1 &&
$command modify_sub1 &&
test_superproject_content origin/modify_sub1 &&
test_submodule_content sub1 origin/add_sub1 &&
git submodule update &&
test_submodule_content sub1 origin/modify_sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'add_sub1'
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update_sub1) registered for path 'sub1'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update/sub1'...
done.
Submodule path 'sub1': checked out '7eadce981067c63726722770bd3925170f8e886e'
Branch 'modify_sub1' set up to track remote branch 'modify_sub1' from 'origin'.
Submodule path 'sub1': checked out '3a067e8c2f5dce66056f9ca7e7e96f632477ee07'
ok 65 - git read-tree -u --reset: modified submodule does not update submodule work tree
expecting success of 1013.66 'git read-tree -u --reset: modified submodule does not update submodule work tree to invalid commit':
prolog &&
reset_work_tree_to add_sub1 &&
(
cd submodule_update &&
git branch -t invalid_sub1 origin/invalid_sub1 &&
$command invalid_sub1 &&
test_superproject_content origin/invalid_sub1 &&
test_submodule_content sub1 origin/add_sub1 &&
test_must_fail git submodule update &&
test_submodule_content sub1 origin/add_sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'add_sub1'
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update_sub1) registered for path 'sub1'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update/sub1'...
done.
Submodule path 'sub1': checked out '7eadce981067c63726722770bd3925170f8e886e'
Branch 'invalid_sub1' set up to track remote branch 'invalid_sub1' from 'origin'.
error: Server does not allow request for unadvertised object 0123456789012345678901234567890123456789
Fetched in submodule path 'sub1', but it did not contain 0123456789012345678901234567890123456789. Direct fetching of that commit failed.
ok 66 - git read-tree -u --reset: modified submodule does not update submodule work tree to invalid commit
expecting success of 1013.67 'git read-tree -u --reset: modified submodule does not update submodule work tree from invalid commit':
prolog &&
reset_work_tree_to invalid_sub1 &&
(
cd submodule_update &&
git branch -t valid_sub1 origin/valid_sub1 &&
$command valid_sub1 &&
test_superproject_content origin/valid_sub1 &&
test_dir_is_empty sub1 &&
git submodule update --init --recursive &&
test_submodule_content sub1 origin/valid_sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'invalid_sub1'
Branch 'invalid_sub1' set up to track remote branch 'invalid_sub1' from 'origin'.
fatal: Needed a single revision
Branch 'valid_sub1' set up to track remote branch 'valid_sub1' from 'origin'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update_sub1) registered for path 'sub1'
Submodule 'uninitialized_sub' (/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update_sub1) registered for path 'uninitialized_sub'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update/sub1'...
done.
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t1013-read-tree-submodule/submodule_update/uninitialized_sub'...
done.
Submodule path 'sub1': checked out '7eadce981067c63726722770bd3925170f8e886e'
Submodule path 'uninitialized_sub': checked out '7eadce981067c63726722770bd3925170f8e886e'
ok 67 - git read-tree -u --reset: modified submodule does not update submodule work tree from invalid commit
expecting success of 1013.68 'git read-tree -u --reset: added submodule does remove untracked unignored file with same name when forced':
prolog &&
reset_work_tree_to no_submodule &&
(
cd submodule_update &&
git branch -t add_sub1 origin/add_sub1 &&
>sub1 &&
$command add_sub1 &&
test_superproject_content origin/add_sub1 &&
test_dir_is_empty sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'no_submodule'
Branch 'no_submodule' set up to track remote branch 'no_submodule' from 'origin'.
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
ok 68 - git read-tree -u --reset: added submodule does remove untracked unignored file with same name when forced
# still have 11 known breakage(s)
# passed all remaining 57 test(s)
1..68
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t2000-conflict-when-checking-files-out.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
# test whether the filesystem supports symbolic links
ln -s x y && test -h y
)
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/
first
second
ok 5 - checkout-index -f twice with --prefix
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 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 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 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 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 2000.11 'add a symlink': test_ln_s_add path2 path3
ok 11 - add a symlink
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 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 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 14 test(s)
1..14
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t1700-split-index.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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 /<<PKGBUILDDIR>>/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
)
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1700-split-index/same-mode/.git/
[master (root-commit) 0ddfaf1] A
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 A.t
On branch master
Untracked files:
(use "git add <file>..." 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" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
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 /<<PKGBUILDDIR>>/t/trash directory.t1700-split-index/ro/.git/
[master (root-commit) 24b24cf] initial
Author: A U Thor <author@example.com>
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 <broken-tree) &&
test_tick &&
commit=$(git commit-tree $tree -p HEAD <msg) &&
git update-ref HEAD "$commit" &&
GIT_ALLOW_NULL_SHA1=1 git reset --hard &&
test_might_fail test-tool dump-cache-tree >cache-tree.out &&
test_line_count = 0 cache-tree.out
[master (root-commit) 621b656] commit
Author: A U Thor <author@example.com>
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 2769322 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 /<<PKGBUILDDIR>>/t/trash directory.t1700-split-index/merge/.git/
[master (root-commit) 5e30013] initial
Author: A U Thor <author@example.com>
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 <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 extra.t
Switched to branch 'master'
[master 34c8267] more
Author: A U Thor <author@example.com>
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 '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t2002-checkout-cache-u.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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 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 '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t2003-checkout-cache-mkdir.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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 1 - setup
checking prerequisite: SYMLINKS
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
# test whether the filesystem supports symbolic links
ln -s x y && test -h y
)
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 2 - have symlink in place where dir is expected.
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 3 - use --prefix=path2/
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 4 - use --prefix=tmp-
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 5 - use --prefix=tmp- but with a conflicting file and dir
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 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 - use --prefix=tmp/orary- where tmp is a symlink
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 - use --prefix=tmp- where tmp-path1 is a symlink
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 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 <tmp/path1/file1 >actual &&
test_cmp expected actual
ok 10 - apply CRLF filter from working tree .gitattributes with --prefix
# passed all 10 test(s)
1..10
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t2005-checkout-index-symlinks.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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 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 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
# passed all 3 test(s)
1..3
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t2006-checkout-index-basic.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
! test_bool_env GIT_TEST_GETTEXT_POISON false
)
prerequisite C_LOCALE_OUTPUT ok
usage: git checkout-index [<options>] [--] [<file>...]
ok 1 - checkout-index --gobbledegook
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
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t2006-checkout-index-basic/broken/.git/
usage: git checkout-index [<options>] [--] [<file>...]
ok 2 - checkout-index -h in broken repository
# passed all 2 test(s)
1..2
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t2004-checkout-cache-temp.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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/one file to nothing':
rm -f path* .merge_* actual &&
git checkout-index --stage=all --temp -- path0 >actual &&
test_line_count = 0 actual
git checkout-index: path0 does not exist at stage 4
ok 7 - checkout all stages/one file to nothing
expecting success of 2004.8 '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 8 - checkout all stages/one file to temporary files
expecting success of 2004.9 '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 9 - checkout some stages/one file to temporary files
expecting success of 2004.10 '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 10 - checkout all stages/all files to temporary files
expecting success of 2004.11 '-- path0: no entry':
test x$(grep path0 actual | cut "-d " -f2) = x
ok 11 - -- path0: no entry
expecting success of 2004.12 '-- 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 12 - -- path1: all 3 stages
expecting success of 2004.13 '-- 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 13 - -- path2: no stage 1, have stage 2 and 3
expecting success of 2004.14 '-- 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 14 - -- path3: no stage 2, have stage 1 and 3
expecting success of 2004.15 '-- 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 15 - -- path4: no stage 3, have stage 1 and 3
expecting success of 2004.16 '-- 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 16 - -- asubdir/path5: no stage 2 and 3 have stage 1
expecting success of 2004.17 '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 17 - checkout --temp within subdir
expecting success of 2004.18 '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" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
# test whether the filesystem supports symbolic links
ln -s x y && test -h y
)
prerequisite SYMLINKS ok
ok 18 - checkout --temp symlink
expecting success of 2004.19 '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 19 - emit well-formed relative path
# passed all 19 test(s)
1..19
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t2007-checkout-symlink.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t2007-checkout-symlink/.git/
expecting success of 2007.1 'setup':
mkdir frotz &&
echo hello >frotz/filfre &&
git add frotz/filfre &&
test_tick &&
git commit -m "master has file frotz/filfre" &&
git branch side &&
echo goodbye >nitfol &&
git add nitfol &&
test_tick &&
git commit -m "master adds file nitfol" &&
git checkout side &&
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/"
[master (root-commit) f92d3a8] master has file frotz/filfre
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 frotz/filfre
[master ed594a0] master adds file nitfol
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 nitfol
Switched to branch 'side'
rm 'frotz/filfre'
checking prerequisite: SYMLINKS
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
# test whether the filesystem supports symbolic links
ln -s x y && test -h y
)
prerequisite SYMLINKS ok
[side 1502bd7] side moves frotz/ to xyzzy/ and adds frotz->xyzzy/
Author: A U Thor <author@example.com>
2 files changed, 1 insertion(+)
create mode 120000 frotz
rename {frotz => xyzzy}/filfre (100%)
ok 1 - setup
expecting success of 2007.2 'switch from symlink to dir':
git checkout master
Switched to branch 'master'
ok 2 - switch from symlink to dir
expecting success of 2007.3 'Remove temporary directories & switch to master':
rm -fr frotz xyzzy nitfol &&
git checkout -f master
Already on 'master'
ok 3 - Remove temporary directories & switch to master
expecting success of 2007.4 'switch from dir to symlink':
git checkout side
Switched to branch 'side'
ok 4 - switch from dir to symlink
# passed all 4 test(s)
1..4
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t2008-checkout-subdir.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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 <author@example.com>
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 '/<<PKGBUILDDIR>>/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 '/<<PKGBUILDDIR>>/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 '/<<PKGBUILDDIR>>/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 '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t2009-checkout-statinfo.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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) e4c6225] initial
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 world
[master dcfba82] second
Author: A U Thor <author@example.com>
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 dcfba82 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 dcfba82 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 '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t2010-checkout-ambiguous.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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) dba800a] initial
Author: A U Thor <author@example.com>
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 <command> [<revision>...] -- [<file>...]'
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 <command> [<revision>...] -- [<file>...]'
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" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
! 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 '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t2011-checkout-invalid-head.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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) ba4f7e5] initial
Author: A U Thor <author@example.com>
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 '/<<PKGBUILDDIR>>/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 ba4f7e5 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 ba4f7e5 initial
ok 10 - checkout away from d/f HEAD (packed, to detached)
# passed all 10 test(s)
1..10
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t2012-checkout-last.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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) df1481e] initial
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 world
[master dccd906] second
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
ok 1 - setup
expecting success of 2012.2 '"checkout -" does not work initially':
test_must_fail git checkout -
error: pathspec '-' did not match any file(s) known to git
ok 2 - "checkout -" does not work initially
expecting success of 2012.3 'first branch switch':
git checkout other
Switched to branch 'other'
ok 3 - first branch switch
expecting success of 2012.4 '"checkout -" switches back':
git checkout - &&
test "z$(git symbolic-ref HEAD)" = "zrefs/heads/master"
Switched to branch 'master'
ok 4 - "checkout -" switches back
expecting success of 2012.5 '"checkout -" switches forth':
git checkout - &&
test "z$(git symbolic-ref HEAD)" = "zrefs/heads/other"
Switched to branch 'other'
ok 5 - "checkout -" switches forth
expecting success of 2012.6 'detach HEAD':
git checkout $(git rev-parse HEAD)
Note: switching to 'df1481e4c924f84f906a6debc0de390abb72b194'.
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 <new-branch-name>
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
HEAD is now at df1481e initial
ok 6 - detach HEAD
expecting success of 2012.7 '"checkout -" attaches again':
git checkout - &&
test "z$(git symbolic-ref HEAD)" = "zrefs/heads/other"
Switched to branch 'other'
ok 7 - "checkout -" attaches again
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
Note: switching to 'df1481e4c924f84f906a6debc0de390abb72b194'.
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 <new-branch-name>
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
HEAD is now at df1481e initial
fatal: ref HEAD is not a symbolic ref
ok 8 - "checkout -" detaches again
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
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 2012.10 'switch to the last':
more_switches &&
git checkout @{-1} &&
test "z$(git symbolic-ref HEAD)" = "zrefs/heads/branch2"
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 2012.11 'switch to second from the last':
more_switches &&
git checkout @{-2} &&
test "z$(git symbolic-ref HEAD)" = "zrefs/heads/branch3"
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 2012.12 'switch to third from the last':
more_switches &&
git checkout @{-3} &&
test "z$(git symbolic-ref HEAD)" = "zrefs/heads/branch4"
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 2012.13 'switch to fourth from the last':
more_switches &&
git checkout @{-4} &&
test "z$(git symbolic-ref HEAD)" = "zrefs/heads/branch5"
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 2012.14 'switch to twelfth from the last':
more_switches &&
git checkout @{-12} &&
test "z$(git symbolic-ref HEAD)" = "zrefs/heads/branch13"
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 2012.15 'merge base test setup':
git checkout -b another other &&
echo "hello again" >>world &&
git add world &&
git commit -m third
Switched to a new branch 'another'
[another 551813f] third
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
ok 15 - merge base test setup
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^)"
Already on 'another'
Note: switching to 'another...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.
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 <new-branch-name>
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
HEAD is now at df1481e initial
ok 16 - another...master
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^)"
Previous HEAD position was df1481e initial
Switched to branch 'another'
Note: switching 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.
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 <new-branch-name>
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
HEAD is now at df1481e initial
ok 17 - ...master
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^)"
Previous HEAD position was df1481e initial
Switched to branch 'another'
Note: switching 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.
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 <new-branch-name>
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
HEAD is now at df1481e initial
ok 18 - master...
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"
Previous HEAD position was df1481e 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
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"
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
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"
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
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"
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
# passed all 22 test(s)
1..22
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t2014-checkout-switch.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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 <author@example.com>
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 <author@example.com>
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 '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t1510-repo-setup.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1510-repo-setup/.git/
expecting success of 1510.1 '#0: nonbare repo, no explicit configuration':
try_repo 0 unset unset unset "" unset \
.git "$here/0" "$here/0" "(null)" \
.git "$here/0" "$here/0" sub/ 2>message &&
test_must_be_empty message
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1510-repo-setup/0/.git/
ok 1 - #0: nonbare repo, no explicit configuration
expecting success of 1510.2 '#1: GIT_WORK_TREE without explicit GIT_DIR is accepted':
try_repo 1 "$here" unset unset "" unset \
"$here/1/.git" "$here" "$here" 1/ \
"$here/1/.git" "$here" "$here" 1/sub/ 2>message &&
test_must_be_empty message
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1510-repo-setup/1/.git/
ok 2 - #1: GIT_WORK_TREE without explicit GIT_DIR is accepted
expecting success of 1510.3 '#2: worktree defaults to cwd with explicit GIT_DIR':
try_repo 2 unset "$here/2/.git" unset "" unset \
"$here/2/.git" "$here/2" "$here/2" "(null)" \
"$here/2/.git" "$here/2/sub" "$here/2/sub" "(null)"
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1510-repo-setup/2/.git/
ok 3 - #2: worktree defaults to cwd with explicit GIT_DIR
expecting success of 1510.4 '#2b: relative GIT_DIR':
try_repo 2b unset ".git" unset "" unset \
".git" "$here/2b" "$here/2b" "(null)" \
"../.git" "$here/2b/sub" "$here/2b/sub" "(null)"
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1510-repo-setup/2b/.git/
ok 4 - #2b: relative GIT_DIR
expecting success of 1510.5 '#3: setup':
setup_repo 3 unset "" unset &&
mkdir -p 3/sub/sub 3/wt/sub
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1510-repo-setup/3/.git/
ok 5 - #3: setup
expecting success of 1510.6 '#3: explicit GIT_WORK_TREE and GIT_DIR at toplevel':
try_case $N "$here/$N" .git \
"$dotgit" "$here/$N" "$here/$N" "(null)" &&
try_case $N . .git \
"$dotgit" "$here/$N" "$here/$N" "(null)" &&
try_case $N "$here/$N" "$here/$N/.git" \
"$absgit" "$here/$N" "$here/$N" "(null)" &&
try_case $N . "$here/$N/.git" \
"$absgit" "$here/$N" "$here/$N" "(null)"
ok 6 - #3: explicit GIT_WORK_TREE and GIT_DIR at toplevel
expecting success of 1510.7 '#3: explicit GIT_WORK_TREE and GIT_DIR in subdir':
try_case $N/sub/sub "$here/$N" ../../.git \
"$absgit" "$here/$N" "$here/$N" sub/sub/ &&
try_case $N/sub/sub ../.. ../../.git \
"$absgit" "$here/$N" "$here/$N" sub/sub/ &&
try_case $N/sub/sub "$here/$N" "$here/$N/.git" \
"$absgit" "$here/$N" "$here/$N" sub/sub/ &&
try_case $N/sub/sub ../.. "$here/$N/.git" \
"$absgit" "$here/$N" "$here/$N" sub/sub/
ok 7 - #3: explicit GIT_WORK_TREE and GIT_DIR in subdir
expecting success of 1510.8 '#3: explicit GIT_WORK_TREE from parent of worktree':
try_case $N "$here/$N/wt" .git \
"$dotgit" "$here/$N/wt" "$here/$N" "(null)" &&
try_case $N wt .git \
"$dotgit" "$here/$N/wt" "$here/$N" "(null)" &&
try_case $N wt "$here/$N/.git" \
"$absgit" "$here/$N/wt" "$here/$N" "(null)" &&
try_case $N "$here/$N/wt" "$here/$N/.git" \
"$absgit" "$here/$N/wt" "$here/$N" "(null)"
ok 8 - #3: explicit GIT_WORK_TREE from parent of worktree
expecting success of 1510.9 '#3: explicit GIT_WORK_TREE from nephew of worktree':
try_case $N/sub/sub "$here/$N/wt" ../../.git \
"$dotdotgit" "$here/$N/wt" "$here/$N/sub/sub" "(null)" &&
try_case $N/sub/sub ../../wt ../../.git \
"$dotdotgit" "$here/$N/wt" "$here/$N/sub/sub" "(null)" &&
try_case $N/sub/sub ../../wt "$here/$N/.git" \
"$absgit" "$here/$N/wt" "$here/$N/sub/sub" "(null)" &&
try_case $N/sub/sub "$here/$N/wt" "$here/$N/.git" \
"$absgit" "$here/$N/wt" "$here/$N/sub/sub" "(null)"
ok 9 - #3: explicit GIT_WORK_TREE from nephew of worktree
expecting success of 1510.10 '#3: chdir_to_toplevel uses worktree, not git dir':
try_case $N "$here" .git \
"$absgit" "$here" "$here" $N/ &&
try_case $N .. .git \
"$absgit" "$here" "$here" $N/ &&
try_case $N .. "$here/$N/.git" \
"$absgit" "$here" "$here" $N/ &&
try_case $N "$here" "$here/$N/.git" \
"$absgit" "$here" "$here" $N/
ok 10 - #3: chdir_to_toplevel uses worktree, not git dir
expecting success of 1510.11 '#3: chdir_to_toplevel uses worktree (from subdir)':
try_case $N/sub/sub "$here" ../../.git \
"$absgit" "$here" "$here" $N/sub/sub/ &&
try_case $N/sub/sub ../../.. ../../.git \
"$absgit" "$here" "$here" $N/sub/sub/ &&
try_case $N/sub/sub ../../../ "$here/$N/.git" \
"$absgit" "$here" "$here" $N/sub/sub/ &&
try_case $N/sub/sub "$here" "$here/$N/.git" \
"$absgit" "$here" "$here" $N/sub/sub/
ok 11 - #3: chdir_to_toplevel uses worktree (from subdir)
expecting success of 1510.12 '#4: core.worktree without GIT_DIR set is accepted':
setup_repo 4 ../sub "" unset &&
mkdir -p 4/sub sub &&
try_case 4 unset unset \
.git "$here/4/sub" "$here/4" "(null)" \
"$here/4/.git" "$here/4/sub" "$here/4/sub" "(null)" 2>message &&
test_must_be_empty message
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1510-repo-setup/4/.git/
ok 12 - #4: core.worktree without GIT_DIR set is accepted
expecting success of 1510.13 '#5: core.worktree + GIT_WORK_TREE is accepted':
# or: you cannot intimidate away the lack of GIT_DIR setting
try_repo 5 "$here" unset "$here/5" "" unset \
"$here/5/.git" "$here" "$here" 5/ \
"$here/5/.git" "$here" "$here" 5/sub/ 2>message &&
try_repo 5a .. unset "$here/5a" "" unset \
"$here/5a/.git" "$here" "$here" 5a/ \
"$here/5a/.git" "$here/5a" "$here/5a" sub/ &&
test_must_be_empty message
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1510-repo-setup/5/.git/
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1510-repo-setup/5a/.git/
ok 13 - #5: core.worktree + GIT_WORK_TREE is accepted
expecting success of 1510.14 '#6: setting GIT_DIR brings core.worktree to life':
setup_repo 6 "$here/6" "" unset &&
try_case 6 unset .git \
.git "$here/6" "$here/6" "(null)" &&
try_case 6 unset "$here/6/.git" \
"$here/6/.git" "$here/6" "$here/6" "(null)" &&
try_case 6/sub/sub unset ../../.git \
"$here/6/.git" "$here/6" "$here/6" sub/sub/ &&
try_case 6/sub/sub unset "$here/6/.git" \
"$here/6/.git" "$here/6" "$here/6" sub/sub/
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1510-repo-setup/6/.git/
ok 14 - #6: setting GIT_DIR brings core.worktree to life
expecting success of 1510.15 '#6b: GIT_DIR set, core.worktree relative':
setup_repo 6b .. "" unset &&
try_case 6b unset .git \
.git "$here/6b" "$here/6b" "(null)" &&
try_case 6b unset "$here/6b/.git" \
"$here/6b/.git" "$here/6b" "$here/6b" "(null)" &&
try_case 6b/sub/sub unset ../../.git \
"$here/6b/.git" "$here/6b" "$here/6b" sub/sub/ &&
try_case 6b/sub/sub unset "$here/6b/.git" \
"$here/6b/.git" "$here/6b" "$here/6b" sub/sub/
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1510-repo-setup/6b/.git/
ok 15 - #6b: GIT_DIR set, core.worktree relative
expecting success of 1510.16 '#6c: GIT_DIR set, core.worktree=../wt (absolute)':
setup_repo 6c "$here/6c/wt" "" unset &&
mkdir -p 6c/wt/sub &&
try_case 6c unset .git \
.git "$here/6c/wt" "$here/6c" "(null)" &&
try_case 6c unset "$here/6c/.git" \
"$here/6c/.git" "$here/6c/wt" "$here/6c" "(null)" &&
try_case 6c/sub/sub unset ../../.git \
../../.git "$here/6c/wt" "$here/6c/sub/sub" "(null)" &&
try_case 6c/sub/sub unset "$here/6c/.git" \
"$here/6c/.git" "$here/6c/wt" "$here/6c/sub/sub" "(null)"
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1510-repo-setup/6c/.git/
ok 16 - #6c: GIT_DIR set, core.worktree=../wt (absolute)
expecting success of 1510.17 '#6d: GIT_DIR set, core.worktree=../wt (relative)':
setup_repo 6d "$here/6d/wt" "" unset &&
mkdir -p 6d/wt/sub &&
try_case 6d unset .git \
.git "$here/6d/wt" "$here/6d" "(null)" &&
try_case 6d unset "$here/6d/.git" \
"$here/6d/.git" "$here/6d/wt" "$here/6d" "(null)" &&
try_case 6d/sub/sub unset ../../.git \
../../.git "$here/6d/wt" "$here/6d/sub/sub" "(null)" &&
try_case 6d/sub/sub unset "$here/6d/.git" \
"$here/6d/.git" "$here/6d/wt" "$here/6d/sub/sub" "(null)"
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1510-repo-setup/6d/.git/
ok 17 - #6d: GIT_DIR set, core.worktree=../wt (relative)
expecting success of 1510.18 '#6e: GIT_DIR set, core.worktree=../.. (absolute)':
setup_repo 6e "$here" "" unset &&
try_case 6e unset .git \
"$here/6e/.git" "$here" "$here" 6e/ &&
try_case 6e unset "$here/6e/.git" \
"$here/6e/.git" "$here" "$here" 6e/ &&
try_case 6e/sub/sub unset ../../.git \
"$here/6e/.git" "$here" "$here" 6e/sub/sub/ &&
try_case 6e/sub/sub unset "$here/6e/.git" \
"$here/6e/.git" "$here" "$here" 6e/sub/sub/
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1510-repo-setup/6e/.git/
ok 18 - #6e: GIT_DIR set, core.worktree=../.. (absolute)
expecting success of 1510.19 '#6f: GIT_DIR set, core.worktree=../.. (relative)':
setup_repo 6f ../../ "" unset &&
try_case 6f unset .git \
"$here/6f/.git" "$here" "$here" 6f/ &&
try_case 6f unset "$here/6f/.git" \
"$here/6f/.git" "$here" "$here" 6f/ &&
try_case 6f/sub/sub unset ../../.git \
"$here/6f/.git" "$here" "$here" 6f/sub/sub/ &&
try_case 6f/sub/sub unset "$here/6f/.git" \
"$here/6f/.git" "$here" "$here" 6f/sub/sub/
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1510-repo-setup/6f/.git/
ok 19 - #6f: GIT_DIR set, core.worktree=../.. (relative)
expecting success of 1510.20 '#7: setup':
setup_repo 7 non-existent "" unset &&
mkdir -p 7/sub/sub 7/wt/sub
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1510-repo-setup/7/.git/
ok 20 - #7: setup
expecting success of 1510.21 '#7: explicit GIT_WORK_TREE and GIT_DIR at toplevel':
try_case $N "$here/$N" .git \
"$dotgit" "$here/$N" "$here/$N" "(null)" &&
try_case $N . .git \
"$dotgit" "$here/$N" "$here/$N" "(null)" &&
try_case $N "$here/$N" "$here/$N/.git" \
"$absgit" "$here/$N" "$here/$N" "(null)" &&
try_case $N . "$here/$N/.git" \
"$absgit" "$here/$N" "$here/$N" "(null)"
ok 21 - #7: explicit GIT_WORK_TREE and GIT_DIR at toplevel
expecting success of 1510.22 '#7: explicit GIT_WORK_TREE and GIT_DIR in subdir':
try_case $N/sub/sub "$here/$N" ../../.git \
"$absgit" "$here/$N" "$here/$N" sub/sub/ &&
try_case $N/sub/sub ../.. ../../.git \
"$absgit" "$here/$N" "$here/$N" sub/sub/ &&
try_case $N/sub/sub "$here/$N" "$here/$N/.git" \
"$absgit" "$here/$N" "$here/$N" sub/sub/ &&
try_case $N/sub/sub ../.. "$here/$N/.git" \
"$absgit" "$here/$N" "$here/$N" sub/sub/
ok 22 - #7: explicit GIT_WORK_TREE and GIT_DIR in subdir
expecting success of 1510.23 '#7: explicit GIT_WORK_TREE from parent of worktree':
try_case $N "$here/$N/wt" .git \
"$dotgit" "$here/$N/wt" "$here/$N" "(null)" &&
try_case $N wt .git \
"$dotgit" "$here/$N/wt" "$here/$N" "(null)" &&
try_case $N wt "$here/$N/.git" \
"$absgit" "$here/$N/wt" "$here/$N" "(null)" &&
try_case $N "$here/$N/wt" "$here/$N/.git" \
"$absgit" "$here/$N/wt" "$here/$N" "(null)"
ok 23 - #7: explicit GIT_WORK_TREE from parent of worktree
expecting success of 1510.24 '#7: explicit GIT_WORK_TREE from nephew of worktree':
try_case $N/sub/sub "$here/$N/wt" ../../.git \
"$dotdotgit" "$here/$N/wt" "$here/$N/sub/sub" "(null)" &&
try_case $N/sub/sub ../../wt ../../.git \
"$dotdotgit" "$here/$N/wt" "$here/$N/sub/sub" "(null)" &&
try_case $N/sub/sub ../../wt "$here/$N/.git" \
"$absgit" "$here/$N/wt" "$here/$N/sub/sub" "(null)" &&
try_case $N/sub/sub "$here/$N/wt" "$here/$N/.git" \
"$absgit" "$here/$N/wt" "$here/$N/sub/sub" "(null)"
ok 24 - #7: explicit GIT_WORK_TREE from nephew of worktree
expecting success of 1510.25 '#7: chdir_to_toplevel uses worktree, not git dir':
try_case $N "$here" .git \
"$absgit" "$here" "$here" $N/ &&
try_case $N .. .git \
"$absgit" "$here" "$here" $N/ &&
try_case $N .. "$here/$N/.git" \
"$absgit" "$here" "$here" $N/ &&
try_case $N "$here" "$here/$N/.git" \
"$absgit" "$here" "$here" $N/
ok 25 - #7: chdir_to_toplevel uses worktree, not git dir
expecting success of 1510.26 '#7: chdir_to_toplevel uses worktree (from subdir)':
try_case $N/sub/sub "$here" ../../.git \
"$absgit" "$here" "$here" $N/sub/sub/ &&
try_case $N/sub/sub ../../.. ../../.git \
"$absgit" "$here" "$here" $N/sub/sub/ &&
try_case $N/sub/sub ../../../ "$here/$N/.git" \
"$absgit" "$here" "$here" $N/sub/sub/ &&
try_case $N/sub/sub "$here" "$here/$N/.git" \
"$absgit" "$here" "$here" $N/sub/sub/
ok 26 - #7: chdir_to_toplevel uses worktree (from subdir)
expecting success of 1510.27 '#8: gitfile, easy case':
try_repo 8 unset unset unset gitfile unset \
"$here/8.git" "$here/8" "$here/8" "(null)" \
"$here/8.git" "$here/8" "$here/8" sub/
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1510-repo-setup/8/.git/
ok 27 - #8: gitfile, easy case
expecting success of 1510.28 '#9: GIT_WORK_TREE accepted with gitfile':
mkdir -p 9/wt &&
try_repo 9 wt unset unset gitfile unset \
"$here/9.git" "$here/9/wt" "$here/9" "(null)" \
"$here/9.git" "$here/9/sub/wt" "$here/9/sub" "(null)" 2>message &&
test_must_be_empty message
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1510-repo-setup/9/.git/
ok 28 - #9: GIT_WORK_TREE accepted with gitfile
expecting success of 1510.29 '#10: GIT_DIR can point to gitfile':
try_repo 10 unset "$here/10/.git" unset gitfile unset \
"$here/10.git" "$here/10" "$here/10" "(null)" \
"$here/10.git" "$here/10/sub" "$here/10/sub" "(null)"
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1510-repo-setup/10/.git/
ok 29 - #10: GIT_DIR can point to gitfile
expecting success of 1510.30 '#10b: relative GIT_DIR can point to gitfile':
try_repo 10b unset .git unset gitfile unset \
"$here/10b.git" "$here/10b" "$here/10b" "(null)" \
"$here/10b.git" "$here/10b/sub" "$here/10b/sub" "(null)"
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1510-repo-setup/10b/.git/
ok 30 - #10b: relative GIT_DIR can point to gitfile
expecting success of 1510.31 '#11: setup':
setup_repo 11 unset gitfile unset &&
mkdir -p 11/sub/sub 11/wt/sub
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1510-repo-setup/11/.git/
ok 31 - #11: setup
expecting success of 1510.32 '#11: explicit GIT_WORK_TREE and GIT_DIR at toplevel':
try_case $N "$here/$N" .git \
"$dotgit" "$here/$N" "$here/$N" "(null)" &&
try_case $N . .git \
"$dotgit" "$here/$N" "$here/$N" "(null)" &&
try_case $N "$here/$N" "$here/$N/.git" \
"$absgit" "$here/$N" "$here/$N" "(null)" &&
try_case $N . "$here/$N/.git" \
"$absgit" "$here/$N" "$here/$N" "(null)"
ok 32 - #11: explicit GIT_WORK_TREE and GIT_DIR at toplevel
expecting success of 1510.33 '#11: explicit GIT_WORK_TREE and GIT_DIR in subdir':
try_case $N/sub/sub "$here/$N" ../../.git \
"$absgit" "$here/$N" "$here/$N" sub/sub/ &&
try_case $N/sub/sub ../.. ../../.git \
"$absgit" "$here/$N" "$here/$N" sub/sub/ &&
try_case $N/sub/sub "$here/$N" "$here/$N/.git" \
"$absgit" "$here/$N" "$here/$N" sub/sub/ &&
try_case $N/sub/sub ../.. "$here/$N/.git" \
"$absgit" "$here/$N" "$here/$N" sub/sub/
ok 33 - #11: explicit GIT_WORK_TREE and GIT_DIR in subdir
expecting success of 1510.34 '#11: explicit GIT_WORK_TREE from parent of worktree':
try_case $N "$here/$N/wt" .git \
"$dotgit" "$here/$N/wt" "$here/$N" "(null)" &&
try_case $N wt .git \
"$dotgit" "$here/$N/wt" "$here/$N" "(null)" &&
try_case $N wt "$here/$N/.git" \
"$absgit" "$here/$N/wt" "$here/$N" "(null)" &&
try_case $N "$here/$N/wt" "$here/$N/.git" \
"$absgit" "$here/$N/wt" "$here/$N" "(null)"
ok 34 - #11: explicit GIT_WORK_TREE from parent of worktree
expecting success of 1510.35 '#11: explicit GIT_WORK_TREE from nephew of worktree':
try_case $N/sub/sub "$here/$N/wt" ../../.git \
"$dotdotgit" "$here/$N/wt" "$here/$N/sub/sub" "(null)" &&
try_case $N/sub/sub ../../wt ../../.git \
"$dotdotgit" "$here/$N/wt" "$here/$N/sub/sub" "(null)" &&
try_case $N/sub/sub ../../wt "$here/$N/.git" \
"$absgit" "$here/$N/wt" "$here/$N/sub/sub" "(null)" &&
try_case $N/sub/sub "$here/$N/wt" "$here/$N/.git" \
"$absgit" "$here/$N/wt" "$here/$N/sub/sub" "(null)"
ok 35 - #11: explicit GIT_WORK_TREE from nephew of worktree
expecting success of 1510.36 '#11: chdir_to_toplevel uses worktree, not git dir':
try_case $N "$here" .git \
"$absgit" "$here" "$here" $N/ &&
try_case $N .. .git \
"$absgit" "$here" "$here" $N/ &&
try_case $N .. "$here/$N/.git" \
"$absgit" "$here" "$here" $N/ &&
try_case $N "$here" "$here/$N/.git" \
"$absgit" "$here" "$here" $N/
ok 36 - #11: chdir_to_toplevel uses worktree, not git dir
expecting success of 1510.37 '#11: chdir_to_toplevel uses worktree (from subdir)':
try_case $N/sub/sub "$here" ../../.git \
"$absgit" "$here" "$here" $N/sub/sub/ &&
try_case $N/sub/sub ../../.. ../../.git \
"$absgit" "$here" "$here" $N/sub/sub/ &&
try_case $N/sub/sub ../../../ "$here/$N/.git" \
"$absgit" "$here" "$here" $N/sub/sub/ &&
try_case $N/sub/sub "$here" "$here/$N/.git" \
"$absgit" "$here" "$here" $N/sub/sub/
ok 37 - #11: chdir_to_toplevel uses worktree (from subdir)
expecting success of 1510.38 '#12: core.worktree with gitfile is accepted':
try_repo 12 unset unset "$here/12" gitfile unset \
"$here/12.git" "$here/12" "$here/12" "(null)" \
"$here/12.git" "$here/12" "$here/12" sub/ 2>message &&
test_must_be_empty message
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1510-repo-setup/12/.git/
ok 38 - #12: core.worktree with gitfile is accepted
expecting success of 1510.39 '#13: core.worktree+GIT_WORK_TREE accepted (with gitfile)':
# or: you cannot intimidate away the lack of GIT_DIR setting
try_repo 13 non-existent-too unset non-existent gitfile unset \
"$here/13.git" "$here/13/non-existent-too" "$here/13" "(null)" \
"$here/13.git" "$here/13/sub/non-existent-too" "$here/13/sub" "(null)" 2>message &&
test_must_be_empty message
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1510-repo-setup/13/.git/
ok 39 - #13: core.worktree+GIT_WORK_TREE accepted (with gitfile)
expecting success of 1510.40 '#14: core.worktree with GIT_DIR pointing to gitfile':
setup_repo 14 "$here/14" gitfile unset &&
try_case 14 unset .git \
"$here/14.git" "$here/14" "$here/14" "(null)" &&
try_case 14 unset "$here/14/.git" \
"$here/14.git" "$here/14" "$here/14" "(null)" &&
try_case 14/sub/sub unset ../../.git \
"$here/14.git" "$here/14" "$here/14" sub/sub/ &&
try_case 14/sub/sub unset "$here/14/.git" \
"$here/14.git" "$here/14" "$here/14" sub/sub/ &&
setup_repo 14c "$here/14c/wt" gitfile unset &&
mkdir -p 14c/wt/sub &&
try_case 14c unset .git \
"$here/14c.git" "$here/14c/wt" "$here/14c" "(null)" &&
try_case 14c unset "$here/14c/.git" \
"$here/14c.git" "$here/14c/wt" "$here/14c" "(null)" &&
try_case 14c/sub/sub unset ../../.git \
"$here/14c.git" "$here/14c/wt" "$here/14c/sub/sub" "(null)" &&
try_case 14c/sub/sub unset "$here/14c/.git" \
"$here/14c.git" "$here/14c/wt" "$here/14c/sub/sub" "(null)" &&
setup_repo 14d "$here/14d/wt" gitfile unset &&
mkdir -p 14d/wt/sub &&
try_case 14d unset .git \
"$here/14d.git" "$here/14d/wt" "$here/14d" "(null)" &&
try_case 14d unset "$here/14d/.git" \
"$here/14d.git" "$here/14d/wt" "$here/14d" "(null)" &&
try_case 14d/sub/sub unset ../../.git \
"$here/14d.git" "$here/14d/wt" "$here/14d/sub/sub" "(null)" &&
try_case 14d/sub/sub unset "$here/14d/.git" \
"$here/14d.git" "$here/14d/wt" "$here/14d/sub/sub" "(null)" &&
setup_repo 14e "$here" gitfile unset &&
try_case 14e unset .git \
"$here/14e.git" "$here" "$here" 14e/ &&
try_case 14e unset "$here/14e/.git" \
"$here/14e.git" "$here" "$here" 14e/ &&
try_case 14e/sub/sub unset ../../.git \
"$here/14e.git" "$here" "$here" 14e/sub/sub/ &&
try_case 14e/sub/sub unset "$here/14e/.git" \
"$here/14e.git" "$here" "$here" 14e/sub/sub/
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1510-repo-setup/14/.git/
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1510-repo-setup/14c/.git/
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1510-repo-setup/14d/.git/
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1510-repo-setup/14e/.git/
ok 40 - #14: core.worktree with GIT_DIR pointing to gitfile
expecting success of 1510.41 '#14b: core.worktree is relative to actual git dir':
setup_repo 14b ../14b gitfile unset &&
try_case 14b unset .git \
"$here/14b.git" "$here/14b" "$here/14b" "(null)" &&
try_case 14b unset "$here/14b/.git" \
"$here/14b.git" "$here/14b" "$here/14b" "(null)" &&
try_case 14b/sub/sub unset ../../.git \
"$here/14b.git" "$here/14b" "$here/14b" sub/sub/ &&
try_case 14b/sub/sub unset "$here/14b/.git" \
"$here/14b.git" "$here/14b" "$here/14b" sub/sub/ &&
setup_repo 14f ../ gitfile unset &&
try_case 14f unset .git \
"$here/14f.git" "$here" "$here" 14f/ &&
try_case 14f unset "$here/14f/.git" \
"$here/14f.git" "$here" "$here" 14f/ &&
try_case 14f/sub/sub unset ../../.git \
"$here/14f.git" "$here" "$here" 14f/sub/sub/ &&
try_case 14f/sub/sub unset "$here/14f/.git" \
"$here/14f.git" "$here" "$here" 14f/sub/sub/
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1510-repo-setup/14b/.git/
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1510-repo-setup/14f/.git/
ok 41 - #14b: core.worktree is relative to actual git dir
expecting success of 1510.42 '#15: setup':
setup_repo 15 non-existent gitfile unset &&
mkdir -p 15/sub/sub 15/wt/sub
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1510-repo-setup/15/.git/
ok 42 - #15: setup
expecting success of 1510.43 '#15: explicit GIT_WORK_TREE and GIT_DIR at toplevel':
try_case $N "$here/$N" .git \
"$dotgit" "$here/$N" "$here/$N" "(null)" &&
try_case $N . .git \
"$dotgit" "$here/$N" "$here/$N" "(null)" &&
try_case $N "$here/$N" "$here/$N/.git" \
"$absgit" "$here/$N" "$here/$N" "(null)" &&
try_case $N . "$here/$N/.git" \
"$absgit" "$here/$N" "$here/$N" "(null)"
ok 43 - #15: explicit GIT_WORK_TREE and GIT_DIR at toplevel
expecting success of 1510.44 '#15: explicit GIT_WORK_TREE and GIT_DIR in subdir':
try_case $N/sub/sub "$here/$N" ../../.git \
"$absgit" "$here/$N" "$here/$N" sub/sub/ &&
try_case $N/sub/sub ../.. ../../.git \
"$absgit" "$here/$N" "$here/$N" sub/sub/ &&
try_case $N/sub/sub "$here/$N" "$here/$N/.git" \
"$absgit" "$here/$N" "$here/$N" sub/sub/ &&
try_case $N/sub/sub ../.. "$here/$N/.git" \
"$absgit" "$here/$N" "$here/$N" sub/sub/
ok 44 - #15: explicit GIT_WORK_TREE and GIT_DIR in subdir
expecting success of 1510.45 '#15: explicit GIT_WORK_TREE from parent of worktree':
try_case $N "$here/$N/wt" .git \
"$dotgit" "$here/$N/wt" "$here/$N" "(null)" &&
try_case $N wt .git \
"$dotgit" "$here/$N/wt" "$here/$N" "(null)" &&
try_case $N wt "$here/$N/.git" \
"$absgit" "$here/$N/wt" "$here/$N" "(null)" &&
try_case $N "$here/$N/wt" "$here/$N/.git" \
"$absgit" "$here/$N/wt" "$here/$N" "(null)"
ok 45 - #15: explicit GIT_WORK_TREE from parent of worktree
expecting success of 1510.46 '#15: explicit GIT_WORK_TREE from nephew of worktree':
try_case $N/sub/sub "$here/$N/wt" ../../.git \
"$dotdotgit" "$here/$N/wt" "$here/$N/sub/sub" "(null)" &&
try_case $N/sub/sub ../../wt ../../.git \
"$dotdotgit" "$here/$N/wt" "$here/$N/sub/sub" "(null)" &&
try_case $N/sub/sub ../../wt "$here/$N/.git" \
"$absgit" "$here/$N/wt" "$here/$N/sub/sub" "(null)" &&
try_case $N/sub/sub "$here/$N/wt" "$here/$N/.git" \
"$absgit" "$here/$N/wt" "$here/$N/sub/sub" "(null)"
ok 46 - #15: explicit GIT_WORK_TREE from nephew of worktree
expecting success of 1510.47 '#15: chdir_to_toplevel uses worktree, not git dir':
try_case $N "$here" .git \
"$absgit" "$here" "$here" $N/ &&
try_case $N .. .git \
"$absgit" "$here" "$here" $N/ &&
try_case $N .. "$here/$N/.git" \
"$absgit" "$here" "$here" $N/ &&
try_case $N "$here" "$here/$N/.git" \
"$absgit" "$here" "$here" $N/
ok 47 - #15: chdir_to_toplevel uses worktree, not git dir
expecting success of 1510.48 '#15: chdir_to_toplevel uses worktree (from subdir)':
try_case $N/sub/sub "$here" ../../.git \
"$absgit" "$here" "$here" $N/sub/sub/ &&
try_case $N/sub/sub ../../.. ../../.git \
"$absgit" "$here" "$here" $N/sub/sub/ &&
try_case $N/sub/sub ../../../ "$here/$N/.git" \
"$absgit" "$here" "$here" $N/sub/sub/ &&
try_case $N/sub/sub "$here" "$here/$N/.git" \
"$absgit" "$here" "$here" $N/sub/sub/
ok 48 - #15: chdir_to_toplevel uses worktree (from subdir)
expecting success of 1510.49 '#16a: implicitly bare repo (cwd inside .git dir)':
setup_repo 16a unset "" unset &&
mkdir -p 16a/.git/wt/sub &&
try_case 16a/.git unset unset \
. "(null)" "$here/16a/.git" "(null)" &&
try_case 16a/.git/wt unset unset \
"$here/16a/.git" "(null)" "$here/16a/.git/wt" "(null)" &&
try_case 16a/.git/wt/sub unset unset \
"$here/16a/.git" "(null)" "$here/16a/.git/wt/sub" "(null)"
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1510-repo-setup/16a/.git/
ok 49 - #16a: implicitly bare repo (cwd inside .git dir)
expecting success of 1510.50 '#16b: bare .git (cwd inside .git dir)':
setup_repo 16b unset "" true &&
mkdir -p 16b/.git/wt/sub &&
try_case 16b/.git unset unset \
. "(null)" "$here/16b/.git" "(null)" &&
try_case 16b/.git/wt unset unset \
"$here/16b/.git" "(null)" "$here/16b/.git/wt" "(null)" &&
try_case 16b/.git/wt/sub unset unset \
"$here/16b/.git" "(null)" "$here/16b/.git/wt/sub" "(null)"
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1510-repo-setup/16b/.git/
ok 50 - #16b: bare .git (cwd inside .git dir)
expecting success of 1510.51 '#16c: bare .git has no worktree':
try_repo 16c unset unset unset "" true \
.git "(null)" "$here/16c" "(null)" \
"$here/16c/.git" "(null)" "$here/16c/sub" "(null)"
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1510-repo-setup/16c/.git/
ok 51 - #16c: bare .git has no worktree
expecting success of 1510.52 '#16d: bareness preserved across alias':
setup_repo 16d unset "" unset &&
(
cd 16d/.git &&
test_must_fail git status &&
git config alias.st status &&
test_must_fail git st
)
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1510-repo-setup/16d/.git/
fatal: this operation must be run in a work tree
fatal: this operation must be run in a work tree
ok 52 - #16d: bareness preserved across alias
expecting success of 1510.53 '#16e: bareness preserved by --bare':
setup_repo 16e unset "" unset &&
(
cd 16e/.git &&
test_must_fail git status &&
test_must_fail git --bare status
)
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1510-repo-setup/16e/.git/
fatal: this operation must be run in a work tree
fatal: this operation must be run in a work tree
ok 53 - #16e: bareness preserved by --bare
expecting success of 1510.54 '#17: GIT_WORK_TREE without explicit GIT_DIR is accepted (bare case)':
# Just like #16.
setup_repo 17a unset "" true &&
setup_repo 17b unset "" true &&
mkdir -p 17a/.git/wt/sub &&
mkdir -p 17b/.git/wt/sub &&
try_case 17a/.git "$here/17a" unset \
"$here/17a/.git" "$here/17a" "$here/17a" .git/ \
2>message &&
try_case 17a/.git/wt "$here/17a" unset \
"$here/17a/.git" "$here/17a" "$here/17a" .git/wt/ &&
try_case 17a/.git/wt/sub "$here/17a" unset \
"$here/17a/.git" "$here/17a" "$here/17a" .git/wt/sub/ &&
try_case 17b/.git "$here/17b" unset \
"$here/17b/.git" "$here/17b" "$here/17b" .git/ &&
try_case 17b/.git/wt "$here/17b" unset \
"$here/17b/.git" "$here/17b" "$here/17b" .git/wt/ &&
try_case 17b/.git/wt/sub "$here/17b" unset \
"$here/17b/.git" "$here/17b" "$here/17b" .git/wt/sub/ &&
try_repo 17c "$here/17c" unset unset "" true \
.git "$here/17c" "$here/17c" "(null)" \
"$here/17c/.git" "$here/17c" "$here/17c" sub/ 2>message &&
test_must_be_empty message
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1510-repo-setup/17a/.git/
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1510-repo-setup/17b/.git/
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1510-repo-setup/17c/.git/
ok 54 - #17: GIT_WORK_TREE without explicit GIT_DIR is accepted (bare case)
expecting success of 1510.55 '#18: bare .git named by GIT_DIR has no worktree':
try_repo 18 unset .git unset "" true \
.git "(null)" "$here/18" "(null)" \
../.git "(null)" "$here/18/sub" "(null)" &&
try_repo 18b unset "$here/18b/.git" unset "" true \
"$here/18b/.git" "(null)" "$here/18b" "(null)" \
"$here/18b/.git" "(null)" "$here/18b/sub" "(null)"
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1510-repo-setup/18/.git/
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1510-repo-setup/18b/.git/
ok 55 - #18: bare .git named by GIT_DIR has no worktree
expecting success of 1510.56 '#19: setup':
setup_repo 19 unset "" true &&
mkdir -p 19/sub/sub 19/wt/sub
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1510-repo-setup/19/.git/
ok 56 - #19: setup
expecting success of 1510.57 '#19: explicit GIT_WORK_TREE and GIT_DIR at toplevel':
try_case $N "$here/$N" .git \
"$dotgit" "$here/$N" "$here/$N" "(null)" &&
try_case $N . .git \
"$dotgit" "$here/$N" "$here/$N" "(null)" &&
try_case $N "$here/$N" "$here/$N/.git" \
"$absgit" "$here/$N" "$here/$N" "(null)" &&
try_case $N . "$here/$N/.git" \
"$absgit" "$here/$N" "$here/$N" "(null)"
ok 57 - #19: explicit GIT_WORK_TREE and GIT_DIR at toplevel
expecting success of 1510.58 '#19: explicit GIT_WORK_TREE and GIT_DIR in subdir':
try_case $N/sub/sub "$here/$N" ../../.git \
"$absgit" "$here/$N" "$here/$N" sub/sub/ &&
try_case $N/sub/sub ../.. ../../.git \
"$absgit" "$here/$N" "$here/$N" sub/sub/ &&
try_case $N/sub/sub "$here/$N" "$here/$N/.git" \
"$absgit" "$here/$N" "$here/$N" sub/sub/ &&
try_case $N/sub/sub ../.. "$here/$N/.git" \
"$absgit" "$here/$N" "$here/$N" sub/sub/
ok 58 - #19: explicit GIT_WORK_TREE and GIT_DIR in subdir
expecting success of 1510.59 '#19: explicit GIT_WORK_TREE from parent of worktree':
try_case $N "$here/$N/wt" .git \
"$dotgit" "$here/$N/wt" "$here/$N" "(null)" &&
try_case $N wt .git \
"$dotgit" "$here/$N/wt" "$here/$N" "(null)" &&
try_case $N wt "$here/$N/.git" \
"$absgit" "$here/$N/wt" "$here/$N" "(null)" &&
try_case $N "$here/$N/wt" "$here/$N/.git" \
"$absgit" "$here/$N/wt" "$here/$N" "(null)"
ok 59 - #19: explicit GIT_WORK_TREE from parent of worktree
expecting success of 1510.60 '#19: explicit GIT_WORK_TREE from nephew of worktree':
try_case $N/sub/sub "$here/$N/wt" ../../.git \
"$dotdotgit" "$here/$N/wt" "$here/$N/sub/sub" "(null)" &&
try_case $N/sub/sub ../../wt ../../.git \
"$dotdotgit" "$here/$N/wt" "$here/$N/sub/sub" "(null)" &&
try_case $N/sub/sub ../../wt "$here/$N/.git" \
"$absgit" "$here/$N/wt" "$here/$N/sub/sub" "(null)" &&
try_case $N/sub/sub "$here/$N/wt" "$here/$N/.git" \
"$absgit" "$here/$N/wt" "$here/$N/sub/sub" "(null)"
ok 60 - #19: explicit GIT_WORK_TREE from nephew of worktree
expecting success of 1510.61 '#19: chdir_to_toplevel uses worktree, not git dir':
try_case $N "$here" .git \
"$absgit" "$here" "$here" $N/ &&
try_case $N .. .git \
"$absgit" "$here" "$here" $N/ &&
try_case $N .. "$here/$N/.git" \
"$absgit" "$here" "$here" $N/ &&
try_case $N "$here" "$here/$N/.git" \
"$absgit" "$here" "$here" $N/
ok 61 - #19: chdir_to_toplevel uses worktree, not git dir
expecting success of 1510.62 '#19: chdir_to_toplevel uses worktree (from subdir)':
try_case $N/sub/sub "$here" ../../.git \
"$absgit" "$here" "$here" $N/sub/sub/ &&
try_case $N/sub/sub ../../.. ../../.git \
"$absgit" "$here" "$here" $N/sub/sub/ &&
try_case $N/sub/sub ../../../ "$here/$N/.git" \
"$absgit" "$here" "$here" $N/sub/sub/ &&
try_case $N/sub/sub "$here" "$here/$N/.git" \
"$absgit" "$here" "$here" $N/sub/sub/
ok 62 - #19: chdir_to_toplevel uses worktree (from subdir)
expecting success of 1510.63 '#20a: core.worktree without GIT_DIR accepted (inside .git)':
# Unlike case #16a.
setup_repo 20a "$here/20a" "" unset &&
mkdir -p 20a/.git/wt/sub &&
try_case 20a/.git unset unset \
"$here/20a/.git" "$here/20a" "$here/20a" .git/ 2>message &&
try_case 20a/.git/wt unset unset \
"$here/20a/.git" "$here/20a" "$here/20a" .git/wt/ &&
try_case 20a/.git/wt/sub unset unset \
"$here/20a/.git" "$here/20a" "$here/20a" .git/wt/sub/ &&
test_must_be_empty message
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1510-repo-setup/20a/.git/
ok 63 - #20a: core.worktree without GIT_DIR accepted (inside .git)
expecting success of 1510.64 '#20b/c: core.worktree and core.bare conflict':
setup_repo 20b non-existent "" true &&
mkdir -p 20b/.git/wt/sub &&
(
cd 20b/.git &&
test_must_fail git status >/dev/null
) 2>message &&
grep "core.bare and core.worktree" message
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1510-repo-setup/20b/.git/
warning: core.bare and core.worktree do not make sense
ok 64 - #20b/c: core.worktree and core.bare conflict
expecting success of 1510.65 '#20d: core.worktree and core.bare OK when working tree not needed':
setup_repo 20d non-existent "" true &&
mkdir -p 20d/.git/wt/sub &&
(
cd 20d/.git &&
git config foo.bar value
)
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1510-repo-setup/20d/.git/
warning: core.bare and core.worktree do not make sense
ok 65 - #20d: core.worktree and core.bare OK when working tree not needed
expecting success of 1510.66 '#21: setup, core.worktree warns before overriding core.bare':
setup_repo 21 non-existent "" unset &&
mkdir -p 21/.git/wt/sub &&
(
cd 21/.git &&
GIT_WORK_TREE="$here/21" &&
export GIT_WORK_TREE &&
git status >/dev/null
) 2>message &&
test_must_be_empty message
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1510-repo-setup/21/.git/
ok 66 - #21: setup, core.worktree warns before overriding core.bare
expecting success of 1510.67 '#21: explicit GIT_WORK_TREE and GIT_DIR at toplevel':
try_case $N "$here/$N" .git \
"$dotgit" "$here/$N" "$here/$N" "(null)" &&
try_case $N . .git \
"$dotgit" "$here/$N" "$here/$N" "(null)" &&
try_case $N "$here/$N" "$here/$N/.git" \
"$absgit" "$here/$N" "$here/$N" "(null)" &&
try_case $N . "$here/$N/.git" \
"$absgit" "$here/$N" "$here/$N" "(null)"
ok 67 - #21: explicit GIT_WORK_TREE and GIT_DIR at toplevel
expecting success of 1510.68 '#21: explicit GIT_WORK_TREE and GIT_DIR in subdir':
try_case $N/sub/sub "$here/$N" ../../.git \
"$absgit" "$here/$N" "$here/$N" sub/sub/ &&
try_case $N/sub/sub ../.. ../../.git \
"$absgit" "$here/$N" "$here/$N" sub/sub/ &&
try_case $N/sub/sub "$here/$N" "$here/$N/.git" \
"$absgit" "$here/$N" "$here/$N" sub/sub/ &&
try_case $N/sub/sub ../.. "$here/$N/.git" \
"$absgit" "$here/$N" "$here/$N" sub/sub/
ok 68 - #21: explicit GIT_WORK_TREE and GIT_DIR in subdir
expecting success of 1510.69 '#21: explicit GIT_WORK_TREE from parent of worktree':
try_case $N "$here/$N/wt" .git \
"$dotgit" "$here/$N/wt" "$here/$N" "(null)" &&
try_case $N wt .git \
"$dotgit" "$here/$N/wt" "$here/$N" "(null)" &&
try_case $N wt "$here/$N/.git" \
"$absgit" "$here/$N/wt" "$here/$N" "(null)" &&
try_case $N "$here/$N/wt" "$here/$N/.git" \
"$absgit" "$here/$N/wt" "$here/$N" "(null)"
ok 69 - #21: explicit GIT_WORK_TREE from parent of worktree
expecting success of 1510.70 '#21: explicit GIT_WORK_TREE from nephew of worktree':
try_case $N/sub/sub "$here/$N/wt" ../../.git \
"$dotdotgit" "$here/$N/wt" "$here/$N/sub/sub" "(null)" &&
try_case $N/sub/sub ../../wt ../../.git \
"$dotdotgit" "$here/$N/wt" "$here/$N/sub/sub" "(null)" &&
try_case $N/sub/sub ../../wt "$here/$N/.git" \
"$absgit" "$here/$N/wt" "$here/$N/sub/sub" "(null)" &&
try_case $N/sub/sub "$here/$N/wt" "$here/$N/.git" \
"$absgit" "$here/$N/wt" "$here/$N/sub/sub" "(null)"
ok 70 - #21: explicit GIT_WORK_TREE from nephew of worktree
expecting success of 1510.71 '#21: chdir_to_toplevel uses worktree, not git dir':
try_case $N "$here" .git \
"$absgit" "$here" "$here" $N/ &&
try_case $N .. .git \
"$absgit" "$here" "$here" $N/ &&
try_case $N .. "$here/$N/.git" \
"$absgit" "$here" "$here" $N/ &&
try_case $N "$here" "$here/$N/.git" \
"$absgit" "$here" "$here" $N/
ok 71 - #21: chdir_to_toplevel uses worktree, not git dir
expecting success of 1510.72 '#21: chdir_to_toplevel uses worktree (from subdir)':
try_case $N/sub/sub "$here" ../../.git \
"$absgit" "$here" "$here" $N/sub/sub/ &&
try_case $N/sub/sub ../../.. ../../.git \
"$absgit" "$here" "$here" $N/sub/sub/ &&
try_case $N/sub/sub ../../../ "$here/$N/.git" \
"$absgit" "$here" "$here" $N/sub/sub/ &&
try_case $N/sub/sub "$here" "$here/$N/.git" \
"$absgit" "$here" "$here" $N/sub/sub/
ok 72 - #21: chdir_to_toplevel uses worktree (from subdir)
expecting success of 1510.73 '#22a: core.worktree = GIT_DIR = .git dir':
# like case #6.
setup_repo 22a "$here/22a/.git" "" unset &&
setup_repo 22ab . "" unset &&
mkdir -p 22a/.git/sub 22a/sub &&
mkdir -p 22ab/.git/sub 22ab/sub &&
try_case 22a/.git unset . \
. "$here/22a/.git" "$here/22a/.git" "(null)" &&
try_case 22a/.git unset "$here/22a/.git" \
"$here/22a/.git" "$here/22a/.git" "$here/22a/.git" "(null)" &&
try_case 22a/.git/sub unset .. \
"$here/22a/.git" "$here/22a/.git" "$here/22a/.git" sub/ &&
try_case 22a/.git/sub unset "$here/22a/.git" \
"$here/22a/.git" "$here/22a/.git" "$here/22a/.git" sub/ &&
try_case 22ab/.git unset . \
. "$here/22ab/.git" "$here/22ab/.git" "(null)" &&
try_case 22ab/.git unset "$here/22ab/.git" \
"$here/22ab/.git" "$here/22ab/.git" "$here/22ab/.git" "(null)" &&
try_case 22ab/.git/sub unset .. \
"$here/22ab/.git" "$here/22ab/.git" "$here/22ab/.git" sub/ &&
try_case 22ab/.git unset "$here/22ab/.git" \
"$here/22ab/.git" "$here/22ab/.git" "$here/22ab/.git" "(null)"
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1510-repo-setup/22a/.git/
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1510-repo-setup/22ab/.git/
ok 73 - #22a: core.worktree = GIT_DIR = .git dir
expecting success of 1510.74 '#22b: core.worktree child of .git, GIT_DIR=.git':
setup_repo 22b "$here/22b/.git/wt" "" unset &&
setup_repo 22bb wt "" unset &&
mkdir -p 22b/.git/sub 22b/sub 22b/.git/wt/sub 22b/wt/sub &&
mkdir -p 22bb/.git/sub 22bb/sub 22bb/.git/wt 22bb/wt &&
try_case 22b/.git unset . \
. "$here/22b/.git/wt" "$here/22b/.git" "(null)" &&
try_case 22b/.git unset "$here/22b/.git" \
"$here/22b/.git" "$here/22b/.git/wt" "$here/22b/.git" "(null)" &&
try_case 22b/.git/sub unset .. \
.. "$here/22b/.git/wt" "$here/22b/.git/sub" "(null)" &&
try_case 22b/.git/sub unset "$here/22b/.git" \
"$here/22b/.git" "$here/22b/.git/wt" "$here/22b/.git/sub" "(null)" &&
try_case 22bb/.git unset . \
. "$here/22bb/.git/wt" "$here/22bb/.git" "(null)" &&
try_case 22bb/.git unset "$here/22bb/.git" \
"$here/22bb/.git" "$here/22bb/.git/wt" "$here/22bb/.git" "(null)" &&
try_case 22bb/.git/sub unset .. \
.. "$here/22bb/.git/wt" "$here/22bb/.git/sub" "(null)" &&
try_case 22bb/.git/sub unset "$here/22bb/.git" \
"$here/22bb/.git" "$here/22bb/.git/wt" "$here/22bb/.git/sub" "(null)"
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1510-repo-setup/22b/.git/
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1510-repo-setup/22bb/.git/
ok 74 - #22b: core.worktree child of .git, GIT_DIR=.git
expecting success of 1510.75 '#22c: core.worktree = .git/.., GIT_DIR=.git':
setup_repo 22c "$here/22c" "" unset &&
setup_repo 22cb .. "" unset &&
mkdir -p 22c/.git/sub 22c/sub &&
mkdir -p 22cb/.git/sub 22cb/sub &&
try_case 22c/.git unset . \
"$here/22c/.git" "$here/22c" "$here/22c" .git/ &&
try_case 22c/.git unset "$here/22c/.git" \
"$here/22c/.git" "$here/22c" "$here/22c" .git/ &&
try_case 22c/.git/sub unset .. \
"$here/22c/.git" "$here/22c" "$here/22c" .git/sub/ &&
try_case 22c/.git/sub unset "$here/22c/.git" \
"$here/22c/.git" "$here/22c" "$here/22c" .git/sub/ &&
try_case 22cb/.git unset . \
"$here/22cb/.git" "$here/22cb" "$here/22cb" .git/ &&
try_case 22cb/.git unset "$here/22cb/.git" \
"$here/22cb/.git" "$here/22cb" "$here/22cb" .git/ &&
try_case 22cb/.git/sub unset .. \
"$here/22cb/.git" "$here/22cb" "$here/22cb" .git/sub/ &&
try_case 22cb/.git/sub unset "$here/22cb/.git" \
"$here/22cb/.git" "$here/22cb" "$here/22cb" .git/sub/
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1510-repo-setup/22c/.git/
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1510-repo-setup/22cb/.git/
ok 75 - #22c: core.worktree = .git/.., GIT_DIR=.git
expecting success of 1510.76 '#22.2: core.worktree and core.bare conflict':
setup_repo 22 "$here/22" "" true &&
(
cd 22/.git &&
GIT_DIR=. &&
export GIT_DIR &&
test_must_fail git status 2>result
) &&
(
cd 22 &&
GIT_DIR=.git &&
export GIT_DIR &&
test_must_fail git status 2>result
) &&
grep "core.bare and core.worktree" 22/.git/result &&
grep "core.bare and core.worktree" 22/result
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1510-repo-setup/22/.git/
warning: core.bare and core.worktree do not make sense
warning: core.bare and core.worktree do not make sense
ok 76 - #22.2: core.worktree and core.bare conflict
expecting success of 1510.77 '#23: setup':
setup_repo 23 non-existent "" true &&
mkdir -p 23/sub/sub 23/wt/sub
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1510-repo-setup/23/.git/
ok 77 - #23: setup
expecting success of 1510.78 '#23: explicit GIT_WORK_TREE and GIT_DIR at toplevel':
try_case $N "$here/$N" .git \
"$dotgit" "$here/$N" "$here/$N" "(null)" &&
try_case $N . .git \
"$dotgit" "$here/$N" "$here/$N" "(null)" &&
try_case $N "$here/$N" "$here/$N/.git" \
"$absgit" "$here/$N" "$here/$N" "(null)" &&
try_case $N . "$here/$N/.git" \
"$absgit" "$here/$N" "$here/$N" "(null)"
ok 78 - #23: explicit GIT_WORK_TREE and GIT_DIR at toplevel
expecting success of 1510.79 '#23: explicit GIT_WORK_TREE and GIT_DIR in subdir':
try_case $N/sub/sub "$here/$N" ../../.git \
"$absgit" "$here/$N" "$here/$N" sub/sub/ &&
try_case $N/sub/sub ../.. ../../.git \
"$absgit" "$here/$N" "$here/$N" sub/sub/ &&
try_case $N/sub/sub "$here/$N" "$here/$N/.git" \
"$absgit" "$here/$N" "$here/$N" sub/sub/ &&
try_case $N/sub/sub ../.. "$here/$N/.git" \
"$absgit" "$here/$N" "$here/$N" sub/sub/
ok 79 - #23: explicit GIT_WORK_TREE and GIT_DIR in subdir
expecting success of 1510.80 '#23: explicit GIT_WORK_TREE from parent of worktree':
try_case $N "$here/$N/wt" .git \
"$dotgit" "$here/$N/wt" "$here/$N" "(null)" &&
try_case $N wt .git \
"$dotgit" "$here/$N/wt" "$here/$N" "(null)" &&
try_case $N wt "$here/$N/.git" \
"$absgit" "$here/$N/wt" "$here/$N" "(null)" &&
try_case $N "$here/$N/wt" "$here/$N/.git" \
"$absgit" "$here/$N/wt" "$here/$N" "(null)"
ok 80 - #23: explicit GIT_WORK_TREE from parent of worktree
expecting success of 1510.81 '#23: explicit GIT_WORK_TREE from nephew of worktree':
try_case $N/sub/sub "$here/$N/wt" ../../.git \
"$dotdotgit" "$here/$N/wt" "$here/$N/sub/sub" "(null)" &&
try_case $N/sub/sub ../../wt ../../.git \
"$dotdotgit" "$here/$N/wt" "$here/$N/sub/sub" "(null)" &&
try_case $N/sub/sub ../../wt "$here/$N/.git" \
"$absgit" "$here/$N/wt" "$here/$N/sub/sub" "(null)" &&
try_case $N/sub/sub "$here/$N/wt" "$here/$N/.git" \
"$absgit" "$here/$N/wt" "$here/$N/sub/sub" "(null)"
ok 81 - #23: explicit GIT_WORK_TREE from nephew of worktree
expecting success of 1510.82 '#23: chdir_to_toplevel uses worktree, not git dir':
try_case $N "$here" .git \
"$absgit" "$here" "$here" $N/ &&
try_case $N .. .git \
"$absgit" "$here" "$here" $N/ &&
try_case $N .. "$here/$N/.git" \
"$absgit" "$here" "$here" $N/ &&
try_case $N "$here" "$here/$N/.git" \
"$absgit" "$here" "$here" $N/
ok 82 - #23: chdir_to_toplevel uses worktree, not git dir
expecting success of 1510.83 '#23: chdir_to_toplevel uses worktree (from subdir)':
try_case $N/sub/sub "$here" ../../.git \
"$absgit" "$here" "$here" $N/sub/sub/ &&
try_case $N/sub/sub ../../.. ../../.git \
"$absgit" "$here" "$here" $N/sub/sub/ &&
try_case $N/sub/sub ../../../ "$here/$N/.git" \
"$absgit" "$here" "$here" $N/sub/sub/ &&
try_case $N/sub/sub "$here" "$here/$N/.git" \
"$absgit" "$here" "$here" $N/sub/sub/
ok 83 - #23: chdir_to_toplevel uses worktree (from subdir)
expecting success of 1510.84 '#24: bare repo has no worktree (gitfile case)':
try_repo 24 unset unset unset gitfile true \
"$here/24.git" "(null)" "$here/24" "(null)" \
"$here/24.git" "(null)" "$here/24/sub" "(null)"
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1510-repo-setup/24/.git/
ok 84 - #24: bare repo has no worktree (gitfile case)
expecting success of 1510.85 '#25: GIT_WORK_TREE accepted if GIT_DIR unset (bare gitfile case)':
try_repo 25 "$here/25" unset unset gitfile true \
"$here/25.git" "$here/25" "$here/25" "(null)" \
"$here/25.git" "$here/25" "$here/25" "sub/" 2>message &&
test_must_be_empty message
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1510-repo-setup/25/.git/
ok 85 - #25: GIT_WORK_TREE accepted if GIT_DIR unset (bare gitfile case)
expecting success of 1510.86 '#26: bare repo has no worktree (GIT_DIR -> gitfile case)':
try_repo 26 unset "$here/26/.git" unset gitfile true \
"$here/26.git" "(null)" "$here/26" "(null)" \
"$here/26.git" "(null)" "$here/26/sub" "(null)" &&
try_repo 26b unset .git unset gitfile true \
"$here/26b.git" "(null)" "$here/26b" "(null)" \
"$here/26b.git" "(null)" "$here/26b/sub" "(null)"
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1510-repo-setup/26/.git/
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1510-repo-setup/26b/.git/
ok 86 - #26: bare repo has no worktree (GIT_DIR -> gitfile case)
expecting success of 1510.87 '#27: setup':
setup_repo 27 unset gitfile true &&
mkdir -p 27/sub/sub 27/wt/sub
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1510-repo-setup/27/.git/
ok 87 - #27: setup
expecting success of 1510.88 '#27: explicit GIT_WORK_TREE and GIT_DIR at toplevel':
try_case $N "$here/$N" .git \
"$dotgit" "$here/$N" "$here/$N" "(null)" &&
try_case $N . .git \
"$dotgit" "$here/$N" "$here/$N" "(null)" &&
try_case $N "$here/$N" "$here/$N/.git" \
"$absgit" "$here/$N" "$here/$N" "(null)" &&
try_case $N . "$here/$N/.git" \
"$absgit" "$here/$N" "$here/$N" "(null)"
ok 88 - #27: explicit GIT_WORK_TREE and GIT_DIR at toplevel
expecting success of 1510.89 '#27: explicit GIT_WORK_TREE and GIT_DIR in subdir':
try_case $N/sub/sub "$here/$N" ../../.git \
"$absgit" "$here/$N" "$here/$N" sub/sub/ &&
try_case $N/sub/sub ../.. ../../.git \
"$absgit" "$here/$N" "$here/$N" sub/sub/ &&
try_case $N/sub/sub "$here/$N" "$here/$N/.git" \
"$absgit" "$here/$N" "$here/$N" sub/sub/ &&
try_case $N/sub/sub ../.. "$here/$N/.git" \
"$absgit" "$here/$N" "$here/$N" sub/sub/
ok 89 - #27: explicit GIT_WORK_TREE and GIT_DIR in subdir
expecting success of 1510.90 '#27: explicit GIT_WORK_TREE from parent of worktree':
try_case $N "$here/$N/wt" .git \
"$dotgit" "$here/$N/wt" "$here/$N" "(null)" &&
try_case $N wt .git \
"$dotgit" "$here/$N/wt" "$here/$N" "(null)" &&
try_case $N wt "$here/$N/.git" \
"$absgit" "$here/$N/wt" "$here/$N" "(null)" &&
try_case $N "$here/$N/wt" "$here/$N/.git" \
"$absgit" "$here/$N/wt" "$here/$N" "(null)"
ok 90 - #27: explicit GIT_WORK_TREE from parent of worktree
expecting success of 1510.91 '#27: explicit GIT_WORK_TREE from nephew of worktree':
try_case $N/sub/sub "$here/$N/wt" ../../.git \
"$dotdotgit" "$here/$N/wt" "$here/$N/sub/sub" "(null)" &&
try_case $N/sub/sub ../../wt ../../.git \
"$dotdotgit" "$here/$N/wt" "$here/$N/sub/sub" "(null)" &&
try_case $N/sub/sub ../../wt "$here/$N/.git" \
"$absgit" "$here/$N/wt" "$here/$N/sub/sub" "(null)" &&
try_case $N/sub/sub "$here/$N/wt" "$here/$N/.git" \
"$absgit" "$here/$N/wt" "$here/$N/sub/sub" "(null)"
ok 91 - #27: explicit GIT_WORK_TREE from nephew of worktree
expecting success of 1510.92 '#27: chdir_to_toplevel uses worktree, not git dir':
try_case $N "$here" .git \
"$absgit" "$here" "$here" $N/ &&
try_case $N .. .git \
"$absgit" "$here" "$here" $N/ &&
try_case $N .. "$here/$N/.git" \
"$absgit" "$here" "$here" $N/ &&
try_case $N "$here" "$here/$N/.git" \
"$absgit" "$here" "$here" $N/
ok 92 - #27: chdir_to_toplevel uses worktree, not git dir
expecting success of 1510.93 '#27: chdir_to_toplevel uses worktree (from subdir)':
try_case $N/sub/sub "$here" ../../.git \
"$absgit" "$here" "$here" $N/sub/sub/ &&
try_case $N/sub/sub ../../.. ../../.git \
"$absgit" "$here" "$here" $N/sub/sub/ &&
try_case $N/sub/sub ../../../ "$here/$N/.git" \
"$absgit" "$here" "$here" $N/sub/sub/ &&
try_case $N/sub/sub "$here" "$here/$N/.git" \
"$absgit" "$here" "$here" $N/sub/sub/
ok 93 - #27: chdir_to_toplevel uses worktree (from subdir)
expecting success of 1510.94 '#28: core.worktree and core.bare conflict (gitfile case)':
setup_repo 28 "$here/28" gitfile true &&
(
cd 28 &&
test_must_fail git status
) 2>message &&
grep "core.bare and core.worktree" message
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1510-repo-setup/28/.git/
warning: core.bare and core.worktree do not make sense
ok 94 - #28: core.worktree and core.bare conflict (gitfile case)
expecting success of 1510.95 '#29: setup':
setup_repo 29 non-existent gitfile true &&
mkdir -p 29/sub/sub 29/wt/sub &&
(
cd 29 &&
GIT_WORK_TREE="$here/29" &&
export GIT_WORK_TREE &&
git status
) 2>message &&
test_must_be_empty message
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1510-repo-setup/29/.git/
On branch master
No commits yet
nothing to commit (create/copy files and use "git add" to track)
ok 95 - #29: setup
expecting success of 1510.96 '#29: explicit GIT_WORK_TREE and GIT_DIR at toplevel':
try_case $N "$here/$N" .git \
"$dotgit" "$here/$N" "$here/$N" "(null)" &&
try_case $N . .git \
"$dotgit" "$here/$N" "$here/$N" "(null)" &&
try_case $N "$here/$N" "$here/$N/.git" \
"$absgit" "$here/$N" "$here/$N" "(null)" &&
try_case $N . "$here/$N/.git" \
"$absgit" "$here/$N" "$here/$N" "(null)"
ok 96 - #29: explicit GIT_WORK_TREE and GIT_DIR at toplevel
expecting success of 1510.97 '#29: explicit GIT_WORK_TREE and GIT_DIR in subdir':
try_case $N/sub/sub "$here/$N" ../../.git \
"$absgit" "$here/$N" "$here/$N" sub/sub/ &&
try_case $N/sub/sub ../.. ../../.git \
"$absgit" "$here/$N" "$here/$N" sub/sub/ &&
try_case $N/sub/sub "$here/$N" "$here/$N/.git" \
"$absgit" "$here/$N" "$here/$N" sub/sub/ &&
try_case $N/sub/sub ../.. "$here/$N/.git" \
"$absgit" "$here/$N" "$here/$N" sub/sub/
ok 97 - #29: explicit GIT_WORK_TREE and GIT_DIR in subdir
expecting success of 1510.98 '#29: explicit GIT_WORK_TREE from parent of worktree':
try_case $N "$here/$N/wt" .git \
"$dotgit" "$here/$N/wt" "$here/$N" "(null)" &&
try_case $N wt .git \
"$dotgit" "$here/$N/wt" "$here/$N" "(null)" &&
try_case $N wt "$here/$N/.git" \
"$absgit" "$here/$N/wt" "$here/$N" "(null)" &&
try_case $N "$here/$N/wt" "$here/$N/.git" \
"$absgit" "$here/$N/wt" "$here/$N" "(null)"
ok 98 - #29: explicit GIT_WORK_TREE from parent of worktree
expecting success of 1510.99 '#29: explicit GIT_WORK_TREE from nephew of worktree':
try_case $N/sub/sub "$here/$N/wt" ../../.git \
"$dotdotgit" "$here/$N/wt" "$here/$N/sub/sub" "(null)" &&
try_case $N/sub/sub ../../wt ../../.git \
"$dotdotgit" "$here/$N/wt" "$here/$N/sub/sub" "(null)" &&
try_case $N/sub/sub ../../wt "$here/$N/.git" \
"$absgit" "$here/$N/wt" "$here/$N/sub/sub" "(null)" &&
try_case $N/sub/sub "$here/$N/wt" "$here/$N/.git" \
"$absgit" "$here/$N/wt" "$here/$N/sub/sub" "(null)"
ok 99 - #29: explicit GIT_WORK_TREE from nephew of worktree
expecting success of 1510.100 '#29: chdir_to_toplevel uses worktree, not git dir':
try_case $N "$here" .git \
"$absgit" "$here" "$here" $N/ &&
try_case $N .. .git \
"$absgit" "$here" "$here" $N/ &&
try_case $N .. "$here/$N/.git" \
"$absgit" "$here" "$here" $N/ &&
try_case $N "$here" "$here/$N/.git" \
"$absgit" "$here" "$here" $N/
ok 100 - #29: chdir_to_toplevel uses worktree, not git dir
expecting success of 1510.101 '#29: chdir_to_toplevel uses worktree (from subdir)':
try_case $N/sub/sub "$here" ../../.git \
"$absgit" "$here" "$here" $N/sub/sub/ &&
try_case $N/sub/sub ../../.. ../../.git \
"$absgit" "$here" "$here" $N/sub/sub/ &&
try_case $N/sub/sub ../../../ "$here/$N/.git" \
"$absgit" "$here" "$here" $N/sub/sub/ &&
try_case $N/sub/sub "$here" "$here/$N/.git" \
"$absgit" "$here" "$here" $N/sub/sub/
ok 101 - #29: chdir_to_toplevel uses worktree (from subdir)
expecting success of 1510.102 '#30: core.worktree and core.bare conflict (gitfile version)':
# Just like case #22.
setup_repo 30 "$here/30" gitfile true &&
(
cd 30 &&
test_must_fail env GIT_DIR=.git git status 2>result
) &&
grep "core.bare and core.worktree" 30/result
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1510-repo-setup/30/.git/
warning: core.bare and core.worktree do not make sense
ok 102 - #30: core.worktree and core.bare conflict (gitfile version)
expecting success of 1510.103 '#31: setup':
setup_repo 31 non-existent gitfile true &&
mkdir -p 31/sub/sub 31/wt/sub
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1510-repo-setup/31/.git/
ok 103 - #31: setup
expecting success of 1510.104 '#31: explicit GIT_WORK_TREE and GIT_DIR at toplevel':
try_case $N "$here/$N" .git \
"$dotgit" "$here/$N" "$here/$N" "(null)" &&
try_case $N . .git \
"$dotgit" "$here/$N" "$here/$N" "(null)" &&
try_case $N "$here/$N" "$here/$N/.git" \
"$absgit" "$here/$N" "$here/$N" "(null)" &&
try_case $N . "$here/$N/.git" \
"$absgit" "$here/$N" "$here/$N" "(null)"
ok 104 - #31: explicit GIT_WORK_TREE and GIT_DIR at toplevel
expecting success of 1510.105 '#31: explicit GIT_WORK_TREE and GIT_DIR in subdir':
try_case $N/sub/sub "$here/$N" ../../.git \
"$absgit" "$here/$N" "$here/$N" sub/sub/ &&
try_case $N/sub/sub ../.. ../../.git \
"$absgit" "$here/$N" "$here/$N" sub/sub/ &&
try_case $N/sub/sub "$here/$N" "$here/$N/.git" \
"$absgit" "$here/$N" "$here/$N" sub/sub/ &&
try_case $N/sub/sub ../.. "$here/$N/.git" \
"$absgit" "$here/$N" "$here/$N" sub/sub/
ok 105 - #31: explicit GIT_WORK_TREE and GIT_DIR in subdir
expecting success of 1510.106 '#31: explicit GIT_WORK_TREE from parent of worktree':
try_case $N "$here/$N/wt" .git \
"$dotgit" "$here/$N/wt" "$here/$N" "(null)" &&
try_case $N wt .git \
"$dotgit" "$here/$N/wt" "$here/$N" "(null)" &&
try_case $N wt "$here/$N/.git" \
"$absgit" "$here/$N/wt" "$here/$N" "(null)" &&
try_case $N "$here/$N/wt" "$here/$N/.git" \
"$absgit" "$here/$N/wt" "$here/$N" "(null)"
ok 106 - #31: explicit GIT_WORK_TREE from parent of worktree
expecting success of 1510.107 '#31: explicit GIT_WORK_TREE from nephew of worktree':
try_case $N/sub/sub "$here/$N/wt" ../../.git \
"$dotdotgit" "$here/$N/wt" "$here/$N/sub/sub" "(null)" &&
try_case $N/sub/sub ../../wt ../../.git \
"$dotdotgit" "$here/$N/wt" "$here/$N/sub/sub" "(null)" &&
try_case $N/sub/sub ../../wt "$here/$N/.git" \
"$absgit" "$here/$N/wt" "$here/$N/sub/sub" "(null)" &&
try_case $N/sub/sub "$here/$N/wt" "$here/$N/.git" \
"$absgit" "$here/$N/wt" "$here/$N/sub/sub" "(null)"
ok 107 - #31: explicit GIT_WORK_TREE from nephew of worktree
expecting success of 1510.108 '#31: chdir_to_toplevel uses worktree, not git dir':
try_case $N "$here" .git \
"$absgit" "$here" "$here" $N/ &&
try_case $N .. .git \
"$absgit" "$here" "$here" $N/ &&
try_case $N .. "$here/$N/.git" \
"$absgit" "$here" "$here" $N/ &&
try_case $N "$here" "$here/$N/.git" \
"$absgit" "$here" "$here" $N/
ok 108 - #31: chdir_to_toplevel uses worktree, not git dir
expecting success of 1510.109 '#31: chdir_to_toplevel uses worktree (from subdir)':
try_case $N/sub/sub "$here" ../../.git \
"$absgit" "$here" "$here" $N/sub/sub/ &&
try_case $N/sub/sub ../../.. ../../.git \
"$absgit" "$here" "$here" $N/sub/sub/ &&
try_case $N/sub/sub ../../../ "$here/$N/.git" \
"$absgit" "$here" "$here" $N/sub/sub/ &&
try_case $N/sub/sub "$here" "$here/$N/.git" \
"$absgit" "$here" "$here" $N/sub/sub/
ok 109 - #31: chdir_to_toplevel uses worktree (from subdir)
# passed all 109 test(s)
1..109
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t2015-checkout-unborn.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t2015-checkout-unborn/parent/.git/
[master (root-commit) 576c605] base
Author: A U Thor <author@example.com>
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 /<<PKGBUILDDIR>>/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 '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t1701-racy-split-index.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t1701-racy-split-index/.git/
expecting success of 1701.1 'setup':
# Only split the index when the test explicitly says so.
sane_unset GIT_TEST_SPLIT_INDEX &&
git config splitIndex.maxPercentChange 100 &&
echo "cached content" >racy-file &&
git add racy-file &&
git commit -m initial &&
echo something >other-file &&
# No raciness with this file.
test-tool chmtime =-20 other-file &&
echo "+cached content" >expect
[master (root-commit) 2f488de] initial
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 racy-file
ok 1 - setup
expecting success of 1701.2 'split the index while adding a racily clean file #0':
rm -f .git/index .git/sharedindex.* &&
# The next three commands must be run within the same
# second (so both writes to racy-file result in the same
# mtime) to create the interesting racy situation.
echo "cached content" >racy-file &&
# Update and split the index. The cache entry of
# racy-file will be stored only in the shared index.
git update-index --split-index --add racy-file &&
# File size must stay the same.
echo "dirty worktree" >racy-file &&
# Subsequent git commands should notice that racy-file
# and the split index have the same mtime, and check
# the content of the file to see if it is actually
# clean.
check_cached_diff
ok 2 - split the index while adding a racily clean file #0
expecting success of 1701.3 'split the index while adding a racily clean file #1':
rm -f .git/index .git/sharedindex.* &&
# The next three commands must be run within the same
# second (so both writes to racy-file result in the same
# mtime) to create the interesting racy situation.
echo "cached content" >racy-file &&
# Update and split the index. The cache entry of
# racy-file will be stored only in the shared index.
git update-index --split-index --add racy-file &&
# File size must stay the same.
echo "dirty worktree" >racy-file &&
# Subsequent git commands should notice that racy-file
# and the split index have the same mtime, and check
# the content of the file to see if it is actually
# clean.
check_cached_diff
ok 3 - split the index while adding a racily clean file #1
expecting success of 1701.4 'split the index while adding a racily clean file #2':
rm -f .git/index .git/sharedindex.* &&
# The next three commands must be run within the same
# second (so both writes to racy-file result in the same
# mtime) to create the interesting racy situation.
echo "cached content" >racy-file &&
# Update and split the index. The cache entry of
# racy-file will be stored only in the shared index.
git update-index --split-index --add racy-file &&
# File size must stay the same.
echo "dirty worktree" >racy-file &&
# Subsequent git commands should notice that racy-file
# and the split index have the same mtime, and check
# the content of the file to see if it is actually
# clean.
check_cached_diff
ok 4 - split the index while adding a racily clean file #2
expecting success of 1701.5 'split the index while adding a racily clean file #3':
rm -f .git/index .git/sharedindex.* &&
# The next three commands must be run within the same
# second (so both writes to racy-file result in the same
# mtime) to create the interesting racy situation.
echo "cached content" >racy-file &&
# Update and split the index. The cache entry of
# racy-file will be stored only in the shared index.
git update-index --split-index --add racy-file &&
# File size must stay the same.
echo "dirty worktree" >racy-file &&
# Subsequent git commands should notice that racy-file
# and the split index have the same mtime, and check
# the content of the file to see if it is actually
# clean.
check_cached_diff
ok 5 - split the index while adding a racily clean file #3
expecting success of 1701.6 'split the index while adding a racily clean file #4':
rm -f .git/index .git/sharedindex.* &&
# The next three commands must be run within the same
# second (so both writes to racy-file result in the same
# mtime) to create the interesting racy situation.
echo "cached content" >racy-file &&
# Update and split the index. The cache entry of
# racy-file will be stored only in the shared index.
git update-index --split-index --add racy-file &&
# File size must stay the same.
echo "dirty worktree" >racy-file &&
# Subsequent git commands should notice that racy-file
# and the split index have the same mtime, and check
# the content of the file to see if it is actually
# clean.
check_cached_diff
ok 6 - split the index while adding a racily clean file #4
expecting success of 1701.7 'add a racily clean file to an already split index #0':
rm -f .git/index .git/sharedindex.* &&
git update-index --split-index &&
# The next three commands must be run within the same
# second.
echo "cached content" >racy-file &&
# Update the split index. The cache entry of racy-file
# will be stored only in the split index.
git update-index --add racy-file &&
# File size must stay the same.
echo "dirty worktree" >racy-file &&
# Subsequent git commands should notice that racy-file
# and the split index have the same mtime, and check
# the content of the file to see if it is actually
# clean.
check_cached_diff
ok 7 - add a racily clean file to an already split index #0
expecting success of 1701.8 'add a racily clean file to an already split index #1':
rm -f .git/index .git/sharedindex.* &&
git update-index --split-index &&
# The next three commands must be run within the same
# second.
echo "cached content" >racy-file &&
# Update the split index. The cache entry of racy-file
# will be stored only in the split index.
git update-index --add racy-file &&
# File size must stay the same.
echo "dirty worktree" >racy-file &&
# Subsequent git commands should notice that racy-file
# and the split index have the same mtime, and check
# the content of the file to see if it is actually
# clean.
check_cached_diff
ok 8 - add a racily clean file to an already split index #1
expecting success of 1701.9 'add a racily clean file to an already split index #2':
rm -f .git/index .git/sharedindex.* &&
git update-index --split-index &&
# The next three commands must be run within the same
# second.
echo "cached content" >racy-file &&
# Update the split index. The cache entry of racy-file
# will be stored only in the split index.
git update-index --add racy-file &&
# File size must stay the same.
echo "dirty worktree" >racy-file &&
# Subsequent git commands should notice that racy-file
# and the split index have the same mtime, and check
# the content of the file to see if it is actually
# clean.
check_cached_diff
ok 9 - add a racily clean file to an already split index #2
expecting success of 1701.10 'add a racily clean file to an already split index #3':
rm -f .git/index .git/sharedindex.* &&
git update-index --split-index &&
# The next three commands must be run within the same
# second.
echo "cached content" >racy-file &&
# Update the split index. The cache entry of racy-file
# will be stored only in the split index.
git update-index --add racy-file &&
# File size must stay the same.
echo "dirty worktree" >racy-file &&
# Subsequent git commands should notice that racy-file
# and the split index have the same mtime, and check
# the content of the file to see if it is actually
# clean.
check_cached_diff
ok 10 - add a racily clean file to an already split index #3
expecting success of 1701.11 'add a racily clean file to an already split index #4':
rm -f .git/index .git/sharedindex.* &&
git update-index --split-index &&
# The next three commands must be run within the same
# second.
echo "cached content" >racy-file &&
# Update the split index. The cache entry of racy-file
# will be stored only in the split index.
git update-index --add racy-file &&
# File size must stay the same.
echo "dirty worktree" >racy-file &&
# Subsequent git commands should notice that racy-file
# and the split index have the same mtime, and check
# the content of the file to see if it is actually
# clean.
check_cached_diff
ok 11 - add a racily clean file to an already split index #4
expecting success of 1701.12 'split the index when the index contains a racily clean cache entry #0':
rm -f .git/index .git/sharedindex.* &&
# The next three commands must be run within the same
# second.
echo "cached content" >racy-file &&
git update-index --add racy-file &&
# File size must stay the same.
echo "dirty worktree" >racy-file &&
# Now wait a bit to ensure that the split index written
# below will get a more recent mtime than racy-file.
sleep 1 &&
# Update and split the index when the index contains
# the racily clean cache entry of racy-file.
# A corresponding replacement cache entry with smudged
# stat data should be added to the new split index.
git update-index --split-index --add other-file &&
# Subsequent git commands should notice the smudged
# stat data in the replacement cache entry and that it
# doesnt match with the file the worktree.
check_cached_diff
ok 12 - split the index when the index contains a racily clean cache entry #0
expecting success of 1701.13 'split the index when the index contains a racily clean cache entry #1':
rm -f .git/index .git/sharedindex.* &&
# The next three commands must be run within the same
# second.
echo "cached content" >racy-file &&
git update-index --add racy-file &&
# File size must stay the same.
echo "dirty worktree" >racy-file &&
# Now wait a bit to ensure that the split index written
# below will get a more recent mtime than racy-file.
sleep 1 &&
# Update and split the index when the index contains
# the racily clean cache entry of racy-file.
# A corresponding replacement cache entry with smudged
# stat data should be added to the new split index.
git update-index --split-index --add other-file &&
# Subsequent git commands should notice the smudged
# stat data in the replacement cache entry and that it
# doesnt match with the file the worktree.
check_cached_diff
ok 13 - split the index when the index contains a racily clean cache entry #1
expecting success of 1701.14 'split the index when the index contains a racily clean cache entry #2':
rm -f .git/index .git/sharedindex.* &&
# The next three commands must be run within the same
# second.
echo "cached content" >racy-file &&
git update-index --add racy-file &&
# File size must stay the same.
echo "dirty worktree" >racy-file &&
# Now wait a bit to ensure that the split index written
# below will get a more recent mtime than racy-file.
sleep 1 &&
# Update and split the index when the index contains
# the racily clean cache entry of racy-file.
# A corresponding replacement cache entry with smudged
# stat data should be added to the new split index.
git update-index --split-index --add other-file &&
# Subsequent git commands should notice the smudged
# stat data in the replacement cache entry and that it
# doesnt match with the file the worktree.
check_cached_diff
ok 14 - split the index when the index contains a racily clean cache entry #2
expecting success of 1701.15 'split the index when the index contains a racily clean cache entry #3':
rm -f .git/index .git/sharedindex.* &&
# The next three commands must be run within the same
# second.
echo "cached content" >racy-file &&
git update-index --add racy-file &&
# File size must stay the same.
echo "dirty worktree" >racy-file &&
# Now wait a bit to ensure that the split index written
# below will get a more recent mtime than racy-file.
sleep 1 &&
# Update and split the index when the index contains
# the racily clean cache entry of racy-file.
# A corresponding replacement cache entry with smudged
# stat data should be added to the new split index.
git update-index --split-index --add other-file &&
# Subsequent git commands should notice the smudged
# stat data in the replacement cache entry and that it
# doesnt match with the file the worktree.
check_cached_diff
ok 15 - split the index when the index contains a racily clean cache entry #3
expecting success of 1701.16 'split the index when the index contains a racily clean cache entry #4':
rm -f .git/index .git/sharedindex.* &&
# The next three commands must be run within the same
# second.
echo "cached content" >racy-file &&
git update-index --add racy-file &&
# File size must stay the same.
echo "dirty worktree" >racy-file &&
# Now wait a bit to ensure that the split index written
# below will get a more recent mtime than racy-file.
sleep 1 &&
# Update and split the index when the index contains
# the racily clean cache entry of racy-file.
# A corresponding replacement cache entry with smudged
# stat data should be added to the new split index.
git update-index --split-index --add other-file &&
# Subsequent git commands should notice the smudged
# stat data in the replacement cache entry and that it
# doesnt match with the file the worktree.
check_cached_diff
ok 16 - split the index when the index contains a racily clean cache entry #4
expecting success of 1701.17 'update the split index when it contains a new racily clean cache entry #0':
rm -f .git/index .git/sharedindex.* &&
git update-index --split-index &&
# The next three commands must be run within the same
# second.
echo "cached content" >racy-file &&
# Update the split index. The cache entry of racy-file
# will be stored only in the split index.
git update-index --add racy-file &&
# File size must stay the same.
echo "dirty worktree" >racy-file &&
# Now wait a bit to ensure that the split index written
# below will get a more recent mtime than racy-file.
sleep 1 &&
# Update the split index when the racily clean cache
# entry of racy-file is only stored in the split index.
# An updated cache entry with smudged stat data should
# be added to the new split index.
git update-index --add other-file &&
# Subsequent git commands should notice the smudged
# stat data.
check_cached_diff
ok 17 - update the split index when it contains a new racily clean cache entry #0
expecting success of 1701.18 'update the split index when it contains a new racily clean cache entry #1':
rm -f .git/index .git/sharedindex.* &&
git update-index --split-index &&
# The next three commands must be run within the same
# second.
echo "cached content" >racy-file &&
# Update the split index. The cache entry of racy-file
# will be stored only in the split index.
git update-index --add racy-file &&
# File size must stay the same.
echo "dirty worktree" >racy-file &&
# Now wait a bit to ensure that the split index written
# below will get a more recent mtime than racy-file.
sleep 1 &&
# Update the split index when the racily clean cache
# entry of racy-file is only stored in the split index.
# An updated cache entry with smudged stat data should
# be added to the new split index.
git update-index --add other-file &&
# Subsequent git commands should notice the smudged
# stat data.
check_cached_diff
ok 18 - update the split index when it contains a new racily clean cache entry #1
expecting success of 1701.19 'update the split index when it contains a new racily clean cache entry #2':
rm -f .git/index .git/sharedindex.* &&
git update-index --split-index &&
# The next three commands must be run within the same
# second.
echo "cached content" >racy-file &&
# Update the split index. The cache entry of racy-file
# will be stored only in the split index.
git update-index --add racy-file &&
# File size must stay the same.
echo "dirty worktree" >racy-file &&
# Now wait a bit to ensure that the split index written
# below will get a more recent mtime than racy-file.
sleep 1 &&
# Update the split index when the racily clean cache
# entry of racy-file is only stored in the split index.
# An updated cache entry with smudged stat data should
# be added to the new split index.
git update-index --add other-file &&
# Subsequent git commands should notice the smudged
# stat data.
check_cached_diff
ok 19 - update the split index when it contains a new racily clean cache entry #2
expecting success of 1701.20 'update the split index when it contains a new racily clean cache entry #3':
rm -f .git/index .git/sharedindex.* &&
git update-index --split-index &&
# The next three commands must be run within the same
# second.
echo "cached content" >racy-file &&
# Update the split index. The cache entry of racy-file
# will be stored only in the split index.
git update-index --add racy-file &&
# File size must stay the same.
echo "dirty worktree" >racy-file &&
# Now wait a bit to ensure that the split index written
# below will get a more recent mtime than racy-file.
sleep 1 &&
# Update the split index when the racily clean cache
# entry of racy-file is only stored in the split index.
# An updated cache entry with smudged stat data should
# be added to the new split index.
git update-index --add other-file &&
# Subsequent git commands should notice the smudged
# stat data.
check_cached_diff
ok 20 - update the split index when it contains a new racily clean cache entry #3
expecting success of 1701.21 'update the split index when it contains a new racily clean cache entry #4':
rm -f .git/index .git/sharedindex.* &&
git update-index --split-index &&
# The next three commands must be run within the same
# second.
echo "cached content" >racy-file &&
# Update the split index. The cache entry of racy-file
# will be stored only in the split index.
git update-index --add racy-file &&
# File size must stay the same.
echo "dirty worktree" >racy-file &&
# Now wait a bit to ensure that the split index written
# below will get a more recent mtime than racy-file.
sleep 1 &&
# Update the split index when the racily clean cache
# entry of racy-file is only stored in the split index.
# An updated cache entry with smudged stat data should
# be added to the new split index.
git update-index --add other-file &&
# Subsequent git commands should notice the smudged
# stat data.
check_cached_diff
ok 21 - update the split index when it contains a new racily clean cache entry #4
expecting success of 1701.22 'update the split index when a racily clean cache entry is stored only in the shared index #0':
rm -f .git/index .git/sharedindex.* &&
# The next three commands must be run within the same
# second.
echo "cached content" >racy-file &&
# Update and split the index. The cache entry of
# racy-file will be stored only in the shared index.
git update-index --split-index --add racy-file &&
# File size must stay the same.
echo "dirty worktree" >racy-file &&
# Now wait a bit to ensure that the split index written
# below will get a more recent mtime than racy-file.
sleep 1 &&
# Update the split index when the racily clean cache
# entry of racy-file is only stored in the shared index.
# A corresponding replacement cache entry with smudged
# stat data should be added to the new split index.
git update-index --add other-file &&
# Subsequent git commands should notice the smudged
# stat data.
check_cached_diff
ok 22 - update the split index when a racily clean cache entry is stored only in the shared index #0
expecting success of 1701.23 'update the split index when a racily clean cache entry is stored only in the shared index #1':
rm -f .git/index .git/sharedindex.* &&
# The next three commands must be run within the same
# second.
echo "cached content" >racy-file &&
# Update and split the index. The cache entry of
# racy-file will be stored only in the shared index.
git update-index --split-index --add racy-file &&
# File size must stay the same.
echo "dirty worktree" >racy-file &&
# Now wait a bit to ensure that the split index written
# below will get a more recent mtime than racy-file.
sleep 1 &&
# Update the split index when the racily clean cache
# entry of racy-file is only stored in the shared index.
# A corresponding replacement cache entry with smudged
# stat data should be added to the new split index.
git update-index --add other-file &&
# Subsequent git commands should notice the smudged
# stat data.
check_cached_diff
ok 23 - update the split index when a racily clean cache entry is stored only in the shared index #1
expecting success of 1701.24 'update the split index when a racily clean cache entry is stored only in the shared index #2':
rm -f .git/index .git/sharedindex.* &&
# The next three commands must be run within the same
# second.
echo "cached content" >racy-file &&
# Update and split the index. The cache entry of
# racy-file will be stored only in the shared index.
git update-index --split-index --add racy-file &&
# File size must stay the same.
echo "dirty worktree" >racy-file &&
# Now wait a bit to ensure that the split index written
# below will get a more recent mtime than racy-file.
sleep 1 &&
# Update the split index when the racily clean cache
# entry of racy-file is only stored in the shared index.
# A corresponding replacement cache entry with smudged
# stat data should be added to the new split index.
git update-index --add other-file &&
# Subsequent git commands should notice the smudged
# stat data.
check_cached_diff
ok 24 - update the split index when a racily clean cache entry is stored only in the shared index #2
expecting success of 1701.25 'update the split index when a racily clean cache entry is stored only in the shared index #3':
rm -f .git/index .git/sharedindex.* &&
# The next three commands must be run within the same
# second.
echo "cached content" >racy-file &&
# Update and split the index. The cache entry of
# racy-file will be stored only in the shared index.
git update-index --split-index --add racy-file &&
# File size must stay the same.
echo "dirty worktree" >racy-file &&
# Now wait a bit to ensure that the split index written
# below will get a more recent mtime than racy-file.
sleep 1 &&
# Update the split index when the racily clean cache
# entry of racy-file is only stored in the shared index.
# A corresponding replacement cache entry with smudged
# stat data should be added to the new split index.
git update-index --add other-file &&
# Subsequent git commands should notice the smudged
# stat data.
check_cached_diff
ok 25 - update the split index when a racily clean cache entry is stored only in the shared index #3
expecting success of 1701.26 'update the split index when a racily clean cache entry is stored only in the shared index #4':
rm -f .git/index .git/sharedindex.* &&
# The next three commands must be run within the same
# second.
echo "cached content" >racy-file &&
# Update and split the index. The cache entry of
# racy-file will be stored only in the shared index.
git update-index --split-index --add racy-file &&
# File size must stay the same.
echo "dirty worktree" >racy-file &&
# Now wait a bit to ensure that the split index written
# below will get a more recent mtime than racy-file.
sleep 1 &&
# Update the split index when the racily clean cache
# entry of racy-file is only stored in the shared index.
# A corresponding replacement cache entry with smudged
# stat data should be added to the new split index.
git update-index --add other-file &&
# Subsequent git commands should notice the smudged
# stat data.
check_cached_diff
ok 26 - update the split index when a racily clean cache entry is stored only in the shared index #4
expecting success of 1701.27 'update the split index after unpack trees() copied a racily clean cache entry from the shared index #0':
rm -f .git/index .git/sharedindex.* &&
# The next three commands must be run within the same
# second.
echo "cached content" >racy-file &&
# Update and split the index. The cache entry of
# racy-file will be stored only in the shared index.
git update-index --split-index --add racy-file &&
# File size must stay the same.
echo "dirty worktree" >racy-file &&
# Now wait a bit to ensure that the split index written
# below will get a more recent mtime than racy-file.
sleep 1 &&
# Update the split index after unpack_trees() copied the
# racily clean cache entry of racy-file from the shared
# index. A corresponding replacement cache entry
# with smudged stat data should be added to the new
# split index.
git read-tree -m HEAD &&
# Subsequent git commands should notice the smudged
# stat data.
check_cached_diff
ok 27 - update the split index after unpack trees() copied a racily clean cache entry from the shared index #0
expecting success of 1701.28 'update the split index after unpack trees() copied a racily clean cache entry from the shared index #1':
rm -f .git/index .git/sharedindex.* &&
# The next three commands must be run within the same
# second.
echo "cached content" >racy-file &&
# Update and split the index. The cache entry of
# racy-file will be stored only in the shared index.
git update-index --split-index --add racy-file &&
# File size must stay the same.
echo "dirty worktree" >racy-file &&
# Now wait a bit to ensure that the split index written
# below will get a more recent mtime than racy-file.
sleep 1 &&
# Update the split index after unpack_trees() copied the
# racily clean cache entry of racy-file from the shared
# index. A corresponding replacement cache entry
# with smudged stat data should be added to the new
# split index.
git read-tree -m HEAD &&
# Subsequent git commands should notice the smudged
# stat data.
check_cached_diff
ok 28 - update the split index after unpack trees() copied a racily clean cache entry from the shared index #1
expecting success of 1701.29 'update the split index after unpack trees() copied a racily clean cache entry from the shared index #2':
rm -f .git/index .git/sharedindex.* &&
# The next three commands must be run within the same
# second.
echo "cached content" >racy-file &&
# Update and split the index. The cache entry of
# racy-file will be stored only in the shared index.
git update-index --split-index --add racy-file &&
# File size must stay the same.
echo "dirty worktree" >racy-file &&
# Now wait a bit to ensure that the split index written
# below will get a more recent mtime than racy-file.
sleep 1 &&
# Update the split index after unpack_trees() copied the
# racily clean cache entry of racy-file from the shared
# index. A corresponding replacement cache entry
# with smudged stat data should be added to the new
# split index.
git read-tree -m HEAD &&
# Subsequent git commands should notice the smudged
# stat data.
check_cached_diff
ok 29 - update the split index after unpack trees() copied a racily clean cache entry from the shared index #2
expecting success of 1701.30 'update the split index after unpack trees() copied a racily clean cache entry from the shared index #3':
rm -f .git/index .git/sharedindex.* &&
# The next three commands must be run within the same
# second.
echo "cached content" >racy-file &&
# Update and split the index. The cache entry of
# racy-file will be stored only in the shared index.
git update-index --split-index --add racy-file &&
# File size must stay the same.
echo "dirty worktree" >racy-file &&
# Now wait a bit to ensure that the split index written
# below will get a more recent mtime than racy-file.
sleep 1 &&
# Update the split index after unpack_trees() copied the
# racily clean cache entry of racy-file from the shared
# index. A corresponding replacement cache entry
# with smudged stat data should be added to the new
# split index.
git read-tree -m HEAD &&
# Subsequent git commands should notice the smudged
# stat data.
check_cached_diff
ok 30 - update the split index after unpack trees() copied a racily clean cache entry from the shared index #3
expecting success of 1701.31 'update the split index after unpack trees() copied a racily clean cache entry from the shared index #4':
rm -f .git/index .git/sharedindex.* &&
# The next three commands must be run within the same
# second.
echo "cached content" >racy-file &&
# Update and split the index. The cache entry of
# racy-file will be stored only in the shared index.
git update-index --split-index --add racy-file &&
# File size must stay the same.
echo "dirty worktree" >racy-file &&
# Now wait a bit to ensure that the split index written
# below will get a more recent mtime than racy-file.
sleep 1 &&
# Update the split index after unpack_trees() copied the
# racily clean cache entry of racy-file from the shared
# index. A corresponding replacement cache entry
# with smudged stat data should be added to the new
# split index.
git read-tree -m HEAD &&
# Subsequent git commands should notice the smudged
# stat data.
check_cached_diff
ok 31 - update the split index after unpack trees() copied a racily clean cache entry from the shared index #4
# passed all 31 test(s)
1..31
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t2017-checkout-orphan.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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) d6e326d] First Commit
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 foo
[master 41e9afb] Second Commit
Author: A U Thor <author@example.com>
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 <author@example.com>
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 <start_point>':
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 <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 foo
fatal: Needed a single revision
ok 3 - --orphan creates a new orphan branch from <start_point>
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 <author@example.com>
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 <author@example.com>
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 <author@example.com>
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 41e9afb 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 41e9afb 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 '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t2019-checkout-ambiguous-ref.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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 <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 file
[master a40f7cf] tag
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
[master 3b61e26] other
Author: A U Thor <author@example.com>
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" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
! 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 '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t2018-checkout-branch.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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 <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 file1
[master 5be17a9] change1
Author: A U Thor <author@example.com>
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" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
! 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 <new-branch-name>
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 <describe>':
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 <new-branch-name>
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 <describe>
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
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t2018-checkout-branch/src/.git/
[master (root-commit) 7f0b538] a
Author: A U Thor <author@example.com>
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 <author@example.com>
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
# passed all 22 test(s)
1..22
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t2021-checkout-overwrite.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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) 2f0da06] base
Author: A U Thor <author@example.com>
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 c3b0c4d] dir to file
Author: A U Thor <author@example.com>
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 e5b2882] un-track the file
Author: A U Thor <author@example.com>
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" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
# test whether the filesystem supports symbolic links
ln -s x y && test -h y
)
prerequisite SYMLINKS ok
[symlink 6756dcc] dir to symlink
Author: A U Thor <author@example.com>
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 e8644d8] un-track the symlink
Author: A U Thor <author@example.com>
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 '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t2020-checkout-detach.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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 <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 one.t
[master 139b20d] two
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 two.t
[master 7c7cd71] three
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 three.t
Deleted tag 'three' (was 7c7cd71)
[master fd8d77e] four
Author: A U Thor <author@example.com>
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 <new-branch-name>
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 <new-branch-name>
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 4 - checkout branch by full name detaches
expecting success of 2020.5 'checkout non-ref detaches':
reset &&
git checkout branch^ &&
check_detached
Switched to branch 'master'
Note: switching to '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 <new-branch-name>
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
HEAD is now at 7c7cd71 three
ok 5 - checkout non-ref detaches
expecting success of 2020.6 'checkout ref^0 detaches':
reset &&
git checkout branch^0 &&
check_detached
Previous HEAD position was 7c7cd71 three
Switched to branch 'master'
Note: switching to 'branch^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 <new-branch-name>
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 6 - checkout ref^0 detaches
expecting success of 2020.7 'checkout --detach detaches':
reset &&
git checkout --detach branch &&
check_detached
Switched to branch 'master'
HEAD is now at fd8d77e four
ok 7 - checkout --detach detaches
expecting success of 2020.8 'checkout --detach without branch name':
reset &&
git checkout --detach &&
check_detached
Switched to branch 'master'
HEAD is now at fd8d77e four
ok 8 - checkout --detach without branch name
expecting success of 2020.9 'checkout --detach errors out for non-commit':
reset &&
test_must_fail git checkout --detach one^{tree} &&
check_not_detached
Switched to branch 'master'
fatal: Cannot switch branch to a non-commit 'one^{tree}'
ok 9 - checkout --detach errors out for non-commit
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
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
expecting success of 2020.11 'checkout --detached and -b are incompatible':
reset &&
test_must_fail git checkout --detach -b newbranch tag &&
check_not_detached
Already on 'master'
fatal: '--detach' cannot be used with '-b/-B/--orphan'
ok 11 - checkout --detached and -b are incompatible
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
Already on 'master'
Note: switching to 'one'.
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 <new-branch-name>
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to 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
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
Previous HEAD position was 139b20d two
Switched to branch 'master'
HEAD is now at 139b20d two
[detached HEAD 61e8031] orphan1
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 orphan
[detached HEAD bfea71d] orphan2
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
ok 13 - checkout warns on orphan commits
expecting success of 2020.14 'checkout warns on orphan commits: output':
check_orphan_warning stderr "2 commits"
checking prerequisite: C_LOCALE_OUTPUT
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
! test_bool_env GIT_TEST_GETTEXT_POISON false
)
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 2020.15 'checkout warns orphaning 1 of 2 commits':
git checkout "$orphan2" &&
git checkout HEAD^ 2>stderr
Note: switching to 'bfea71df3731158d55fcf7b9d1ae214132b90e2b'.
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 <new-branch-name>
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
HEAD is now at bfea71d orphan2
ok 15 - checkout warns orphaning 1 of 2 commits
expecting success of 2020.16 'checkout warns orphaning 1 of 2 commits: output':
check_orphan_warning stderr "1 commit"
Warning: you are leaving 1 commit behind, not connected to
ok 16 - checkout warns orphaning 1 of 2 commits: output
expecting success of 2020.17 'checkout does not warn leaving ref tip':
reset &&
git checkout --detach two &&
git checkout master 2>stderr
Warning: you are leaving 1 commit behind, not connected to
any of your branches:
61e8031 orphan1
If you want to keep it by creating a new branch, this may be a good time
to do so with:
git branch <new-branch-name> 61e8031
Switched to branch 'master'
HEAD is now at 139b20d two
ok 17 - checkout does not warn leaving ref tip
expecting success of 2020.18 'checkout does not warn leaving ref tip':
check_no_orphan_warning stderr
Previous HEAD position was 139b20d two
ok 18 - checkout does not warn leaving ref tip
expecting success of 2020.19 'checkout does not warn leaving reachable commit':
reset &&
git checkout --detach HEAD^ &&
git checkout master 2>stderr
Already on 'master'
HEAD is now at 7c7cd71 three
ok 19 - checkout does not warn leaving reachable commit
expecting success of 2020.20 'checkout does not warn leaving reachable commit':
check_no_orphan_warning stderr
Previous HEAD position was 7c7cd71 three
ok 20 - checkout does not warn leaving reachable commit
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
Already on 'master'
Note: switching to 'child^'.
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 <new-branch-name>
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
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 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 &&
# 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 &&
# 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
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 2020.23 'describe_detached_head prints no SHA-1 ellipsis when not asked to':
commit=7c7cd714e262 &&
commit2=139b20d8e6c5 &&
commit3=d79ce1670bdc &&
# The first detach operation is more chatty than the following ones.
cat >1st_detach <<-EOF &&
Note: switching to 'HEAD^'.
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 <new-branch-name>
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
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
cat >3rd_detach <<-EOF &&
Previous HEAD position was $commit2 two
HEAD is now at $commit3 one
EOF
reset &&
check_not_detached &&
# Various ways of *not* asking for ellipses
sane_unset GIT_PRINT_SHA1_ELLIPSIS &&
git -c 'core.abbrev=12' checkout HEAD^ >actual 2>&1 &&
check_detached &&
test_i18ncmp 1st_detach actual &&
GIT_PRINT_SHA1_ELLIPSIS=no git -c 'core.abbrev=12' checkout HEAD^ >actual 2>&1 &&
check_detached &&
test_i18ncmp 2nd_detach actual &&
GIT_PRINT_SHA1_ELLIPSIS= git -c 'core.abbrev=12' checkout HEAD^ >actual 2>&1 &&
check_detached &&
test_i18ncmp 3rd_detach actual &&
sane_unset GIT_PRINT_SHA1_ELLIPSIS &&
# We only have four commits, but we can re-use them
reset &&
check_not_detached &&
# 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 &&
GIT_PRINT_SHA1_ELLIPSIS='nope' &&
git -c 'core.abbrev=12' checkout HEAD^ >actual 2>&1 &&
check_detached &&
test_i18ncmp 2nd_detach actual &&
GIT_PRINT_SHA1_ELLIPSIS=nein &&
git -c 'core.abbrev=12' checkout HEAD^ >actual 2>&1 &&
check_detached &&
test_i18ncmp 3rd_detach actual &&
true
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
expecting success of 2020.24 'describe_detached_head does print SHA-1 ellipsis when asked to':
commit=7c7cd714e262 &&
commit2=139b20d8e6c5 &&
commit3=d79ce1670bdc &&
# The first detach operation is more chatty than the following ones.
cat >1st_detach <<-EOF &&
Note: switching to 'HEAD^'.
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 <new-branch-name>
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
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
cat >3rd_detach <<-EOF &&
Previous HEAD position was $commit2... two
HEAD is now at $commit3... one
EOF
reset &&
check_not_detached &&
# Various ways of asking for ellipses...
# The user can just use any kind of quoting (including none).
GIT_PRINT_SHA1_ELLIPSIS=yes git -c 'core.abbrev=12' checkout HEAD^ >actual 2>&1 &&
check_detached &&
test_i18ncmp 1st_detach actual &&
GIT_PRINT_SHA1_ELLIPSIS=Yes git -c 'core.abbrev=12' checkout HEAD^ >actual 2>&1 &&
check_detached &&
test_i18ncmp 2nd_detach actual &&
GIT_PRINT_SHA1_ELLIPSIS=YES git -c 'core.abbrev=12' checkout HEAD^ >actual 2>&1 &&
check_detached &&
test_i18ncmp 3rd_detach actual &&
true
Previous HEAD position was d79ce16 one
Switched to branch 'master'
ok 24 - describe_detached_head does print SHA-1 ellipsis when asked to
# passed all 24 test(s)
1..24
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t2022-checkout-paths.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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 <author@example.com>
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 <author@example.com>
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 </dev/null) &&
git rm dir/next0 &&
cat >expect.next0 <<-EOF &&
100644 $EMPTY_SHA1 1 dir/next0
100644 $EMPTY_SHA1 2 dir/next0
EOF
git update-index --index-info <expect.next0 &&
git checkout master dir &&
test_cmp expect.common dir/common &&
test_path_is_file dir/master &&
git diff --exit-code master dir/master &&
git ls-files -s dir/next0 >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 <author@example.com>
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 <author@example.com>
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 '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t2023-checkout-m.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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 <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 both.txt
[master dc44449] modified_in_master
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
[master 642a0cb] added_in_master
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 each.txt
Switched to branch 'topic'
[topic 33542d7] modified_in_topic
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
[topic d46615c] added_in_topic
Author: A U Thor <author@example.com>
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 >each.txt.cleaned &&
clean_branchnames <each.txt.conflicted >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 >both.txt.cleaned &&
clean_branchnames <both.txt.conflicted >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
)
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t2023-checkout-m/co-force/.git/
[master (root-commit) b7442a0] a
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 a
[master 7529dfa] b
Author: A U Thor <author@example.com>
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 '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t2025-checkout-no-overlay.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t2025-checkout-no-overlay/.git/
expecting success of 2025.1 'setup':
git commit --allow-empty -m "initial"
[master (root-commit) 39cc9e2] initial
Author: A U Thor <author@example.com>
ok 1 - setup
expecting success of 2025.2 'checkout --no-overlay deletes files not in <tree-ish>':
>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 <tree-ish>
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" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
! 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 1f16de6] file1
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 file1
[master 5aa6133] file2
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 file2
rm 'file1'
ok 5 - --no-overlay --theirs with D/F conflict deletes file
# passed all 5 test(s)
1..5
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t2026-checkout-pathspec-file.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t2026-checkout-pathspec-file/.git/
expecting success of 2026.1 'setup':
test_commit file0 &&
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" &&
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
[master (root-commit) ad2e047] file0
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 file0.t
[master 46ee160] files 1
Author: A U Thor <author@example.com>
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 <author@example.com>
4 files changed, 4 insertions(+), 4 deletions(-)
ok 1 - setup
expecting success of 2026.2 '--pathspec-from-file from stdin':
restore_checkpoint &&
echo fileA.t | git checkout --pathspec-from-file=- HEAD^1 &&
cat >expect <<-\EOF &&
M fileA.t
EOF
verify_expect
HEAD is now at 774eb8e files 2
Updated 1 path from 0465292
ok 2 - --pathspec-from-file from stdin
expecting success of 2026.3 '--pathspec-from-file from file':
restore_checkpoint &&
echo fileA.t >list &&
git checkout --pathspec-from-file=list HEAD^1 &&
cat >expect <<-\EOF &&
M fileA.t
EOF
verify_expect
HEAD is now at 774eb8e files 2
Updated 1 path from 0465292
ok 3 - --pathspec-from-file from file
expecting success of 2026.4 'NUL delimiters':
restore_checkpoint &&
printf "fileA.t\0fileB.t\0" | git checkout --pathspec-from-file=- --pathspec-file-nul HEAD^1 &&
cat >expect <<-\EOF &&
M fileA.t
M fileB.t
EOF
verify_expect
HEAD is now at 774eb8e files 2
Updated 2 paths from 0465292
ok 4 - NUL delimiters
expecting success of 2026.5 'LF delimiters':
restore_checkpoint &&
printf "fileA.t\nfileB.t\n" | git checkout --pathspec-from-file=- HEAD^1 &&
cat >expect <<-\EOF &&
M fileA.t
M fileB.t
EOF
verify_expect
HEAD is now at 774eb8e files 2
Updated 2 paths from 0465292
ok 5 - LF delimiters
expecting success of 2026.6 'no trailing delimiter':
restore_checkpoint &&
printf "fileA.t\nfileB.t" | git checkout --pathspec-from-file=- HEAD^1 &&
cat >expect <<-\EOF &&
M fileA.t
M fileB.t
EOF
verify_expect
HEAD is now at 774eb8e files 2
Updated 2 paths from 0465292
ok 6 - no trailing delimiter
expecting success of 2026.7 'CRLF delimiters':
restore_checkpoint &&
printf "fileA.t\r\nfileB.t\r\n" | git checkout --pathspec-from-file=- HEAD^1 &&
cat >expect <<-\EOF &&
M fileA.t
M fileB.t
EOF
verify_expect
HEAD is now at 774eb8e files 2
Updated 2 paths from 0465292
ok 7 - CRLF delimiters
expecting success of 2026.8 'quotes':
restore_checkpoint &&
cat >list <<-\EOF &&
"file\101.t"
EOF
git checkout --pathspec-from-file=list HEAD^1 &&
cat >expect <<-\EOF &&
M fileA.t
EOF
verify_expect
HEAD is now at 774eb8e files 2
Updated 1 path from 0465292
ok 8 - quotes
expecting success of 2026.9 'quotes not compatible with --pathspec-file-nul':
restore_checkpoint &&
cat >list <<-\EOF &&
"file\101.t"
EOF
test_must_fail git checkout --pathspec-from-file=list --pathspec-file-nul HEAD^1
HEAD is now at 774eb8e 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
expecting success of 2026.10 'only touches what was listed':
restore_checkpoint &&
printf "fileB.t\nfileC.t\n" | git checkout --pathspec-from-file=- HEAD^1 &&
cat >expect <<-\EOF &&
M fileB.t
M fileC.t
EOF
verify_expect
HEAD is now at 774eb8e files 2
Updated 2 paths from 0465292
ok 10 - only touches what was listed
expecting success of 2026.11 'error conditions':
restore_checkpoint &&
echo fileA.t >list &&
test_must_fail git checkout --pathspec-from-file=list --detach 2>err &&
test_i18ngrep -e "--pathspec-from-file is incompatible with --detach" err &&
test_must_fail git checkout --pathspec-from-file=list --patch 2>err &&
test_i18ngrep -e "--pathspec-from-file is incompatible with --patch" err &&
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 &&
test_must_fail git checkout --pathspec-file-nul 2>err &&
test_i18ngrep -e "--pathspec-file-nul requires --pathspec-from-file" err
HEAD is now at 774eb8e files 2
checking prerequisite: C_LOCALE_OUTPUT
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
! test_bool_env GIT_TEST_GETTEXT_POISON false
)
prerequisite C_LOCALE_OUTPUT ok
fatal: --pathspec-from-file is incompatible with --detach
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
ok 11 - error conditions
# passed all 11 test(s)
1..11
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t2016-checkout-patch.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t2016-checkout-patch/.git/
expecting success of 2016.1 'setup':
mkdir dir &&
echo parent > dir/foo &&
echo dummy > bar &&
git add bar dir/foo &&
git commit -m initial &&
test_tick &&
test_commit second dir/foo head &&
set_and_save_state bar bar_work bar_index &&
save_head
[master (root-commit) 1fd69e8] initial
Author: A U Thor <author@example.com>
2 files changed, 2 insertions(+)
create mode 100644 bar
create mode 100644 dir/foo
[master 73a1c8f] second
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
ok 1 - setup
expecting success of 2016.2 'saying "n" does nothing':
set_and_save_state dir/foo work head &&
test_write_lines n n | git checkout -p &&
verify_saved_state bar &&
verify_saved_state dir/foo
diff --git a/bar b/bar
index 7780244..8c999e6 100644
--- a/bar
+++ b/bar
@@ -1 +1 @@
-bar_index
+bar_work
(1/1) Discard this hunk from worktree [y,n,q,a,d,e,?]?
diff --git a/dir/foo b/dir/foo
index 564b12f..b8f99f5 100644
--- a/dir/foo
+++ b/dir/foo
@@ -1 +1 @@
-head
+work
(1/1) Discard this hunk from worktree [y,n,q,a,d,e,?]?
ok 2 - saying "n" does nothing
expecting success of 2016.3 'git checkout -p':
test_write_lines n y | git checkout -p &&
verify_saved_state bar &&
verify_state dir/foo head head
diff --git a/bar b/bar
index 7780244..8c999e6 100644
--- a/bar
+++ b/bar
@@ -1 +1 @@
-bar_index
+bar_work
(1/1) Discard this hunk from worktree [y,n,q,a,d,e,?]?
diff --git a/dir/foo b/dir/foo
index 564b12f..b8f99f5 100644
--- a/dir/foo
+++ b/dir/foo
@@ -1 +1 @@
-head
+work
(1/1) Discard this hunk from worktree [y,n,q,a,d,e,?]?
ok 3 - git checkout -p
expecting success of 2016.4 'git checkout -p with staged changes':
set_state dir/foo work index &&
test_write_lines n y | git checkout -p &&
verify_saved_state bar &&
verify_state dir/foo index index
diff --git a/bar b/bar
index 7780244..8c999e6 100644
--- a/bar
+++ b/bar
@@ -1 +1 @@
-bar_index
+bar_work
(1/1) Discard this hunk from worktree [y,n,q,a,d,e,?]?
diff --git a/dir/foo b/dir/foo
index 9015a7a..b8f99f5 100644
--- a/dir/foo
+++ b/dir/foo
@@ -1 +1 @@
-index
+work
(1/1) Discard this hunk from worktree [y,n,q,a,d,e,?]?
ok 4 - git checkout -p with staged changes
expecting success of 2016.5 'git checkout -p HEAD with NO staged changes: abort':
set_and_save_state dir/foo work head &&
test_write_lines n y n | git checkout -p HEAD &&
verify_saved_state bar &&
verify_saved_state dir/foo
diff --git a/bar b/bar
index 421376d..8c999e6 100644
--- a/bar
+++ b/bar
@@ -1 +1 @@
-dummy
+bar_work
(1/1) Discard this hunk from index and worktree [y,n,q,a,d,e,?]?
diff --git a/dir/foo b/dir/foo
index 564b12f..b8f99f5 100644
--- a/dir/foo
+++ b/dir/foo
@@ -1 +1 @@
-head
+work
(1/1) Discard this hunk from index and worktree [y,n,q,a,d,e,?]? error: patch failed: dir/foo:1
error: dir/foo: patch does not apply
The selected hunks do not apply to the index!
Apply them to the worktree anyway? Nothing was applied.
ok 5 - git checkout -p HEAD with NO staged changes: abort
expecting success of 2016.6 'git checkout -p HEAD with NO staged changes: apply':
test_write_lines n y y | git checkout -p HEAD &&
verify_saved_state bar &&
verify_state dir/foo head head
diff --git a/bar b/bar
index 421376d..8c999e6 100644
--- a/bar
+++ b/bar
@@ -1 +1 @@
-dummy
+bar_work
(1/1) Discard this hunk from index and worktree [y,n,q,a,d,e,?]?
diff --git a/dir/foo b/dir/foo
index 564b12f..b8f99f5 100644
--- a/dir/foo
+++ b/dir/foo
@@ -1 +1 @@
-head
+work
(1/1) Discard this hunk from index and worktree [y,n,q,a,d,e,?]? error: patch failed: dir/foo:1
error: dir/foo: patch does not apply
The selected hunks do not apply to the index!
Apply them to the worktree anyway?
ok 6 - git checkout -p HEAD with NO staged changes: apply
expecting success of 2016.7 'git checkout -p HEAD with change already staged':
set_state dir/foo index index &&
# the third n is to get out in case it mistakenly does not apply
test_write_lines n y n | git checkout -p HEAD &&
verify_saved_state bar &&
verify_state dir/foo head head
diff --git a/bar b/bar
index 421376d..8c999e6 100644
--- a/bar
+++ b/bar
@@ -1 +1 @@
-dummy
+bar_work
(1/1) Discard this hunk from index and worktree [y,n,q,a,d,e,?]?
diff --git a/dir/foo b/dir/foo
index 564b12f..9015a7a 100644
--- a/dir/foo
+++ b/dir/foo
@@ -1 +1 @@
-head
+index
(1/1) Discard this hunk from index and worktree [y,n,q,a,d,e,?]?
ok 7 - git checkout -p HEAD with change already staged
expecting success of 2016.8 'git checkout -p HEAD^':
# the third n is to get out in case it mistakenly does not apply
test_write_lines n y n | git checkout -p HEAD^ &&
verify_saved_state bar &&
verify_state dir/foo parent parent
diff --git b/bar a/bar
index 8c999e6..421376d 100644
--- b/bar
+++ a/bar
@@ -1 +1 @@
-bar_work
+dummy
(1/1) Apply this hunk to index and worktree [y,n,q,a,d,e,?]?
diff --git b/dir/foo a/dir/foo
index 564b12f..9676f5b 100644
--- b/dir/foo
+++ a/dir/foo
@@ -1 +1 @@
-head
+parent
(1/1) Apply this hunk to index and worktree [y,n,q,a,d,e,?]?
ok 8 - git checkout -p HEAD^
expecting success of 2016.9 'git checkout -p handles deletion':
set_state dir/foo work index &&
rm dir/foo &&
test_write_lines n y | git checkout -p &&
verify_saved_state bar &&
verify_state dir/foo index index
diff --git a/bar b/bar
index 7780244..8c999e6 100644
--- a/bar
+++ b/bar
@@ -1 +1 @@
-bar_index
+bar_work
(1/1) Discard this hunk from worktree [y,n,q,a,d,e,?]?
diff --git a/dir/foo b/dir/foo
index 9015a7a..0000000
--- a/dir/foo
+++ /dev/null
deleted file mode 100644
@@ -1 +0,0 @@
-index
(1/1) Discard deletion from worktree [y,n,q,a,d,?]?
ok 9 - git checkout -p handles deletion
expecting success of 2016.10 'path limiting works: dir':
set_state dir/foo work head &&
test_write_lines y n | git checkout -p dir &&
verify_saved_state bar &&
verify_state dir/foo head head
diff --git a/dir/foo b/dir/foo
index 564b12f..b8f99f5 100644
--- a/dir/foo
+++ b/dir/foo
@@ -1 +1 @@
-head
+work
(1/1) Discard this hunk from worktree [y,n,q,a,d,e,?]?
ok 10 - path limiting works: dir
expecting success of 2016.11 'path limiting works: -- dir':
set_state dir/foo work head &&
test_write_lines y n | git checkout -p -- dir &&
verify_saved_state bar &&
verify_state dir/foo head head
diff --git a/dir/foo b/dir/foo
index 564b12f..b8f99f5 100644
--- a/dir/foo
+++ b/dir/foo
@@ -1 +1 @@
-head
+work
(1/1) Discard this hunk from worktree [y,n,q,a,d,e,?]?
ok 11 - path limiting works: -- dir
expecting success of 2016.12 'path limiting works: HEAD^ -- dir':
# the third n is to get out in case it mistakenly does not apply
test_write_lines y n n | git checkout -p HEAD^ -- dir &&
verify_saved_state bar &&
verify_state dir/foo parent parent
diff --git b/dir/foo a/dir/foo
index 564b12f..9676f5b 100644
--- b/dir/foo
+++ a/dir/foo
@@ -1 +1 @@
-head
+parent
(1/1) Apply this hunk to index and worktree [y,n,q,a,d,e,?]?
ok 12 - path limiting works: HEAD^ -- dir
expecting success of 2016.13 'path limiting works: foo inside dir':
set_state dir/foo work head &&
# the third n is to get out in case it mistakenly does not apply
test_write_lines y n n | (cd dir && git checkout -p foo) &&
verify_saved_state bar &&
verify_state dir/foo head head
diff --git a/dir/foo b/dir/foo
index 564b12f..b8f99f5 100644
--- a/dir/foo
+++ b/dir/foo
@@ -1 +1 @@
-head
+work
(1/1) Discard this hunk from worktree [y,n,q,a,d,e,?]?
ok 13 - path limiting works: foo inside dir
expecting success of 2016.14 'none of this moved HEAD':
verify_saved_head
ok 14 - none of this moved HEAD
# passed all 14 test(s)
1..14
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t2050-git-dir-relative.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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
expecting success of 2050.2 'post-commit hook used ordinarily':
echo initial >top &&
git add top &&
git commit -m initial &&
test -r "${COMMIT_FILE}"
Post commit hook was called.
[master (root-commit) c3aeb8e] initial
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 top
ok 2 - post-commit hook used ordinarily
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}"
Post commit hook was called.
[master 2fb8742] topcommit
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
ok 3 - post-commit-hook created and used from top dir
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}"
Post commit hook was called.
[master 7da4972] subcommit
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
ok 4 - post-commit-hook from sub dir
# passed all 4 test(s)
1..4
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t2024-checkout-dwim.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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 &&
(
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
) &&
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
[master (root-commit) 93159a7] my_master
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 my_master.t
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t2024-checkout-dwim/repo_a/.git/
[master (root-commit) 9480204] a_master
Author: A U Thor <author@example.com>
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 <author@example.com>
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 <author@example.com>
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 <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 a_ambiguous_branch_and_file.t
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t2024-checkout-dwim/repo_b/.git/
[master (root-commit) eb1360a] b_master
Author: A U Thor <author@example.com>
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 <author@example.com>
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 <author@example.com>
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 <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 b_ambiguous_branch_and_file.t
Fetching repo_a
warning: no common commits
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
warning: no common commits
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
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 2024.3 'checkout of branch from multiple remotes fails #1':
git checkout -B master &&
test_might_fail git branch -D foo &&
test_must_fail git checkout foo &&
status_uno_is_clean &&
test_must_fail git rev-parse --verify refs/heads/foo &&
test_branch master
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/<name>
hint:
hint: If you'd like to always have checkouts of an ambiguous <name> 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
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" &&
# 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 &&
test_must_fail git checkout ambiguous_branch_and_file 2>err &&
test_i18ngrep "matched multiple (2) remote tracking branches" err &&
# file must not be altered
test_cmp expect ambiguous_branch_and_file
Switched to a new branch 't_ambiguous_branch_and_file'
[t_ambiguous_branch_and_file 314694c] ambiguous_branch_and_file
Author: A U Thor <author@example.com>
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 ambiguous_branch_and_file
checking prerequisite: C_LOCALE_OUTPUT
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
! test_bool_env GIT_TEST_GETTEXT_POISON false
)
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/<name>
hint:
hint: If you'd like to always have checkouts of an ambiguous <name> 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
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 &&
git checkout -p foo 2>stderr &&
test_i18ngrep ! "^hint: " stderr &&
status_uno_is_clean
Reset branch 'master'
error: branch 'foo' not found.
ok 6 - checkout -p with multiple remotes does not print advice
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 &&
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
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 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 &&
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
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
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 &&
test_must_fail git checkout --no-guess bar &&
test_must_fail git rev-parse --verify refs/heads/bar &&
test_branch master
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
expecting success of 2024.11 '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
Reset branch 'master'
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t2024-checkout-dwim/repo_c/.git/
[master (root-commit) dc015ba] c_master
Author: A U Thor <author@example.com>
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 <author@example.com>
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 <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 c_spam.t
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t2024-checkout-dwim/repo_d/.git/
[master (root-commit) f130d8f] d_master
Author: A U Thor <author@example.com>
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 <author@example.com>
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 <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 d_eggs.t
Fetching repo_a
Fetching repo_b
Fetching repo_c
warning: no common commits
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
warning: no common commits
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 11 - setup more remotes with unconventional refspecs
expecting success of 2024.12 'checkout of branch from multiple remotes fails #2':
git checkout -B master &&
status_uno_is_clean &&
test_might_fail git branch -D bar &&
test_must_fail git checkout bar &&
status_uno_is_clean &&
test_must_fail git rev-parse --verify refs/heads/bar &&
test_branch master
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/<name>
hint:
hint: If you'd like to always have checkouts of an ambiguous <name> 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 12 - checkout of branch from multiple remotes fails #2
expecting success of 2024.13 'checkout of branch from multiple remotes fails #3':
git checkout -B master &&
status_uno_is_clean &&
test_might_fail git branch -D baz &&
test_must_fail git checkout baz &&
status_uno_is_clean &&
test_must_fail git rev-parse --verify refs/heads/baz &&
test_branch master
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/<name>
hint:
hint: If you'd like to always have checkouts of an ambiguous <name> 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 13 - checkout of branch from multiple remotes fails #3
expecting success of 2024.14 'checkout of branch from a single remote succeeds #3':
git checkout -B master &&
status_uno_is_clean &&
test_might_fail git branch -D 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
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 14 - checkout of branch from a single remote succeeds #3
expecting success of 2024.15 'checkout of branch from a single remote succeeds #4':
git checkout -B master &&
status_uno_is_clean &&
test_might_fail git branch -D eggs &&
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
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 15 - checkout of branch from a single remote succeeds #4
expecting success of 2024.16 '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 &&
>spam &&
test_must_fail git checkout spam &&
status_uno_is_clean &&
test_must_fail git rev-parse --verify refs/heads/spam &&
test_branch master
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 16 - checkout of branch with a file having the same name fails
expecting success of 2024.17 '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 &&
>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
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 17 - checkout of branch with a file in subdir having the same name fails
expecting success of 2024.18 'checkout <branch> -- 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 &&
>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
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 18 - checkout <branch> -- succeeds, even if a file with the same name exists
expecting success of 2024.19 'loosely defined local base branch is reported correctly':
git checkout master &&
status_uno_is_clean &&
git branch strict &&
git branch loose &&
git commit --allow-empty -m "a bit more" &&
test_config branch.strict.remote . &&
test_config branch.loose.remote . &&
test_config branch.strict.merge refs/heads/master &&
test_config branch.loose.merge master &&
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 &&
test_cmp expect actual
Switched to branch 'master'
[master b3a488e] a bit more
Author: A U Thor <author@example.com>
Switched to branch 'strict'
Switched to branch 'loose'
ok 19 - loosely defined local base branch is reported correctly
expecting success of 2024.20 '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
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 20 - reject when arg could be part of dwim branch
expecting success of 2024.21 '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
fatal: bad revision 'refs/heads/dwim-arg1'
foo
ok 21 - disambiguate dwim branch and checkout path (1)
expecting success of 2024.22 '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
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 22 - disambiguate dwim branch and checkout path (2)
# passed all 22 test(s)
1..22
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t2060-switch.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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
[master (root-commit) 50e526b] first
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 first.t
[master d662100] second
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 second.t
[master cd7036d] third
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 third.t
ok 1 - setup
expecting success of 2060.2 'switch branch no arguments':
test_must_fail git switch
fatal: missing branch or commit argument
ok 2 - switch branch no arguments
expecting success of 2060.3 'switch branch':
git switch first-branch &&
test_path_is_missing second.t
Switched to branch 'first-branch'
ok 3 - switch branch
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
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
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
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
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
Switched to a new branch 'temp'
Switched to branch 'master'
ok 6 - switch and create branch
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
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
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
fatal: '--orphan' cannot take <start-point>
Switched to a new branch 'new-orphan'
[new-orphan (root-commit) 11bb70e] orphan
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 orphan.t
Switched to branch 'master'
ok 8 - new orphan branch from empty
expecting success of 2060.9 '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
Switched to branch 'first-branch'
Switched to branch 'master'
ok 9 - switching ignores file of same branch name
expecting success of 2060.10 'guess and create branch ':
test_when_finished git switch master &&
test_must_fail git switch --no-guess foo &&
git switch foo &&
echo refs/heads/foo >expected &&
git symbolic-ref HEAD >actual &&
test_cmp expected actual
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 10 - guess and create branch
expecting success of 2060.11 '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 @^
fatal: cannot switch branch while merging
Consider "git merge --quit" or "git worktree add".
ok 11 - not switching when something is in progress
# passed all 11 test(s)
1..11
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t2030-unresolve-info.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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
[master (root-commit) 7b271e3] initial
Author: A U Thor <author@example.com>
2 files changed, 1 insertion(+)
create mode 100644 binary
create mode 100644 fi/le
[master 9a00f99] second
Author: A U Thor <author@example.com>
2 files changed, 1 insertion(+), 1 deletion(-)
Switched to branch 'side'
[side b18340d] third
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
Switched to branch 'another'
[another cf4d985] fourth
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
Switched to branch 'add-add'
[add-add b851e77] fifth
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 add-differently
Switched to branch 'master'
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
HEAD is now at 9a00f99 second
Note: switching to 'second^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 <new-branch-name>
Or undo this operation with:
git switch -
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 <author@example.com>
committing keeps
Warning: you are leaving 1 commit behind, not connected to
any of your branches:
b3a51df merged
If you want to keep it by creating a new branch, this may be a good time
to do so with:
git branch <new-branch-name> b3a51df
HEAD is now at 9a00f99 second
switching clears
ok 2 - add records switch clears
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 &&
echo merge clears upfront &&
test_must_fail git merge fourth^0 &&
check_resolve_undo nuked &&
git rm -f fi/le &&
echo resolving records &&
check_resolve_undo recorded fi/le initial:fi/le HEAD:fi/le fourth:fi/le &&
git reset --hard &&
echo resetting discards &&
check_resolve_undo discarded
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 <author@example.com>
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 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 &&
echo plumbing clear &&
git update-index --clear-resolve-undo &&
check_resolve_undo cleared
HEAD is now at 70d285e merged
Warning: you are leaving 1 commit behind, not connected to
any of your branches:
70d285e merged
If you want to keep it by creating a new branch, this may be a good time
to do so with:
git branch <new-branch-name> 70d285e
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 <author@example.com>
committing keeps
plumbing clear
ok 4 - plumbing clears
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
HEAD is now at 894de51 merged
Warning: you are leaving 1 commit behind, not connected to
any of your branches:
894de51 merged
If you want to keep it by creating a new branch, this may be a good time
to do so with:
git branch <new-branch-name> 894de51
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
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
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
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 &&
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
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 &&
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)
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
Previous HEAD position was 9a00f99 second
Switched to branch 'side'
[side 431a49e] binary
Author: A U Thor <author@example.com>
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)
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
Switched to branch 'master'
[master 2aac45c] add differently
Author: A U Thor <author@example.com>
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
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
! test_bool_env GIT_TEST_GETTEXT_POISON false
)
prerequisite C_LOCALE_OUTPUT ok
error: no remembered resolution for 'add-differently'
ok 10 - rerere forget (add-add conflict)
# passed all 10 test(s)
1..10
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t2070-restore.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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
[master (root-commit) 50e526b] first
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 first.t
[master a46c920] second
Author: A U Thor <author@example.com>
2 files changed, 2 insertions(+)
create mode 100644 second.t
ok 1 - setup
expecting success of 2070.2 'restore without pathspec is not ok':
test_must_fail git restore &&
test_must_fail git restore --source=first
fatal: you must specify path(s) to restore
fatal: you must specify path(s) to restore
ok 2 - restore without pathspec is not ok
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
ok 3 - restore a file, ignoring branch of same name
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
HEAD is now at a46c920 second
ok 4 - restore a file on worktree from another ref
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
HEAD is now at a46c920 second
ok 5 - restore a file in the index from another ref
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
HEAD is now at a46c920 second
ok 6 - restore a file in both the index and worktree from another ref
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
HEAD is now at a46c920 second
ok 7 - restore --staged uses HEAD as source
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
HEAD is now at a46c920 second
ok 8 - restore --worktree --staged uses HEAD as source
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 dirty >>common &&
test_must_fail git restore . &&
git restore --ignore-unmerged --quiet . >output 2>&1 &&
git diff common >diff-output &&
test_must_be_empty output &&
test_must_be_empty diff-output
)
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t2070-restore/unmerged/.git/
[master (root-commit) b83edd8] common
Author: A U Thor <author@example.com>
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 <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
Switched to a new branch 'second'
[second 06de6fa] second
Author: A U Thor <author@example.com>
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
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
[master 94e3084] create files to be deleted
Author: A U Thor <author@example.com>
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
expecting success of 2070.11 'restore --staged invalidates cache tree for deletions':
test_when_finished git reset --hard &&
>new1 &&
>new2 &&
git add new1 new2 &&
# 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^ &&
git restore --staged new1 &&
git commit -m "just new2" &&
git rev-parse HEAD:new2 &&
test_must_fail git rev-parse HEAD:new1
[master 19f4790] both
Author: A U Thor <author@example.com>
2 files changed, 0 insertions(+), 0 deletions(-)
create mode 100644 new1
create mode 100644 new2
[master 2c4724a] just new2
Author: A U Thor <author@example.com>
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
# passed all 11 test(s)
1..11
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t2072-restore-pathspec-file.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t2072-restore-pathspec-file/.git/
expecting success of 2072.1 'setup':
test_commit file0 &&
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" &&
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
[master (root-commit) ad2e047] file0
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 file0.t
[master 46ee160] files 1
Author: A U Thor <author@example.com>
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 <author@example.com>
4 files changed, 4 insertions(+), 4 deletions(-)
ok 1 - setup
expecting success of 2072.2 '--pathspec-from-file from stdin':
restore_checkpoint &&
echo fileA.t | git restore --pathspec-from-file=- --source=HEAD^1 &&
cat >expect <<-\EOF &&
M fileA.t
EOF
verify_expect
HEAD is now at 774eb8e files 2
ok 2 - --pathspec-from-file from stdin
expecting success of 2072.3 '--pathspec-from-file from file':
restore_checkpoint &&
echo fileA.t >list &&
git restore --pathspec-from-file=list --source=HEAD^1 &&
cat >expect <<-\EOF &&
M fileA.t
EOF
verify_expect
HEAD is now at 774eb8e files 2
ok 3 - --pathspec-from-file from file
expecting success of 2072.4 'NUL delimiters':
restore_checkpoint &&
printf "fileA.t\0fileB.t\0" | git restore --pathspec-from-file=- --pathspec-file-nul --source=HEAD^1 &&
cat >expect <<-\EOF &&
M fileA.t
M fileB.t
EOF
verify_expect
HEAD is now at 774eb8e files 2
ok 4 - NUL delimiters
expecting success of 2072.5 'LF delimiters':
restore_checkpoint &&
printf "fileA.t\nfileB.t\n" | git restore --pathspec-from-file=- --source=HEAD^1 &&
cat >expect <<-\EOF &&
M fileA.t
M fileB.t
EOF
verify_expect
HEAD is now at 774eb8e files 2
ok 5 - LF delimiters
expecting success of 2072.6 'no trailing delimiter':
restore_checkpoint &&
printf "fileA.t\nfileB.t" | git restore --pathspec-from-file=- --source=HEAD^1 &&
cat >expect <<-\EOF &&
M fileA.t
M fileB.t
EOF
verify_expect
HEAD is now at 774eb8e files 2
ok 6 - no trailing delimiter
expecting success of 2072.7 'CRLF delimiters':
restore_checkpoint &&
printf "fileA.t\r\nfileB.t\r\n" | git restore --pathspec-from-file=- --source=HEAD^1 &&
cat >expect <<-\EOF &&
M fileA.t
M fileB.t
EOF
verify_expect
HEAD is now at 774eb8e files 2
ok 7 - CRLF delimiters
expecting success of 2072.8 'quotes':
restore_checkpoint &&
cat >list <<-\EOF &&
"file\101.t"
EOF
git restore --pathspec-from-file=list --source=HEAD^1 &&
cat >expect <<-\EOF &&
M fileA.t
EOF
verify_expect
HEAD is now at 774eb8e files 2
ok 8 - quotes
expecting success of 2072.9 'quotes not compatible with --pathspec-file-nul':
restore_checkpoint &&
cat >list <<-\EOF &&
"file\101.t"
EOF
test_must_fail git restore --pathspec-from-file=list --pathspec-file-nul --source=HEAD^1
HEAD is now at 774eb8e 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
expecting success of 2072.10 'only touches what was listed':
restore_checkpoint &&
printf "fileB.t\nfileC.t\n" | git restore --pathspec-from-file=- --source=HEAD^1 &&
cat >expect <<-\EOF &&
M fileB.t
M fileC.t
EOF
verify_expect
HEAD is now at 774eb8e files 2
ok 10 - only touches what was listed
expecting success of 2072.11 'error conditions':
restore_checkpoint &&
echo fileA.t >list &&
>empty_list &&
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 &&
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 &&
test_must_fail git restore --pathspec-file-nul --source=HEAD^1 2>err &&
test_i18ngrep -e "--pathspec-file-nul requires --pathspec-from-file" err &&
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
HEAD is now at 774eb8e files 2
checking prerequisite: C_LOCALE_OUTPUT
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
! test_bool_env GIT_TEST_GETTEXT_POISON false
)
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
# passed all 11 test(s)
1..11
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t2100-update-cache-badpath.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t2100-update-cache-badpath/.git/
checking prerequisite: SYMLINKS
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
# test whether the filesystem supports symbolic links
ln -s x y && test -h y
)
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 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.
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 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.
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.
# passed all 5 test(s)
1..5
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t2101-update-index-reupdate.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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) ba9783a] initial
Author: A U Thor <author@example.com>
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
ok 5 - update-index again
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
ok 6 - update-index --update from subdir
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
ok 7 - update-index --update with pathspec
# passed all 7 test(s)
1..7
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t2102-update-index-symlinks.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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
expecting success of 2102.2 'modify the symbolic link':
printf new-file > symlink &&
git update-index symlink
ok 2 - modify the symbolic link
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
# passed all 3 test(s)
1..3
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t2104-update-index-skip-worktree.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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 -
ok 1 - setup
expecting success of 2104.2 'index is at version 2':
test "$(test-tool index-version < .git/index)" = 2
ok 2 - index is at version 2
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 -
ok 3 - update-index --skip-worktree
expecting success of 2104.4 'index is at version 3 after having some skip-worktree entries':
test "$(test-tool index-version < .git/index)" = 3
ok 4 - index is at version 3 after having some skip-worktree entries
expecting success of 2104.5 'ls-files -t':
git ls-files -t | test_cmp expect.skip -
ok 5 - ls-files -t
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 -
ok 6 - update-index --no-skip-worktree
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
ok 7 - index version is back to 2 when there is no skip-worktree entry
# passed all 7 test(s)
1..7
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t2103-update-index-ignore-missing.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t2103-update-index-ignore-missing/.git/
expecting success of 2103.1 'basics':
>one &&
>two &&
>three &&
# 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)" &&
# 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 &&
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 &&
test_cmp expect actual &&
test_tick &&
(
test_create_repo xyzzy &&
cd xyzzy &&
>file &&
git add file &&
git commit -m "sub initial"
) &&
git add xyzzy &&
test_tick &&
git commit -m initial &&
git tag initial
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 /<<PKGBUILDDIR>>/t/trash directory.t2103-update-index-ignore-missing/xyzzy/.git/
[master (root-commit) a40d181] sub initial
Author: A U Thor <author@example.com>
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 <url> 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 <author@example.com>
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 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
HEAD is now at ce14d7f initial
one: needs update
two: needs update
ok 2 - --ignore-missing --refresh
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
HEAD is now at ce14d7f initial
rm 'one'
one: needs merge
two: needs update
ok 3 - --unmerged --refresh
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
HEAD is now at ce14d7f initial
two: needs update
ok 4 - --ignore-submodules --refresh (1)
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
HEAD is now at ce14d7f initial
[master 66f0d66] sub second
Author: A U Thor <author@example.com>
xyzzy: needs update
xyzzy: needs update
ok 5 - --ignore-submodules --refresh (2)
# passed all 5 test(s)
1..5
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t2105-update-index-gitfile.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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)
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t2105-update-index-gitfile/sub1/.git/
[master (root-commit) 50e526b] first
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 first.t
ok 1 - submodule with absolute .git file
expecting success of 2105.2 'add gitlink to absolute .git file':
git update-index --add -- sub1
ok 2 - add gitlink to absolute .git file
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)
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t2105-update-index-gitfile/sub2/.git/
[master (root-commit) 50e526b] first
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 first.t
ok 3 - submodule with relative .git file
expecting success of 2105.4 'add gitlink to relative .git file':
git update-index --add -- sub2
ok 4 - add gitlink to relative .git file
# passed all 4 test(s)
1..4
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t2106-update-index-assume-unchanged.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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
[master (root-commit) aea9a6b] initial
Author: A U Thor <author@example.com>
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 file
[master aa0a517] upstream
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
ok 1 - setup
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 master
HEAD is now at aa0a517 upstream
Switched to branch 'other'
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 2 - do not switch branches with dirty file
# passed all 2 test(s)
1..2
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t2107-update-index-basic.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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
ok 1 - update-index --nonsense fails
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
checking prerequisite: C_LOCALE_OUTPUT
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
! test_bool_env GIT_TEST_GETTEXT_POISON false
)
prerequisite C_LOCALE_OUTPUT ok
usage: git update-index [<options>] [--] [<file>...]
ok 2 - update-index --nonsense dumps usage
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
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t2107-update-index-basic/broken/.git/
usage: git update-index [<options>] [--] [<file>...]
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 <mode>,<sha1>,<path>
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
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
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t2107-update-index-basic/submodule/.git/
[master (root-commit) ddd63c9] foo
Author: A U Thor <author@example.com>
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 <url> submodule
hint:
hint: If you added this path by mistake, you can remove it from the
hint: index with:
hint:
hint: git rm --cached submodule
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
expecting success of 2107.7 '--cacheinfo mode,sha1,path (new syntax)':
echo content >file &&
git hash-object -w --stdin <file >expect &&
git update-index --add --cacheinfo 100644 "$(cat expect)" file &&
git rev-parse :file >actual &&
test_cmp expect actual &&
git update-index --add --cacheinfo "100644,$(cat expect),elif" &&
git rev-parse :elif >actual &&
test_cmp expect actual
ok 7 - --cacheinfo mode,sha1,path (new syntax)
expecting success of 2107.8 '.lock files cleaned up':
mkdir cleanup &&
(
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
)
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t2107-update-index-basic/cleanup/repo/.git/
ok 8 - .lock files cleaned up
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
EOF
git ls-files --stage A B >actual &&
test_cmp expect actual
ok 9 - --chmod=+x and chmod=-x in the same argument list
# passed all 9 test(s)
1..9
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t2200-add-update.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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
[master (root-commit) ec46c19] initial
Author: A U Thor <author@example.com>
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
ok 2 - update
expecting success of 2200.3 'update noticed a removal':
test "$(git ls-files dir1/sub1)" = ""
ok 3 - update noticed a removal
expecting success of 2200.4 'update touched correct path':
test "$(git diff-files --name-status dir2/sub3)" = ""
ok 4 - update touched correct path
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"
ok 5 - update did not touch other tracked files
expecting success of 2200.6 'update did not touch untracked files':
test "$(git ls-files dir2/other)" = ""
ok 6 - update did not touch untracked files
expecting success of 2200.7 'cache tree has not been corrupted':
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 7 - cache tree has not been corrupted
expecting success of 2200.8 'update from a subdirectory':
(
cd dir1 &&
echo more >sub2 &&
git add -u sub2
)
ok 8 - update from a subdirectory
expecting success of 2200.9 'change gets noticed':
test "$(git diff-files --name-status dir1)" = ""
ok 9 - change gets noticed
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
ok 10 - non-qualified update in subdir updates from the root
expecting success of 2200.11 'replace a file with a symlink':
rm foo &&
test_ln_s_add top foo
checking prerequisite: SYMLINKS
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
# test whether the filesystem supports symbolic links
ln -s x y && test -h y
)
prerequisite SYMLINKS ok
ok 11 - replace a file with a symlink
expecting success of 2200.12 'add everything changed':
git add -u &&
test -z "$(git diff-files)"
ok 12 - add everything changed
expecting success of 2200.13 'touch and then add -u':
touch check &&
git add -u &&
test -z "$(git diff-files)"
ok 13 - touch and then add -u
expecting success of 2200.14 'touch and then add explicitly':
touch check &&
git add check &&
test -z "$(git diff-files)"
ok 14 - touch and then add explicitly
expecting success of 2200.15 'add -n -u should not add but just report':
(
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) &&
test "$before" = "$after" &&
test_i18ncmp expect actual
checking prerequisite: C_LOCALE_OUTPUT
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
! test_bool_env GIT_TEST_GETTEXT_POISON false
)
prerequisite C_LOCALE_OUTPUT ok
ok 15 - add -n -u should not add but just report
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 &&
# 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 &&
# "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
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 2200.17 '"add -u non-existent" should fail':
test_must_fail git add -u non-existent &&
! (git ls-files | grep "non-existent")
fatal: pathspec 'non-existent' did not match any files
ok 17 - "add -u non-existent" should fail
# passed all 17 test(s)
1..17
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t2201-add-update-typechange.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t2201-add-update-typechange/.git/
expecting success of 2201.1 'setup':
>xyzzy &&
_empty=$(git hash-object --stdin <xyzzy) &&
>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 &&
test_tick &&
git commit -m initial
checking prerequisite: SYMLINKS
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
# test whether the filesystem supports symbolic links
ln -s x y && test -h y
)
prerequisite SYMLINKS ok
[master (root-commit) 8dc0761] initial
Author: A U Thor <author@example.com>
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 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
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t2201-add-update-typechange/yomin/.git/
[master (root-commit) 9da2848] sub initial
Author: A U Thor <author@example.com>
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 yomin
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t2201-add-update-typechange/yonk/.git/
[master (root-commit) 9cc3160] sub initial
Author: A U Thor <author@example.com>
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 yonk
ok 2 - modify
expecting success of 2201.3 'diff-files':
git diff-files --raw >actual &&
test_cmp expect-files actual
ok 3 - diff-files
expecting success of 2201.4 'diff-index':
git diff-index --raw HEAD -- >actual &&
test_cmp expect-index actual
ok 4 - diff-index
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
ok 5 - add -u
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
[master 0f3d2ce] second
Author: A U Thor <author@example.com>
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
# passed all 6 test(s)
1..6
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t2202-add-addremove.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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
[master (root-commit) 50dd5d8] initial
Author: A U Thor <author@example.com>
2 files changed, 3 insertions(+)
create mode 100644 .gitignore
create mode 100644 will-remove
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
ok 2 - git add --all
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
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
# passed all 3 test(s)
1..3
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t2204-add-ignored.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t2204-add-ignored/.git/
expecting success of 2204.1 'setup':
mkdir sub dir dir/sub &&
echo sub >.gitignore &&
echo ign >>.gitignore &&
for p in . sub dir dir/sub
do
>"$p/ign" &&
>"$p/file" || exit 1
done
ok 1 - setup
expecting success of 2204.2 'no complaints for unignored file':
rm -f .git/index &&
git add "$i" &&
git ls-files "$i" >out &&
test -s out
ok 2 - no complaints for unignored file
expecting success of 2204.3 'no complaints for unignored dir/file':
rm -f .git/index &&
git add "$i" &&
git ls-files "$i" >out &&
test -s out
ok 3 - no complaints for unignored dir/file
expecting success of 2204.4 'no complaints for unignored dir':
rm -f .git/index &&
git add "$i" &&
git ls-files "$i" >out &&
test -s out
ok 4 - no complaints for unignored dir
expecting success of 2204.5 'no complaints for unignored d*':
rm -f .git/index &&
git add "$i" &&
git ls-files "$i" >out &&
test -s out
ok 5 - no complaints for unignored d*
expecting success of 2204.6 'complaints for ignored ign':
rm -f .git/index &&
test_must_fail git add "$i" 2>err &&
git ls-files "$i" >out &&
test_must_be_empty out
ok 6 - complaints for ignored ign
expecting success of 2204.7 'complaints for ignored ign output':
test_i18ngrep -e "Use -f if" err
checking prerequisite: C_LOCALE_OUTPUT
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
! test_bool_env GIT_TEST_GETTEXT_POISON false
)
prerequisite C_LOCALE_OUTPUT ok
hint: Use -f if you really want to add them.
ok 7 - complaints for ignored ign output
expecting success of 2204.8 'complaints for ignored ign with unignored file':
rm -f .git/index &&
test_must_fail git add "$i" file 2>err &&
git ls-files "$i" >out &&
test_must_be_empty out
ok 8 - complaints for ignored ign with unignored file
expecting success of 2204.9 'complaints for ignored ign with unignored file output':
test_i18ngrep -e "Use -f if" err
hint: Use -f if you really want to add them.
ok 9 - complaints for ignored ign with unignored file output
expecting success of 2204.10 'complaints for ignored dir/ign':
rm -f .git/index &&
test_must_fail git add "$i" 2>err &&
git ls-files "$i" >out &&
test_must_be_empty out
ok 10 - complaints for ignored dir/ign
expecting success of 2204.11 'complaints for ignored dir/ign output':
test_i18ngrep -e "Use -f if" err
hint: Use -f if you really want to add them.
ok 11 - complaints for ignored dir/ign output
expecting success of 2204.12 'complaints for ignored dir/ign with unignored file':
rm -f .git/index &&
test_must_fail git add "$i" file 2>err &&
git ls-files "$i" >out &&
test_must_be_empty out
ok 12 - complaints for ignored dir/ign with unignored file
expecting success of 2204.13 'complaints for ignored dir/ign with unignored file output':
test_i18ngrep -e "Use -f if" err
hint: Use -f if you really want to add them.
ok 13 - complaints for ignored dir/ign with unignored file output
expecting success of 2204.14 'complaints for ignored dir/sub':
rm -f .git/index &&
test_must_fail git add "$i" 2>err &&
git ls-files "$i" >out &&
test_must_be_empty out
ok 14 - complaints for ignored dir/sub
expecting success of 2204.15 'complaints for ignored dir/sub output':
test_i18ngrep -e "Use -f if" err
hint: Use -f if you really want to add them.
ok 15 - complaints for ignored dir/sub output
expecting success of 2204.16 'complaints for ignored dir/sub with unignored file':
rm -f .git/index &&
test_must_fail git add "$i" file 2>err &&
git ls-files "$i" >out &&
test_must_be_empty out
ok 16 - complaints for ignored dir/sub with unignored file
expecting success of 2204.17 'complaints for ignored dir/sub with unignored file output':
test_i18ngrep -e "Use -f if" err
hint: Use -f if you really want to add them.
ok 17 - complaints for ignored dir/sub with unignored file output
expecting success of 2204.18 'complaints for ignored dir/sub/ign':
rm -f .git/index &&
test_must_fail git add "$i" 2>err &&
git ls-files "$i" >out &&
test_must_be_empty out
ok 18 - complaints for ignored dir/sub/ign
expecting success of 2204.19 'complaints for ignored dir/sub/ign output':
test_i18ngrep -e "Use -f if" err
hint: Use -f if you really want to add them.
ok 19 - complaints for ignored dir/sub/ign output
expecting success of 2204.20 'complaints for ignored dir/sub/ign with unignored file':
rm -f .git/index &&
test_must_fail git add "$i" file 2>err &&
git ls-files "$i" >out &&
test_must_be_empty out
ok 20 - complaints for ignored dir/sub/ign with unignored file
expecting success of 2204.21 'complaints for ignored dir/sub/ign with unignored file output':
test_i18ngrep -e "Use -f if" err
hint: Use -f if you really want to add them.
ok 21 - complaints for ignored dir/sub/ign with unignored file output
expecting success of 2204.22 'complaints for ignored sub/file':
rm -f .git/index &&
test_must_fail git add "$i" 2>err &&
git ls-files "$i" >out &&
test_must_be_empty out
ok 22 - complaints for ignored sub/file
expecting success of 2204.23 'complaints for ignored sub/file output':
test_i18ngrep -e "Use -f if" err
hint: Use -f if you really want to add them.
ok 23 - complaints for ignored sub/file output
expecting success of 2204.24 'complaints for ignored sub/file with unignored file':
rm -f .git/index &&
test_must_fail git add "$i" file 2>err &&
git ls-files "$i" >out &&
test_must_be_empty out
ok 24 - complaints for ignored sub/file with unignored file
expecting success of 2204.25 'complaints for ignored sub/file with unignored file output':
test_i18ngrep -e "Use -f if" err
hint: Use -f if you really want to add them.
ok 25 - complaints for ignored sub/file with unignored file output
expecting success of 2204.26 'complaints for ignored sub':
rm -f .git/index &&
test_must_fail git add "$i" 2>err &&
git ls-files "$i" >out &&
test_must_be_empty out
ok 26 - complaints for ignored sub
expecting success of 2204.27 'complaints for ignored sub output':
test_i18ngrep -e "Use -f if" err
hint: Use -f if you really want to add them.
ok 27 - complaints for ignored sub output
expecting success of 2204.28 'complaints for ignored sub with unignored file':
rm -f .git/index &&
test_must_fail git add "$i" file 2>err &&
git ls-files "$i" >out &&
test_must_be_empty out
ok 28 - complaints for ignored sub with unignored file
expecting success of 2204.29 'complaints for ignored sub with unignored file output':
test_i18ngrep -e "Use -f if" err
hint: Use -f if you really want to add them.
ok 29 - complaints for ignored sub with unignored file output
expecting success of 2204.30 'complaints for ignored sub/file':
rm -f .git/index &&
test_must_fail git add "$i" 2>err &&
git ls-files "$i" >out &&
test_must_be_empty out
ok 30 - complaints for ignored sub/file
expecting success of 2204.31 'complaints for ignored sub/file output':
test_i18ngrep -e "Use -f if" err
hint: Use -f if you really want to add them.
ok 31 - complaints for ignored sub/file output
expecting success of 2204.32 'complaints for ignored sub/file with unignored file':
rm -f .git/index &&
test_must_fail git add "$i" file 2>err &&
git ls-files "$i" >out &&
test_must_be_empty out
ok 32 - complaints for ignored sub/file with unignored file
expecting success of 2204.33 'complaints for ignored sub/file with unignored file output':
test_i18ngrep -e "Use -f if" err
hint: Use -f if you really want to add them.
ok 33 - complaints for ignored sub/file with unignored file output
expecting success of 2204.34 'complaints for ignored sub/ign':
rm -f .git/index &&
test_must_fail git add "$i" 2>err &&
git ls-files "$i" >out &&
test_must_be_empty out
ok 34 - complaints for ignored sub/ign
expecting success of 2204.35 'complaints for ignored sub/ign output':
test_i18ngrep -e "Use -f if" err
hint: Use -f if you really want to add them.
ok 35 - complaints for ignored sub/ign output
expecting success of 2204.36 'complaints for ignored sub/ign with unignored file':
rm -f .git/index &&
test_must_fail git add "$i" file 2>err &&
git ls-files "$i" >out &&
test_must_be_empty out
ok 36 - complaints for ignored sub/ign with unignored file
expecting success of 2204.37 'complaints for ignored sub/ign with unignored file output':
test_i18ngrep -e "Use -f if" err
hint: Use -f if you really want to add them.
ok 37 - complaints for ignored sub/ign with unignored file output
expecting success of 2204.38 'complaints for ignored sub in dir':
rm -f .git/index &&
(
cd dir &&
test_must_fail git add "$i" 2>err &&
git ls-files "$i" >out &&
test_must_be_empty out
)
ok 38 - complaints for ignored sub in dir
expecting success of 2204.39 'complaints for ignored sub in dir output':
(
cd dir &&
test_i18ngrep -e "Use -f if" err
)
hint: Use -f if you really want to add them.
ok 39 - complaints for ignored sub in dir output
expecting success of 2204.40 'complaints for ignored sub/file in dir':
rm -f .git/index &&
(
cd dir &&
test_must_fail git add "$i" 2>err &&
git ls-files "$i" >out &&
test_must_be_empty out
)
ok 40 - complaints for ignored sub/file in dir
expecting success of 2204.41 'complaints for ignored sub/file in dir output':
(
cd dir &&
test_i18ngrep -e "Use -f if" err
)
hint: Use -f if you really want to add them.
ok 41 - complaints for ignored sub/file in dir output
expecting success of 2204.42 'complaints for ignored sub/ign in dir':
rm -f .git/index &&
(
cd dir &&
test_must_fail git add "$i" 2>err &&
git ls-files "$i" >out &&
test_must_be_empty out
)
ok 42 - complaints for ignored sub/ign in dir
expecting success of 2204.43 'complaints for ignored sub/ign in dir output':
(
cd dir &&
test_i18ngrep -e "Use -f if" err
)
hint: Use -f if you really want to add them.
ok 43 - complaints for ignored sub/ign in dir output
expecting success of 2204.44 'complaints for ignored ign in sub':
rm -f .git/index &&
(
cd sub &&
test_must_fail git add "$i" 2>err &&
git ls-files "$i" >out &&
test_must_be_empty out
)
ok 44 - complaints for ignored ign in sub
expecting success of 2204.45 'complaints for ignored ign in sub output':
(
cd sub &&
test_i18ngrep -e "Use -f if" err
)
hint: Use -f if you really want to add them.
ok 45 - complaints for ignored ign in sub output
expecting success of 2204.46 'complaints for ignored file in sub':
rm -f .git/index &&
(
cd sub &&
test_must_fail git add "$i" 2>err &&
git ls-files "$i" >out &&
test_must_be_empty out
)
ok 46 - complaints for ignored file in sub
expecting success of 2204.47 'complaints for ignored file in sub output':
(
cd sub &&
test_i18ngrep -e "Use -f if" err
)
hint: Use -f if you really want to add them.
ok 47 - complaints for ignored file in sub output
# passed all 47 test(s)
1..47
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t2203-add-intent.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t2203-add-intent/.git/
expecting success of 2203.1 'intent to add':
test_commit 1 &&
git rm 1.t &&
echo hello >1.t &&
echo hello >file &&
echo hello >elif &&
git add -N file &&
git add elif &&
git add -N 1.t
[master (root-commit) d0dcf97] 1
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 1.t
rm '1.t'
ok 1 - intent to add
expecting success of 2203.2 'git status':
git status --porcelain | grep -v actual >actual &&
cat >expect <<-\EOF &&
DA 1.t
A elif
A file
EOF
test_cmp expect actual
ok 2 - git status
expecting success of 2203.3 'git status with porcelain v2':
git status --porcelain=v2 | grep -v "^?" >actual &&
nam1=$(echo 1 | git hash-object --stdin) &&
nam2=$(git hash-object elif) &&
cat >expect <<-EOF &&
1 DA N... 100644 000000 100644 $nam1 $ZERO_OID 1.t
1 A. N... 000000 100644 100644 $ZERO_OID $nam2 elif
1 .A N... 000000 000000 100644 $ZERO_OID $ZERO_OID file
EOF
test_cmp expect actual
ok 3 - git status with porcelain v2
expecting success of 2203.4 'check result of "add -N"':
git ls-files -s file >actual &&
empty=$(git hash-object --stdin </dev/null) &&
echo "100644 $empty 0 file" >expect &&
test_cmp expect actual
ok 4 - check result of "add -N"
expecting success of 2203.5 'intent to add is just an ordinary empty blob':
git add -u &&
git ls-files -s file >actual &&
git ls-files -s elif | sed -e "s/elif/file/" >expect &&
test_cmp expect actual
ok 5 - intent to add is just an ordinary empty blob
expecting success of 2203.6 'intent to add does not clobber existing paths':
git add -N file elif &&
empty=$(git hash-object --stdin </dev/null) &&
git ls-files -s >actual &&
! grep "$empty" actual
ok 6 - intent to add does not clobber existing paths
expecting success of 2203.7 'i-t-a entry is simply ignored':
test_tick &&
git commit -a -m initial &&
git reset --hard &&
echo xyzzy >rezrov &&
echo frotz >nitfol &&
git add rezrov &&
git add -N nitfol &&
git commit -m second &&
test $(git ls-tree HEAD -- nitfol | wc -l) = 0 &&
test $(git diff --name-only HEAD -- nitfol | wc -l) = 1 &&
test $(git diff --name-only -- nitfol | wc -l) = 1
[master b7cca08] initial
Author: A U Thor <author@example.com>
3 files changed, 3 insertions(+), 1 deletion(-)
create mode 100644 elif
create mode 100644 file
HEAD is now at b7cca08 initial
[master b70ad0b] second
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 rezrov
ok 7 - i-t-a entry is simply ignored
expecting success of 2203.8 'can commit with an unrelated i-t-a entry in index':
git reset --hard &&
echo bozbar >rezrov &&
echo frotz >nitfol &&
git add rezrov &&
git add -N nitfol &&
git commit -m partial rezrov
HEAD is now at b70ad0b second
[master 1ed15b5] partial
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
ok 8 - can commit with an unrelated i-t-a entry in index
expecting success of 2203.9 'can "commit -a" with an i-t-a entry':
git reset --hard &&
: >nitfol &&
git add -N nitfol &&
git commit -a -m all
HEAD is now at 1ed15b5 partial
[master 415f3ad] all
Author: A U Thor <author@example.com>
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 nitfol
ok 9 - can "commit -a" with an i-t-a entry
expecting success of 2203.10 'cache-tree invalidates i-t-a paths':
git reset --hard &&
mkdir dir &&
: >dir/foo &&
git add dir/foo &&
git commit -m foo &&
: >dir/bar &&
git add -N dir/bar &&
git diff --name-only >actual &&
echo dir/bar >expect &&
test_cmp expect actual &&
git write-tree >/dev/null &&
git diff --name-only >actual &&
echo dir/bar >expect &&
test_cmp expect actual
HEAD is now at 415f3ad all
[master 03f6a20] foo
Author: A U Thor <author@example.com>
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 dir/foo
ok 10 - cache-tree invalidates i-t-a paths
expecting success of 2203.11 'cache-tree does not ignore dir that has i-t-a entries':
git init ita-in-dir &&
(
cd ita-in-dir &&
mkdir 2 &&
for f in 1 2/1 2/2 3
do
echo "$f" >"$f"
done &&
git add 1 2/2 3 &&
git add -N 2/1 &&
git commit -m committed &&
git ls-tree -r HEAD >actual &&
grep 2/2 actual
)
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t2203-add-intent/ita-in-dir/.git/
[master (root-commit) 7b0eb4f] committed
Author: A U Thor <author@example.com>
3 files changed, 3 insertions(+)
create mode 100644 1
create mode 100644 2/2
create mode 100644 3
100644 blob 6b8a6f549c42bad0c52be670caa297a269052aa7 2/2
ok 11 - cache-tree does not ignore dir that has i-t-a entries
expecting success of 2203.12 'cache-tree does skip dir that becomes empty':
rm -fr ita-in-dir &&
git init ita-in-dir &&
(
cd ita-in-dir &&
mkdir -p 1/2/3 &&
echo 4 >1/2/3/4 &&
git add -N 1/2/3/4 &&
git write-tree >actual &&
echo $EMPTY_TREE >expected &&
test_cmp expected actual
)
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t2203-add-intent/ita-in-dir/.git/
ok 12 - cache-tree does skip dir that becomes empty
expecting success of 2203.13 'commit: ita entries ignored in empty initial commit check':
git init empty-initial-commit &&
(
cd empty-initial-commit &&
: >one &&
git add -N one &&
test_must_fail git commit -m nothing-new-here
)
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t2203-add-intent/empty-initial-commit/.git/
On branch master
Initial commit
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
new file: one
no changes added to commit (use "git add" and/or "git commit -a")
ok 13 - commit: ita entries ignored in empty initial commit check
expecting success of 2203.14 'commit: ita entries ignored in empty commit check':
git init empty-subsequent-commit &&
(
cd empty-subsequent-commit &&
test_commit one &&
: >two &&
git add -N two &&
test_must_fail git commit -m nothing-new-here
)
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t2203-add-intent/empty-subsequent-commit/.git/
[master (root-commit) 4331c28] one
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 one.t
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
new file: two
no changes added to commit (use "git add" and/or "git commit -a")
ok 14 - commit: ita entries ignored in empty commit check
expecting success of 2203.15 'rename detection finds the right names':
git init rename-detection &&
(
cd rename-detection &&
echo contents >first &&
git add first &&
git commit -m first &&
mv first third &&
git add -N third &&
git status | grep -v "^?" >actual.1 &&
test_i18ngrep "renamed: *first -> third" actual.1 &&
git status --porcelain | grep -v "^?" >actual.2 &&
cat >expected.2 <<-\EOF &&
R first -> third
EOF
test_cmp expected.2 actual.2 &&
hash=$(git hash-object third) &&
git status --porcelain=v2 | grep -v "^?" >actual.3 &&
cat >expected.3 <<-EOF &&
2 .R N... 100644 100644 100644 $hash $hash R100 third first
EOF
test_cmp expected.3 actual.3 &&
git diff --stat >actual.4 &&
cat >expected.4 <<-EOF &&
first => third | 0
1 file changed, 0 insertions(+), 0 deletions(-)
EOF
test_cmp expected.4 actual.4 &&
git diff --cached --stat >actual.5 &&
test_must_be_empty actual.5
)
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t2203-add-intent/rename-detection/.git/
[master (root-commit) 0bad72c] first
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 first
checking prerequisite: C_LOCALE_OUTPUT
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
! test_bool_env GIT_TEST_GETTEXT_POISON false
)
prerequisite C_LOCALE_OUTPUT ok
renamed: first -> third
ok 15 - rename detection finds the right names
expecting success of 2203.16 'double rename detection in status':
git init rename-detection-2 &&
(
cd rename-detection-2 &&
echo contents >first &&
git add first &&
git commit -m first &&
git mv first second &&
mv second third &&
git add -N third &&
git status | grep -v "^?" >actual.1 &&
test_i18ngrep "renamed: *first -> second" actual.1 &&
test_i18ngrep "renamed: *second -> third" actual.1 &&
git status --porcelain | grep -v "^?" >actual.2 &&
cat >expected.2 <<-\EOF &&
R first -> second
R second -> third
EOF
test_cmp expected.2 actual.2 &&
hash=$(git hash-object third) &&
git status --porcelain=v2 | grep -v "^?" >actual.3 &&
cat >expected.3 <<-EOF &&
2 R. N... 100644 100644 100644 $hash $hash R100 second first
2 .R N... 100644 100644 100644 $hash $hash R100 third second
EOF
test_cmp expected.3 actual.3
)
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t2203-add-intent/rename-detection-2/.git/
[master (root-commit) 0bad72c] first
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 first
checking prerequisite: C_LOCALE_OUTPUT
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
! test_bool_env GIT_TEST_GETTEXT_POISON false
)
prerequisite C_LOCALE_OUTPUT ok
renamed: first -> second
renamed: second -> third
ok 16 - double rename detection in status
expecting success of 2203.17 'diff-files/diff-cached shows ita as new/not-new files':
git reset --hard &&
echo new >new-ita &&
git add -N new-ita &&
git diff --summary >actual &&
echo " create mode 100644 new-ita" >expected &&
test_cmp expected actual &&
git diff --cached --summary >actual2 &&
test_must_be_empty actual2
HEAD is now at 03f6a20 foo
ok 17 - diff-files/diff-cached shows ita as new/not-new files
expecting success of 2203.18 '"diff HEAD" includes ita as new files':
git reset --hard &&
echo new >new-ita &&
oid=$(git hash-object new-ita) &&
oid=$(git rev-parse --short $oid) &&
git add -N new-ita &&
git diff HEAD >actual &&
cat >expected <<-EOF &&
diff --git a/new-ita b/new-ita
new file mode 100644
index 0000000..$oid
--- /dev/null
+++ b/new-ita
@@ -0,0 +1 @@
+new
EOF
test_cmp expected actual
HEAD is now at 03f6a20 foo
ok 18 - "diff HEAD" includes ita as new files
expecting success of 2203.19 'apply --intent-to-add':
git reset --hard &&
echo new >new-ita &&
git add -N new-ita &&
git diff >expected &&
grep "new file" expected &&
git reset --hard &&
git apply --intent-to-add expected &&
git diff >actual &&
test_cmp expected actual
HEAD is now at 03f6a20 foo
new file mode 100644
HEAD is now at 03f6a20 foo
ok 19 - apply --intent-to-add
# passed all 19 test(s)
1..19
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t2300-cd-to-toplevel.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/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
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
checking prerequisite: SYMLINKS
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
# test whether the filesystem supports symbolic links
ln -s x y && test -h y
)
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
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 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
# passed all 5 test(s)
1..5
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t2071-restore-patch.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t2071-restore-patch/.git/
expecting success of 2071.1 'setup':
mkdir dir &&
echo parent >dir/foo &&
echo dummy >bar &&
git add bar dir/foo &&
git commit -m initial &&
test_tick &&
test_commit second dir/foo head &&
set_and_save_state bar bar_work bar_index &&
save_head
[master (root-commit) 6010d7c] initial
Author: A U Thor <author@example.com>
2 files changed, 2 insertions(+)
create mode 100644 bar
create mode 100644 dir/foo
[master 97f43cc] second
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
ok 1 - setup
expecting success of 2071.2 'restore -p without pathspec is fine':
echo q >cmd &&
git restore -p <cmd
diff --git a/bar b/bar
index 7780244..8c999e6 100644
--- a/bar
+++ b/bar
@@ -1 +1 @@
-bar_index
+bar_work
(1/1) Discard this hunk from worktree [y,n,q,a,d,e,?]?
ok 2 - restore -p without pathspec is fine
expecting success of 2071.3 'saying "n" does nothing':
set_and_save_state dir/foo work head &&
test_write_lines n n | git restore -p &&
verify_saved_state bar &&
verify_saved_state dir/foo
diff --git a/bar b/bar
index 7780244..8c999e6 100644
--- a/bar
+++ b/bar
@@ -1 +1 @@
-bar_index
+bar_work
(1/1) Discard this hunk from worktree [y,n,q,a,d,e,?]?
diff --git a/dir/foo b/dir/foo
index 564b12f..b8f99f5 100644
--- a/dir/foo
+++ b/dir/foo
@@ -1 +1 @@
-head
+work
(1/1) Discard this hunk from worktree [y,n,q,a,d,e,?]?
ok 3 - saying "n" does nothing
expecting success of 2071.4 'git restore -p':
set_and_save_state dir/foo work head &&
test_write_lines n y | git restore -p &&
verify_saved_state bar &&
verify_state dir/foo head head
diff --git a/bar b/bar
index 7780244..8c999e6 100644
--- a/bar
+++ b/bar
@@ -1 +1 @@
-bar_index
+bar_work
(1/1) Discard this hunk from worktree [y,n,q,a,d,e,?]?
diff --git a/dir/foo b/dir/foo
index 564b12f..b8f99f5 100644
--- a/dir/foo
+++ b/dir/foo
@@ -1 +1 @@
-head
+work
(1/1) Discard this hunk from worktree [y,n,q,a,d,e,?]?
ok 4 - git restore -p
expecting success of 2071.5 'git restore -p with staged changes':
set_state dir/foo work index &&
test_write_lines n y | git restore -p &&
verify_saved_state bar &&
verify_state dir/foo index index
diff --git a/bar b/bar
index 7780244..8c999e6 100644
--- a/bar
+++ b/bar
@@ -1 +1 @@
-bar_index
+bar_work
(1/1) Discard this hunk from worktree [y,n,q,a,d,e,?]?
diff --git a/dir/foo b/dir/foo
index 9015a7a..b8f99f5 100644
--- a/dir/foo
+++ b/dir/foo
@@ -1 +1 @@
-index
+work
(1/1) Discard this hunk from worktree [y,n,q,a,d,e,?]?
ok 5 - git restore -p with staged changes
expecting success of 2071.6 'git restore -p --source=HEAD':
set_state dir/foo work index &&
# the third n is to get out in case it mistakenly does not apply
test_write_lines n y n | git restore -p --source=HEAD &&
verify_saved_state bar &&
verify_state dir/foo head index
diff --git a/bar b/bar
index 421376d..8c999e6 100644
--- a/bar
+++ b/bar
@@ -1 +1 @@
-dummy
+bar_work
(1/1) Discard this hunk from worktree [y,n,q,a,d,e,?]?
diff --git a/dir/foo b/dir/foo
index 564b12f..b8f99f5 100644
--- a/dir/foo
+++ b/dir/foo
@@ -1 +1 @@
-head
+work
(1/1) Discard this hunk from worktree [y,n,q,a,d,e,?]?
ok 6 - git restore -p --source=HEAD
expecting success of 2071.7 'git restore -p --source=HEAD^':
set_state dir/foo work index &&
# the third n is to get out in case it mistakenly does not apply
test_write_lines n y n | git restore -p --source=HEAD^ &&
verify_saved_state bar &&
verify_state dir/foo parent index
diff --git b/bar a/bar
index 8c999e6..421376d 100644
--- b/bar
+++ a/bar
@@ -1 +1 @@
-bar_work
+dummy
(1/1) Apply this hunk to worktree [y,n,q,a,d,e,?]?
diff --git b/dir/foo a/dir/foo
index b8f99f5..9676f5b 100644
--- b/dir/foo
+++ a/dir/foo
@@ -1 +1 @@
-work
+parent
(1/1) Apply this hunk to worktree [y,n,q,a,d,e,?]?
ok 7 - git restore -p --source=HEAD^
expecting success of 2071.8 'git restore -p handles deletion':
set_state dir/foo work index &&
rm dir/foo &&
test_write_lines n y | git restore -p &&
verify_saved_state bar &&
verify_state dir/foo index index
diff --git a/bar b/bar
index 7780244..8c999e6 100644
--- a/bar
+++ b/bar
@@ -1 +1 @@
-bar_index
+bar_work
(1/1) Discard this hunk from worktree [y,n,q,a,d,e,?]?
diff --git a/dir/foo b/dir/foo
index 9015a7a..0000000
--- a/dir/foo
+++ /dev/null
deleted file mode 100644
@@ -1 +0,0 @@
-index
(1/1) Discard deletion from worktree [y,n,q,a,d,?]?
ok 8 - git restore -p handles deletion
expecting success of 2071.9 'path limiting works: dir':
set_state dir/foo work head &&
test_write_lines y n | git restore -p dir &&
verify_saved_state bar &&
verify_state dir/foo head head
diff --git a/dir/foo b/dir/foo
index 564b12f..b8f99f5 100644
--- a/dir/foo
+++ b/dir/foo
@@ -1 +1 @@
-head
+work
(1/1) Discard this hunk from worktree [y,n,q,a,d,e,?]?
ok 9 - path limiting works: dir
expecting success of 2071.10 'path limiting works: -- dir':
set_state dir/foo work head &&
test_write_lines y n | git restore -p -- dir &&
verify_saved_state bar &&
verify_state dir/foo head head
diff --git a/dir/foo b/dir/foo
index 564b12f..b8f99f5 100644
--- a/dir/foo
+++ b/dir/foo
@@ -1 +1 @@
-head
+work
(1/1) Discard this hunk from worktree [y,n,q,a,d,e,?]?
ok 10 - path limiting works: -- dir
expecting success of 2071.11 'path limiting works: HEAD^ -- dir':
set_state dir/foo work head &&
# the third n is to get out in case it mistakenly does not apply
test_write_lines y n n | git restore -p --source=HEAD^ -- dir &&
verify_saved_state bar &&
verify_state dir/foo parent head
diff --git b/dir/foo a/dir/foo
index b8f99f5..9676f5b 100644
--- b/dir/foo
+++ a/dir/foo
@@ -1 +1 @@
-work
+parent
(1/1) Apply this hunk to worktree [y,n,q,a,d,e,?]?
ok 11 - path limiting works: HEAD^ -- dir
expecting success of 2071.12 'path limiting works: foo inside dir':
set_state dir/foo work head &&
# the third n is to get out in case it mistakenly does not apply
test_write_lines y n n | (cd dir && git restore -p foo) &&
verify_saved_state bar &&
verify_state dir/foo head head
diff --git a/dir/foo b/dir/foo
index 564b12f..b8f99f5 100644
--- a/dir/foo
+++ b/dir/foo
@@ -1 +1 @@
-head
+work
(1/1) Discard this hunk from worktree [y,n,q,a,d,e,?]?
ok 12 - path limiting works: foo inside dir
expecting success of 2071.13 'none of this moved HEAD':
verify_saved_head
ok 13 - none of this moved HEAD
# passed all 13 test(s)
1..13
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t2401-worktree-prune.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t2401-worktree-prune/.git/
expecting success of 2401.1 'initialize':
git commit --allow-empty -m init
[master (root-commit) 3615cc7] init
Author: A U Thor <author@example.com>
ok 1 - initialize
expecting success of 2401.2 'worktree prune on normal repo':
git worktree prune &&
test_must_fail git worktree prune abc
usage: git worktree add [<options>] <path> [<commit-ish>]
or: git worktree list [<options>]
or: git worktree lock [<options>] <path>
or: git worktree move <worktree> <new-path>
or: git worktree prune [<options>]
or: git worktree remove [<options>] <worktree>
or: git worktree unlock <path>
-n, --dry-run do not remove, show only
-v, --verbose report pruned working trees
--expire <expiry-date>
expire working trees older than <time>
ok 2 - worktree prune on normal repo
expecting success of 2401.3 'prune files inside $GIT_DIR/worktrees':
mkdir .git/worktrees &&
: >.git/worktrees/abc &&
git worktree prune --verbose >actual &&
cat >expect <<EOF &&
Removing worktrees/abc: not a valid directory
EOF
test_i18ncmp expect actual &&
! test -f .git/worktrees/abc &&
! test -d .git/worktrees
checking prerequisite: C_LOCALE_OUTPUT
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
! test_bool_env GIT_TEST_GETTEXT_POISON false
)
prerequisite C_LOCALE_OUTPUT ok
ok 3 - prune files inside $GIT_DIR/worktrees
expecting success of 2401.4 'prune directories without gitdir':
mkdir -p .git/worktrees/def/abc &&
: >.git/worktrees/def/def &&
cat >expect <<EOF &&
Removing worktrees/def: gitdir file does not exist
EOF
git worktree prune --verbose >actual &&
test_i18ncmp expect actual &&
! test -d .git/worktrees/def &&
! test -d .git/worktrees
ok 4 - prune directories without gitdir
checking prerequisite: SANITY
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
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 2401.5 'prune directories with unreadable gitdir':
mkdir -p .git/worktrees/def/abc &&
: >.git/worktrees/def/def &&
: >.git/worktrees/def/gitdir &&
chmod u-r .git/worktrees/def/gitdir &&
git worktree prune --verbose >actual &&
test_i18ngrep "Removing worktrees/def: unable to read gitdir file" actual &&
! test -d .git/worktrees/def &&
! test -d .git/worktrees
Removing worktrees/def: unable to read gitdir file (Permission denied)
ok 5 - prune directories with unreadable gitdir
expecting success of 2401.6 'prune directories with invalid gitdir':
mkdir -p .git/worktrees/def/abc &&
: >.git/worktrees/def/def &&
: >.git/worktrees/def/gitdir &&
git worktree prune --verbose >actual &&
test_i18ngrep "Removing worktrees/def: invalid gitdir file" actual &&
! test -d .git/worktrees/def &&
! test -d .git/worktrees
Removing worktrees/def: invalid gitdir file
ok 6 - prune directories with invalid gitdir
expecting success of 2401.7 'prune directories with gitdir pointing to nowhere':
mkdir -p .git/worktrees/def/abc &&
: >.git/worktrees/def/def &&
echo "$(pwd)"/nowhere >.git/worktrees/def/gitdir &&
git worktree prune --verbose >actual &&
test_i18ngrep "Removing worktrees/def: gitdir file points to non-existent location" actual &&
! test -d .git/worktrees/def &&
! test -d .git/worktrees
Removing worktrees/def: gitdir file points to non-existent location
ok 7 - prune directories with gitdir pointing to nowhere
expecting success of 2401.8 'not prune locked checkout':
test_when_finished rm -r .git/worktrees &&
mkdir -p .git/worktrees/ghi &&
: >.git/worktrees/ghi/locked &&
git worktree prune &&
test -d .git/worktrees/ghi
ok 8 - not prune locked checkout
expecting success of 2401.9 'not prune recent checkouts':
test_when_finished rm -r .git/worktrees &&
git worktree add jlm HEAD &&
test -d .git/worktrees/jlm &&
rm -rf jlm &&
git worktree prune --verbose --expire=2.days.ago &&
test -d .git/worktrees/jlm
Preparing worktree (detached HEAD 3615cc7)
HEAD is now at 3615cc7 init
ok 9 - not prune recent checkouts
expecting success of 2401.10 'not prune proper checkouts':
test_when_finished rm -r .git/worktrees &&
git worktree add --detach "$PWD/nop" master &&
git worktree prune &&
test -d .git/worktrees/nop
Preparing worktree (detached HEAD 3615cc7)
HEAD is now at 3615cc7 init
ok 10 - not prune proper checkouts
# passed all 10 test(s)
1..10
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t2402-worktree-list.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t2402-worktree-list/.git/
expecting success of 2402.1 'setup':
test_commit init
[master (root-commit) 2519212] init
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 init.t
ok 1 - setup
expecting success of 2402.2 'rev-parse --git-common-dir on main worktree':
git rev-parse --git-common-dir >actual &&
echo .git >expected &&
test_cmp expected actual &&
mkdir sub &&
git -C sub rev-parse --git-common-dir >actual2 &&
echo ../.git >expected2 &&
test_cmp expected2 actual2
ok 2 - rev-parse --git-common-dir on main worktree
expecting success of 2402.3 'rev-parse --git-path objects linked worktree':
echo "$(git rev-parse --show-toplevel)/.git/objects" >expect &&
test_when_finished "rm -rf linked-tree actual expect && git worktree prune" &&
git worktree add --detach linked-tree master &&
git -C linked-tree rev-parse --git-path objects >actual &&
test_cmp expect actual
Preparing worktree (detached HEAD 2519212)
HEAD is now at 2519212 init
ok 3 - rev-parse --git-path objects linked worktree
expecting success of 2402.4 '"list" all worktrees from main':
echo "$(git rev-parse --show-toplevel) $(git rev-parse --short HEAD) [$(git symbolic-ref --short HEAD)]" >expect &&
test_when_finished "rm -rf here out actual expect && git worktree prune" &&
git worktree add --detach here master &&
echo "$(git -C here rev-parse --show-toplevel) $(git rev-parse --short HEAD) (detached HEAD)" >>expect &&
git worktree list >out &&
sed "s/ */ /g" <out >actual &&
test_cmp expect actual
Preparing worktree (detached HEAD 2519212)
HEAD is now at 2519212 init
ok 4 - "list" all worktrees from main
expecting success of 2402.5 '"list" all worktrees from linked':
echo "$(git rev-parse --show-toplevel) $(git rev-parse --short HEAD) [$(git symbolic-ref --short HEAD)]" >expect &&
test_when_finished "rm -rf here out actual expect && git worktree prune" &&
git worktree add --detach here master &&
echo "$(git -C here rev-parse --show-toplevel) $(git rev-parse --short HEAD) (detached HEAD)" >>expect &&
git -C here worktree list >out &&
sed "s/ */ /g" <out >actual &&
test_cmp expect actual
Preparing worktree (detached HEAD 2519212)
HEAD is now at 2519212 init
ok 5 - "list" all worktrees from linked
expecting success of 2402.6 '"list" all worktrees --porcelain':
echo "worktree $(git rev-parse --show-toplevel)" >expect &&
echo "HEAD $(git rev-parse HEAD)" >>expect &&
echo "branch $(git symbolic-ref HEAD)" >>expect &&
echo >>expect &&
test_when_finished "rm -rf here actual expect && git worktree prune" &&
git worktree add --detach here master &&
echo "worktree $(git -C here rev-parse --show-toplevel)" >>expect &&
echo "HEAD $(git rev-parse HEAD)" >>expect &&
echo "detached" >>expect &&
echo >>expect &&
git worktree list --porcelain >actual &&
test_cmp expect actual
Preparing worktree (detached HEAD 2519212)
HEAD is now at 2519212 init
ok 6 - "list" all worktrees --porcelain
expecting success of 2402.7 'bare repo setup':
git init --bare bare1 &&
echo "data" >file1 &&
git add file1 &&
git commit -m"File1: add data" &&
git push bare1 master &&
git reset --hard HEAD^
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t2402-worktree-list/bare1/
[master 7c81006] File1: add data
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 file1
To bare1
* [new branch] master -> master
HEAD is now at 2519212 init
ok 7 - bare repo setup
expecting success of 2402.8 '"list" all worktrees from bare main':
test_when_finished "rm -rf there out actual expect && git -C bare1 worktree prune" &&
git -C bare1 worktree add --detach ../there master &&
echo "$(pwd)/bare1 (bare)" >expect &&
echo "$(git -C there rev-parse --show-toplevel) $(git -C there rev-parse --short HEAD) (detached HEAD)" >>expect &&
git -C bare1 worktree list >out &&
sed "s/ */ /g" <out >actual &&
test_cmp expect actual
Preparing worktree (detached HEAD 7c81006)
HEAD is now at 7c81006 File1: add data
ok 8 - "list" all worktrees from bare main
expecting success of 2402.9 '"list" all worktrees --porcelain from bare main':
test_when_finished "rm -rf there actual expect && git -C bare1 worktree prune" &&
git -C bare1 worktree add --detach ../there master &&
echo "worktree $(pwd)/bare1" >expect &&
echo "bare" >>expect &&
echo >>expect &&
echo "worktree $(git -C there rev-parse --show-toplevel)" >>expect &&
echo "HEAD $(git -C there rev-parse HEAD)" >>expect &&
echo "detached" >>expect &&
echo >>expect &&
git -C bare1 worktree list --porcelain >actual &&
test_cmp expect actual
Preparing worktree (detached HEAD 7c81006)
HEAD is now at 7c81006 File1: add data
ok 9 - "list" all worktrees --porcelain from bare main
expecting success of 2402.10 '"list" all worktrees from linked with a bare main':
test_when_finished "rm -rf there out actual expect && git -C bare1 worktree prune" &&
git -C bare1 worktree add --detach ../there master &&
echo "$(pwd)/bare1 (bare)" >expect &&
echo "$(git -C there rev-parse --show-toplevel) $(git -C there rev-parse --short HEAD) (detached HEAD)" >>expect &&
git -C there worktree list >out &&
sed "s/ */ /g" <out >actual &&
test_cmp expect actual
Preparing worktree (detached HEAD 7c81006)
HEAD is now at 7c81006 File1: add data
ok 10 - "list" all worktrees from linked with a bare main
expecting success of 2402.11 'bare repo cleanup':
rm -rf bare1
ok 11 - bare repo cleanup
expecting success of 2402.12 'broken main worktree still at the top':
git init broken-main &&
(
cd broken-main &&
test_commit new &&
git worktree add linked &&
cat >expected <<-EOF &&
worktree $(pwd)
HEAD $ZERO_OID
EOF
cd linked &&
echo "worktree $(pwd)" >expected &&
echo "ref: .broken" >../.git/HEAD &&
git worktree list --porcelain >out &&
head -n 3 out >actual &&
test_cmp ../expected actual &&
git worktree list >out &&
head -n 1 out >actual.2 &&
grep -F "(error)" actual.2
)
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t2402-worktree-list/broken-main/.git/
[master (root-commit) 3325ee1] new
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 new.t
Preparing worktree (new branch 'linked')
HEAD is now at 3325ee1 new
/<<PKGBUILDDIR>>/t/trash directory.t2402-worktree-list/broken-main 0000000 (error)
ok 12 - broken main worktree still at the top
expecting success of 2402.13 'linked worktrees are sorted':
mkdir sorted &&
git init sorted/main &&
(
cd sorted/main &&
test_tick &&
test_commit new &&
git worktree add ../first &&
git worktree add ../second &&
git worktree list --porcelain >out &&
grep ^worktree out >actual
) &&
cat >expected <<-EOF &&
worktree $(pwd)/sorted/main
worktree $(pwd)/sorted/first
worktree $(pwd)/sorted/second
EOF
test_cmp expected sorted/main/actual
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t2402-worktree-list/sorted/main/.git/
[master (root-commit) d8ef111] new
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 new.t
Preparing worktree (new branch 'first')
HEAD is now at d8ef111 new
Preparing worktree (new branch 'second')
HEAD is now at d8ef111 new
ok 13 - linked worktrees are sorted
expecting success of 2402.14 'worktree path when called in .git directory':
git worktree list >list1 &&
git -C .git worktree list >list2 &&
test_cmp list1 list2
ok 14 - worktree path when called in .git directory
# passed all 14 test(s)
1..14
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t2404-worktree-config.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t2404-worktree-config/.git/
expecting success of 2404.1 'setup':
test_commit start
[master (root-commit) bb4ab09] start
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 start.t
ok 1 - setup
expecting success of 2404.2 'config --worktree in single worktree':
git config --worktree foo.bar true &&
test_cmp_config true foo.bar
ok 2 - config --worktree in single worktree
expecting success of 2404.3 'add worktrees':
git worktree add wt1 &&
git worktree add wt2
Preparing worktree (new branch 'wt1')
HEAD is now at bb4ab09 start
Preparing worktree (new branch 'wt2')
HEAD is now at bb4ab09 start
ok 3 - add worktrees
expecting success of 2404.4 'config --worktree without extension':
test_must_fail git config --worktree foo.bar false
fatal: --worktree cannot be used with multiple working trees unless the config
extension worktreeConfig is enabled. Please read "CONFIGURATION FILE"
section in "git help worktree" for details
ok 4 - config --worktree without extension
expecting success of 2404.5 'enable worktreeConfig extension':
git config extensions.worktreeConfig true &&
test_cmp_config true extensions.worktreeConfig
ok 5 - enable worktreeConfig extension
expecting success of 2404.6 'config is shared as before':
git config this.is shared &&
test_cmp_config shared this.is &&
test_cmp_config -C wt1 shared this.is &&
test_cmp_config -C wt2 shared this.is
ok 6 - config is shared as before
expecting success of 2404.7 'config is shared (set from another worktree)':
git -C wt1 config that.is also-shared &&
test_cmp_config also-shared that.is &&
test_cmp_config -C wt1 also-shared that.is &&
test_cmp_config -C wt2 also-shared that.is
ok 7 - config is shared (set from another worktree)
expecting success of 2404.8 'config private to main worktree':
git config --worktree this.is for-main &&
test_cmp_config for-main this.is &&
test_cmp_config -C wt1 shared this.is &&
test_cmp_config -C wt2 shared this.is
ok 8 - config private to main worktree
expecting success of 2404.9 'config private to linked worktree':
git -C wt1 config --worktree this.is for-wt1 &&
test_cmp_config for-main this.is &&
test_cmp_config -C wt1 for-wt1 this.is &&
test_cmp_config -C wt2 shared this.is
ok 9 - config private to linked worktree
expecting success of 2404.10 'core.bare no longer for main only':
test_config core.bare true &&
test "$(git rev-parse --is-bare-repository)" = true &&
test "$(git -C wt1 rev-parse --is-bare-repository)" = true &&
test "$(git -C wt2 rev-parse --is-bare-repository)" = true
ok 10 - core.bare no longer for main only
expecting success of 2404.11 'per-worktree core.bare is picked up':
git -C wt1 config --worktree core.bare true &&
test "$(git rev-parse --is-bare-repository)" = false &&
test "$(git -C wt1 rev-parse --is-bare-repository)" = true &&
test "$(git -C wt2 rev-parse --is-bare-repository)" = false
ok 11 - per-worktree core.bare is picked up
expecting success of 2404.12 'config.worktree no longer read without extension':
git config --unset extensions.worktreeConfig &&
test_cmp_config shared this.is &&
test_cmp_config -C wt1 shared this.is &&
test_cmp_config -C wt2 shared this.is
ok 12 - config.worktree no longer read without extension
# passed all 12 test(s)
1..12
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t2403-worktree-move.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t2403-worktree-move/.git/
expecting success of 2403.1 'setup':
test_commit init &&
git worktree add source &&
git worktree list --porcelain >out &&
grep "^worktree" out >actual &&
cat <<-EOF >expected &&
worktree $(pwd)
worktree $(pwd)/source
EOF
test_cmp expected actual
[master (root-commit) 2519212] init
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 init.t
Preparing worktree (new branch 'source')
HEAD is now at 2519212 init
ok 1 - setup
expecting success of 2403.2 'lock main worktree':
test_must_fail git worktree lock .
fatal: The main working tree cannot be locked or unlocked
ok 2 - lock main worktree
expecting success of 2403.3 'lock linked worktree':
git worktree lock --reason hahaha source &&
echo hahaha >expected &&
test_cmp expected .git/worktrees/source/locked
ok 3 - lock linked worktree
expecting success of 2403.4 'lock linked worktree from another worktree':
rm .git/worktrees/source/locked &&
git worktree add elsewhere &&
git -C elsewhere worktree lock --reason hahaha ../source &&
echo hahaha >expected &&
test_cmp expected .git/worktrees/source/locked
Preparing worktree (new branch 'elsewhere')
HEAD is now at 2519212 init
ok 4 - lock linked worktree from another worktree
expecting success of 2403.5 'lock worktree twice':
test_must_fail git worktree lock source &&
echo hahaha >expected &&
test_cmp expected .git/worktrees/source/locked
fatal: 'source' is already locked, reason: hahaha
ok 5 - lock worktree twice
expecting success of 2403.6 'lock worktree twice (from the locked worktree)':
test_must_fail git -C source worktree lock . &&
echo hahaha >expected &&
test_cmp expected .git/worktrees/source/locked
fatal: '.' is already locked, reason: hahaha
ok 6 - lock worktree twice (from the locked worktree)
expecting success of 2403.7 'unlock main worktree':
test_must_fail git worktree unlock .
fatal: The main working tree cannot be locked or unlocked
ok 7 - unlock main worktree
expecting success of 2403.8 'unlock linked worktree':
git worktree unlock source &&
test_path_is_missing .git/worktrees/source/locked
ok 8 - unlock linked worktree
expecting success of 2403.9 'unlock worktree twice':
test_must_fail git worktree unlock source &&
test_path_is_missing .git/worktrees/source/locked
fatal: 'source' is not locked
ok 9 - unlock worktree twice
expecting success of 2403.10 'move non-worktree':
mkdir abc &&
test_must_fail git worktree move abc def
fatal: 'abc' is not a working tree
ok 10 - move non-worktree
expecting success of 2403.11 'move locked worktree':
git worktree lock source &&
test_when_finished "git worktree unlock source" &&
test_must_fail git worktree move source destination
fatal: cannot move a locked working tree;
use 'move -f -f' to override or unlock first
ok 11 - move locked worktree
expecting success of 2403.12 'move worktree':
git worktree move source destination &&
test_path_is_missing source &&
git worktree list --porcelain >out &&
grep "^worktree.*/destination$" out &&
! grep "^worktree.*/source$" out &&
git -C destination log --format=%s >actual2 &&
echo init >expected2 &&
test_cmp expected2 actual2
worktree /<<PKGBUILDDIR>>/t/trash directory.t2403-worktree-move/destination
ok 12 - move worktree
expecting success of 2403.13 'move main worktree':
test_must_fail git worktree move . def
fatal: '.' is a main working tree
ok 13 - move main worktree
expecting success of 2403.14 'move worktree to another dir':
mkdir some-dir &&
git worktree move destination some-dir &&
test_when_finished "git worktree move some-dir/destination destination" &&
test_path_is_missing destination &&
git worktree list --porcelain >out &&
grep "^worktree.*/some-dir/destination$" out &&
git -C some-dir/destination log --format=%s >actual2 &&
echo init >expected2 &&
test_cmp expected2 actual2
worktree /<<PKGBUILDDIR>>/t/trash directory.t2403-worktree-move/some-dir/destination
ok 14 - move worktree to another dir
expecting success of 2403.15 'move locked worktree (force)':
test_when_finished "
git worktree unlock flump || :
git worktree remove flump || :
git worktree unlock ploof || :
git worktree remove ploof || :
" &&
git worktree add --detach flump &&
git worktree lock flump &&
test_must_fail git worktree move flump ploof" &&
test_must_fail git worktree move --force flump ploof" &&
git worktree move --force --force flump ploof
Preparing worktree (detached HEAD 2519212)
HEAD is now at 2519212 init
fatal: cannot move a locked working tree;
use 'move -f -f' to override or unlock first
fatal: 'flump' is not a working tree
fatal: 'flump' is not a working tree
ok 15 - move locked worktree (force)
expecting success of 2403.16 'move a repo with uninitialized submodule':
git init withsub &&
(
cd withsub &&
test_commit initial &&
git submodule add "$PWD"/.git sub &&
git commit -m withsub &&
git worktree add second HEAD &&
git worktree move second third
)
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t2403-worktree-move/withsub/.git/
[master (root-commit) 5e30013] initial
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 initial.t
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t2403-worktree-move/withsub/sub'...
done.
[master 46096ce] withsub
Author: A U Thor <author@example.com>
2 files changed, 4 insertions(+)
create mode 100644 .gitmodules
create mode 160000 sub
Preparing worktree (detached HEAD 46096ce)
HEAD is now at 46096ce withsub
ok 16 - move a repo with uninitialized submodule
expecting success of 2403.17 'not move a repo with initialized submodule':
(
cd withsub &&
git -C third submodule update &&
test_must_fail git worktree move third forth
)
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t2403-worktree-move/withsub/third/sub'...
done.
Submodule path 'sub': checked out '5e3001300c8a533bee3e24efd70fbfae3dfa27e3'
fatal: working trees containing submodules cannot be moved or removed
ok 17 - not move a repo with initialized submodule
expecting success of 2403.18 'remove main worktree':
test_must_fail git worktree remove .
fatal: '.' is a main working tree
ok 18 - remove main worktree
expecting success of 2403.19 'remove locked worktree':
git worktree lock destination &&
test_when_finished "git worktree unlock destination" &&
test_must_fail git worktree remove destination
fatal: cannot remove a locked working tree;
use 'remove -f -f' to override or unlock first
ok 19 - remove locked worktree
expecting success of 2403.20 'remove worktree with dirty tracked file':
echo dirty >>destination/init.t &&
test_when_finished "git -C destination checkout init.t" &&
test_must_fail git worktree remove destination
fatal: 'destination' contains modified or untracked files, use --force to delete it
Updated 1 path from the index
ok 20 - remove worktree with dirty tracked file
expecting success of 2403.21 'remove worktree with untracked file':
: >destination/untracked &&
test_must_fail git worktree remove destination
fatal: 'destination' contains modified or untracked files, use --force to delete it
ok 21 - remove worktree with untracked file
expecting success of 2403.22 'force remove worktree with untracked file':
git worktree remove --force destination &&
test_path_is_missing destination
ok 22 - force remove worktree with untracked file
expecting success of 2403.23 'remove missing worktree':
git worktree add to-be-gone &&
test -d .git/worktrees/to-be-gone &&
mv to-be-gone gone &&
git worktree remove to-be-gone &&
test_path_is_missing .git/worktrees/to-be-gone
Preparing worktree (new branch 'to-be-gone')
HEAD is now at 2519212 init
ok 23 - remove missing worktree
expecting success of 2403.24 'NOT remove missing-but-locked worktree':
git worktree add gone-but-locked &&
git worktree lock gone-but-locked &&
test -d .git/worktrees/gone-but-locked &&
mv gone-but-locked really-gone-now &&
test_must_fail git worktree remove gone-but-locked &&
test_path_is_dir .git/worktrees/gone-but-locked
Preparing worktree (new branch 'gone-but-locked')
HEAD is now at 2519212 init
fatal: cannot remove a locked working tree;
use 'remove -f -f' to override or unlock first
ok 24 - NOT remove missing-but-locked worktree
expecting success of 2403.25 'proper error when worktree not found':
for i in noodle noodle/bork
do
test_must_fail git worktree lock $i 2>err &&
test_i18ngrep "not a working tree" err || return 1
done
checking prerequisite: C_LOCALE_OUTPUT
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
! test_bool_env GIT_TEST_GETTEXT_POISON false
)
prerequisite C_LOCALE_OUTPUT ok
fatal: 'noodle' is not a working tree
fatal: 'noodle/bork' is not a working tree
ok 25 - proper error when worktree not found
expecting success of 2403.26 'remove locked worktree (force)':
git worktree add --detach gumby &&
test_when_finished "git worktree remove gumby || :" &&
git worktree lock gumby &&
test_when_finished "git worktree unlock gumby || :" &&
test_must_fail git worktree remove gumby &&
test_must_fail git worktree remove --force gumby &&
git worktree remove --force --force gumby
Preparing worktree (detached HEAD 2519212)
HEAD is now at 2519212 init
fatal: cannot remove a locked working tree;
use 'remove -f -f' to override or unlock first
fatal: cannot remove a locked working tree;
use 'remove -f -f' to override or unlock first
fatal: 'gumby' is not a working tree
fatal: 'gumby' is not a working tree
ok 26 - remove locked worktree (force)
expecting success of 2403.27 'remove cleans up .git/worktrees when empty':
git init moog &&
(
cd moog &&
test_commit bim &&
git worktree add --detach goom &&
test_path_exists .git/worktrees &&
git worktree remove goom &&
test_path_is_missing .git/worktrees
)
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t2403-worktree-move/moog/.git/
[master (root-commit) 89d547b] bim
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 bim.t
Preparing worktree (detached HEAD 89d547b)
HEAD is now at 89d547b bim
ok 27 - remove cleans up .git/worktrees when empty
expecting success of 2403.28 'remove a repo with uninitialized submodule':
(
cd withsub &&
git worktree add to-remove HEAD &&
git worktree remove to-remove
)
Preparing worktree (detached HEAD 46096ce)
HEAD is now at 46096ce withsub
ok 28 - remove a repo with uninitialized submodule
expecting success of 2403.29 'not remove a repo with initialized submodule':
(
cd withsub &&
git worktree add to-remove HEAD &&
git -C to-remove submodule update &&
test_must_fail git worktree remove to-remove
)
Preparing worktree (detached HEAD 46096ce)
HEAD is now at 46096ce withsub
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t2403-worktree-move/withsub/to-remove/sub'...
done.
Submodule path 'sub': checked out '5e3001300c8a533bee3e24efd70fbfae3dfa27e3'
fatal: working trees containing submodules cannot be moved or removed
ok 29 - not remove a repo with initialized submodule
# passed all 29 test(s)
1..29
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t3000-ls-files-others.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3000-ls-files-others/.git/
expecting success of 3000.1 'setup ':
date >path0 &&
if test_have_prereq SYMLINKS
then
ln -s xyzzy path1
else
date >path1
fi &&
mkdir path2 path3 path4 &&
date >path2/file2 &&
date >path2-junk &&
date >path3/file3 &&
date >path3-junk &&
git update-index --add path3-junk path3/file3
checking prerequisite: SYMLINKS
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
# test whether the filesystem supports symbolic links
ln -s x y && test -h y
)
prerequisite SYMLINKS ok
ok 1 - setup
expecting success of 3000.2 'setup: expected output':
cat >expected1 <<-\EOF &&
expected1
expected2
expected3
output
path0
path1
path2-junk
path2/file2
EOF
sed -e "s|path2/file2|path2/|" <expected1 >expected2 &&
cp expected2 expected3 &&
echo path4/ >>expected2
ok 2 - setup: expected output
expecting success of 3000.3 'ls-files --others':
git ls-files --others >output &&
test_cmp expected1 output
ok 3 - ls-files --others
expecting success of 3000.4 'ls-files --others --directory':
git ls-files --others --directory >output &&
test_cmp expected2 output
ok 4 - ls-files --others --directory
expecting success of 3000.5 '--no-empty-directory hides empty directory':
git ls-files --others --directory --no-empty-directory >output &&
test_cmp expected3 output
ok 5 - --no-empty-directory hides empty directory
expecting success of 3000.6 'ls-files --others handles non-submodule .git':
mkdir not-a-submodule &&
echo foo >not-a-submodule/.git &&
git ls-files -o >output &&
test_cmp expected1 output
ok 6 - ls-files --others handles non-submodule .git
expecting success of 3000.7 'ls-files --others with symlinked submodule':
git init super &&
git init sub &&
(
cd sub &&
>a &&
git add a &&
git commit -m sub &&
git pack-refs --all
) &&
(
cd super &&
"$SHELL_PATH" "$TEST_DIRECTORY/../contrib/workdir/git-new-workdir" ../sub sub &&
git ls-files --others --exclude-standard >../actual
) &&
echo sub/ >expect &&
test_cmp expect actual
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3000-ls-files-others/super/.git/
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3000-ls-files-others/sub/.git/
[master (root-commit) 594246a] sub
Author: A U Thor <author@example.com>
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 a
ok 7 - ls-files --others with symlinked submodule
expecting success of 3000.8 'setup nested pathspec search':
test_create_repo nested &&
(
cd nested &&
mkdir -p partially_tracked/untracked_dir &&
> partially_tracked/content &&
> partially_tracked/untracked_dir/file &&
mkdir -p untracked/deep &&
> untracked/deep/path &&
> untracked/deep/foo.c &&
git add partially_tracked/content
)
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3000-ls-files-others/nested/.git/
ok 8 - setup nested pathspec search
expecting success of 3000.9 'ls-files -o --directory with single deep dir pathspec':
(
cd nested &&
git ls-files -o --directory untracked/deep/ >actual &&
cat <<-EOF >expect &&
untracked/deep/
EOF
test_cmp expect actual
)
ok 9 - ls-files -o --directory with single deep dir pathspec
expecting success of 3000.10 'ls-files -o --directory with multiple dir pathspecs':
(
cd nested &&
git ls-files -o --directory partially_tracked/ untracked/ >actual &&
cat <<-EOF >expect &&
partially_tracked/untracked_dir/
untracked/
EOF
test_cmp expect actual
)
ok 10 - ls-files -o --directory with multiple dir pathspecs
expecting success of 3000.11 'ls-files -o --directory with mix dir/file pathspecs':
(
cd nested &&
git ls-files -o --directory partially_tracked/ untracked/deep/path >actual &&
cat <<-EOF >expect &&
partially_tracked/untracked_dir/
untracked/deep/path
EOF
test_cmp expect actual
)
ok 11 - ls-files -o --directory with mix dir/file pathspecs
expecting success of 3000.12 'ls-files --o --directory with glob filetype match':
(
cd nested &&
# globs kinda defeat --directory, but only for that pathspec
git ls-files --others --directory partially_tracked "untracked/*.c" >actual &&
cat <<-EOF >expect &&
partially_tracked/untracked_dir/
untracked/deep/foo.c
EOF
test_cmp expect actual
)
ok 12 - ls-files --o --directory with glob filetype match
expecting success of 3000.13 'ls-files --o --directory with mix of tracked states':
(
cd nested &&
# globs kinda defeat --directory, but only for that pathspec
git ls-files --others --directory partially_tracked/ "untracked/?*" >actual &&
cat <<-EOF >expect &&
partially_tracked/untracked_dir/
untracked/deep/
EOF
test_cmp expect actual
)
ok 13 - ls-files --o --directory with mix of tracked states
expecting success of 3000.14 'ls-files --o --directory with glob filetype match only':
(
cd nested &&
git ls-files --others --directory "untracked/*.c" >actual &&
cat <<-EOF >expect &&
untracked/deep/foo.c
EOF
test_cmp expect actual
)
ok 14 - ls-files --o --directory with glob filetype match only
expecting success of 3000.15 'ls-files --o --directory to get immediate paths under one dir only':
(
cd nested &&
git ls-files --others --directory "untracked/?*" >actual &&
cat <<-EOF >expect &&
untracked/deep/
EOF
test_cmp expect actual
)
ok 15 - ls-files --o --directory to get immediate paths under one dir only
# passed all 15 test(s)
1..15
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t3001-ls-files-others-exclude.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3001-ls-files-others-exclude/.git/
expecting success of 3001.1 'git ls-files --others with various exclude options.': git ls-files --others \
--exclude=\*.6 \
--exclude-per-directory=.gitignore \
--exclude-from=.git/ignore \
>output &&
test_cmp expect output
ok 1 - git ls-files --others with various exclude options.
expecting success of 3001.2 'git ls-files --others with \r\n line endings.': git ls-files --others \
--exclude=\*.6 \
--exclude-per-directory=.gitignore \
--exclude-from=.git/ignore \
>output &&
test_cmp expect output
ok 2 - git ls-files --others with \r\n line endings.
expecting success of 3001.3 'setup skip-worktree gitignore':
git add $allignores &&
git update-index --skip-worktree $allignores &&
rm $allignores
ok 3 - setup skip-worktree gitignore
expecting success of 3001.4 'git ls-files --others with various exclude options.': git ls-files --others \
--exclude=\*.6 \
--exclude-per-directory=.gitignore \
--exclude-from=.git/ignore \
>output &&
test_cmp expect output
ok 4 - git ls-files --others with various exclude options.
expecting success of 3001.5 'restore gitignore':
git checkout --ignore-skip-worktree-bits $allignores &&
rm .git/index
Updated 3 paths from the index
ok 5 - restore gitignore
expecting success of 3001.6 'git status honors core.excludesfile': test_cmp expect output
ok 6 - git status honors core.excludesfile
expecting success of 3001.7 'trailing slash in exclude allows directory match(1)':
git ls-files --others --exclude=one/ >output &&
if grep "^one/" output
then
echo Ooops
false
else
: happy
fi
ok 7 - trailing slash in exclude allows directory match(1)
expecting success of 3001.8 'trailing slash in exclude allows directory match (2)':
git ls-files --others --exclude=one/two/ >output &&
if grep "^one/two/" output
then
echo Ooops
false
else
: happy
fi
ok 8 - trailing slash in exclude allows directory match (2)
expecting success of 3001.9 'trailing slash in exclude forces directory match (1)':
>two &&
git ls-files --others --exclude=two/ >output &&
grep "^two" output
two
ok 9 - trailing slash in exclude forces directory match (1)
expecting success of 3001.10 'trailing slash in exclude forces directory match (2)':
git ls-files --others --exclude=one/a.1/ >output &&
grep "^one/a.1" output
one/a.1
ok 10 - trailing slash in exclude forces directory match (2)
expecting success of 3001.11 'negated exclude matches can override previous ones':
git ls-files --others --exclude="a.*" --exclude="!a.1" >output &&
grep "^a.1" output
a.1
ok 11 - negated exclude matches can override previous ones
expecting success of 3001.12 'excluded directory overrides content patterns':
git ls-files --others --exclude="one" --exclude="!one/a.1" >output &&
if grep "^one/a.1" output
then
false
fi
ok 12 - excluded directory overrides content patterns
expecting success of 3001.13 'negated directory doesn't affect content patterns':
git ls-files --others --exclude="!one" --exclude="one/a.1" >output &&
if grep "^one/a.1" output
then
false
fi
ok 13 - negated directory doesn't affect content patterns
expecting success of 3001.14 'subdirectory ignore (setup)':
mkdir -p top/l1/l2 &&
(
cd top &&
git init &&
echo /.gitignore >.gitignore &&
echo l1 >>.gitignore &&
echo l2 >l1/.gitignore &&
>l1/l2/l1
)
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3001-ls-files-others-exclude/top/.git/
ok 14 - subdirectory ignore (setup)
expecting success of 3001.15 'subdirectory ignore (toplevel)':
(
cd top &&
git ls-files -o --exclude-standard
) >actual &&
test_must_be_empty actual
ok 15 - subdirectory ignore (toplevel)
expecting success of 3001.16 'subdirectory ignore (l1/l2)':
(
cd top/l1/l2 &&
git ls-files -o --exclude-standard
) >actual &&
test_must_be_empty actual
ok 16 - subdirectory ignore (l1/l2)
expecting success of 3001.17 'subdirectory ignore (l1)':
(
cd top/l1 &&
git ls-files -o --exclude-standard
) >actual &&
test_must_be_empty actual
ok 17 - subdirectory ignore (l1)
expecting success of 3001.18 'show/hide empty ignored directory (setup)':
rm top/l1/l2/l1 &&
rm top/l1/.gitignore
ok 18 - show/hide empty ignored directory (setup)
expecting success of 3001.19 'show empty ignored directory with --directory':
(
cd top &&
git ls-files -o -i --exclude l1 --directory
) >actual &&
echo l1/ >expect &&
test_cmp expect actual
ok 19 - show empty ignored directory with --directory
expecting success of 3001.20 'hide empty ignored directory with --no-empty-directory':
(
cd top &&
git ls-files -o -i --exclude l1 --directory --no-empty-directory
) >actual &&
test_must_be_empty actual
ok 20 - hide empty ignored directory with --no-empty-directory
expecting success of 3001.21 'show/hide empty ignored sub-directory (setup)':
> top/l1/tracked &&
(
cd top &&
git add -f l1/tracked
)
ok 21 - show/hide empty ignored sub-directory (setup)
expecting success of 3001.22 'show empty ignored sub-directory with --directory':
(
cd top &&
git ls-files -o -i --exclude l1 --directory
) >actual &&
echo l1/l2/ >expect &&
test_cmp expect actual
ok 22 - show empty ignored sub-directory with --directory
expecting success of 3001.23 'hide empty ignored sub-directory with --no-empty-directory':
(
cd top &&
git ls-files -o -i --exclude l1 --directory --no-empty-directory
) >actual &&
test_must_be_empty actual
ok 23 - hide empty ignored sub-directory with --no-empty-directory
expecting success of 3001.24 'pattern matches prefix completely':
git ls-files -i -o --exclude "/three/a.3[abc]" >actual &&
test_must_be_empty actual
ok 24 - pattern matches prefix completely
expecting success of 3001.25 'ls-files with "**" patterns':
cat <<\EOF >expect &&
a.1
one/a.1
one/two/a.1
three/a.1
EOF
git ls-files -o -i --exclude "**/a.1" >actual &&
test_cmp expect actual
ok 25 - ls-files with "**" patterns
expecting success of 3001.26 'ls-files with "**" patterns and no slashes':
git ls-files -o -i --exclude "one**a.1" >actual &&
test_must_be_empty actual
ok 26 - ls-files with "**" patterns and no slashes
# passed all 26 test(s)
1..26
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t2405-worktree-submodule.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t2405-worktree-submodule/.git/
expecting success of 2405.1 'setup: create origin repos':
git init origin/sub &&
test_commit -C origin/sub file1 &&
git init origin/main &&
test_commit -C origin/main first &&
git -C origin/main submodule add ../sub &&
git -C origin/main commit -m "add sub" &&
test_commit -C origin/sub "file1 updated" file1 file1updated file1updated &&
git -C origin/main/sub pull &&
git -C origin/main add sub &&
git -C origin/main commit -m "sub updated"
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t2405-worktree-submodule/origin/sub/.git/
[master (root-commit) 69af168] file1
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 file1.t
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t2405-worktree-submodule/origin/main/.git/
[master (root-commit) 1e96f59] first
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 first.t
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t2405-worktree-submodule/origin/main/sub'...
done.
[master 322c452] add sub
Author: A U Thor <author@example.com>
2 files changed, 4 insertions(+)
create mode 100644 .gitmodules
create mode 160000 sub
[master 7829796] file1 updated
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 file1
warning: Pulling without specifying how to reconcile divergent branches is
discouraged. You can squelch this message by running one of the following
commands sometime before your next pull:
git config pull.rebase false # merge (the default strategy)
git config pull.rebase true # rebase
git config pull.ff only # fast-forward only
You can replace "git config" with "git config --global" to set a default
preference for all repositories. You can also pass --rebase, --no-rebase,
or --ff-only on the command line to override the configured default per
invocation.
From /<<PKGBUILDDIR>>/t/trash directory.t2405-worktree-submodule/origin/sub
69af168..7829796 master -> origin/master
* [new tag] file1updated -> file1updated
Updating 69af168..7829796
Fast-forward
file1 | 1 +
1 file changed, 1 insertion(+)
create mode 100644 file1
[master d717f19] sub updated
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
ok 1 - setup: create origin repos
expecting success of 2405.2 'setup: clone superproject to create main worktree':
git clone --recursive "$base_path/origin/main" main
Cloning into 'main'...
done.
Submodule 'sub' (/<<PKGBUILDDIR>>/t/trash directory.t2405-worktree-submodule/origin/sub) registered for path 'sub'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t2405-worktree-submodule/main/sub'...
done.
Submodule path 'sub': checked out '782979677c1932d3806e9adc80194f805c02f4f3'
ok 2 - setup: clone superproject to create main worktree
expecting success of 2405.3 'add superproject worktree':
git -C main worktree add "$base_path/worktree" "$rev1_hash_main"
Preparing worktree (detached HEAD 322c452)
HEAD is now at 322c452 add sub
ok 3 - add superproject worktree
checking known breakage of 2405.4 'submodule is checked out just after worktree add':
git -C worktree diff --submodule master"^!" >out &&
grep "file1 updated" out
not ok 4 - submodule is checked out just after worktree add # TODO known breakage
expecting success of 2405.5 'add superproject worktree and initialize submodules':
git -C main worktree add "$base_path/worktree-submodule-update" "$rev1_hash_main" &&
git -C worktree-submodule-update submodule update
Preparing worktree (detached HEAD 322c452)
HEAD is now at 322c452 add sub
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t2405-worktree-submodule/worktree-submodule-update/sub'...
done.
Submodule path 'sub': checked out '69af1687b671131ed0cfa61b7fcdc907a4c21f2c'
ok 5 - add superproject worktree and initialize submodules
expecting success of 2405.6 'submodule is checked out just after submodule update in linked worktree':
git -C worktree-submodule-update diff --submodule master"^!" >out &&
grep "file1 updated" out
> file1 updated
ok 6 - submodule is checked out just after submodule update in linked worktree
expecting success of 2405.7 'add superproject worktree and manually add submodule worktree':
git -C main worktree add "$base_path/linked_submodule" "$rev1_hash_main" &&
git -C main/sub worktree add "$base_path/linked_submodule/sub" "$rev1_hash_sub"
Preparing worktree (detached HEAD 322c452)
HEAD is now at 322c452 add sub
Preparing worktree (detached HEAD 69af168)
HEAD is now at 69af168 file1
ok 7 - add superproject worktree and manually add submodule worktree
expecting success of 2405.8 'submodule is checked out after manually adding submodule worktree':
git -C linked_submodule diff --submodule master"^!" >out &&
grep "file1 updated" out
> file1 updated
ok 8 - submodule is checked out after manually adding submodule worktree
expecting success of 2405.9 'checkout --recurse-submodules uses $GIT_DIR for submodules in a linked worktree':
git -C main worktree add "$base_path/checkout-recurse" --detach &&
git -C checkout-recurse submodule update --init &&
echo "gitdir: ../../main/.git/worktrees/checkout-recurse/modules/sub" >expect-gitfile &&
cat checkout-recurse/sub/.git >actual-gitfile &&
test_cmp expect-gitfile actual-gitfile &&
git -C main/sub rev-parse HEAD >expect-head-main &&
git -C checkout-recurse checkout --recurse-submodules HEAD~1 &&
cat checkout-recurse/sub/.git >actual-gitfile &&
git -C main/sub rev-parse HEAD >actual-head-main &&
test_cmp expect-gitfile actual-gitfile &&
test_cmp expect-head-main actual-head-main
Preparing worktree (detached HEAD d717f19)
HEAD is now at d717f19 sub updated
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t2405-worktree-submodule/checkout-recurse/sub'...
done.
Submodule path 'sub': checked out '782979677c1932d3806e9adc80194f805c02f4f3'
Previous HEAD position was d717f19 sub updated
HEAD is now at 322c452 add sub
ok 9 - checkout --recurse-submodules uses $GIT_DIR for submodules in a linked worktree
expecting success of 2405.10 'core.worktree is removed in $GIT_DIR/modules/<name>/config, not in $GIT_COMMON_DIR/modules/<name>/config':
echo "../../../sub" >expect-main &&
git -C main/sub config --get core.worktree >actual-main &&
test_cmp expect-main actual-main &&
echo "../../../../../../checkout-recurse/sub" >expect-linked &&
git -C checkout-recurse/sub config --get core.worktree >actual-linked &&
test_cmp expect-linked actual-linked &&
git -C checkout-recurse checkout --recurse-submodules first &&
test_expect_code 1 git -C main/.git/worktrees/checkout-recurse/modules/sub config --get core.worktree >linked-config &&
test_must_be_empty linked-config &&
git -C main/sub config --get core.worktree >actual-main &&
test_cmp expect-main actual-main
Previous HEAD position was 322c452 add sub
HEAD is now at 1e96f59 first
ok 10 - core.worktree is removed in $GIT_DIR/modules/<name>/config, not in $GIT_COMMON_DIR/modules/<name>/config
expecting success of 2405.11 'unsetting core.worktree does not prevent running commands directly against the submodule repository':
git -C main/.git/worktrees/checkout-recurse/modules/sub log
commit 69af1687b671131ed0cfa61b7fcdc907a4c21f2c
Author: A U Thor <author@example.com>
Date: Thu Apr 7 15:13:13 2005 -0700
file1
ok 11 - unsetting core.worktree does not prevent running commands directly against the submodule repository
# still have 1 known breakage(s)
# passed all remaining 10 test(s)
1..11
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t3002-ls-files-dashpath.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3002-ls-files-dashpath/.git/
expecting success of 3002.1 'setup': echo frotz >path0 &&
echo frotz >./-foo &&
echo frotz >./--
ok 1 - setup
expecting success of 3002.2 'git ls-files without path restriction.': git ls-files --others >output &&
test_cmp output - <<EOF
--
-foo
output
path0
EOF
ok 2 - git ls-files without path restriction.
expecting success of 3002.3 'git ls-files with path restriction.': git ls-files --others path0 >output &&
test_cmp output - <<EOF
path0
EOF
ok 3 - git ls-files with path restriction.
expecting success of 3002.4 'git ls-files with path restriction with --.': git ls-files --others -- path0 >output &&
test_cmp output - <<EOF
path0
EOF
ok 4 - git ls-files with path restriction with --.
expecting success of 3002.5 'git ls-files with path restriction with -- --.': git ls-files --others -- -- >output &&
test_cmp output - <<EOF
--
EOF
ok 5 - git ls-files with path restriction with -- --.
expecting success of 3002.6 'git ls-files with no path restriction.': git ls-files --others -- >output &&
test_cmp output - <<EOF
--
-foo
output
path0
EOF
ok 6 - git ls-files with no path restriction.
# passed all 6 test(s)
1..6
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t3003-ls-files-exclude.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3003-ls-files-exclude/.git/
expecting success of 3003.1 'create repo with file':
echo content >file &&
git add file &&
git commit -m file &&
echo modification >file
[master (root-commit) c6dc52b] file
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 file
ok 1 - create repo with file
expecting success of 3003.2 'ls-files output contains file (cached)':
echo 'file' >expect &&
git ls-files --exclude-standard --cached >output &&
test_cmp expect output
ok 2 - ls-files output contains file (cached)
expecting success of 3003.3 'ls-files output contains file (modified)':
echo 'file' >expect &&
git ls-files --exclude-standard --modified >output &&
test_cmp expect output
ok 3 - ls-files output contains file (modified)
expecting success of 3003.4 'add file to gitignore':
echo file >.gitignore
ok 4 - add file to gitignore
expecting success of 3003.5 'ls-files output contains file (cached)':
echo 'file' >expect &&
git ls-files --exclude-standard --cached >output &&
test_cmp expect output
ok 5 - ls-files output contains file (cached)
expecting success of 3003.6 'ls-files output contains file (modified)':
echo 'file' >expect &&
git ls-files --exclude-standard --modified >output &&
test_cmp expect output
ok 6 - ls-files output contains file (modified)
expecting success of 3003.7 'ls-files -i lists only tracked-but-ignored files':
echo content >other-file &&
git add other-file &&
echo file >expect &&
git ls-files -i --exclude-standard >output &&
test_cmp expect output
ok 7 - ls-files -i lists only tracked-but-ignored files
# passed all 7 test(s)
1..7
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t3004-ls-files-basic.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3004-ls-files-basic/.git/
expecting success of 3004.1 'ls-files in empty repository':
git ls-files >actual &&
test_must_be_empty actual
ok 1 - ls-files in empty repository
expecting success of 3004.2 'ls-files with nonexistent path':
git ls-files doesnotexist >actual &&
test_must_be_empty actual
ok 2 - ls-files with nonexistent path
expecting success of 3004.3 'ls-files with nonsense option':
test_expect_code 129 git ls-files --nonsense 2>actual &&
test_i18ngrep "[Uu]sage: git ls-files" actual
checking prerequisite: C_LOCALE_OUTPUT
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
! test_bool_env GIT_TEST_GETTEXT_POISON false
)
prerequisite C_LOCALE_OUTPUT ok
usage: git ls-files [<options>] [<file>...]
ok 3 - ls-files with nonsense option
expecting success of 3004.4 'ls-files -h in corrupt repository':
mkdir broken &&
(
cd broken &&
git init &&
>.git/index &&
test_expect_code 129 git ls-files -h >usage 2>&1
) &&
test_i18ngrep "[Uu]sage: git ls-files " broken/usage
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3004-ls-files-basic/broken/.git/
usage: git ls-files [<options>] [<file>...]
ok 4 - ls-files -h in corrupt repository
checking prerequisite: SYMLINKS
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
# test whether the filesystem supports symbolic links
ln -s x y && test -h y
)
prerequisite SYMLINKS ok
expecting success of 3004.5 'ls-files with absolute paths to symlinks':
mkdir subs &&
ln -s nosuch link &&
ln -s ../nosuch subs/link &&
git add link subs/link &&
git ls-files -s link subs/link >expect &&
git ls-files -s "$(pwd)/link" "$(pwd)/subs/link" >actual &&
test_cmp expect actual &&
(
cd subs &&
git ls-files -s link >../expect &&
git ls-files -s "$(pwd)/link" >../actual
) &&
test_cmp expect actual
ok 5 - ls-files with absolute paths to symlinks
# passed all 5 test(s)
1..5
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t3005-ls-files-relative.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3005-ls-files-relative/.git/
expecting success of 3005.1 'prepare':
: >never-mind-me &&
git add never-mind-me &&
mkdir top &&
(
cd top &&
mkdir sub &&
x="x xa xbc xdef xghij xklmno" &&
y=$(echo "$x" | tr x y) &&
touch $x &&
touch $y &&
cd sub &&
git add ../x*
)
ok 1 - prepare
expecting success of 3005.2 'ls-files with mixed levels':
(
cd top/sub &&
cat >expect <<-EOF &&
../../never-mind-me
../x
EOF
git ls-files $(cat expect) >actual &&
test_cmp expect actual
)
ok 2 - ls-files with mixed levels
expecting success of 3005.3 'ls-files -c':
(
cd top/sub &&
for f in ../y*
do
echo "error: pathspec $SQ$f$SQ did not match any file(s) known to git"
done >expect.err &&
echo "Did you forget to ${SQ}git add${SQ}?" >>expect.err &&
ls ../x* >expect.out &&
test_must_fail git ls-files -c --error-unmatch ../[xy]* >actual.out 2>actual.err &&
test_cmp expect.out actual.out &&
test_i18ncmp expect.err actual.err
)
checking prerequisite: C_LOCALE_OUTPUT
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
! test_bool_env GIT_TEST_GETTEXT_POISON false
)
prerequisite C_LOCALE_OUTPUT ok
ok 3 - ls-files -c
expecting success of 3005.4 'ls-files -o':
(
cd top/sub &&
for f in ../x*
do
echo "error: pathspec $SQ$f$SQ did not match any file(s) known to git"
done >expect.err &&
echo "Did you forget to ${SQ}git add${SQ}?" >>expect.err &&
ls ../y* >expect.out &&
test_must_fail git ls-files -o --error-unmatch ../[xy]* >actual.out 2>actual.err &&
test_cmp expect.out actual.out &&
test_i18ncmp expect.err actual.err
)
checking prerequisite: C_LOCALE_OUTPUT
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
! test_bool_env GIT_TEST_GETTEXT_POISON false
)
prerequisite C_LOCALE_OUTPUT ok
ok 4 - ls-files -o
# passed all 4 test(s)
1..4
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t3006-ls-files-long.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3006-ls-files-long/.git/
expecting success of 3006.1 'setup':
p=filefilefilefilefilefilefilefile &&
p=$p$p$p$p$p$p$p$p$p$p$p$p$p$p$p$p &&
p=$p$p$p$p$p$p$p$p$p$p$p$p$p$p$p$p &&
path_a=${p}_a &&
path_z=${p}_z &&
blob_a=$(echo frotz | git hash-object -w --stdin) &&
blob_z=$(echo nitfol | git hash-object -w --stdin) &&
pat="100644 %s 0\t%s\n"
ok 1 - setup
expecting success of 3006.2 'overly-long path by itself is not a problem':
printf "$pat" "$blob_a" "$path_a" |
git update-index --add --index-info &&
echo "$path_a" >expect &&
git ls-files >actual &&
test_cmp expect actual
ok 2 - overly-long path by itself is not a problem
expecting success of 3006.3 'overly-long path does not replace another by mistake':
printf "$pat" "$blob_a" "$path_a" "$blob_z" "$path_z" |
git update-index --add --index-info &&
(
echo "$path_a" &&
echo "$path_z"
) >expect &&
git ls-files >actual &&
test_cmp expect actual
ok 3 - overly-long path does not replace another by mistake
# passed all 3 test(s)
1..3
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t3008-ls-files-lazy-init-name-hash.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3008-ls-files-lazy-init-name-hash/.git/
expecting success of 3008.1 'no buffer overflow in lazy_init_name_hash':
(
test_seq $LAZY_THREAD_COST | sed "s/^/a_/" &&
echo b/b/b &&
test_seq $LAZY_THREAD_COST | sed "s/^/c_/" &&
test_seq 50 | sed "s/^/d_/" | tr "\n" "/" && echo d
) |
sed "s/^/100644 $EMPTY_BLOB /" |
git update-index --index-info &&
test-tool lazy-init-name-hash -m
0.009659 0.012500 4002 multi 2
ok 1 - no buffer overflow in lazy_init_name_hash
# passed all 1 test(s)
1..1
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t3009-ls-files-others-nonsubmodule.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3009-ls-files-others-nonsubmodule/.git/
expecting success of 3009.1 'setup: directories':
mkdir nonrepo-no-files/ &&
mkdir nonrepo-untracked-file &&
: >nonrepo-untracked-file/untracked &&
git init repo-no-commit-no-files &&
git init repo-no-commit-untracked-file &&
: >repo-no-commit-untracked-file/untracked &&
git init repo-with-commit-no-files &&
git -C repo-with-commit-no-files commit --allow-empty -mmsg &&
git init repo-with-commit-untracked-file &&
test_commit -C repo-with-commit-untracked-file msg &&
: >repo-with-commit-untracked-file/untracked
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3009-ls-files-others-nonsubmodule/repo-no-commit-no-files/.git/
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3009-ls-files-others-nonsubmodule/repo-no-commit-untracked-file/.git/
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3009-ls-files-others-nonsubmodule/repo-with-commit-no-files/.git/
[master (root-commit) 332b912] msg
Author: A U Thor <author@example.com>
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3009-ls-files-others-nonsubmodule/repo-with-commit-untracked-file/.git/
[master (root-commit) c24fc06] msg
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 msg.t
ok 1 - setup: directories
expecting success of 3009.2 'ls-files --others handles untracked git repositories':
git ls-files -o >output &&
cat >expect <<-EOF &&
nonrepo-untracked-file/untracked
output
repo-no-commit-no-files/
repo-no-commit-untracked-file/
repo-with-commit-no-files/
repo-with-commit-untracked-file/
EOF
test_cmp expect output
ok 2 - ls-files --others handles untracked git repositories
# passed all 2 test(s)
1..2
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t3010-ls-files-killed-modified.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3010-ls-files-killed-modified/.git/
expecting success of 3010.1 'git update-index --add to add various paths.':
date >path0 &&
test_ln_s_add xyzzy path1 &&
mkdir path2 path3 pathx &&
date >path2/file2 &&
date >path3/file3 &&
>pathx/ju &&
: >path7 &&
date >path8 &&
: >path9 &&
date >path10 &&
git update-index --add -- path0 path?/file? pathx/ju path7 path8 path9 path10 &&
git init submod1 &&
git -C submod1 commit --allow-empty -m "empty 1" &&
git init submod2 &&
git -C submod2 commit --allow-empty -m "empty 2" &&
git update-index --add submod[12] &&
(
cd submod1 &&
git commit --allow-empty -m "empty 1 (updated)"
) &&
rm -fr path? # leave path10 alone
checking prerequisite: SYMLINKS
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
# test whether the filesystem supports symbolic links
ln -s x y && test -h y
)
prerequisite SYMLINKS ok
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3010-ls-files-killed-modified/submod1/.git/
[master (root-commit) b903dd8] empty 1
Author: A U Thor <author@example.com>
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3010-ls-files-killed-modified/submod2/.git/
[master (root-commit) 992658a] empty 2
Author: A U Thor <author@example.com>
[master 8383a34] empty 1 (updated)
Author: A U Thor <author@example.com>
ok 1 - git update-index --add to add various paths.
expecting success of 3010.2 'git ls-files -k to show killed files.':
date >path2 &&
if test_have_prereq SYMLINKS
then
ln -s frotz path3 &&
ln -s nitfol path5
else
date >path3 &&
date >path5
fi &&
mkdir -p path0 path1 path6 pathx/ju &&
date >path0/file0 &&
date >path1/file1 &&
date >path6/file6 &&
date >path7 &&
: >path8 &&
: >path9 &&
touch path10 &&
>pathx/ju/nk &&
cat >.expected <<-\EOF
path0/file0
path1/file1
path2
path3
pathx/ju/nk
EOF
ok 2 - git ls-files -k to show killed files.
expecting success of 3010.3 'git ls-files -k output (w/o icase)':
git ls-files -k >.output &&
test_cmp .expected .output
ok 3 - git ls-files -k output (w/o icase)
expecting success of 3010.4 'git ls-files -k output (w/ icase)':
git -c core.ignorecase=true ls-files -k >.output &&
test_cmp .expected .output
ok 4 - git ls-files -k output (w/ icase)
expecting success of 3010.5 'git ls-files -m to show modified files.':
git ls-files -m >.output
ok 5 - git ls-files -m to show modified files.
expecting success of 3010.6 'validate git ls-files -m output.':
cat >.expected <<-\EOF &&
path0
path1
path2/file2
path3/file3
path7
path8
pathx/ju
submod1
EOF
test_cmp .expected .output
ok 6 - validate git ls-files -m output.
# passed all 6 test(s)
1..6
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t3007-ls-files-recurse-submodules.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3007-ls-files-recurse-submodules/.git/
expecting success of 3007.1 'setup directory structure and submodules':
echo a >a &&
mkdir b &&
echo b >b/b &&
git add a b &&
git commit -m "add a and b" &&
git init submodule &&
echo c >submodule/c &&
git -C submodule add c &&
git -C submodule commit -m "add c" &&
git submodule add ./submodule &&
git commit -m "added submodule"
[master (root-commit) fe4fdac] add a and b
Author: A U Thor <author@example.com>
2 files changed, 2 insertions(+)
create mode 100644 a
create mode 100644 b/b
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3007-ls-files-recurse-submodules/submodule/.git/
[master (root-commit) 87dc968] add c
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 c
Adding existing repo at 'submodule' to the index
[master 8b22db6] added submodule
Author: A U Thor <author@example.com>
2 files changed, 4 insertions(+)
create mode 100644 .gitmodules
create mode 160000 submodule
ok 1 - setup directory structure and submodules
expecting success of 3007.2 'ls-files correctly outputs files in submodule':
cat >expect <<-\EOF &&
.gitmodules
a
b/b
submodule/c
EOF
git ls-files --recurse-submodules >actual &&
test_cmp expect actual
ok 2 - ls-files correctly outputs files in submodule
expecting success of 3007.3 'ls-files correctly outputs files in submodule with -z':
lf_to_nul >expect <<-\EOF &&
.gitmodules
a
b/b
submodule/c
EOF
git ls-files --recurse-submodules -z >actual &&
test_cmp expect actual
ok 3 - ls-files correctly outputs files in submodule with -z
expecting success of 3007.4 'ls-files does not output files not added to a repo':
cat >expect <<-\EOF &&
.gitmodules
a
b/b
submodule/c
EOF
echo a >not_added &&
echo b >b/not_added &&
echo c >submodule/not_added &&
git ls-files --recurse-submodules >actual &&
test_cmp expect actual
ok 4 - ls-files does not output files not added to a repo
expecting success of 3007.5 'ls-files recurses more than 1 level':
cat >expect <<-\EOF &&
.gitmodules
a
b/b
submodule/.gitmodules
submodule/c
submodule/subsub/d
EOF
git init submodule/subsub &&
echo d >submodule/subsub/d &&
git -C submodule/subsub add d &&
git -C submodule/subsub commit -m "add d" &&
git -C submodule submodule add ./subsub &&
git -C submodule commit -m "added subsub" &&
git submodule absorbgitdirs &&
git ls-files --recurse-submodules >actual &&
test_cmp expect actual
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3007-ls-files-recurse-submodules/submodule/subsub/.git/
[master (root-commit) 7d2b9d3] add d
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 d
Adding existing repo at 'subsub' to the index
[master 08d0341] added subsub
Author: A U Thor <author@example.com>
2 files changed, 4 insertions(+)
create mode 100644 .gitmodules
create mode 160000 subsub
Migrating git directory of 'submodule' from
'/<<PKGBUILDDIR>>/t/trash directory.t3007-ls-files-recurse-submodules/submodule/.git' to
'/<<PKGBUILDDIR>>/t/trash directory.t3007-ls-files-recurse-submodules/.git/modules/submodule'
Migrating git directory of 'submodule/subsub' from
'/<<PKGBUILDDIR>>/t/trash directory.t3007-ls-files-recurse-submodules/submodule/subsub/.git' to
'/<<PKGBUILDDIR>>/t/trash directory.t3007-ls-files-recurse-submodules/.git/modules/submodule/modules/subsub'
ok 5 - ls-files recurses more than 1 level
expecting success of 3007.6 'ls-files works with GIT_DIR':
cat >expect <<-\EOF &&
.gitmodules
c
subsub/d
EOF
git --git-dir=submodule/.git ls-files --recurse-submodules >actual &&
test_cmp expect actual
ok 6 - ls-files works with GIT_DIR
expecting success of 3007.7 '--recurse-submodules and pathspecs setup':
echo e >submodule/subsub/e.txt &&
git -C submodule/subsub add e.txt &&
git -C submodule/subsub commit -m "adding e.txt" &&
echo f >submodule/f.TXT &&
echo g >submodule/g.txt &&
git -C submodule add f.TXT g.txt &&
git -C submodule commit -m "add f and g" &&
echo h >h.txt &&
mkdir sib &&
echo sib >sib/file &&
git add h.txt sib/file &&
git commit -m "add h and sib/file" &&
git init sub &&
echo sub >sub/file &&
git -C sub add file &&
git -C sub commit -m "add file" &&
git submodule add ./sub &&
git commit -m "added sub" &&
cat >expect <<-\EOF &&
.gitmodules
a
b/b
h.txt
sib/file
sub/file
submodule/.gitmodules
submodule/c
submodule/f.TXT
submodule/g.txt
submodule/subsub/d
submodule/subsub/e.txt
EOF
git ls-files --recurse-submodules >actual &&
test_cmp expect actual &&
git ls-files --recurse-submodules "*" >actual &&
test_cmp expect actual
[master c3e5b61] adding e.txt
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 e.txt
[master 3686e04] add f and g
Author: A U Thor <author@example.com>
2 files changed, 2 insertions(+)
create mode 100644 f.TXT
create mode 100644 g.txt
[master 2691266] add h and sib/file
Author: A U Thor <author@example.com>
2 files changed, 2 insertions(+)
create mode 100644 h.txt
create mode 100644 sib/file
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3007-ls-files-recurse-submodules/sub/.git/
[master (root-commit) 093ed3c] add file
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 file
Adding existing repo at 'sub' to the index
[master d60cdf7] added sub
Author: A U Thor <author@example.com>
2 files changed, 4 insertions(+)
create mode 160000 sub
ok 7 - --recurse-submodules and pathspecs setup
expecting success of 3007.8 'inactive submodule':
test_when_finished "git config --bool submodule.submodule.active true" &&
test_when_finished "git -C submodule config --bool submodule.subsub.active true" &&
git config --bool submodule.submodule.active "false" &&
cat >expect <<-\EOF &&
.gitmodules
a
b/b
h.txt
sib/file
sub/file
submodule
EOF
git ls-files --recurse-submodules >actual &&
test_cmp expect actual &&
git config --bool submodule.submodule.active "true" &&
git -C submodule config --bool submodule.subsub.active "false" &&
cat >expect <<-\EOF &&
.gitmodules
a
b/b
h.txt
sib/file
sub/file
submodule/.gitmodules
submodule/c
submodule/f.TXT
submodule/g.txt
submodule/subsub
EOF
git ls-files --recurse-submodules >actual &&
test_cmp expect actual
ok 8 - inactive submodule
expecting success of 3007.9 '--recurse-submodules and pathspecs':
cat >expect <<-\EOF &&
h.txt
submodule/g.txt
submodule/subsub/e.txt
EOF
git ls-files --recurse-submodules "*.txt" >actual &&
test_cmp expect actual
ok 9 - --recurse-submodules and pathspecs
expecting success of 3007.10 '--recurse-submodules and pathspecs':
cat >expect <<-\EOF &&
h.txt
submodule/f.TXT
submodule/g.txt
submodule/subsub/e.txt
EOF
git ls-files --recurse-submodules ":(icase)*.txt" >actual &&
test_cmp expect actual
ok 10 - --recurse-submodules and pathspecs
expecting success of 3007.11 '--recurse-submodules and pathspecs':
cat >expect <<-\EOF &&
h.txt
submodule/f.TXT
submodule/g.txt
EOF
git ls-files --recurse-submodules ":(icase)*.txt" ":(exclude)submodule/subsub/*" >actual &&
test_cmp expect actual
ok 11 - --recurse-submodules and pathspecs
expecting success of 3007.12 '--recurse-submodules and pathspecs':
cat >expect <<-\EOF &&
sub/file
EOF
git ls-files --recurse-submodules "sub" >actual &&
test_cmp expect actual &&
git ls-files --recurse-submodules "sub/" >actual &&
test_cmp expect actual &&
git ls-files --recurse-submodules "sub/file" >actual &&
test_cmp expect actual &&
git ls-files --recurse-submodules "su*/file" >actual &&
test_cmp expect actual &&
git ls-files --recurse-submodules "su?/file" >actual &&
test_cmp expect actual
ok 12 - --recurse-submodules and pathspecs
expecting success of 3007.13 '--recurse-submodules and pathspecs':
cat >expect <<-\EOF &&
sib/file
sub/file
EOF
git ls-files --recurse-submodules "s??/file" >actual &&
test_cmp expect actual &&
git ls-files --recurse-submodules "s???file" >actual &&
test_cmp expect actual &&
git ls-files --recurse-submodules "s*file" >actual &&
test_cmp expect actual
ok 13 - --recurse-submodules and pathspecs
expecting success of 3007.14 '--recurse-submodules and relative paths':
# From subdir
cat >expect <<-\EOF &&
b
EOF
git -C b ls-files --recurse-submodules >actual &&
test_cmp expect actual &&
# Relative path to top
cat >expect <<-\EOF &&
../.gitmodules
../a
b
../h.txt
../sib/file
../sub/file
../submodule/.gitmodules
../submodule/c
../submodule/f.TXT
../submodule/g.txt
../submodule/subsub/d
../submodule/subsub/e.txt
EOF
git -C b ls-files --recurse-submodules -- .. >actual &&
test_cmp expect actual &&
# Relative path to submodule
cat >expect <<-\EOF &&
../submodule/.gitmodules
../submodule/c
../submodule/f.TXT
../submodule/g.txt
../submodule/subsub/d
../submodule/subsub/e.txt
EOF
git -C b ls-files --recurse-submodules -- ../submodule >actual &&
test_cmp expect actual
ok 14 - --recurse-submodules and relative paths
expecting success of 3007.15 '--recurse-submodules does not support --error-unmatch':
test_must_fail git ls-files --recurse-submodules --error-unmatch 2>actual &&
test_i18ngrep "does not support --error-unmatch" actual
checking prerequisite: C_LOCALE_OUTPUT
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
! test_bool_env GIT_TEST_GETTEXT_POISON false
)
prerequisite C_LOCALE_OUTPUT ok
fatal: ls-files --recurse-submodules does not support --error-unmatch
ok 15 - --recurse-submodules does not support --error-unmatch
expecting success of 3007.16 '--recurse-submodules and --deleted are incompatible':
test_must_fail git ls-files --recurse-submodules --deleted 2>actual &&
test_i18ngrep 'unsupported mode' actual
fatal: ls-files --recurse-submodules unsupported mode
ok 16 - --recurse-submodules and --deleted are incompatible
expecting success of 3007.17 '--recurse-submodules and --modified are incompatible':
test_must_fail git ls-files --recurse-submodules --modified 2>actual &&
test_i18ngrep 'unsupported mode' actual
fatal: ls-files --recurse-submodules unsupported mode
ok 17 - --recurse-submodules and --modified are incompatible
expecting success of 3007.18 '--recurse-submodules and --others are incompatible':
test_must_fail git ls-files --recurse-submodules --others 2>actual &&
test_i18ngrep 'unsupported mode' actual
fatal: ls-files --recurse-submodules unsupported mode
ok 18 - --recurse-submodules and --others are incompatible
expecting success of 3007.19 '--recurse-submodules and --stage are incompatible':
test_must_fail git ls-files --recurse-submodules --stage 2>actual &&
test_i18ngrep 'unsupported mode' actual
fatal: ls-files --recurse-submodules unsupported mode
ok 19 - --recurse-submodules and --stage are incompatible
expecting success of 3007.20 '--recurse-submodules and --killed are incompatible':
test_must_fail git ls-files --recurse-submodules --killed 2>actual &&
test_i18ngrep 'unsupported mode' actual
fatal: ls-files --recurse-submodules unsupported mode
ok 20 - --recurse-submodules and --killed are incompatible
expecting success of 3007.21 '--recurse-submodules and --unmerged are incompatible':
test_must_fail git ls-files --recurse-submodules --unmerged 2>actual &&
test_i18ngrep 'unsupported mode' actual
fatal: ls-files --recurse-submodules unsupported mode
ok 21 - --recurse-submodules and --unmerged are incompatible
# passed all 21 test(s)
1..21
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t3020-ls-files-error-unmatch.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3020-ls-files-error-unmatch/.git/
expecting success of 3020.1 'setup':
touch foo bar &&
git update-index --add foo bar &&
git commit -m "add foo bar"
[master (root-commit) 1c23f20] add foo bar
Author: A U Thor <author@example.com>
2 files changed, 0 insertions(+), 0 deletions(-)
create mode 100644 bar
create mode 100644 foo
ok 1 - setup
expecting success of 3020.2 'git ls-files --error-unmatch should fail with unmatched path.': test_must_fail git ls-files --error-unmatch foo bar-does-not-match
error: pathspec 'bar-does-not-match' did not match any file(s) known to git
Did you forget to 'git add'?
foo
ok 2 - git ls-files --error-unmatch should fail with unmatched path.
expecting success of 3020.3 'git ls-files --error-unmatch should succeed with matched paths.': git ls-files --error-unmatch foo bar
bar
foo
ok 3 - git ls-files --error-unmatch should succeed with matched paths.
# passed all 3 test(s)
1..3
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t3011-common-prefixes-and-directory-traversal.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3011-common-prefixes-and-directory-traversal/.git/
expecting success of 3011.1 'setup':
test_commit hello &&
>empty &&
mkdir untracked_dir &&
>untracked_dir/empty &&
git init untracked_repo &&
>untracked_repo/empty &&
cat <<-EOF >.gitignore &&
ignored
an_ignored_dir/
EOF
mkdir an_ignored_dir &&
mkdir an_untracked_dir &&
>an_ignored_dir/ignored &&
>an_ignored_dir/untracked &&
>an_untracked_dir/ignored &&
>an_untracked_dir/untracked
[master (root-commit) 7dd16e1] hello
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 hello.t
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3011-common-prefixes-and-directory-traversal/untracked_repo/.git/
ok 1 - setup
expecting success of 3011.2 'git ls-files -o shows the right entries':
cat <<-EOF >expect &&
.gitignore
actual
an_ignored_dir/ignored
an_ignored_dir/untracked
an_untracked_dir/ignored
an_untracked_dir/untracked
empty
expect
untracked_dir/empty
untracked_repo/
EOF
git ls-files -o >actual &&
test_cmp expect actual
ok 2 - git ls-files -o shows the right entries
expecting success of 3011.3 'git ls-files -o --exclude-standard shows the right entries':
cat <<-EOF >expect &&
.gitignore
actual
an_untracked_dir/untracked
empty
expect
untracked_dir/empty
untracked_repo/
EOF
git ls-files -o --exclude-standard >actual &&
test_cmp expect actual
ok 3 - git ls-files -o --exclude-standard shows the right entries
expecting success of 3011.4 'git ls-files -o untracked_dir recurses':
echo untracked_dir/empty >expect &&
git ls-files -o untracked_dir >actual &&
test_cmp expect actual
ok 4 - git ls-files -o untracked_dir recurses
expecting success of 3011.5 'git ls-files -o untracked_dir/ recurses':
echo untracked_dir/empty >expect &&
git ls-files -o untracked_dir/ >actual &&
test_cmp expect actual
ok 5 - git ls-files -o untracked_dir/ recurses
expecting success of 3011.6 'git ls-files -o --directory untracked_dir does not recurse':
echo untracked_dir/ >expect &&
git ls-files -o --directory untracked_dir >actual &&
test_cmp expect actual
ok 6 - git ls-files -o --directory untracked_dir does not recurse
expecting success of 3011.7 'git ls-files -o --directory untracked_dir/ does not recurse':
echo untracked_dir/ >expect &&
git ls-files -o --directory untracked_dir/ >actual &&
test_cmp expect actual
ok 7 - git ls-files -o --directory untracked_dir/ does not recurse
expecting success of 3011.8 'git ls-files -o untracked_repo does not recurse':
echo untracked_repo/ >expect &&
git ls-files -o untracked_repo >actual &&
test_cmp expect actual
ok 8 - git ls-files -o untracked_repo does not recurse
expecting success of 3011.9 'git ls-files -o untracked_repo/ does not recurse':
echo untracked_repo/ >expect &&
git ls-files -o untracked_repo/ >actual &&
test_cmp expect actual
ok 9 - git ls-files -o untracked_repo/ does not recurse
expecting success of 3011.10 'git ls-files -o untracked_dir untracked_repo recurses into untracked_dir only':
cat <<-EOF >expect &&
untracked_dir/empty
untracked_repo/
EOF
git ls-files -o untracked_dir untracked_repo >actual &&
test_cmp expect actual
ok 10 - git ls-files -o untracked_dir untracked_repo recurses into untracked_dir only
expecting success of 3011.11 'git ls-files -o untracked_dir/ untracked_repo/ recurses into untracked_dir only':
cat <<-EOF >expect &&
untracked_dir/empty
untracked_repo/
EOF
git ls-files -o untracked_dir/ untracked_repo/ >actual &&
test_cmp expect actual
ok 11 - git ls-files -o untracked_dir/ untracked_repo/ recurses into untracked_dir only
expecting success of 3011.12 'git ls-files -o --directory untracked_dir untracked_repo does not recurse':
cat <<-EOF >expect &&
untracked_dir/
untracked_repo/
EOF
git ls-files -o --directory untracked_dir untracked_repo >actual &&
test_cmp expect actual
ok 12 - git ls-files -o --directory untracked_dir untracked_repo does not recurse
expecting success of 3011.13 'git ls-files -o --directory untracked_dir/ untracked_repo/ does not recurse':
cat <<-EOF >expect &&
untracked_dir/
untracked_repo/
EOF
git ls-files -o --directory untracked_dir/ untracked_repo/ >actual &&
test_cmp expect actual
ok 13 - git ls-files -o --directory untracked_dir/ untracked_repo/ does not recurse
expecting success of 3011.14 'git ls-files -o .git shows nothing':
git ls-files -o .git >actual &&
test_must_be_empty actual
ok 14 - git ls-files -o .git shows nothing
expecting success of 3011.15 'git ls-files -o .git/ shows nothing':
git ls-files -o .git/ >actual &&
test_must_be_empty actual
ok 15 - git ls-files -o .git/ shows nothing
checking prerequisite: FUNNYNAMES
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
test_have_prereq !MINGW &&
touch -- \
"FUNNYNAMES tab embedded" \
"FUNNYNAMES \"quote embedded\"" \
"FUNNYNAMES newline
embedded" 2>/dev/null &&
rm -- \
"FUNNYNAMES tab embedded" \
"FUNNYNAMES \"quote embedded\"" \
"FUNNYNAMES newline
embedded" 2>/dev/null
)
prerequisite FUNNYNAMES ok
expecting success of 3011.16 'git ls-files -o untracked_* recurses appropriately':
mkdir "untracked_*" &&
>"untracked_*/empty" &&
cat <<-EOF >expect &&
untracked_*/empty
untracked_dir/empty
untracked_repo/
EOF
git ls-files -o "untracked_*" >actual &&
test_cmp expect actual
ok 16 - git ls-files -o untracked_* recurses appropriately
checking known breakage of 3011.17 'git ls-files -o untracked_*/ recurses appropriately':
cat <<-EOF >expect &&
untracked_*/empty
untracked_dir/empty
untracked_repo/
EOF
git ls-files -o "untracked_*/" >actual &&
test_cmp expect actual
--- expect 2020-06-12 06:36:23.102428764 +0000
+++ actual 2020-06-12 06:36:23.122429592 +0000
@@ -1,3 +1,2 @@
untracked_*/empty
-untracked_dir/empty
untracked_repo/
not ok 17 - git ls-files -o untracked_*/ recurses appropriately # TODO known breakage
expecting success of 3011.18 'git ls-files -o --directory untracked_* does not recurse':
cat <<-EOF >expect &&
untracked_*/
untracked_dir/
untracked_repo/
EOF
git ls-files -o --directory "untracked_*" >actual &&
test_cmp expect actual
ok 18 - git ls-files -o --directory untracked_* does not recurse
expecting success of 3011.19 'git ls-files -o --directory untracked_*/ does not recurse':
cat <<-EOF >expect &&
untracked_*/
untracked_dir/
untracked_repo/
EOF
git ls-files -o --directory "untracked_*/" >actual &&
test_cmp expect actual
ok 19 - git ls-files -o --directory untracked_*/ does not recurse
expecting success of 3011.20 'git ls-files -o consistent between one or two dirs':
git ls-files -o --exclude-standard an_ignored_dir/ an_untracked_dir/ >tmp &&
! grep ^an_ignored_dir/ tmp >expect &&
git ls-files -o --exclude-standard an_ignored_dir/ >actual &&
test_cmp expect actual
ok 20 - git ls-files -o consistent between one or two dirs
expecting success of 3011.21 'git status --ignored shows same files under dir with or without pathspec':
cat <<-EOF >expect &&
?? an_untracked_dir/
!! an_untracked_dir/ignored
EOF
git status --porcelain --ignored >output &&
grep an_untracked_dir output >expect &&
git status --porcelain --ignored an_untracked_dir/ >actual &&
test_cmp expect actual
ok 21 - git status --ignored shows same files under dir with or without pathspec
# still have 1 known breakage(s)
# passed all remaining 20 test(s)
1..21
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t2400-worktree-add.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t2400-worktree-add/.git/
expecting success of 2400.1 'setup':
test_commit init
[master (root-commit) 2519212] init
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 init.t
ok 1 - setup
expecting success of 2400.2 '"add" an existing worktree':
mkdir -p existing/subtree &&
test_must_fail git worktree add --detach existing master
fatal: 'existing' already exists
Preparing worktree (detached HEAD 2519212)
ok 2 - "add" an existing worktree
expecting success of 2400.3 '"add" an existing empty worktree':
mkdir existing_empty &&
git worktree add --detach existing_empty master
Preparing worktree (detached HEAD 2519212)
HEAD is now at 2519212 init
ok 3 - "add" an existing empty worktree
expecting success of 2400.4 '"add" using shorthand - fails when no previous branch':
test_must_fail git worktree add existing_short -
fatal: invalid reference: @{-1}
ok 4 - "add" using shorthand - fails when no previous branch
expecting success of 2400.5 '"add" using - shorthand':
git checkout -b newbranch &&
echo hello >myworld &&
git add myworld &&
git commit -m myworld &&
git checkout master &&
git worktree add short-hand - &&
echo refs/heads/newbranch >expect &&
git -C short-hand rev-parse --symbolic-full-name HEAD >actual &&
test_cmp expect actual
Switched to a new branch 'newbranch'
[newbranch 5ae2ce4] myworld
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 myworld
Switched to branch 'master'
Preparing worktree (checking out '@{-1}')
HEAD is now at 5ae2ce4 myworld
ok 5 - "add" using - shorthand
expecting success of 2400.6 '"add" refuses to checkout locked branch':
test_must_fail git worktree add zere master &&
! test -d zere &&
! test -d .git/worktrees/zere
fatal: 'master' is already checked out at '/<<PKGBUILDDIR>>/t/trash directory.t2400-worktree-add'
Preparing worktree (checking out 'master')
ok 6 - "add" refuses to checkout locked branch
expecting success of 2400.7 'checking out paths not complaining about linked checkouts':
(
cd existing_empty &&
echo dirty >>init.t &&
git checkout master -- init.t
)
ok 7 - checking out paths not complaining about linked checkouts
expecting success of 2400.8 '"add" worktree':
git rev-parse HEAD >expect &&
git worktree add --detach here master &&
(
cd here &&
test_cmp ../init.t init.t &&
test_must_fail git symbolic-ref HEAD &&
git rev-parse HEAD >actual &&
test_cmp ../expect actual &&
git fsck
)
Preparing worktree (detached HEAD 2519212)
HEAD is now at 2519212 init
fatal: ref HEAD is not a symbolic ref
ok 8 - "add" worktree
expecting success of 2400.9 '"add" worktree with lock':
git rev-parse HEAD >expect &&
git worktree add --detach --lock here-with-lock master &&
test -f .git/worktrees/here-with-lock/locked
Preparing worktree (detached HEAD 2519212)
HEAD is now at 2519212 init
ok 9 - "add" worktree with lock
expecting success of 2400.10 '"add" worktree from a subdir':
(
mkdir sub &&
cd sub &&
git worktree add --detach here master &&
cd here &&
test_cmp ../../init.t init.t
)
Preparing worktree (detached HEAD 2519212)
HEAD is now at 2519212 init
ok 10 - "add" worktree from a subdir
expecting success of 2400.11 '"add" from a linked checkout':
(
cd here &&
git worktree add --detach nested-here master &&
cd nested-here &&
git fsck
)
Preparing worktree (detached HEAD 2519212)
HEAD is now at 2519212 init
ok 11 - "add" from a linked checkout
expecting success of 2400.12 '"add" worktree creating new branch':
git worktree add -b newmaster there master &&
(
cd there &&
test_cmp ../init.t init.t &&
git symbolic-ref HEAD >actual &&
echo refs/heads/newmaster >expect &&
test_cmp expect actual &&
git fsck
)
Preparing worktree (new branch 'newmaster')
HEAD is now at 2519212 init
ok 12 - "add" worktree creating new branch
expecting success of 2400.13 'die the same branch is already checked out':
(
cd here &&
test_must_fail git checkout newmaster
)
fatal: 'newmaster' is already checked out at '/<<PKGBUILDDIR>>/t/trash directory.t2400-worktree-add/there'
ok 13 - die the same branch is already checked out
checking prerequisite: SYMLINKS
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
# test whether the filesystem supports symbolic links
ln -s x y && test -h y
)
prerequisite SYMLINKS ok
expecting success of 2400.14 'die the same branch is already checked out (symlink)':
head=$(git -C there rev-parse --git-path HEAD) &&
ref=$(git -C there symbolic-ref HEAD) &&
rm "$head" &&
ln -s "$ref" "$head" &&
test_must_fail git -C here checkout newmaster
fatal: 'newmaster' is already checked out at '/<<PKGBUILDDIR>>/t/trash directory.t2400-worktree-add/there'
ok 14 - die the same branch is already checked out (symlink)
expecting success of 2400.15 'not die the same branch is already checked out':
(
cd here &&
git worktree add --force anothernewmaster newmaster
)
Preparing worktree (checking out 'newmaster')
HEAD is now at 2519212 init
ok 15 - not die the same branch is already checked out
expecting success of 2400.16 'not die on re-checking out current branch':
(
cd there &&
git checkout newmaster
)
Already on 'newmaster'
ok 16 - not die on re-checking out current branch
expecting success of 2400.17 '"add" from a bare repo':
(
git clone --bare . bare &&
cd bare &&
git worktree add -b bare-master ../there2 master
)
Cloning into bare repository 'bare'...
done.
Preparing worktree (new branch 'bare-master')
HEAD is now at 2519212 init
ok 17 - "add" from a bare repo
expecting success of 2400.18 'checkout from a bare repo without "add"':
(
cd bare &&
test_must_fail git checkout master
)
fatal: this operation must be run in a work tree
ok 18 - checkout from a bare repo without "add"
expecting success of 2400.19 '"add" default branch of a bare repo':
(
git clone --bare . bare2 &&
cd bare2 &&
git worktree add ../there3 master
)
Cloning into bare repository 'bare2'...
done.
Preparing worktree (checking out 'master')
HEAD is now at 2519212 init
ok 19 - "add" default branch of a bare repo
expecting success of 2400.20 'checkout with grafts':
test_when_finished rm .git/info/grafts &&
test_commit abc &&
SHA1=$(git rev-parse HEAD) &&
test_commit def &&
test_commit xyz &&
echo "$(git rev-parse HEAD) $SHA1" >.git/info/grafts &&
cat >expected <<-\EOF &&
xyz
abc
EOF
git log --format=%s -2 >actual &&
test_cmp expected actual &&
git worktree add --detach grafted master &&
git --git-dir=grafted/.git log --format=%s -2 >actual &&
test_cmp expected actual
[master 6d278e0] abc
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 abc.t
[master 3c13a14] def
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 def.t
[master a51b5be] xyz
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 xyz.t
hint: Support for <GIT_DIR>/info/grafts is deprecated
hint: and will be removed in a future Git version.
hint:
hint: Please use "git replace --convert-graft-file"
hint: to convert the grafts into replace refs.
hint:
hint: Turn this message off by running
hint: "git config advice.graftFileDeprecated false"
hint: Support for <GIT_DIR>/info/grafts is deprecated
hint: and will be removed in a future Git version.
hint:
hint: Please use "git replace --convert-graft-file"
hint: to convert the grafts into replace refs.
hint:
hint: Turn this message off by running
hint: "git config advice.graftFileDeprecated false"
Preparing worktree (detached HEAD a51b5be)
hint: Support for <GIT_DIR>/info/grafts is deprecated
hint: and will be removed in a future Git version.
hint:
hint: Please use "git replace --convert-graft-file"
hint: to convert the grafts into replace refs.
hint:
hint: Turn this message off by running
hint: "git config advice.graftFileDeprecated false"
hint: Support for <GIT_DIR>/info/grafts is deprecated
hint: and will be removed in a future Git version.
hint:
hint: Please use "git replace --convert-graft-file"
hint: to convert the grafts into replace refs.
hint:
hint: Turn this message off by running
hint: "git config advice.graftFileDeprecated false"
HEAD is now at a51b5be xyz
hint: Support for <GIT_DIR>/info/grafts is deprecated
hint: and will be removed in a future Git version.
hint:
hint: Please use "git replace --convert-graft-file"
hint: to convert the grafts into replace refs.
hint:
hint: Turn this message off by running
hint: "git config advice.graftFileDeprecated false"
ok 20 - checkout with grafts
expecting success of 2400.21 '"add" from relative HEAD':
test_commit a &&
test_commit b &&
test_commit c &&
git rev-parse HEAD~1 >expected &&
git worktree add relhead HEAD~1 &&
git -C relhead rev-parse HEAD >actual &&
test_cmp expected actual
[master e9a6308] a
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 a.t
[master 15d3bfc] b
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 b.t
[master 179a9e0] c
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 c.t
Preparing worktree (detached HEAD 15d3bfc)
HEAD is now at 15d3bfc b
ok 21 - "add" from relative HEAD
expecting success of 2400.22 '"add -b" with <branch> omitted':
git worktree add -b burble flornk &&
test_cmp_rev HEAD burble
Preparing worktree (new branch 'burble')
HEAD is now at 179a9e0 c
ok 22 - "add -b" with <branch> omitted
expecting success of 2400.23 '"add --detach" with <branch> omitted':
git worktree add --detach fishhook &&
git rev-parse HEAD >expected &&
git -C fishhook rev-parse HEAD >actual &&
test_cmp expected actual &&
test_must_fail git -C fishhook symbolic-ref HEAD
Preparing worktree (detached HEAD 179a9e0)
HEAD is now at 179a9e0 c
fatal: ref HEAD is not a symbolic ref
ok 23 - "add --detach" with <branch> omitted
expecting success of 2400.24 '"add" with <branch> omitted':
git worktree add wiffle/bat &&
test_cmp_rev HEAD bat
Preparing worktree (new branch 'bat')
HEAD is now at 179a9e0 c
ok 24 - "add" with <branch> omitted
expecting success of 2400.25 '"add" checks out existing branch of dwimd name':
git branch dwim HEAD~1 &&
git worktree add dwim &&
test_cmp_rev HEAD~1 dwim &&
(
cd dwim &&
test_cmp_rev HEAD dwim
)
Preparing worktree (checking out 'dwim')
HEAD is now at 15d3bfc b
ok 25 - "add" checks out existing branch of dwimd name
expecting success of 2400.26 '"add <path>" dwim fails with checked out branch':
git checkout -b test-branch &&
test_must_fail git worktree add test-branch &&
test_path_is_missing test-branch
Switched to a new branch 'test-branch'
fatal: 'test-branch' is already checked out at '/<<PKGBUILDDIR>>/t/trash directory.t2400-worktree-add'
Preparing worktree (checking out 'test-branch')
ok 26 - "add <path>" dwim fails with checked out branch
expecting success of 2400.27 '"add --force" with existing dwimd name doesnt die':
git checkout test-branch &&
git worktree add --force test-branch
Already on 'test-branch'
Preparing worktree (checking out 'test-branch')
HEAD is now at 179a9e0 c
ok 27 - "add --force" with existing dwimd name doesnt die
expecting success of 2400.28 '"add" no auto-vivify with --detach and <branch> omitted':
git worktree add --detach mish/mash &&
test_must_fail git rev-parse mash -- &&
test_must_fail git -C mish/mash symbolic-ref HEAD
Preparing worktree (detached HEAD 179a9e0)
HEAD is now at 179a9e0 c
fatal: bad revision 'mash'
fatal: ref HEAD is not a symbolic ref
ok 28 - "add" no auto-vivify with --detach and <branch> omitted
expecting success of 2400.29 '"add" -b/-B mutually exclusive':
test_must_fail git worktree add -b poodle -B poodle bamboo master
fatal: -b, -B, and --detach are mutually exclusive
ok 29 - "add" -b/-B mutually exclusive
expecting success of 2400.30 '"add" -b/--detach mutually exclusive':
test_must_fail git worktree add -b poodle --detach bamboo master
fatal: -b, -B, and --detach are mutually exclusive
ok 30 - "add" -b/--detach mutually exclusive
expecting success of 2400.31 '"add" -B/--detach mutually exclusive':
test_must_fail git worktree add -B poodle --detach bamboo master
fatal: -b, -B, and --detach are mutually exclusive
ok 31 - "add" -B/--detach mutually exclusive
expecting success of 2400.32 '"add -B" fails if the branch is checked out':
git rev-parse newmaster >before &&
test_must_fail git worktree add -B newmaster bamboo master &&
git rev-parse newmaster >after &&
test_cmp before after
fatal: 'newmaster' is already checked out at '/<<PKGBUILDDIR>>/t/trash directory.t2400-worktree-add/there'
ok 32 - "add -B" fails if the branch is checked out
expecting success of 2400.33 'add -B':
git worktree add -B poodle bamboo2 master^ &&
git -C bamboo2 symbolic-ref HEAD >actual &&
echo refs/heads/poodle >expected &&
test_cmp expected actual &&
test_cmp_rev master^ poodle
Preparing worktree (new branch 'poodle')
HEAD is now at 15d3bfc b
ok 33 - add -B
expecting success of 2400.34 'add --quiet':
git worktree add --quiet another-worktree master 2>actual &&
test_must_be_empty actual
ok 34 - add --quiet
expecting success of 2400.35 'local clone from linked checkout':
git clone --local here here-clone &&
( cd here-clone && git fsck )
Cloning into 'here-clone'...
done.
ok 35 - local clone from linked checkout
expecting success of 2400.36 'local clone --shared from linked checkout':
git -C bare worktree add --detach ../baretree &&
git clone --local --shared baretree bare-clone &&
grep /bare/ bare-clone/.git/objects/info/alternates
Preparing worktree (detached HEAD 2519212)
HEAD is now at 2519212 init
Cloning into 'bare-clone'...
done.
/<<PKGBUILDDIR>>/t/trash directory.t2400-worktree-add/bare/objects
ok 36 - local clone --shared from linked checkout
expecting success of 2400.37 '"add" worktree with --no-checkout':
git worktree add --no-checkout -b swamp swamp &&
! test -e swamp/init.t &&
git -C swamp reset --hard &&
test_cmp init.t swamp/init.t
Preparing worktree (new branch 'swamp')
HEAD is now at 179a9e0 c
ok 37 - "add" worktree with --no-checkout
expecting success of 2400.38 '"add" worktree with --checkout':
git worktree add --checkout -b swmap2 swamp2 &&
test_cmp init.t swamp2/init.t
Preparing worktree (new branch 'swmap2')
HEAD is now at 179a9e0 c
ok 38 - "add" worktree with --checkout
expecting success of 2400.39 'put a worktree under rebase':
git worktree add under-rebase &&
(
cd under-rebase &&
set_fake_editor &&
FAKE_LINES="edit 1" git rebase -i HEAD^ &&
git worktree list | grep "under-rebase.*detached HEAD"
)
Preparing worktree (new branch 'under-rebase')
HEAD is now at 179a9e0 c
rebase -i script before editing:
pick 179a9e0 c
rebase -i script after editing:
edit 179a9e0 c
Rebasing (1/1)
Stopped at 179a9e0... c
You can amend the commit now, with
git commit --amend
Once you are satisfied with your changes, run
git rebase --continue
/<<PKGBUILDDIR>>/t/trash directory.t2400-worktree-add/under-rebase 179a9e0 (detached HEAD)
ok 39 - put a worktree under rebase
expecting success of 2400.40 'add a worktree, checking out a rebased branch':
test_must_fail git worktree add new-rebase under-rebase &&
! test -d new-rebase
fatal: 'under-rebase' is already checked out at '/<<PKGBUILDDIR>>/t/trash directory.t2400-worktree-add/under-rebase'
Preparing worktree (checking out 'under-rebase')
ok 40 - add a worktree, checking out a rebased branch
expecting success of 2400.41 'checking out a rebased branch from another worktree':
git worktree add new-place &&
test_must_fail git -C new-place checkout under-rebase
Preparing worktree (new branch 'new-place')
HEAD is now at 179a9e0 c
fatal: 'under-rebase' is already checked out at '/<<PKGBUILDDIR>>/t/trash directory.t2400-worktree-add/under-rebase'
ok 41 - checking out a rebased branch from another worktree
expecting success of 2400.42 'not allow to delete a branch under rebase':
(
cd under-rebase &&
test_must_fail git branch -D under-rebase
)
error: Cannot delete branch 'under-rebase' checked out at '/<<PKGBUILDDIR>>/t/trash directory.t2400-worktree-add/under-rebase'
ok 42 - not allow to delete a branch under rebase
expecting success of 2400.43 'rename a branch under rebase not allowed':
test_must_fail git branch -M under-rebase rebase-with-new-name
fatal: Branch refs/heads/under-rebase is being rebased at /<<PKGBUILDDIR>>/t/trash directory.t2400-worktree-add/under-rebase
ok 43 - rename a branch under rebase not allowed
expecting success of 2400.44 'check out from current worktree branch ok':
(
cd under-rebase &&
git checkout under-rebase &&
git checkout - &&
git rebase --abort
)
Switched to branch 'under-rebase'
Note: switching to '179a9e09a27c48c73ff2a192ec62ebcd60fedd6a'.
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 <new-branch-name>
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
HEAD is now at 179a9e0 c
ok 44 - check out from current worktree branch ok
expecting success of 2400.45 'checkout a branch under bisect':
git worktree add under-bisect &&
(
cd under-bisect &&
git bisect start &&
git bisect bad &&
git bisect good HEAD~2 &&
git worktree list | grep "under-bisect.*detached HEAD" &&
test_must_fail git worktree add new-bisect under-bisect &&
! test -d new-bisect
)
Preparing worktree (new branch 'under-bisect')
HEAD is now at 179a9e0 c
Bisecting: 0 revisions left to test after this (roughly 0 steps)
[15d3bfcc767862b6abd36db671feb8356eb7d7d7] b
/<<PKGBUILDDIR>>/t/trash directory.t2400-worktree-add/under-bisect 15d3bfc (detached HEAD)
fatal: 'under-bisect' is already checked out at '/<<PKGBUILDDIR>>/t/trash directory.t2400-worktree-add/under-bisect'
Preparing worktree (checking out 'under-bisect')
ok 45 - checkout a branch under bisect
expecting success of 2400.46 'rename a branch under bisect not allowed':
test_must_fail git branch -M under-bisect bisect-with-new-name
fatal: Branch refs/heads/under-bisect is being bisected at /<<PKGBUILDDIR>>/t/trash directory.t2400-worktree-add/under-bisect
ok 46 - rename a branch under bisect not allowed
expecting success of 2400.47 '--track sets up tracking':
test_when_finished rm -rf track &&
git worktree add --track -b track track master &&
test_branch_upstream track . master
Preparing worktree (new branch 'track')
Branch 'track' set up to track local branch 'master'.
HEAD is now at 179a9e0 c
ok 47 - --track sets up tracking
expecting success of 2400.48 '--no-track avoids setting up tracking':
test_when_finished rm -rf repo_upstream repo_local foo &&
setup_remote_repo repo_upstream repo_local &&
(
cd repo_local &&
git worktree add --no-track -b foo ../foo repo_upstream/foo
) &&
(
cd foo &&
test_must_fail git config "branch.foo.remote" &&
test_must_fail git config "branch.foo.merge" &&
test_cmp_rev refs/remotes/repo_upstream/foo refs/heads/foo
)
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t2400-worktree-add/repo_upstream/.git/
[master (root-commit) 8653142] repo_upstream_master
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 repo_upstream_master.t
Switched to a new branch 'foo'
[foo 9273adc] upstream_foo
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 upstream_foo.t
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t2400-worktree-add/repo_local/.git/
[master (root-commit) 181be3d] repo_local_master
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 repo_local_master.t
Fetching repo_upstream
warning: no common commits
From ../repo_upstream
* [new branch] foo -> repo_upstream/foo
* [new branch] master -> repo_upstream/master
* [new tag] repo_upstream_master -> repo_upstream_master
* [new tag] upstream_foo -> upstream_foo
Preparing worktree (new branch 'foo')
HEAD is now at 9273adc upstream_foo
ok 48 - --no-track avoids setting up tracking
expecting success of 2400.49 '"add" <path> <non-existent-branch> fails':
test_must_fail git worktree add foo non-existent
fatal: invalid reference: non-existent
ok 49 - "add" <path> <non-existent-branch> fails
expecting success of 2400.50 '"add" <path> <branch> dwims':
test_when_finished rm -rf repo_upstream repo_dwim foo &&
setup_remote_repo repo_upstream repo_dwim &&
git init repo_dwim &&
(
cd repo_dwim &&
git worktree add ../foo foo
) &&
(
cd foo &&
test_branch_upstream foo repo_upstream foo &&
test_cmp_rev refs/remotes/repo_upstream/foo refs/heads/foo
)
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t2400-worktree-add/repo_upstream/.git/
[master (root-commit) 8653142] repo_upstream_master
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 repo_upstream_master.t
Switched to a new branch 'foo'
[foo 9273adc] upstream_foo
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 upstream_foo.t
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t2400-worktree-add/repo_dwim/.git/
[master (root-commit) 81eb8eb] repo_dwim_master
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 repo_dwim_master.t
Fetching repo_upstream
warning: no common commits
From ../repo_upstream
* [new branch] foo -> repo_upstream/foo
* [new branch] master -> repo_upstream/master
* [new tag] repo_upstream_master -> repo_upstream_master
* [new tag] upstream_foo -> upstream_foo
Reinitialized existing Git repository in /<<PKGBUILDDIR>>/t/trash directory.t2400-worktree-add/repo_dwim/.git/
Preparing worktree (new branch 'foo')
Branch 'foo' set up to track remote branch 'foo' from 'repo_upstream'.
HEAD is now at 9273adc upstream_foo
ok 50 - "add" <path> <branch> dwims
expecting success of 2400.51 '"add" <path> <branch> dwims with checkout.defaultRemote':
test_when_finished rm -rf repo_upstream repo_dwim foo &&
setup_remote_repo repo_upstream repo_dwim &&
git init repo_dwim &&
(
cd repo_dwim &&
git remote add repo_upstream2 ../repo_upstream &&
git fetch repo_upstream2 &&
test_must_fail git worktree add ../foo foo &&
git -c checkout.defaultRemote=repo_upstream worktree add ../foo foo &&
git status -uno --porcelain >status.actual &&
test_must_be_empty status.actual
) &&
(
cd foo &&
test_branch_upstream foo repo_upstream foo &&
test_cmp_rev refs/remotes/repo_upstream/foo refs/heads/foo
)
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t2400-worktree-add/repo_upstream/.git/
[master (root-commit) 8653142] repo_upstream_master
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 repo_upstream_master.t
Switched to a new branch 'foo'
[foo 9273adc] upstream_foo
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 upstream_foo.t
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t2400-worktree-add/repo_dwim/.git/
[master (root-commit) 81eb8eb] repo_dwim_master
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 repo_dwim_master.t
Fetching repo_upstream
warning: no common commits
From ../repo_upstream
* [new branch] foo -> repo_upstream/foo
* [new branch] master -> repo_upstream/master
* [new tag] repo_upstream_master -> repo_upstream_master
* [new tag] upstream_foo -> upstream_foo
Reinitialized existing Git repository in /<<PKGBUILDDIR>>/t/trash directory.t2400-worktree-add/repo_dwim/.git/
From ../repo_upstream
* [new branch] foo -> repo_upstream2/foo
* [new branch] master -> repo_upstream2/master
fatal: invalid reference: foo
Preparing worktree (new branch 'foo')
Branch 'foo' set up to track remote branch 'foo' from 'repo_upstream'.
HEAD is now at 9273adc upstream_foo
ok 51 - "add" <path> <branch> dwims with checkout.defaultRemote
expecting success of 2400.52 'git worktree add does not match remote':
test_when_finished rm -rf repo_a repo_b foo &&
setup_remote_repo repo_a repo_b &&
(
cd repo_b &&
git worktree add ../foo
) &&
(
cd foo &&
test_must_fail git config "branch.foo.remote" &&
test_must_fail git config "branch.foo.merge" &&
test_cmp_rev ! refs/remotes/repo_a/foo refs/heads/foo
)
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t2400-worktree-add/repo_a/.git/
[master (root-commit) 58714c0] repo_a_master
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 repo_a_master.t
Switched to a new branch 'foo'
[foo a445945] upstream_foo
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 upstream_foo.t
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t2400-worktree-add/repo_b/.git/
[master (root-commit) 0904084] repo_b_master
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 repo_b_master.t
Fetching repo_a
warning: no common commits
From ../repo_a
* [new branch] foo -> repo_a/foo
* [new branch] master -> repo_a/master
* [new tag] repo_a_master -> repo_a_master
* [new tag] upstream_foo -> upstream_foo
Preparing worktree (new branch 'foo')
HEAD is now at 0904084 repo_b_master
ok 52 - git worktree add does not match remote
expecting success of 2400.53 'git worktree add --guess-remote sets up tracking':
test_when_finished rm -rf repo_a repo_b foo &&
setup_remote_repo repo_a repo_b &&
(
cd repo_b &&
git worktree add --guess-remote ../foo
) &&
(
cd foo &&
test_branch_upstream foo repo_a foo &&
test_cmp_rev refs/remotes/repo_a/foo refs/heads/foo
)
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t2400-worktree-add/repo_a/.git/
[master (root-commit) 58714c0] repo_a_master
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 repo_a_master.t
Switched to a new branch 'foo'
[foo a445945] upstream_foo
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 upstream_foo.t
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t2400-worktree-add/repo_b/.git/
[master (root-commit) 0904084] repo_b_master
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 repo_b_master.t
Fetching repo_a
warning: no common commits
From ../repo_a
* [new branch] foo -> repo_a/foo
* [new branch] master -> repo_a/master
* [new tag] repo_a_master -> repo_a_master
* [new tag] upstream_foo -> upstream_foo
Preparing worktree (new branch 'foo')
Branch 'foo' set up to track remote branch 'foo' from 'repo_a'.
HEAD is now at a445945 upstream_foo
ok 53 - git worktree add --guess-remote sets up tracking
expecting success of 2400.54 'git worktree add with worktree.guessRemote sets up tracking':
test_when_finished rm -rf repo_a repo_b foo &&
setup_remote_repo repo_a repo_b &&
(
cd repo_b &&
git config worktree.guessRemote true &&
git worktree add ../foo
) &&
(
cd foo &&
test_branch_upstream foo repo_a foo &&
test_cmp_rev refs/remotes/repo_a/foo refs/heads/foo
)
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t2400-worktree-add/repo_a/.git/
[master (root-commit) 58714c0] repo_a_master
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 repo_a_master.t
Switched to a new branch 'foo'
[foo a445945] upstream_foo
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 upstream_foo.t
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t2400-worktree-add/repo_b/.git/
[master (root-commit) 0904084] repo_b_master
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 repo_b_master.t
Fetching repo_a
warning: no common commits
From ../repo_a
* [new branch] foo -> repo_a/foo
* [new branch] master -> repo_a/master
* [new tag] repo_a_master -> repo_a_master
* [new tag] upstream_foo -> upstream_foo
Preparing worktree (new branch 'foo')
Branch 'foo' set up to track remote branch 'foo' from 'repo_a'.
HEAD is now at a445945 upstream_foo
ok 54 - git worktree add with worktree.guessRemote sets up tracking
expecting success of 2400.55 'git worktree --no-guess-remote option overrides config':
test_when_finished rm -rf repo_a repo_b foo &&
setup_remote_repo repo_a repo_b &&
(
cd repo_b &&
git config worktree.guessRemote true &&
git worktree add --no-guess-remote ../foo
) &&
(
cd foo &&
test_must_fail git config "branch.foo.remote" &&
test_must_fail git config "branch.foo.merge" &&
test_cmp_rev ! refs/remotes/repo_a/foo refs/heads/foo
)
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t2400-worktree-add/repo_a/.git/
[master (root-commit) 58714c0] repo_a_master
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 repo_a_master.t
Switched to a new branch 'foo'
[foo a445945] upstream_foo
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 upstream_foo.t
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t2400-worktree-add/repo_b/.git/
[master (root-commit) 0904084] repo_b_master
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 repo_b_master.t
Fetching repo_a
warning: no common commits
From ../repo_a
* [new branch] foo -> repo_a/foo
* [new branch] master -> repo_a/master
* [new tag] repo_a_master -> repo_a_master
* [new tag] upstream_foo -> upstream_foo
Preparing worktree (new branch 'foo')
HEAD is now at 0904084 repo_b_master
ok 55 - git worktree --no-guess-remote option overrides config
expecting success of 2400.56 '"add" invokes post-checkout hook (branch)':
post_checkout_hook &&
{
echo $ZERO_OID $(git rev-parse HEAD) 1 &&
echo $(pwd)/.git/worktrees/gumby &&
echo $(pwd)/gumby
} >hook.expect &&
git worktree add gumby &&
test_cmp hook.expect gumby/hook.actual
Preparing worktree (new branch 'gumby')
HEAD is now at 179a9e0 c
ok 56 - "add" invokes post-checkout hook (branch)
expecting success of 2400.57 '"add" invokes post-checkout hook (detached)':
post_checkout_hook &&
{
echo $ZERO_OID $(git rev-parse HEAD) 1 &&
echo $(pwd)/.git/worktrees/grumpy &&
echo $(pwd)/grumpy
} >hook.expect &&
git worktree add --detach grumpy &&
test_cmp hook.expect grumpy/hook.actual
Preparing worktree (detached HEAD 179a9e0)
HEAD is now at 179a9e0 c
ok 57 - "add" invokes post-checkout hook (detached)
expecting success of 2400.58 '"add --no-checkout" suppresses post-checkout hook':
post_checkout_hook &&
rm -f hook.actual &&
git worktree add --no-checkout gloopy &&
test_path_is_missing gloopy/hook.actual
Preparing worktree (new branch 'gloopy')
ok 58 - "add --no-checkout" suppresses post-checkout hook
expecting success of 2400.59 '"add" in other worktree invokes post-checkout hook':
post_checkout_hook &&
{
echo $ZERO_OID $(git rev-parse HEAD) 1 &&
echo $(pwd)/.git/worktrees/guppy &&
echo $(pwd)/guppy
} >hook.expect &&
git -C gloopy worktree add --detach ../guppy &&
test_cmp hook.expect guppy/hook.actual
Preparing worktree (detached HEAD 179a9e0)
HEAD is now at 179a9e0 c
ok 59 - "add" in other worktree invokes post-checkout hook
expecting success of 2400.60 '"add" in bare repo invokes post-checkout hook':
rm -rf bare &&
git clone --bare . bare &&
{
echo $ZERO_OID $(git --git-dir=bare rev-parse HEAD) 1 &&
echo $(pwd)/bare/worktrees/goozy &&
echo $(pwd)/goozy
} >hook.expect &&
post_checkout_hook bare &&
git -C bare worktree add --detach ../goozy &&
test_cmp hook.expect goozy/hook.actual
Cloning into bare repository 'bare'...
done.
Preparing worktree (detached HEAD 179a9e0)
HEAD is now at 179a9e0 c
ok 60 - "add" in bare repo invokes post-checkout hook
expecting success of 2400.61 '"add" an existing but missing worktree':
git worktree add --detach pneu &&
test_must_fail git worktree add --detach pneu &&
rm -fr pneu &&
test_must_fail git worktree add --detach pneu &&
git worktree add --force --detach pneu
Preparing worktree (detached HEAD 179a9e0)
HEAD is now at 179a9e0 c
fatal: 'pneu' already exists
Preparing worktree (detached HEAD 179a9e0)
fatal: 'pneu' is a missing but already registered worktree;
use 'add -f' to override, or 'prune' or 'remove' to clear
Preparing worktree (detached HEAD 179a9e0)
Preparing worktree (detached HEAD 179a9e0)
HEAD is now at 179a9e0 c
ok 61 - "add" an existing but missing worktree
expecting success of 2400.62 '"add" an existing locked but missing worktree':
git worktree add --detach gnoo &&
git worktree lock gnoo &&
test_when_finished "git worktree unlock gnoo || :" &&
rm -fr gnoo &&
test_must_fail git worktree add --detach gnoo &&
test_must_fail git worktree add --force --detach gnoo &&
git worktree add --force --force --detach gnoo
Preparing worktree (detached HEAD 179a9e0)
HEAD is now at 179a9e0 c
fatal: 'gnoo' is a missing but locked worktree;
use 'add -f -f' to override, or 'unlock' and 'prune' or 'remove' to clear
Preparing worktree (detached HEAD 179a9e0)
fatal: 'gnoo' is a missing but locked worktree;
use 'add -f -f' to override, or 'unlock' and 'prune' or 'remove' to clear
Preparing worktree (detached HEAD 179a9e0)
Preparing worktree (detached HEAD 179a9e0)
HEAD is now at 179a9e0 c
fatal: 'gnoo' is not locked
ok 62 - "add" an existing locked but missing worktree
expecting success of 2400.63 '"add" not tripped up by magic worktree matching"':
# if worktree "sub1/bar" exists, "git worktree add bar" in distinct
# directory `sub2` should not mistakenly complain that `bar` is an
# already-registered worktree
mkdir sub1 sub2 &&
git -C sub1 --git-dir=../.git worktree add --detach bozo &&
git -C sub2 --git-dir=../.git worktree add --detach bozo
Preparing worktree (detached HEAD 179a9e0)
HEAD is now at 179a9e0 c
Preparing worktree (detached HEAD 179a9e0)
HEAD is now at 179a9e0 c
ok 63 - "add" not tripped up by magic worktree matching"
checking prerequisite: FUNNYNAMES
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
test_have_prereq !MINGW &&
touch -- \
"FUNNYNAMES tab embedded" \
"FUNNYNAMES \"quote embedded\"" \
"FUNNYNAMES newline
embedded" 2>/dev/null &&
rm -- \
"FUNNYNAMES tab embedded" \
"FUNNYNAMES \"quote embedded\"" \
"FUNNYNAMES newline
embedded" 2>/dev/null
)
prerequisite FUNNYNAMES ok
expecting success of 2400.64 'sanitize generated worktree name':
git worktree add --detach ". weird*..?.lock.lock" &&
test -d .git/worktrees/---weird-.-
Preparing worktree (detached HEAD 179a9e0)
HEAD is now at 179a9e0 c
ok 64 - sanitize generated worktree name
expecting success of 2400.65 '"add" should not fail because of another bad worktree':
git init add-fail &&
(
cd add-fail &&
test_commit first &&
mkdir sub &&
git worktree add sub/to-be-deleted &&
rm -rf sub &&
git worktree add second
)
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t2400-worktree-add/add-fail/.git/
[master (root-commit) 264aca7] first
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 first.t
Preparing worktree (new branch 'to-be-deleted')
HEAD is now at 264aca7 first
Preparing worktree (new branch 'second')
HEAD is now at 264aca7 first
ok 65 - "add" should not fail because of another bad worktree
expecting success of 2400.66 '"add" with uninitialized submodule, with submodule.recurse unset':
test_create_repo submodule &&
test_commit -C submodule first &&
test_create_repo project &&
git -C project submodule add ../submodule &&
git -C project add submodule &&
test_tick &&
git -C project commit -m add_sub &&
git clone project project-clone &&
git -C project-clone worktree add ../project-2
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t2400-worktree-add/submodule/.git/
[master (root-commit) 264aca7] first
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 first.t
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t2400-worktree-add/project/.git/
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t2400-worktree-add/project/submodule'...
done.
[master (root-commit) 57eb801] add_sub
Author: A U Thor <author@example.com>
2 files changed, 4 insertions(+)
create mode 100644 .gitmodules
create mode 160000 submodule
Cloning into 'project-clone'...
done.
Preparing worktree (new branch 'project-2')
HEAD is now at 57eb801 add_sub
ok 66 - "add" with uninitialized submodule, with submodule.recurse unset
expecting success of 2400.67 '"add" with uninitialized submodule, with submodule.recurse set':
git -C project-clone -c submodule.recurse worktree add ../project-3
Preparing worktree (new branch 'project-3')
HEAD is now at 57eb801 add_sub
ok 67 - "add" with uninitialized submodule, with submodule.recurse set
expecting success of 2400.68 '"add" with initialized submodule, with submodule.recurse unset':
git -C project-clone submodule update --init &&
git -C project-clone worktree add ../project-4
Submodule 'submodule' (/<<PKGBUILDDIR>>/t/trash directory.t2400-worktree-add/submodule) registered for path 'submodule'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t2400-worktree-add/project-clone/submodule'...
done.
Submodule path 'submodule': checked out '264aca7c7b40ec0269cc15ea29c2bdbebfea2e3a'
Preparing worktree (new branch 'project-4')
HEAD is now at 57eb801 add_sub
ok 68 - "add" with initialized submodule, with submodule.recurse unset
expecting success of 2400.69 '"add" with initialized submodule, with submodule.recurse set':
git -C project-clone -c submodule.recurse worktree add ../project-5
Preparing worktree (new branch 'project-5')
HEAD is now at 57eb801 add_sub
ok 69 - "add" with initialized submodule, with submodule.recurse set
# passed all 69 test(s)
1..69
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t3031-merge-criscross.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3031-merge-criscross/.git/
expecting success of 3031.1 'setup repo with criss-cross history':
mkdir data &&
# create a bunch of files
n=1 &&
while test $n -le 10
do
echo $n > data/$n &&
n=$(($n+1)) ||
return 1
done &&
# check them in
git add data &&
git commit -m A &&
git branch A &&
# a file in one branch
git checkout -b B A &&
git rm data/9 &&
git add data &&
git commit -m B &&
# with a branch off of it
git branch D &&
# put some commits on D
git checkout D &&
echo testD > data/testD &&
git add data &&
git commit -m D &&
# back up to the top, create another branch and cause
# a rename conflict with the file we deleted earlier
git checkout -b C A &&
git mv data/9 data/new-9 &&
git add data &&
git commit -m C &&
# with a branch off of it
git branch E &&
# put a commit on E
git checkout E &&
echo testE > data/testE &&
git add data &&
git commit -m E &&
# now, merge E into B
git checkout B &&
test_must_fail git merge E &&
# force-resolve
git add data &&
git commit -m F &&
git branch F &&
# and merge D into C
git checkout C &&
test_must_fail git merge D &&
# force-resolve
git add data &&
git commit -m G &&
git branch G
[master (root-commit) 9b7576b] A
Author: A U Thor <author@example.com>
10 files changed, 10 insertions(+)
create mode 100644 data/1
create mode 100644 data/10
create mode 100644 data/2
create mode 100644 data/3
create mode 100644 data/4
create mode 100644 data/5
create mode 100644 data/6
create mode 100644 data/7
create mode 100644 data/8
create mode 100644 data/9
Switched to a new branch 'B'
rm 'data/9'
[B 657a860] B
Author: A U Thor <author@example.com>
1 file changed, 1 deletion(-)
delete mode 100644 data/9
Switched to branch 'D'
[D fb0846d] D
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 data/testD
Switched to a new branch 'C'
[C 733d8fc] C
Author: A U Thor <author@example.com>
1 file changed, 0 insertions(+), 0 deletions(-)
rename data/{9 => new-9} (100%)
Switched to branch 'E'
[E 8a02fb9] E
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 data/testE
Switched to branch 'B'
Merging:
657a860 B
virtual E
found 1 common ancestor:
9b7576b A
CONFLICT (rename/delete): data/9 deleted in HEAD and renamed to data/new-9 in E. Version E of data/new-9 left in tree.
Automatic merge failed; fix conflicts and then commit the result.
[B fb15977] F
Author: A U Thor <author@example.com>
Switched to branch 'C'
Merging:
733d8fc C
virtual D
found 1 common ancestor:
9b7576b A
CONFLICT (rename/delete): data/9 deleted in D and renamed to data/new-9 in HEAD. Version HEAD of data/new-9 left in tree.
Automatic merge failed; fix conflicts and then commit the result.
[C 6e5c657] G
Author: A U Thor <author@example.com>
ok 1 - setup repo with criss-cross history
expecting success of 3031.2 'recursive merge between F and G does not cause segfault':
git merge F
Merging:
6e5c657 G
virtual F
found 2 common ancestors:
657a860 B
733d8fc C
Merging:
657a860 B
733d8fc C
found 1 common ancestor:
9b7576b A
Skipped data/new-9 (merged same as existing)
Merge made by the 'recursive' strategy.
data/testE | 1 +
1 file changed, 1 insertion(+)
create mode 100644 data/testE
ok 2 - recursive merge between F and G does not cause segfault
# passed all 2 test(s)
1..2
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t3032-merge-recursive-space-options.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3032-merge-recursive-space-options/.git/
expecting success of 3032.1 'setup':
conflict_hunks () {
sed $SED_OPTIONS -n -e "
/^<<<</ b conflict
b
: conflict
p
/^>>>>/ b
n
b conflict
" "$@"
} &&
cat <<-\EOF >text.txt &&
Hope, he says, cherishes the soul of him who lives in
justice and holiness and is the nurse of his age and the
companion of his journey;--hope which is mightiest to sway
the restless soul of man.
How admirable are his words! And the great blessing of riches, I do
not say to every man, but to a good man, is, that he has had no
occasion to deceive or to defraud others, either intentionally or
unintentionally; and when he departs to the world below he is not in
any apprehension about offerings due to the gods or debts which he owes
to men. Now to this peace of mind the possession of wealth greatly
contributes; and therefore I say, that, setting one thing against
another, of the many advantages which wealth has to give, to a man of
sense this is in my opinion the greatest.
Well said, Cephalus, I replied; but as concerning justice, what is
it?--to speak the truth and to pay your debts--no more than this? And
even to this are there not exceptions? Suppose that a friend when in
his right mind has deposited arms with me and he asks for them when he
is not in his right mind, ought I to give them back to him? No one
would say that I ought or that I should be right in doing so, any more
than they would say that I ought always to speak the truth to one who
is in his condition.
You are quite right, he replied.
But then, I said, speaking the truth and paying your debts is not a
correct definition of justice.
CEPHALUS - SOCRATES - POLEMARCHUS
Quite correct, Socrates, if Simonides is to be believed, said
Polemarchus interposing.
I fear, said Cephalus, that I must go now, for I have to look after the
sacrifices, and I hand over the argument to Polemarchus and the company.
EOF
git add text.txt &&
test_tick &&
git commit -m "Initial revision" &&
git checkout -b remote &&
sed -e "
s/\. /\. /g
s/[?] /? /g
s/ / /g
s/--/---/g
s/but as concerning/but as con cerning/
/CEPHALUS - SOCRATES - POLEMARCHUS/ d
" text.txt >text.txt+ &&
mv text.txt+ text.txt &&
git commit -a -m "Remove cruft" &&
git checkout master &&
sed -e "
s/\(not in his right mind\),\(.*\)/\1;\2Q/
s/Quite correct\(.*\)/It is too correct\1Q/
s/unintentionally/un intentionally/
/un intentionally/ s/$/Q/
s/Polemarchus interposing./Polemarchus, interposing.Q/
/justice and holiness/ s/$/Q/
/pay your debts/ s/$/Q/
" text.txt | q_to_cr >text.txt+ &&
mv text.txt+ text.txt &&
git commit -a -m "Clarify" &&
git show-branch --all
[master (root-commit) c1e95d9] Initial revision
Author: A U Thor <author@example.com>
1 file changed, 36 insertions(+)
create mode 100644 text.txt
Switched to a new branch 'remote'
[remote be82dcf] Remove cruft
Author: A U Thor <author@example.com>
1 file changed, 9 insertions(+), 10 deletions(-)
Switched to branch 'master'
[master 0ab7224] Clarify
Author: A U Thor <author@example.com>
1 file changed, 6 insertions(+), 6 deletions(-)
* [master] Clarify
! [remote] Remove cruft
--
+ [remote] Remove cruft
* [master] Clarify
*+ [remote^] Initial revision
ok 1 - setup
expecting success of 3032.2 'naive merge fails':
git read-tree --reset -u HEAD &&
test_must_fail git merge-recursive HEAD^ -- HEAD remote &&
test_must_fail git update-index --refresh &&
grep "<<<<<<" text.txt
Merging HEAD with remote
Merging:
0ab7224 Clarify
be82dcf Remove cruft
found 1 common ancestor:
c1e95d9 Initial revision
Auto-merging text.txt
CONFLICT (content): Merge conflict in text.txt
text.txt: needs merge
<<<<<<< HEAD
<<<<<<< HEAD
ok 2 - naive merge fails
expecting success of 3032.3 '--ignore-space-change makes merge succeed':
git read-tree --reset -u HEAD &&
git merge-recursive --ignore-space-change HEAD^ -- HEAD remote
Merging HEAD with remote
Merging:
0ab7224 Clarify
be82dcf Remove cruft
found 1 common ancestor:
c1e95d9 Initial revision
Auto-merging text.txt
ok 3 - --ignore-space-change makes merge succeed
expecting success of 3032.4 'naive cherry-pick fails':
git read-tree --reset -u HEAD &&
test_must_fail git cherry-pick --no-commit remote &&
git read-tree --reset -u HEAD &&
test_must_fail git cherry-pick remote &&
test_must_fail git update-index --refresh &&
grep "<<<<<<" text.txt
Auto-merging text.txt
CONFLICT (content): Merge conflict in text.txt
error: could not apply be82dcf... Remove cruft
hint: after resolving the conflicts, mark the corrected paths
hint: with 'git add <paths>' or 'git rm <paths>'
Auto-merging text.txt
CONFLICT (content): Merge conflict in text.txt
error: could not apply be82dcf... Remove cruft
hint: after resolving the conflicts, mark the corrected paths
hint: with 'git add <paths>' or 'git rm <paths>'
hint: and commit the result with 'git commit'
text.txt: needs merge
<<<<<<< HEAD
<<<<<<< HEAD
ok 4 - naive cherry-pick fails
expecting success of 3032.5 '-Xignore-space-change makes cherry-pick succeed':
git read-tree --reset -u HEAD &&
git cherry-pick --no-commit -Xignore-space-change remote
Auto-merging text.txt
ok 5 - -Xignore-space-change makes cherry-pick succeed
expecting success of 3032.6 '--ignore-space-change: our w/s-only change wins':
q_to_cr <<-\EOF >expected &&
justice and holiness and is the nurse of his age and theQ
EOF
git read-tree --reset -u HEAD &&
git merge-recursive --ignore-space-change HEAD^ -- HEAD remote &&
grep "justice and holiness" text.txt >actual &&
test_cmp expected actual
Merging HEAD with remote
Merging:
0ab7224 Clarify
be82dcf Remove cruft
found 1 common ancestor:
c1e95d9 Initial revision
Auto-merging text.txt
ok 6 - --ignore-space-change: our w/s-only change wins
expecting success of 3032.7 '--ignore-space-change: their real change wins over w/s':
cat <<-\EOF >expected &&
it?---to speak the truth and to pay your debts---no more than this? And
EOF
git read-tree --reset -u HEAD &&
git merge-recursive --ignore-space-change HEAD^ -- HEAD remote &&
grep "pay your debts" text.txt >actual &&
test_cmp expected actual
Merging HEAD with remote
Merging:
0ab7224 Clarify
be82dcf Remove cruft
found 1 common ancestor:
c1e95d9 Initial revision
Auto-merging text.txt
ok 7 - --ignore-space-change: their real change wins over w/s
expecting success of 3032.8 '--ignore-space-change: does not ignore new spaces':
cat <<-\EOF >expected1 &&
Well said, Cephalus, I replied; but as con cerning justice, what is
EOF
q_to_cr <<-\EOF >expected2 &&
un intentionally; and when he departs to the world below he is not inQ
EOF
git read-tree --reset -u HEAD &&
git merge-recursive --ignore-space-change HEAD^ -- HEAD remote &&
grep "Well said" text.txt >actual1 &&
grep "when he departs" text.txt >actual2 &&
test_cmp expected1 actual1 &&
test_cmp expected2 actual2
Merging HEAD with remote
Merging:
0ab7224 Clarify
be82dcf Remove cruft
found 1 common ancestor:
c1e95d9 Initial revision
Auto-merging text.txt
ok 8 - --ignore-space-change: does not ignore new spaces
expecting success of 3032.9 '--ignore-all-space drops their new spaces':
cat <<-\EOF >expected &&
Well said, Cephalus, I replied; but as concerning justice, what is
EOF
git read-tree --reset -u HEAD &&
git merge-recursive --ignore-all-space HEAD^ -- HEAD remote &&
grep "Well said" text.txt >actual &&
test_cmp expected actual
Merging HEAD with remote
Merging:
0ab7224 Clarify
be82dcf Remove cruft
found 1 common ancestor:
c1e95d9 Initial revision
Auto-merging text.txt
ok 9 - --ignore-all-space drops their new spaces
expecting success of 3032.10 '--ignore-all-space keeps our new spaces':
q_to_cr <<-\EOF >expected &&
un intentionally; and when he departs to the world below he is not inQ
EOF
git read-tree --reset -u HEAD &&
git merge-recursive --ignore-all-space HEAD^ -- HEAD remote &&
grep "when he departs" text.txt >actual &&
test_cmp expected actual
Merging HEAD with remote
Merging:
0ab7224 Clarify
be82dcf Remove cruft
found 1 common ancestor:
c1e95d9 Initial revision
Auto-merging text.txt
ok 10 - --ignore-all-space keeps our new spaces
expecting success of 3032.11 '--ignore-space-at-eol':
q_to_cr <<-\EOF >expected &&
<<<<<<< HEAD
is not in his right mind; ought I to give them back to him? No oneQ
=======
is not in his right mind, ought I to give them back to him? No one
>>>>>>> remote
EOF
git read-tree --reset -u HEAD &&
test_must_fail git merge-recursive --ignore-space-at-eol \
HEAD^ -- HEAD remote &&
conflict_hunks text.txt >actual &&
test_cmp expected actual
Merging HEAD with remote
Merging:
0ab7224 Clarify
be82dcf Remove cruft
found 1 common ancestor:
c1e95d9 Initial revision
Auto-merging text.txt
CONFLICT (content): Merge conflict in text.txt
ok 11 - --ignore-space-at-eol
# passed all 11 test(s)
1..11
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t3030-merge-recursive.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3030-merge-recursive/.git/
expecting success of 3030.1 'setup 1':
echo hello >a &&
o0=$(git hash-object a) &&
cp a b &&
cp a c &&
mkdir d &&
cp a d/e &&
test_tick &&
git add a b c d/e &&
git commit -m initial &&
c0=$(git rev-parse --verify HEAD) &&
git branch side &&
git branch df-1 &&
git branch df-2 &&
git branch df-3 &&
git branch remove &&
git branch submod &&
git branch copy &&
git branch rename &&
git branch rename-ln &&
echo hello >>a &&
cp a d/e &&
o1=$(git hash-object a) &&
git add a d/e &&
test_tick &&
git commit -m "master modifies a and d/e" &&
c1=$(git rev-parse --verify HEAD) &&
( git ls-tree -r HEAD && git ls-files -s ) >actual &&
(
echo "100644 blob $o1 a" &&
echo "100644 blob $o0 b" &&
echo "100644 blob $o0 c" &&
echo "100644 blob $o1 d/e" &&
echo "100644 $o1 0 a" &&
echo "100644 $o0 0 b" &&
echo "100644 $o0 0 c" &&
echo "100644 $o1 0 d/e"
) >expected &&
test_cmp expected actual
[master (root-commit) 88eeecf] initial
Author: A U Thor <author@example.com>
4 files changed, 4 insertions(+)
create mode 100644 a
create mode 100644 b
create mode 100644 c
create mode 100644 d/e
[master b7f3e7f] master modifies a and d/e
Author: A U Thor <author@example.com>
2 files changed, 2 insertions(+)
ok 1 - setup 1
expecting success of 3030.2 'setup 2':
rm -rf [abcd] &&
git checkout side &&
( git ls-tree -r HEAD && git ls-files -s ) >actual &&
(
echo "100644 blob $o0 a" &&
echo "100644 blob $o0 b" &&
echo "100644 blob $o0 c" &&
echo "100644 blob $o0 d/e" &&
echo "100644 $o0 0 a" &&
echo "100644 $o0 0 b" &&
echo "100644 $o0 0 c" &&
echo "100644 $o0 0 d/e"
) >expected &&
test_cmp expected actual &&
echo goodbye >>a &&
o2=$(git hash-object a) &&
git add a &&
test_tick &&
git commit -m "side modifies a" &&
c2=$(git rev-parse --verify HEAD) &&
( git ls-tree -r HEAD && git ls-files -s ) >actual &&
(
echo "100644 blob $o2 a" &&
echo "100644 blob $o0 b" &&
echo "100644 blob $o0 c" &&
echo "100644 blob $o0 d/e" &&
echo "100644 $o2 0 a" &&
echo "100644 $o0 0 b" &&
echo "100644 $o0 0 c" &&
echo "100644 $o0 0 d/e"
) >expected &&
test_cmp expected actual
Switched to branch 'side'
D b
D c
[side 4419332] side modifies a
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
ok 2 - setup 2
expecting success of 3030.3 'setup 3':
rm -rf [abcd] &&
git checkout df-1 &&
( git ls-tree -r HEAD && git ls-files -s ) >actual &&
(
echo "100644 blob $o0 a" &&
echo "100644 blob $o0 b" &&
echo "100644 blob $o0 c" &&
echo "100644 blob $o0 d/e" &&
echo "100644 $o0 0 a" &&
echo "100644 $o0 0 b" &&
echo "100644 $o0 0 c" &&
echo "100644 $o0 0 d/e"
) >expected &&
test_cmp expected actual &&
rm -f b && mkdir b && echo df-1 >b/c && git add b/c &&
o3=$(git hash-object b/c) &&
test_tick &&
git commit -m "df-1 makes b/c" &&
c3=$(git rev-parse --verify HEAD) &&
( git ls-tree -r HEAD && git ls-files -s ) >actual &&
(
echo "100644 blob $o0 a" &&
echo "100644 blob $o3 b/c" &&
echo "100644 blob $o0 c" &&
echo "100644 blob $o0 d/e" &&
echo "100644 $o0 0 a" &&
echo "100644 $o3 0 b/c" &&
echo "100644 $o0 0 c" &&
echo "100644 $o0 0 d/e"
) >expected &&
test_cmp expected actual
Switched to branch 'df-1'
D b
D c
D d/e
[df-1 918ade1] df-1 makes b/c
Author: A U Thor <author@example.com>
2 files changed, 1 insertion(+), 1 deletion(-)
delete mode 100644 b
create mode 100644 b/c
ok 3 - setup 3
expecting success of 3030.4 'setup 4':
rm -rf [abcd] &&
git checkout df-2 &&
( git ls-tree -r HEAD && git ls-files -s ) >actual &&
(
echo "100644 blob $o0 a" &&
echo "100644 blob $o0 b" &&
echo "100644 blob $o0 c" &&
echo "100644 blob $o0 d/e" &&
echo "100644 $o0 0 a" &&
echo "100644 $o0 0 b" &&
echo "100644 $o0 0 c" &&
echo "100644 $o0 0 d/e"
) >expected &&
test_cmp expected actual &&
rm -f a && mkdir a && echo df-2 >a/c && git add a/c &&
o4=$(git hash-object a/c) &&
test_tick &&
git commit -m "df-2 makes a/c" &&
c4=$(git rev-parse --verify HEAD) &&
( git ls-tree -r HEAD && git ls-files -s ) >actual &&
(
echo "100644 blob $o4 a/c" &&
echo "100644 blob $o0 b" &&
echo "100644 blob $o0 c" &&
echo "100644 blob $o0 d/e" &&
echo "100644 $o4 0 a/c" &&
echo "100644 $o0 0 b" &&
echo "100644 $o0 0 c" &&
echo "100644 $o0 0 d/e"
) >expected &&
test_cmp expected actual
Switched to branch 'df-2'
D a
D c
D d/e
[df-2 833bf24] df-2 makes a/c
Author: A U Thor <author@example.com>
2 files changed, 1 insertion(+), 1 deletion(-)
delete mode 100644 a
create mode 100644 a/c
ok 4 - setup 4
expecting success of 3030.5 'setup 5':
rm -rf [abcd] &&
git checkout remove &&
( git ls-tree -r HEAD && git ls-files -s ) >actual &&
(
echo "100644 blob $o0 a" &&
echo "100644 blob $o0 b" &&
echo "100644 blob $o0 c" &&
echo "100644 blob $o0 d/e" &&
echo "100644 $o0 0 a" &&
echo "100644 $o0 0 b" &&
echo "100644 $o0 0 c" &&
echo "100644 $o0 0 d/e"
) >expected &&
test_cmp expected actual &&
rm -f b &&
echo remove-conflict >a &&
git add a &&
git rm b &&
o5=$(git hash-object a) &&
test_tick &&
git commit -m "remove removes b and modifies a" &&
c5=$(git rev-parse --verify HEAD) &&
( git ls-tree -r HEAD && git ls-files -s ) >actual &&
(
echo "100644 blob $o5 a" &&
echo "100644 blob $o0 c" &&
echo "100644 blob $o0 d/e" &&
echo "100644 $o5 0 a" &&
echo "100644 $o0 0 c" &&
echo "100644 $o0 0 d/e"
) >expected &&
test_cmp expected actual
Switched to branch 'remove'
D b
D c
D d/e
rm 'b'
[remove 968f3e1] remove removes b and modifies a
Author: A U Thor <author@example.com>
2 files changed, 1 insertion(+), 2 deletions(-)
delete mode 100644 b
ok 5 - setup 5
expecting success of 3030.6 'setup 6':
rm -rf [abcd] &&
git checkout df-3 &&
( git ls-tree -r HEAD && git ls-files -s ) >actual &&
(
echo "100644 blob $o0 a" &&
echo "100644 blob $o0 b" &&
echo "100644 blob $o0 c" &&
echo "100644 blob $o0 d/e" &&
echo "100644 $o0 0 a" &&
echo "100644 $o0 0 b" &&
echo "100644 $o0 0 c" &&
echo "100644 $o0 0 d/e"
) >expected &&
test_cmp expected actual &&
rm -fr d && echo df-3 >d && git add d &&
o6=$(git hash-object d) &&
test_tick &&
git commit -m "df-3 makes d" &&
c6=$(git rev-parse --verify HEAD) &&
( git ls-tree -r HEAD && git ls-files -s ) >actual &&
(
echo "100644 blob $o0 a" &&
echo "100644 blob $o0 b" &&
echo "100644 blob $o0 c" &&
echo "100644 blob $o6 d" &&
echo "100644 $o0 0 a" &&
echo "100644 $o0 0 b" &&
echo "100644 $o0 0 c" &&
echo "100644 $o6 0 d"
) >expected &&
test_cmp expected actual
Switched to branch 'df-3'
D c
D d/e
[df-3 9d284b3] df-3 makes d
Author: A U Thor <author@example.com>
2 files changed, 1 insertion(+), 1 deletion(-)
create mode 100644 d
delete mode 100644 d/e
ok 6 - setup 6
expecting success of 3030.7 'setup 7':
git checkout submod &&
git rm d/e &&
test_tick &&
git commit -m "remove d/e" &&
git update-index --add --cacheinfo 160000 $c1 d &&
test_tick &&
git commit -m "make d/ a submodule"
Switched to branch 'submod'
D c
rm 'd/e'
[submod a09e90e] remove d/e
Author: A U Thor <author@example.com>
1 file changed, 1 deletion(-)
delete mode 100644 d/e
[submod 8c3440b] make d/ a submodule
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 160000 d
ok 7 - setup 7
expecting success of 3030.8 'setup 8':
git checkout rename &&
git mv a e &&
git add e &&
test_tick &&
git commit -m "rename a->e" &&
c7=$(git rev-parse --verify HEAD) &&
git checkout rename-ln &&
git mv a e &&
test_ln_s_add e a &&
test_tick &&
git commit -m "rename a->e, symlink a->e" &&
oln=$(printf e | git hash-object --stdin)
Switched to branch 'rename'
D c
[rename 5dd9bd8] rename a->e
Author: A U Thor <author@example.com>
1 file changed, 0 insertions(+), 0 deletions(-)
rename a => e (100%)
Switched to branch 'rename-ln'
D c
checking prerequisite: SYMLINKS
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
# test whether the filesystem supports symbolic links
ln -s x y && test -h y
)
prerequisite SYMLINKS ok
[rename-ln 7e1ee82] rename a->e, symlink a->e
Author: A U Thor <author@example.com>
2 files changed, 1 insertion(+), 1 deletion(-)
rewrite a (100%)
mode change 100644 => 120000
copy a => e (100%)
ok 8 - setup 8
expecting success of 3030.9 'setup 9':
git checkout copy &&
cp a e &&
git add e &&
test_tick &&
git commit -m "copy a->e"
Switched to branch 'copy'
D c
[copy a40ced5] copy a->e
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 e
ok 9 - setup 9
expecting success of 3030.10 'merge-recursive simple':
rm -fr [abcd] &&
git checkout -f "$c2" &&
test_expect_code 1 git merge-recursive "$c0" -- "$c2" "$c1"
Note: switching to '441933296d498d45ed4c5cbe9135259386a2e2b2'.
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 <new-branch-name>
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
HEAD is now at 4419332 side modifies a
Merging 441933296d498d45ed4c5cbe9135259386a2e2b2 with b7f3e7f677ef7001dcb4b810583c9259a210141d
Merging:
4419332 side modifies a
b7f3e7f master modifies a and d/e
found 1 common ancestor:
88eeecf initial
Auto-merging a
CONFLICT (content): Merge conflict in a
ok 10 - merge-recursive simple
expecting success of 3030.11 'merge-recursive result':
git ls-files -s >actual &&
(
echo "100644 $o0 1 a" &&
echo "100644 $o2 2 a" &&
echo "100644 $o1 3 a" &&
echo "100644 $o0 0 b" &&
echo "100644 $o0 0 c" &&
echo "100644 $o1 0 d/e"
) >expected &&
test_cmp expected actual
ok 11 - merge-recursive result
expecting success of 3030.12 'fail if the index has unresolved entries':
rm -fr [abcd] &&
git checkout -f "$c1" &&
test_must_fail git merge "$c5" &&
test_must_fail git merge "$c5" 2> out &&
test_i18ngrep "not possible because you have unmerged files" out &&
git add -u &&
test_must_fail git merge "$c5" 2> out &&
test_i18ngrep "You have not concluded your merge" out &&
rm -f .git/MERGE_HEAD &&
test_must_fail git merge "$c5" 2> out &&
test_i18ngrep "Your local changes to the following files would be overwritten by merge:" out
Previous HEAD position was 4419332 side modifies a
HEAD is now at b7f3e7f master modifies a and d/e
Merging:
b7f3e7f master modifies a and d/e
virtual 968f3e182d39cc5676d733434b2b1fcade6d5fdb
found 1 common ancestor:
88eeecf initial
Removing b
Auto-merging a
CONFLICT (content): Merge conflict in a
Automatic merge failed; fix conflicts and then commit the result.
checking prerequisite: C_LOCALE_OUTPUT
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
! test_bool_env GIT_TEST_GETTEXT_POISON false
)
prerequisite C_LOCALE_OUTPUT ok
error: Merging is not possible because you have unmerged files.
fatal: You have not concluded your merge (MERGE_HEAD exists).
error: Your local changes to the following files would be overwritten by merge:
ok 12 - fail if the index has unresolved entries
expecting success of 3030.13 'merge-recursive remove conflict':
rm -fr [abcd] &&
git checkout -f "$c1" &&
test_expect_code 1 git merge-recursive "$c0" -- "$c1" "$c5"
HEAD is now at b7f3e7f master modifies a and d/e
Merging b7f3e7f677ef7001dcb4b810583c9259a210141d with 968f3e182d39cc5676d733434b2b1fcade6d5fdb
Merging:
b7f3e7f master modifies a and d/e
968f3e1 remove removes b and modifies a
found 1 common ancestor:
88eeecf initial
Removing b
Auto-merging a
CONFLICT (content): Merge conflict in a
ok 13 - merge-recursive remove conflict
expecting success of 3030.14 'merge-recursive remove conflict':
git ls-files -s >actual &&
(
echo "100644 $o0 1 a" &&
echo "100644 $o1 2 a" &&
echo "100644 $o5 3 a" &&
echo "100644 $o0 0 c" &&
echo "100644 $o1 0 d/e"
) >expected &&
test_cmp expected actual
ok 14 - merge-recursive remove conflict
expecting success of 3030.15 'merge-recursive d/f simple':
rm -fr [abcd] &&
git reset --hard &&
git checkout -f "$c1" &&
git merge-recursive "$c0" -- "$c1" "$c3"
HEAD is now at b7f3e7f master modifies a and d/e
HEAD is now at b7f3e7f master modifies a and d/e
Merging b7f3e7f677ef7001dcb4b810583c9259a210141d with 918ade1d06dd1c0da47b644356c64b1b2122e705
Merging:
b7f3e7f master modifies a and d/e
918ade1 df-1 makes b/c
found 1 common ancestor:
88eeecf initial
Adding b/c
Removing b to make room for subdirectory
Removing b
ok 15 - merge-recursive d/f simple
expecting success of 3030.16 'merge-recursive result':
git ls-files -s >actual &&
(
echo "100644 $o1 0 a" &&
echo "100644 $o3 0 b/c" &&
echo "100644 $o0 0 c" &&
echo "100644 $o1 0 d/e"
) >expected &&
test_cmp expected actual
ok 16 - merge-recursive result
expecting success of 3030.17 'merge-recursive d/f conflict':
rm -fr [abcd] &&
git reset --hard &&
git checkout -f "$c1" &&
test_expect_code 1 git merge-recursive "$c0" -- "$c1" "$c4"
HEAD is now at b7f3e7f master modifies a and d/e
HEAD is now at b7f3e7f master modifies a and d/e
Merging b7f3e7f677ef7001dcb4b810583c9259a210141d with 833bf240c9e2636a0e5eb3dd8f735d2a92181f22
Merging:
b7f3e7f master modifies a and d/e
833bf24 df-2 makes a/c
found 1 common ancestor:
88eeecf initial
Adding a/c
Removing a to make room for subdirectory
CONFLICT (modify/delete): a deleted in 833bf240c9e2636a0e5eb3dd8f735d2a92181f22 and modified in b7f3e7f677ef7001dcb4b810583c9259a210141d. Version b7f3e7f677ef7001dcb4b810583c9259a210141d of a left in tree at a~b7f3e7f677ef7001dcb4b810583c9259a210141d.
ok 17 - merge-recursive d/f conflict
expecting success of 3030.18 'merge-recursive d/f conflict result':
git ls-files -s >actual &&
(
echo "100644 $o0 1 a" &&
echo "100644 $o1 2 a" &&
echo "100644 $o4 0 a/c" &&
echo "100644 $o0 0 b" &&
echo "100644 $o0 0 c" &&
echo "100644 $o1 0 d/e"
) >expected &&
test_cmp expected actual
ok 18 - merge-recursive d/f conflict result
expecting success of 3030.19 'merge-recursive d/f conflict the other way':
rm -fr [abcd] &&
git reset --hard &&
git checkout -f "$c4" &&
test_expect_code 1 git merge-recursive "$c0" -- "$c4" "$c1"
HEAD is now at b7f3e7f master modifies a and d/e
Previous HEAD position was b7f3e7f master modifies a and d/e
HEAD is now at 833bf24 df-2 makes a/c
Merging 833bf240c9e2636a0e5eb3dd8f735d2a92181f22 with b7f3e7f677ef7001dcb4b810583c9259a210141d
Merging:
833bf24 df-2 makes a/c
b7f3e7f master modifies a and d/e
found 1 common ancestor:
88eeecf initial
Adding a/c
CONFLICT (modify/delete): a deleted in 833bf240c9e2636a0e5eb3dd8f735d2a92181f22 and modified in b7f3e7f677ef7001dcb4b810583c9259a210141d. Version b7f3e7f677ef7001dcb4b810583c9259a210141d of a left in tree at a~b7f3e7f677ef7001dcb4b810583c9259a210141d_0.
ok 19 - merge-recursive d/f conflict the other way
expecting success of 3030.20 'merge-recursive d/f conflict result the other way':
git ls-files -s >actual &&
(
echo "100644 $o0 1 a" &&
echo "100644 $o1 3 a" &&
echo "100644 $o4 0 a/c" &&
echo "100644 $o0 0 b" &&
echo "100644 $o0 0 c" &&
echo "100644 $o1 0 d/e"
) >expected &&
test_cmp expected actual
ok 20 - merge-recursive d/f conflict result the other way
expecting success of 3030.21 'merge-recursive d/f conflict':
rm -fr [abcd] &&
git reset --hard &&
git checkout -f "$c1" &&
test_expect_code 1 git merge-recursive "$c0" -- "$c1" "$c6"
HEAD is now at 833bf24 df-2 makes a/c
Previous HEAD position was 833bf24 df-2 makes a/c
HEAD is now at b7f3e7f master modifies a and d/e
Merging b7f3e7f677ef7001dcb4b810583c9259a210141d with 9d284b3a95aea72df4581977e913e55da89d5e3d
Merging:
b7f3e7f master modifies a and d/e
9d284b3 df-3 makes d
found 1 common ancestor:
88eeecf initial
CONFLICT (modify/delete): d/e deleted in 9d284b3a95aea72df4581977e913e55da89d5e3d and modified in b7f3e7f677ef7001dcb4b810583c9259a210141d. Version b7f3e7f677ef7001dcb4b810583c9259a210141d of d/e left in tree.
CONFLICT (directory/file): There is a directory with name d in b7f3e7f677ef7001dcb4b810583c9259a210141d. Adding d as d~9d284b3a95aea72df4581977e913e55da89d5e3d
ok 21 - merge-recursive d/f conflict
expecting success of 3030.22 'merge-recursive d/f conflict result':
git ls-files -s >actual &&
(
echo "100644 $o1 0 a" &&
echo "100644 $o0 0 b" &&
echo "100644 $o0 0 c" &&
echo "100644 $o6 3 d" &&
echo "100644 $o0 1 d/e" &&
echo "100644 $o1 2 d/e"
) >expected &&
test_cmp expected actual
ok 22 - merge-recursive d/f conflict result
expecting success of 3030.23 'merge-recursive d/f conflict':
rm -fr [abcd] &&
git reset --hard &&
git checkout -f "$c6" &&
test_expect_code 1 git merge-recursive "$c0" -- "$c6" "$c1"
HEAD is now at b7f3e7f master modifies a and d/e
Previous HEAD position was b7f3e7f master modifies a and d/e
HEAD is now at 9d284b3 df-3 makes d
Merging 9d284b3a95aea72df4581977e913e55da89d5e3d with b7f3e7f677ef7001dcb4b810583c9259a210141d
Merging:
9d284b3 df-3 makes d
b7f3e7f master modifies a and d/e
found 1 common ancestor:
88eeecf initial
CONFLICT (modify/delete): d/e deleted in 9d284b3a95aea72df4581977e913e55da89d5e3d and modified in b7f3e7f677ef7001dcb4b810583c9259a210141d. Version b7f3e7f677ef7001dcb4b810583c9259a210141d of d/e left in tree.
Removing d to make room for subdirectory
CONFLICT (file/directory): There is a directory with name d in b7f3e7f677ef7001dcb4b810583c9259a210141d. Adding d as d~9d284b3a95aea72df4581977e913e55da89d5e3d_0
ok 23 - merge-recursive d/f conflict
expecting success of 3030.24 'merge-recursive d/f conflict result':
git ls-files -s >actual &&
(
echo "100644 $o1 0 a" &&
echo "100644 $o0 0 b" &&
echo "100644 $o0 0 c" &&
echo "100644 $o6 2 d" &&
echo "100644 $o0 1 d/e" &&
echo "100644 $o1 3 d/e"
) >expected &&
test_cmp expected actual
ok 24 - merge-recursive d/f conflict result
expecting success of 3030.25 'dir in working tree with symlink ancestor does not produce d/f conflict':
git init sym &&
(
cd sym &&
ln -s . foo &&
mkdir bar &&
>bar/file &&
git add foo bar/file &&
git commit -m "foo symlink" &&
git checkout -b branch1 &&
git commit --allow-empty -m "empty commit" &&
git checkout master &&
git rm foo &&
mkdir foo &&
>foo/bar &&
git add foo/bar &&
git commit -m "replace foo symlink with real foo dir and foo/bar file" &&
git checkout branch1 &&
git cherry-pick master &&
test_path_is_dir foo &&
test_path_is_file foo/bar
)
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3030-merge-recursive/sym/.git/
[master (root-commit) 8fb1559] foo symlink
Author: A U Thor <author@example.com>
2 files changed, 1 insertion(+)
create mode 100644 bar/file
create mode 120000 foo
Switched to a new branch 'branch1'
[branch1 9371671] empty commit
Author: A U Thor <author@example.com>
Switched to branch 'master'
rm 'foo'
[master 8f162ab] replace foo symlink with real foo dir and foo/bar file
Author: A U Thor <author@example.com>
2 files changed, 1 deletion(-)
delete mode 120000 foo
create mode 100644 foo/bar
Switched to branch 'branch1'
Adding foo/bar
Removing foo to make room for subdirectory
Removing foo
[branch1 f190fac] replace foo symlink with real foo dir and foo/bar file
Author: A U Thor <author@example.com>
Date: Thu Apr 7 15:24:13 2005 -0700
2 files changed, 1 deletion(-)
delete mode 120000 foo
create mode 100644 foo/bar
ok 25 - dir in working tree with symlink ancestor does not produce d/f conflict
expecting success of 3030.26 'reset and 3-way merge':
git reset --hard "$c2" &&
git read-tree -m "$c0" "$c2" "$c1"
warning: unable to unlink 'd': Is a directory
HEAD is now at 4419332 side modifies a
ok 26 - reset and 3-way merge
expecting success of 3030.27 'reset and bind merge':
git reset --hard master &&
git read-tree --prefix=M/ master &&
git ls-files -s >actual &&
(
echo "100644 $o1 0 M/a" &&
echo "100644 $o0 0 M/b" &&
echo "100644 $o0 0 M/c" &&
echo "100644 $o1 0 M/d/e" &&
echo "100644 $o1 0 a" &&
echo "100644 $o0 0 b" &&
echo "100644 $o0 0 c" &&
echo "100644 $o1 0 d/e"
) >expected &&
test_cmp expected actual &&
git read-tree --prefix=a1/ master &&
git ls-files -s >actual &&
(
echo "100644 $o1 0 M/a" &&
echo "100644 $o0 0 M/b" &&
echo "100644 $o0 0 M/c" &&
echo "100644 $o1 0 M/d/e" &&
echo "100644 $o1 0 a" &&
echo "100644 $o1 0 a1/a" &&
echo "100644 $o0 0 a1/b" &&
echo "100644 $o0 0 a1/c" &&
echo "100644 $o1 0 a1/d/e" &&
echo "100644 $o0 0 b" &&
echo "100644 $o0 0 c" &&
echo "100644 $o1 0 d/e"
) >expected &&
test_cmp expected actual &&
git read-tree --prefix=z/ master &&
git ls-files -s >actual &&
(
echo "100644 $o1 0 M/a" &&
echo "100644 $o0 0 M/b" &&
echo "100644 $o0 0 M/c" &&
echo "100644 $o1 0 M/d/e" &&
echo "100644 $o1 0 a" &&
echo "100644 $o1 0 a1/a" &&
echo "100644 $o0 0 a1/b" &&
echo "100644 $o0 0 a1/c" &&
echo "100644 $o1 0 a1/d/e" &&
echo "100644 $o0 0 b" &&
echo "100644 $o0 0 c" &&
echo "100644 $o1 0 d/e" &&
echo "100644 $o1 0 z/a" &&
echo "100644 $o0 0 z/b" &&
echo "100644 $o0 0 z/c" &&
echo "100644 $o1 0 z/d/e"
) >expected &&
test_cmp expected actual
HEAD is now at b7f3e7f master modifies a and d/e
ok 27 - reset and bind merge
expecting success of 3030.28 'merge-recursive w/ empty work tree - ours has rename':
(
GIT_WORK_TREE="$PWD/ours-has-rename-work" &&
export GIT_WORK_TREE &&
GIT_INDEX_FILE="$PWD/ours-has-rename-index" &&
export GIT_INDEX_FILE &&
mkdir "$GIT_WORK_TREE" &&
git read-tree -i -m $c7 2>actual-err &&
test_must_be_empty actual-err &&
git update-index --ignore-missing --refresh 2>actual-err &&
test_must_be_empty actual-err &&
git merge-recursive $c0 -- $c7 $c3 2>actual-err &&
test_must_be_empty actual-err &&
git ls-files -s >actual-files 2>actual-err &&
test_must_be_empty actual-err
) &&
cat >expected-files <<-EOF &&
100644 $o3 0 b/c
100644 $o0 0 c
100644 $o0 0 d/e
100644 $o0 0 e
EOF
test_cmp expected-files actual-files
Merging 5dd9bd8ddad823127f5e40fcbc297d40f91d9a53 with 918ade1d06dd1c0da47b644356c64b1b2122e705
Merging:
5dd9bd8 rename a->e
918ade1 df-1 makes b/c
found 1 common ancestor:
88eeecf initial
Skipped e (merged same as existing)
Adding b/c
Removing b to make room for subdirectory
Removing b
ok 28 - merge-recursive w/ empty work tree - ours has rename
expecting success of 3030.29 'merge-recursive w/ empty work tree - theirs has rename':
(
GIT_WORK_TREE="$PWD/theirs-has-rename-work" &&
export GIT_WORK_TREE &&
GIT_INDEX_FILE="$PWD/theirs-has-rename-index" &&
export GIT_INDEX_FILE &&
mkdir "$GIT_WORK_TREE" &&
git read-tree -i -m $c3 2>actual-err &&
test_must_be_empty actual-err &&
git update-index --ignore-missing --refresh 2>actual-err &&
test_must_be_empty actual-err &&
git merge-recursive $c0 -- $c3 $c7 2>actual-err &&
test_must_be_empty actual-err &&
git ls-files -s >actual-files 2>actual-err &&
test_must_be_empty actual-err
) &&
cat >expected-files <<-EOF &&
100644 $o3 0 b/c
100644 $o0 0 c
100644 $o0 0 d/e
100644 $o0 0 e
EOF
test_cmp expected-files actual-files
Merging 918ade1d06dd1c0da47b644356c64b1b2122e705 with 5dd9bd8ddad823127f5e40fcbc297d40f91d9a53
Merging:
918ade1 df-1 makes b/c
5dd9bd8 rename a->e
found 1 common ancestor:
88eeecf initial
Adding b/c
ok 29 - merge-recursive w/ empty work tree - theirs has rename
expecting success of 3030.30 'merge removes empty directories':
git reset --hard master &&
git checkout -b rm &&
git rm d/e &&
git commit -mremoved-d/e &&
git checkout master &&
git merge -s recursive rm &&
test_path_is_missing d
HEAD is now at b7f3e7f master modifies a and d/e
Switched to a new branch 'rm'
rm 'd/e'
[rm df61676] removed-d/e
Author: A U Thor <author@example.com>
1 file changed, 2 deletions(-)
delete mode 100644 d/e
Switched to branch 'master'
Updating b7f3e7f..df61676
Fast-forward
d/e | 2 --
1 file changed, 2 deletions(-)
delete mode 100644 d/e
ok 30 - merge removes empty directories
expecting success of 3030.31 'merge-recursive simple w/submodule':
git checkout submod &&
git merge remove
Switched to branch 'submod'
Merging:
8c3440b make d/ a submodule
virtual remove
found 1 common ancestor:
88eeecf initial
Adding d
Removing b
Merge made by the 'recursive' strategy.
a | 2 +-
b | 1 -
2 files changed, 1 insertion(+), 2 deletions(-)
delete mode 100644 b
ok 31 - merge-recursive simple w/submodule
expecting success of 3030.32 'merge-recursive simple w/submodule result':
git ls-files -s >actual &&
(
echo "100644 $o5 0 a" &&
echo "100644 $o0 0 c" &&
echo "160000 $c1 0 d"
) >expected &&
test_cmp expected actual
ok 32 - merge-recursive simple w/submodule result
expecting success of 3030.33 'merge-recursive copy vs. rename':
git checkout -f copy &&
git merge rename &&
( git ls-tree -r HEAD && git ls-files -s ) >actual &&
(
echo "100644 blob $o0 b" &&
echo "100644 blob $o0 c" &&
echo "100644 blob $o0 d/e" &&
echo "100644 blob $o0 e" &&
echo "100644 $o0 0 b" &&
echo "100644 $o0 0 c" &&
echo "100644 $o0 0 d/e" &&
echo "100644 $o0 0 e"
) >expected &&
test_cmp expected actual
Switched to branch 'copy'
Merging:
a40ced5 copy a->e
virtual rename
found 1 common ancestor:
88eeecf initial
Merge made by the 'recursive' strategy.
a | 1 -
1 file changed, 1 deletion(-)
delete mode 100644 a
ok 33 - merge-recursive copy vs. rename
checking known breakage of 3030.34 'merge-recursive rename vs. rename/symlink':
git checkout -f rename &&
git merge rename-ln &&
( git ls-tree -r HEAD && git ls-files -s ) >actual &&
(
echo "120000 blob $oln a" &&
echo "100644 blob $o0 b" &&
echo "100644 blob $o0 c" &&
echo "100644 blob $o0 d/e" &&
echo "100644 blob $o0 e" &&
echo "120000 $oln 0 a" &&
echo "100644 $o0 0 b" &&
echo "100644 $o0 0 c" &&
echo "100644 $o0 0 d/e" &&
echo "100644 $o0 0 e"
) >expected &&
test_cmp expected actual
Switched to branch 'rename'
Merging:
5dd9bd8 rename a->e
virtual rename-ln
found 1 common ancestor:
88eeecf initial
Merge made by the 'recursive' strategy.
--- expected 2020-06-12 06:36:32.592821162 +0000
+++ actual 2020-06-12 06:36:32.587820956 +0000
@@ -1,9 +1,7 @@
-120000 blob 9cbe6ea56f225388ae614c419249bfc6d734cc30 a
100644 blob ce013625030ba8dba906f756967f9e9ca394464a b
100644 blob ce013625030ba8dba906f756967f9e9ca394464a c
100644 blob ce013625030ba8dba906f756967f9e9ca394464a d/e
100644 blob ce013625030ba8dba906f756967f9e9ca394464a e
-120000 9cbe6ea56f225388ae614c419249bfc6d734cc30 0 a
100644 ce013625030ba8dba906f756967f9e9ca394464a 0 b
100644 ce013625030ba8dba906f756967f9e9ca394464a 0 c
100644 ce013625030ba8dba906f756967f9e9ca394464a 0 d/e
not ok 34 - merge-recursive rename vs. rename/symlink # TODO known breakage
expecting success of 3030.35 'merging with triple rename across D/F conflict':
git reset --hard HEAD &&
git checkout -b main &&
git rm -rf . &&
echo "just a file" >sub1 &&
mkdir -p sub2 &&
echo content1 >sub2/file1 &&
echo content2 >sub2/file2 &&
echo content3 >sub2/file3 &&
mkdir simple &&
echo base >simple/bar &&
git add -A &&
test_tick &&
git commit -m base &&
git checkout -b other &&
echo more >>simple/bar &&
test_tick &&
git commit -a -m changesimplefile &&
git checkout main &&
git rm sub1 &&
git mv sub2 sub1 &&
test_tick &&
git commit -m changefiletodir &&
test_tick &&
git merge other
HEAD is now at f670565 Merge branch 'rename-ln' into rename
Switched to a new branch 'main'
rm 'b'
rm 'c'
rm 'd/e'
rm 'e'
warning: adding embedded git repository: sym
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 <url> sym
hint:
hint: If you added this path by mistake, you can remove it from the
hint: index with:
hint:
hint: git rm --cached sym
hint:
hint: See "git help submodule" for more information.
[main d6a4de5] base
Author: A U Thor <author@example.com>
21 files changed, 39 insertions(+), 1 deletion(-)
create mode 100644 actual
create mode 100644 actual-err
create mode 100644 actual-files
rename b => a~b7f3e7f677ef7001dcb4b810583c9259a210141d (50%)
rename c => a~b7f3e7f677ef7001dcb4b810583c9259a210141d_0 (50%)
create mode 100644 d~9d284b3a95aea72df4581977e913e55da89d5e3d
create mode 100644 d~9d284b3a95aea72df4581977e913e55da89d5e3d_0
delete mode 100644 e
create mode 100644 expected
create mode 100644 expected-files
create mode 100644 ours-has-rename-index
create mode 100644 ours-has-rename-work/b/c
create mode 100644 out
create mode 100644 simple/bar
create mode 100644 sub1
create mode 100644 sub2/file1
create mode 100644 sub2/file2
create mode 100644 sub2/file3
create mode 160000 sym
create mode 100644 theirs-has-rename-index
rename {d => theirs-has-rename-work}/e (100%)
Switched to a new branch 'other'
[other bc5834a] changesimplefile
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
Switched to branch 'main'
rm 'sub1'
[main 9e5c4b0] changefiletodir
Author: A U Thor <author@example.com>
4 files changed, 1 deletion(-)
delete mode 100644 sub1
rename {sub2 => sub1}/file1 (100%)
rename {sub2 => sub1}/file2 (100%)
rename {sub2 => sub1}/file3 (100%)
Merging:
9e5c4b0 changefiletodir
virtual other
found 1 common ancestor:
d6a4de5 base
Skipped sub1/file3 (merged same as existing)
Skipped sub1/file2 (merged same as existing)
Skipped sub1/file1 (merged same as existing)
Merge made by the 'recursive' strategy.
simple/bar | 1 +
1 file changed, 1 insertion(+)
ok 35 - merging with triple rename across D/F conflict
expecting success of 3030.36 'merge-recursive remembers the names of all base trees':
git reset --hard HEAD &&
# make the index match $c1 so that merge-recursive below does not
# fail early
git diff --binary HEAD $c1 -- | git apply --cached &&
# more trees than static slots used by oid_to_hex()
for commit in $c0 $c2 $c4 $c5 $c6 $c7
do
git rev-parse "$commit^{tree}"
done >trees &&
# ignore the return code; it only fails because the input is weird...
test_must_fail git -c merge.verbosity=5 merge-recursive $(cat trees) -- $c1 $c3 >out &&
# ...but make sure it fails in the expected way
test_i18ngrep CONFLICT.*rename/rename out &&
# merge-recursive prints in reverse order, but we do not care
sort <trees >expect &&
sed -n "s/^virtual //p" out | sort >actual &&
test_cmp expect actual
HEAD is now at d99b932 Merge branch 'other' into main
CONFLICT (rename/rename): Rename e->a in b7f3e7f677ef7001dcb4b810583c9259a210141d. Rename a~Temporary merge branch 2_0->a in 918ade1d06dd1c0da47b644356c64b1b2122e705
ok 36 - merge-recursive remembers the names of all base trees
expecting success of 3030.37 'merge-recursive internal merge resolves to the sameness':
git reset --hard HEAD &&
# We are going to create a history leading to two criss-cross
# branches A and B. The common ancestor at the bottom, O0,
# has two child commits O1 and O2, both of which will be merge
# base between A and B, like so:
#
# O1---A
# / \ /
# O0 .
# \ / \
# O2---B
#
# The recently added "check to see if the index is different from
# the tree into which something else is getting merged" check must
# NOT kick in when an inner merge between O1 and O2 is made. Both
# O1 and O2 happen to have the same tree as O0 in this test to
# trigger the bug---whether the inner merge is made by merging O2
# into O1 or O1 into O2, their common ancestor O0 and the branch
# being merged have the same tree. We should not trigger the "is
# the index dirty?" check in this case.
echo "zero" >file &&
git add file &&
test_tick &&
git commit -m "O0" &&
O0=$(git rev-parse HEAD) &&
test_tick &&
git commit --allow-empty -m "O1" &&
O1=$(git rev-parse HEAD) &&
git reset --hard $O0 &&
test_tick &&
git commit --allow-empty -m "O2" &&
O2=$(git rev-parse HEAD) &&
test_tick &&
git merge -s ours $O1 &&
B=$(git rev-parse HEAD) &&
git reset --hard $O1 &&
test_tick &&
git merge -s ours $O2 &&
A=$(git rev-parse HEAD) &&
git merge $B
HEAD is now at d99b932 Merge branch 'other' into main
[main eb36f82] O0
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 file
[main 12b8784] O1
Author: A U Thor <author@example.com>
HEAD is now at eb36f82 O0
[main 0935d0b] O2
Author: A U Thor <author@example.com>
Merge made by the 'ours' strategy.
HEAD is now at 12b8784 O1
Merge made by the 'ours' strategy.
Merging:
df1d04e Merge commit '0935d0bee0f5af5bcb4b0be252b0ab879e5786a6' into main
virtual c89d9c00c8a0292f322b9894ee1d7d41f239d923
found 2 common ancestors:
12b8784 O1
0935d0b O2
Merging:
12b8784 O1
0935d0b O2
found 1 common ancestor:
eb36f82 O0
Already up to date!
Already up to date!
Merge made by the 'recursive' strategy.
ok 37 - merge-recursive internal merge resolves to the sameness
# still have 1 known breakage(s)
# passed all remaining 36 test(s)
1..37
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t3034-merge-recursive-rename-options.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3034-merge-recursive-rename-options/.git/
expecting success of 3034.1 'setup repo':
cat <<-\EOF >3-old &&
33a
33b
33c
33d
EOF
sed s/33/22/ <3-old >2-old &&
sed s/33/11/ <3-old >1-old &&
sed s/33/00/ <3-old >0-old &&
git add [0-3]-old &&
git commit -m base &&
git rm [0-3]-old &&
git commit -m delete &&
git checkout -b rename HEAD^ &&
cp 3-old 3-new &&
sed 1,1s/./x/ <2-old >2-new &&
sed 1,2s/./x/ <1-old >1-new &&
sed 1,3s/./x/ <0-old >0-new &&
git add [0-3]-new &&
git rm [0-3]-old &&
git commit -m rename &&
get_expected_stages 0 &&
get_expected_stages 1 &&
get_expected_stages 2 &&
get_expected_stages 3 &&
check_50="false" &&
tail="HEAD^ -- HEAD master"
[master (root-commit) 797851e] base
Author: A U Thor <author@example.com>
4 files changed, 16 insertions(+)
create mode 100644 0-old
create mode 100644 1-old
create mode 100644 2-old
create mode 100644 3-old
rm '0-old'
rm '1-old'
rm '2-old'
rm '3-old'
[master 898bf78] delete
Author: A U Thor <author@example.com>
4 files changed, 16 deletions(-)
delete mode 100644 0-old
delete mode 100644 1-old
delete mode 100644 2-old
delete mode 100644 3-old
Switched to a new branch 'rename'
rm '0-old'
rm '1-old'
rm '2-old'
rm '3-old'
[rename b057089] rename
Author: A U Thor <author@example.com>
5 files changed, 7 insertions(+), 7 deletions(-)
create mode 100644 0-new
delete mode 100644 0-old
rename 1-old => 1-new (50%)
rename 2-old => 2-new (75%)
rename 3-old => 3-new (100%)
ok 1 - setup repo
expecting success of 3034.2 'setup thresholds':
git diff --name-status -M01 HEAD^ HEAD >diff-output &&
test_debug "cat diff-output" &&
test_line_count = 4 diff-output &&
grep "R[0-9][0-9][0-9] \([0-3]\)-old \1-new" diff-output \
>grep-output &&
test_cmp diff-output grep-output &&
th0=$(sed -n "s/R\(...\) 0-old 0-new/\1/p" <diff-output) &&
th1=$(sed -n "s/R\(...\) 1-old 1-new/\1/p" <diff-output) &&
th2=$(sed -n "s/R\(...\) 2-old 2-new/\1/p" <diff-output) &&
th3=$(sed -n "s/R\(...\) 3-old 3-new/\1/p" <diff-output) &&
test "$th0" -lt "$th1" &&
test "$th1" -lt "$th2" &&
test "$th2" -lt "$th3" &&
test "$th3" = 100 &&
if test 50 -le "$th0"
then
check_50=check_threshold_0
elif test 50 -le "$th1"
then
check_50=check_threshold_1
elif test 50 -le "$th2"
then
check_50=check_threshold_2
fi &&
th0="$th0%" &&
th1="$th1%" &&
th2="$th2%" &&
th3="$th3%"
ok 2 - setup thresholds
expecting success of 3034.3 'assumption for tests: rename detection with diff':
git diff --name-status -M$th0 --diff-filter=R HEAD^ HEAD \
>diff-output-0 &&
git diff --name-status -M$th1 --diff-filter=R HEAD^ HEAD \
>diff-output-1 &&
git diff --name-status -M$th2 --diff-filter=R HEAD^ HEAD \
>diff-output-2 &&
git diff --name-status -M100% --diff-filter=R HEAD^ HEAD \
>diff-output-3 &&
test_line_count = 4 diff-output-0 &&
test_line_count = 3 diff-output-1 &&
test_line_count = 2 diff-output-2 &&
test_line_count = 1 diff-output-3
ok 3 - assumption for tests: rename detection with diff
expecting success of 3034.4 'default similarity threshold is 50%':
git read-tree --reset -u HEAD &&
test_must_fail git merge-recursive $tail &&
$check_50
Merging HEAD with master
Merging:
b057089 rename
898bf78 delete
found 1 common ancestor:
797851e base
CONFLICT (rename/delete): 3-old deleted in master and renamed to 3-new in HEAD. Version HEAD of 3-new left in tree.
CONFLICT (rename/delete): 2-old deleted in master and renamed to 2-new in HEAD. Version HEAD of 2-new left in tree.
CONFLICT (rename/delete): 1-old deleted in master and renamed to 1-new in HEAD. Version HEAD of 1-new left in tree.
ok 4 - default similarity threshold is 50%
expecting success of 3034.5 'low rename threshold':
git read-tree --reset -u HEAD &&
test_must_fail git merge-recursive --find-renames=$th0 $tail &&
check_threshold_0
Merging HEAD with master
Merging:
b057089 rename
898bf78 delete
found 1 common ancestor:
797851e base
CONFLICT (rename/delete): 3-old deleted in master and renamed to 3-new in HEAD. Version HEAD of 3-new left in tree.
CONFLICT (rename/delete): 2-old deleted in master and renamed to 2-new in HEAD. Version HEAD of 2-new left in tree.
CONFLICT (rename/delete): 1-old deleted in master and renamed to 1-new in HEAD. Version HEAD of 1-new left in tree.
CONFLICT (rename/delete): 0-old deleted in master and renamed to 0-new in HEAD. Version HEAD of 0-new left in tree.
ok 5 - low rename threshold
expecting success of 3034.6 'medium rename threshold':
git read-tree --reset -u HEAD &&
test_must_fail git merge-recursive --find-renames=$th1 $tail &&
check_threshold_1
Merging HEAD with master
Merging:
b057089 rename
898bf78 delete
found 1 common ancestor:
797851e base
CONFLICT (rename/delete): 3-old deleted in master and renamed to 3-new in HEAD. Version HEAD of 3-new left in tree.
CONFLICT (rename/delete): 2-old deleted in master and renamed to 2-new in HEAD. Version HEAD of 2-new left in tree.
CONFLICT (rename/delete): 1-old deleted in master and renamed to 1-new in HEAD. Version HEAD of 1-new left in tree.
ok 6 - medium rename threshold
expecting success of 3034.7 'high rename threshold':
git read-tree --reset -u HEAD &&
test_must_fail git merge-recursive --find-renames=$th2 $tail &&
check_threshold_2
Merging HEAD with master
Merging:
b057089 rename
898bf78 delete
found 1 common ancestor:
797851e base
CONFLICT (rename/delete): 3-old deleted in master and renamed to 3-new in HEAD. Version HEAD of 3-new left in tree.
CONFLICT (rename/delete): 2-old deleted in master and renamed to 2-new in HEAD. Version HEAD of 2-new left in tree.
ok 7 - high rename threshold
expecting success of 3034.8 'exact renames only':
git read-tree --reset -u HEAD &&
test_must_fail git merge-recursive --find-renames=100% $tail &&
check_exact_renames
Merging HEAD with master
Merging:
b057089 rename
898bf78 delete
found 1 common ancestor:
797851e base
CONFLICT (rename/delete): 3-old deleted in master and renamed to 3-new in HEAD. Version HEAD of 3-new left in tree.
ok 8 - exact renames only
expecting success of 3034.9 'rename threshold is truncated':
git read-tree --reset -u HEAD &&
test_must_fail git merge-recursive --find-renames=200% $tail &&
check_exact_renames
Merging HEAD with master
Merging:
b057089 rename
898bf78 delete
found 1 common ancestor:
797851e base
CONFLICT (rename/delete): 3-old deleted in master and renamed to 3-new in HEAD. Version HEAD of 3-new left in tree.
ok 9 - rename threshold is truncated
expecting success of 3034.10 'disabled rename detection':
git read-tree --reset -u HEAD &&
git merge-recursive --no-renames $tail &&
check_no_renames
Merging HEAD with master
Merging:
b057089 rename
898bf78 delete
found 1 common ancestor:
797851e base
ok 10 - disabled rename detection
expecting success of 3034.11 'last wins in --find-renames=<m> --find-renames=<n>':
git read-tree --reset -u HEAD &&
test_must_fail git merge-recursive \
--find-renames=$th0 --find-renames=$th2 $tail &&
check_threshold_2
Merging HEAD with master
Merging:
b057089 rename
898bf78 delete
found 1 common ancestor:
797851e base
CONFLICT (rename/delete): 3-old deleted in master and renamed to 3-new in HEAD. Version HEAD of 3-new left in tree.
CONFLICT (rename/delete): 2-old deleted in master and renamed to 2-new in HEAD. Version HEAD of 2-new left in tree.
ok 11 - last wins in --find-renames=<m> --find-renames=<n>
expecting success of 3034.12 '--find-renames resets threshold':
git read-tree --reset -u HEAD &&
test_must_fail git merge-recursive \
--find-renames=$th0 --find-renames $tail &&
$check_50
Merging HEAD with master
Merging:
b057089 rename
898bf78 delete
found 1 common ancestor:
797851e base
CONFLICT (rename/delete): 3-old deleted in master and renamed to 3-new in HEAD. Version HEAD of 3-new left in tree.
CONFLICT (rename/delete): 2-old deleted in master and renamed to 2-new in HEAD. Version HEAD of 2-new left in tree.
CONFLICT (rename/delete): 1-old deleted in master and renamed to 1-new in HEAD. Version HEAD of 1-new left in tree.
ok 12 - --find-renames resets threshold
expecting success of 3034.13 'last wins in --no-renames --find-renames':
git read-tree --reset -u HEAD &&
test_must_fail git merge-recursive --no-renames --find-renames $tail &&
$check_50
Merging HEAD with master
Merging:
b057089 rename
898bf78 delete
found 1 common ancestor:
797851e base
CONFLICT (rename/delete): 3-old deleted in master and renamed to 3-new in HEAD. Version HEAD of 3-new left in tree.
CONFLICT (rename/delete): 2-old deleted in master and renamed to 2-new in HEAD. Version HEAD of 2-new left in tree.
CONFLICT (rename/delete): 1-old deleted in master and renamed to 1-new in HEAD. Version HEAD of 1-new left in tree.
ok 13 - last wins in --no-renames --find-renames
expecting success of 3034.14 'last wins in --find-renames --no-renames':
git read-tree --reset -u HEAD &&
git merge-recursive --find-renames --no-renames $tail &&
check_no_renames
Merging HEAD with master
Merging:
b057089 rename
898bf78 delete
found 1 common ancestor:
797851e base
ok 14 - last wins in --find-renames --no-renames
expecting success of 3034.15 'assumption for further tests: trivial merge succeeds':
git read-tree --reset -u HEAD &&
git merge-recursive HEAD -- HEAD HEAD &&
git diff --quiet --cached &&
git merge-recursive --find-renames=$th0 HEAD -- HEAD HEAD &&
git diff --quiet --cached &&
git merge-recursive --find-renames=$th2 HEAD -- HEAD HEAD &&
git diff --quiet --cached &&
git merge-recursive --find-renames=100% HEAD -- HEAD HEAD &&
git diff --quiet --cached &&
git merge-recursive --no-renames HEAD -- HEAD HEAD &&
git diff --quiet --cached
Merging HEAD with HEAD
Merging:
b057089 rename
b057089 rename
found 1 common ancestor:
b057089 rename
Already up to date!
Merging HEAD with HEAD
Merging:
b057089 rename
b057089 rename
found 1 common ancestor:
b057089 rename
Already up to date!
Merging HEAD with HEAD
Merging:
b057089 rename
b057089 rename
found 1 common ancestor:
b057089 rename
Already up to date!
Merging HEAD with HEAD
Merging:
b057089 rename
b057089 rename
found 1 common ancestor:
b057089 rename
Already up to date!
Merging HEAD with HEAD
Merging:
b057089 rename
b057089 rename
found 1 common ancestor:
b057089 rename
Already up to date!
ok 15 - assumption for further tests: trivial merge succeeds
expecting success of 3034.16 '--find-renames rejects negative argument':
git read-tree --reset -u HEAD &&
test_must_fail git merge-recursive --find-renames=-25 \
HEAD -- HEAD HEAD &&
git diff --quiet --cached
fatal: unknown option --find-renames=-25
ok 16 - --find-renames rejects negative argument
expecting success of 3034.17 '--find-renames rejects non-numbers':
git read-tree --reset -u HEAD &&
test_must_fail git merge-recursive --find-renames=0xf \
HEAD -- HEAD HEAD &&
git diff --quiet --cached
fatal: unknown option --find-renames=0xf
ok 17 - --find-renames rejects non-numbers
expecting success of 3034.18 'rename-threshold=<n> is a synonym for find-renames=<n>':
git read-tree --reset -u HEAD &&
test_must_fail git merge-recursive --rename-threshold=$th0 $tail &&
check_threshold_0
Merging HEAD with master
Merging:
b057089 rename
898bf78 delete
found 1 common ancestor:
797851e base
CONFLICT (rename/delete): 3-old deleted in master and renamed to 3-new in HEAD. Version HEAD of 3-new left in tree.
CONFLICT (rename/delete): 2-old deleted in master and renamed to 2-new in HEAD. Version HEAD of 2-new left in tree.
CONFLICT (rename/delete): 1-old deleted in master and renamed to 1-new in HEAD. Version HEAD of 1-new left in tree.
CONFLICT (rename/delete): 0-old deleted in master and renamed to 0-new in HEAD. Version HEAD of 0-new left in tree.
ok 18 - rename-threshold=<n> is a synonym for find-renames=<n>
expecting success of 3034.19 'last wins in --no-renames --rename-threshold=<n>':
git read-tree --reset -u HEAD &&
test_must_fail git merge-recursive --no-renames --rename-threshold=$th0 $tail &&
check_threshold_0
Merging HEAD with master
Merging:
b057089 rename
898bf78 delete
found 1 common ancestor:
797851e base
CONFLICT (rename/delete): 3-old deleted in master and renamed to 3-new in HEAD. Version HEAD of 3-new left in tree.
CONFLICT (rename/delete): 2-old deleted in master and renamed to 2-new in HEAD. Version HEAD of 2-new left in tree.
CONFLICT (rename/delete): 1-old deleted in master and renamed to 1-new in HEAD. Version HEAD of 1-new left in tree.
CONFLICT (rename/delete): 0-old deleted in master and renamed to 0-new in HEAD. Version HEAD of 0-new left in tree.
ok 19 - last wins in --no-renames --rename-threshold=<n>
expecting success of 3034.20 'last wins in --rename-threshold=<n> --no-renames':
git read-tree --reset -u HEAD &&
git merge-recursive --rename-threshold=$th0 --no-renames $tail &&
check_no_renames
Merging HEAD with master
Merging:
b057089 rename
898bf78 delete
found 1 common ancestor:
797851e base
ok 20 - last wins in --rename-threshold=<n> --no-renames
expecting success of 3034.21 '--rename-threshold=<n> rejects negative argument':
git read-tree --reset -u HEAD &&
test_must_fail git merge-recursive --rename-threshold=-25 \
HEAD -- HEAD HEAD &&
git diff --quiet --cached
fatal: unknown option --rename-threshold=-25
ok 21 - --rename-threshold=<n> rejects negative argument
expecting success of 3034.22 '--rename-threshold=<n> rejects non-numbers':
git read-tree --reset -u HEAD &&
test_must_fail git merge-recursive --rename-threshold=0xf \
HEAD -- HEAD HEAD &&
git diff --quiet --cached
fatal: unknown option --rename-threshold=0xf
ok 22 - --rename-threshold=<n> rejects non-numbers
expecting success of 3034.23 'last wins in --rename-threshold=<m> --find-renames=<n>':
git read-tree --reset -u HEAD &&
test_must_fail git merge-recursive \
--rename-threshold=$th0 --find-renames=$th2 $tail &&
check_threshold_2
Merging HEAD with master
Merging:
b057089 rename
898bf78 delete
found 1 common ancestor:
797851e base
CONFLICT (rename/delete): 3-old deleted in master and renamed to 3-new in HEAD. Version HEAD of 3-new left in tree.
CONFLICT (rename/delete): 2-old deleted in master and renamed to 2-new in HEAD. Version HEAD of 2-new left in tree.
ok 23 - last wins in --rename-threshold=<m> --find-renames=<n>
expecting success of 3034.24 'last wins in --find-renames=<m> --rename-threshold=<n>':
git read-tree --reset -u HEAD &&
test_must_fail git merge-recursive \
--find-renames=$th2 --rename-threshold=$th0 $tail &&
check_threshold_0
Merging HEAD with master
Merging:
b057089 rename
898bf78 delete
found 1 common ancestor:
797851e base
CONFLICT (rename/delete): 3-old deleted in master and renamed to 3-new in HEAD. Version HEAD of 3-new left in tree.
CONFLICT (rename/delete): 2-old deleted in master and renamed to 2-new in HEAD. Version HEAD of 2-new left in tree.
CONFLICT (rename/delete): 1-old deleted in master and renamed to 1-new in HEAD. Version HEAD of 1-new left in tree.
CONFLICT (rename/delete): 0-old deleted in master and renamed to 0-new in HEAD. Version HEAD of 0-new left in tree.
ok 24 - last wins in --find-renames=<m> --rename-threshold=<n>
expecting success of 3034.25 'merge.renames disables rename detection':
git read-tree --reset -u HEAD &&
git -c merge.renames=false merge-recursive $tail &&
check_no_renames
Merging HEAD with master
Merging:
b057089 rename
898bf78 delete
found 1 common ancestor:
797851e base
ok 25 - merge.renames disables rename detection
expecting success of 3034.26 'merge.renames defaults to diff.renames':
git read-tree --reset -u HEAD &&
git -c diff.renames=false merge-recursive $tail &&
check_no_renames
Merging HEAD with master
Merging:
b057089 rename
898bf78 delete
found 1 common ancestor:
797851e base
ok 26 - merge.renames defaults to diff.renames
expecting success of 3034.27 'merge.renames overrides diff.renames':
git read-tree --reset -u HEAD &&
test_must_fail git -c diff.renames=false -c merge.renames=true merge-recursive $tail &&
$check_50
Merging HEAD with master
Merging:
b057089 rename
898bf78 delete
found 1 common ancestor:
797851e base
CONFLICT (rename/delete): 3-old deleted in master and renamed to 3-new in HEAD. Version HEAD of 3-new left in tree.
CONFLICT (rename/delete): 2-old deleted in master and renamed to 2-new in HEAD. Version HEAD of 2-new left in tree.
CONFLICT (rename/delete): 1-old deleted in master and renamed to 1-new in HEAD. Version HEAD of 1-new left in tree.
ok 27 - merge.renames overrides diff.renames
# passed all 27 test(s)
1..27
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t3033-merge-toplevel.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3033-merge-toplevel/.git/
expecting success of 3033.1 'setup':
test_commit one &&
git branch left &&
git branch right &&
test_commit two &&
git checkout left &&
test_commit three &&
git checkout right &&
test_commit four &&
git checkout --orphan newroot &&
test_commit five &&
git checkout master
[master (root-commit) d79ce16] one
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 one.t
[master 139b20d] two
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 two.t
Switched to branch 'left'
[left 897c206] three
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 three.t
Switched to branch 'right'
[right bd0edcc] four
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 four.t
Switched to a new branch 'newroot'
[newroot (root-commit) 5280273] five
Author: A U Thor <author@example.com>
3 files changed, 3 insertions(+)
create mode 100644 five.t
create mode 100644 four.t
create mode 100644 one.t
Switched to branch 'master'
ok 1 - setup
expecting success of 3033.2 'merge an octopus into void':
t3033_reset &&
git checkout --orphan test &&
git rm -fr . &&
test_must_fail git merge left right &&
test_must_fail git rev-parse --verify HEAD &&
git diff --quiet &&
test_must_fail git rev-parse HEAD
Reset branch 'master'
Switched to a new branch 'test'
rm 'one.t'
rm 'two.t'
fatal: Can merge only exactly one commit into empty head
fatal: Needed a single revision
fatal: ambiguous argument 'HEAD': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
HEAD
ok 2 - merge an octopus into void
expecting success of 3033.3 'merge an octopus, fast-forward (ff)':
t3033_reset &&
git reset --hard one &&
git merge left right &&
# one is ancestor of three (left) and four (right)
test_must_fail git rev-parse --verify HEAD^3 &&
git rev-parse HEAD^1 HEAD^2 | sort >actual &&
git rev-parse three four | sort >expect &&
test_cmp expect actual
Switched to and reset branch 'master'
HEAD is now at d79ce16 one
Fast-forwarding to: left
Trying simple merge with right
Merge made by the 'octopus' strategy.
four.t | 1 +
three.t | 1 +
2 files changed, 2 insertions(+)
create mode 100644 four.t
create mode 100644 three.t
fatal: Needed a single revision
ok 3 - merge an octopus, fast-forward (ff)
expecting success of 3033.4 'merge octopus, non-fast-forward (ff)':
t3033_reset &&
git reset --hard one &&
git merge --no-ff left right &&
# one is ancestor of three (left) and four (right)
test_must_fail git rev-parse --verify HEAD^4 &&
git rev-parse HEAD^1 HEAD^2 HEAD^3 | sort >actual &&
git rev-parse one three four | sort >expect &&
test_cmp expect actual
Reset branch 'master'
HEAD is now at d79ce16 one
Fast-forwarding to: left
Trying simple merge with right
Merge made by the 'octopus' strategy.
four.t | 1 +
three.t | 1 +
2 files changed, 2 insertions(+)
create mode 100644 four.t
create mode 100644 three.t
fatal: Needed a single revision
ok 4 - merge octopus, non-fast-forward (ff)
expecting success of 3033.5 'merge octopus, fast-forward (does not ff)':
t3033_reset &&
git merge left right &&
# two (master) is not an ancestor of three (left) and four (right)
test_must_fail git rev-parse --verify HEAD^4 &&
git rev-parse HEAD^1 HEAD^2 HEAD^3 | sort >actual &&
git rev-parse two three four | sort >expect &&
test_cmp expect actual
Reset branch 'master'
Trying simple merge with left
Trying simple merge with right
Merge made by the 'octopus' strategy.
four.t | 1 +
three.t | 1 +
2 files changed, 2 insertions(+)
create mode 100644 four.t
create mode 100644 three.t
fatal: Needed a single revision
ok 5 - merge octopus, fast-forward (does not ff)
expecting success of 3033.6 'merge octopus, non-fast-forward':
t3033_reset &&
git merge --no-ff left right &&
test_must_fail git rev-parse --verify HEAD^4 &&
git rev-parse HEAD^1 HEAD^2 HEAD^3 | sort >actual &&
git rev-parse two three four | sort >expect &&
test_cmp expect actual
Reset branch 'master'
Trying simple merge with left
Trying simple merge with right
Merge made by the 'octopus' strategy.
four.t | 1 +
three.t | 1 +
2 files changed, 2 insertions(+)
create mode 100644 four.t
create mode 100644 three.t
fatal: Needed a single revision
ok 6 - merge octopus, non-fast-forward
expecting success of 3033.7 'merge FETCH_HEAD octopus into void':
t3033_reset &&
git checkout --orphan test &&
git rm -fr . &&
git fetch . left right &&
test_must_fail git merge FETCH_HEAD &&
test_must_fail git rev-parse --verify HEAD &&
git diff --quiet &&
test_must_fail git rev-parse HEAD
Reset branch 'master'
Switched to a new branch 'test'
rm 'one.t'
rm 'two.t'
From .
* branch left -> FETCH_HEAD
* branch right -> FETCH_HEAD
fatal: Can merge only exactly one commit into empty head
fatal: Needed a single revision
fatal: ambiguous argument 'HEAD': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
HEAD
ok 7 - merge FETCH_HEAD octopus into void
expecting success of 3033.8 'merge FETCH_HEAD octopus fast-forward (ff)':
t3033_reset &&
git reset --hard one &&
git fetch . left right &&
git merge FETCH_HEAD &&
# one is ancestor of three (left) and four (right)
test_must_fail git rev-parse --verify HEAD^3 &&
git rev-parse HEAD^1 HEAD^2 | sort >actual &&
git rev-parse three four | sort >expect &&
test_cmp expect actual
Switched to and reset branch 'master'
HEAD is now at d79ce16 one
From .
* branch left -> FETCH_HEAD
* branch right -> FETCH_HEAD
Fast-forwarding to: 897c20684b5db8602798bc55d628f0a264841fec
Trying simple merge with bd0edcc3f6e0375d96ab0d02fcc4c4a1fe1d8c5f
Merge made by the 'octopus' strategy.
four.t | 1 +
three.t | 1 +
2 files changed, 2 insertions(+)
create mode 100644 four.t
create mode 100644 three.t
fatal: Needed a single revision
ok 8 - merge FETCH_HEAD octopus fast-forward (ff)
expecting success of 3033.9 'merge FETCH_HEAD octopus non-fast-forward (ff)':
t3033_reset &&
git reset --hard one &&
git fetch . left right &&
git merge --no-ff FETCH_HEAD &&
# one is ancestor of three (left) and four (right)
test_must_fail git rev-parse --verify HEAD^4 &&
git rev-parse HEAD^1 HEAD^2 HEAD^3 | sort >actual &&
git rev-parse one three four | sort >expect &&
test_cmp expect actual
Reset branch 'master'
HEAD is now at d79ce16 one
From .
* branch left -> FETCH_HEAD
* branch right -> FETCH_HEAD
Fast-forwarding to: 897c20684b5db8602798bc55d628f0a264841fec
Trying simple merge with bd0edcc3f6e0375d96ab0d02fcc4c4a1fe1d8c5f
Merge made by the 'octopus' strategy.
four.t | 1 +
three.t | 1 +
2 files changed, 2 insertions(+)
create mode 100644 four.t
create mode 100644 three.t
fatal: Needed a single revision
ok 9 - merge FETCH_HEAD octopus non-fast-forward (ff)
expecting success of 3033.10 'merge FETCH_HEAD octopus fast-forward (does not ff)':
t3033_reset &&
git fetch . left right &&
git merge FETCH_HEAD &&
# two (master) is not an ancestor of three (left) and four (right)
test_must_fail git rev-parse --verify HEAD^4 &&
git rev-parse HEAD^1 HEAD^2 HEAD^3 | sort >actual &&
git rev-parse two three four | sort >expect &&
test_cmp expect actual
Reset branch 'master'
From .
* branch left -> FETCH_HEAD
* branch right -> FETCH_HEAD
Trying simple merge with 897c20684b5db8602798bc55d628f0a264841fec
Trying simple merge with bd0edcc3f6e0375d96ab0d02fcc4c4a1fe1d8c5f
Merge made by the 'octopus' strategy.
four.t | 1 +
three.t | 1 +
2 files changed, 2 insertions(+)
create mode 100644 four.t
create mode 100644 three.t
fatal: Needed a single revision
ok 10 - merge FETCH_HEAD octopus fast-forward (does not ff)
expecting success of 3033.11 'merge FETCH_HEAD octopus non-fast-forward':
t3033_reset &&
git fetch . left right &&
git merge --no-ff FETCH_HEAD &&
test_must_fail git rev-parse --verify HEAD^4 &&
git rev-parse HEAD^1 HEAD^2 HEAD^3 | sort >actual &&
git rev-parse two three four | sort >expect &&
test_cmp expect actual
Reset branch 'master'
From .
* branch left -> FETCH_HEAD
* branch right -> FETCH_HEAD
Trying simple merge with 897c20684b5db8602798bc55d628f0a264841fec
Trying simple merge with bd0edcc3f6e0375d96ab0d02fcc4c4a1fe1d8c5f
Merge made by the 'octopus' strategy.
four.t | 1 +
three.t | 1 +
2 files changed, 2 insertions(+)
create mode 100644 four.t
create mode 100644 three.t
fatal: Needed a single revision
ok 11 - merge FETCH_HEAD octopus non-fast-forward
expecting success of 3033.12 'refuse two-project merge by default':
t3033_reset &&
git reset --hard four &&
test_must_fail git merge five
Reset branch 'master'
HEAD is now at bd0edcc four
fatal: refusing to merge unrelated histories
ok 12 - refuse two-project merge by default
expecting success of 3033.13 'refuse two-project merge by default, quit before --autostash happens':
t3033_reset &&
git reset --hard four &&
echo change >>one.t &&
git diff >expect &&
test_must_fail git merge --autostash five 2>err &&
test_i18ngrep ! "stash" err &&
git diff >actual &&
test_cmp expect actual
Reset branch 'master'
HEAD is now at bd0edcc four
checking prerequisite: C_LOCALE_OUTPUT
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
! test_bool_env GIT_TEST_GETTEXT_POISON false
)
prerequisite C_LOCALE_OUTPUT ok
ok 13 - refuse two-project merge by default, quit before --autostash happens
expecting success of 3033.14 'two-project merge with --allow-unrelated-histories':
t3033_reset &&
git reset --hard four &&
git merge --allow-unrelated-histories five &&
git diff --exit-code five
Reset branch 'master'
M one.t
HEAD is now at bd0edcc four
Merging:
bd0edcc four
virtual five
found 0 common ancestors:
Merge made by the 'recursive' strategy.
five.t | 1 +
1 file changed, 1 insertion(+)
create mode 100644 five.t
ok 14 - two-project merge with --allow-unrelated-histories
expecting success of 3033.15 'two-project merge with --allow-unrelated-histories with --autostash':
t3033_reset &&
git reset --hard four &&
echo change >>one.t &&
git diff one.t >expect &&
git merge --allow-unrelated-histories --autostash five 2>err &&
test_i18ngrep "Applied autostash." err &&
git diff one.t >actual &&
test_cmp expect actual
Reset branch 'master'
HEAD is now at bd0edcc four
Created autostash: e4c3b0a
Merging:
bd0edcc four
virtual five
found 0 common ancestors:
Merge made by the 'recursive' strategy.
five.t | 1 +
1 file changed, 1 insertion(+)
create mode 100644 five.t
Applied autostash.
ok 15 - two-project merge with --allow-unrelated-histories with --autostash
# passed all 15 test(s)
1..15
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t3035-merge-sparse.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3035-merge-sparse/.git/
expecting success of 3035.1 'setup':
test_file checked-out init &&
test_file modify_delete modify_delete_init &&
test_commit_this init &&
test_file modify_delete modify_delete_theirs &&
test_commit_this theirs &&
git reset --hard init &&
git rm modify_delete &&
test_commit_this ours &&
git config core.sparseCheckout true &&
echo "/checked-out" >.git/info/sparse-checkout &&
git reset --hard &&
test_must_fail git merge theirs
[master (root-commit) 0a7019a] init
Author: A U Thor <author@example.com>
2 files changed, 2 insertions(+)
create mode 100644 checked-out
create mode 100644 modify_delete
[master 4af0b53] theirs
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
HEAD is now at 0a7019a init
rm 'modify_delete'
[master 353e02f] ours
Author: A U Thor <author@example.com>
1 file changed, 1 deletion(-)
delete mode 100644 modify_delete
HEAD is now at 353e02f ours
Merging:
353e02f ours
virtual theirs
found 1 common ancestor:
0a7019a init
CONFLICT (modify/delete): modify_delete deleted in HEAD and modified in theirs. Version theirs of modify_delete left in tree.
Automatic merge failed; fix conflicts and then commit the result.
ok 1 - setup
expecting success of 3035.2 'reset --hard works after the conflict':
git reset --hard
HEAD is now at 353e02f ours
ok 2 - reset --hard works after the conflict
expecting success of 3035.3 'is reset properly':
git status --porcelain -- modify_delete >out &&
test_must_be_empty out &&
test_path_is_missing modify_delete
ok 3 - is reset properly
expecting success of 3035.4 'setup: conflict back':
test_must_fail git merge theirs
Merging:
353e02f ours
virtual theirs
found 1 common ancestor:
0a7019a init
CONFLICT (modify/delete): modify_delete deleted in HEAD and modified in theirs. Version theirs of modify_delete left in tree.
Automatic merge failed; fix conflicts and then commit the result.
ok 4 - setup: conflict back
expecting success of 3035.5 'Merge abort works after the conflict':
git merge --abort
ok 5 - Merge abort works after the conflict
expecting success of 3035.6 'is aborted properly':
git status --porcelain -- modify_delete >out &&
test_must_be_empty out &&
test_path_is_missing modify_delete
ok 6 - is aborted properly
# passed all 6 test(s)
1..6
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t3060-ls-files-with-tree.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3060-ls-files-with-tree/.git/
expecting success of 3060.1 'setup':
# The bug we are exercising requires a fair number of entries
# in a sub-directory so that add_index_entry will trigger a
# realloc.
echo file >expected &&
mkdir sub &&
for n in 0 1 2 3 4 5
do
for m in 0 1 2 3 4 5 6 7 8 9
do
num=00$n$m &&
>sub/file-$num &&
echo file-$num >>expected ||
return 1
done
done &&
git add . &&
git commit -m "add a bunch of files" &&
# We remove them all so that we will have something to add
# back with --with-tree and so that we will definitely be
# under the realloc size to trigger the bug.
rm -rf sub &&
git commit -a -m "remove them all" &&
# The bug also requires some entry before our directory so that
# prune_path will modify the_index.cache
mkdir a_directory_that_sorts_before_sub &&
>a_directory_that_sorts_before_sub/file &&
mkdir sub &&
>sub/file &&
git add .
[master (root-commit) 7da3258] add a bunch of files
Author: A U Thor <author@example.com>
61 files changed, 61 insertions(+)
create mode 100644 expected
create mode 100644 sub/file-0000
create mode 100644 sub/file-0001
create mode 100644 sub/file-0002
create mode 100644 sub/file-0003
create mode 100644 sub/file-0004
create mode 100644 sub/file-0005
create mode 100644 sub/file-0006
create mode 100644 sub/file-0007
create mode 100644 sub/file-0008
create mode 100644 sub/file-0009
create mode 100644 sub/file-0010
create mode 100644 sub/file-0011
create mode 100644 sub/file-0012
create mode 100644 sub/file-0013
create mode 100644 sub/file-0014
create mode 100644 sub/file-0015
create mode 100644 sub/file-0016
create mode 100644 sub/file-0017
create mode 100644 sub/file-0018
create mode 100644 sub/file-0019
create mode 100644 sub/file-0020
create mode 100644 sub/file-0021
create mode 100644 sub/file-0022
create mode 100644 sub/file-0023
create mode 100644 sub/file-0024
create mode 100644 sub/file-0025
create mode 100644 sub/file-0026
create mode 100644 sub/file-0027
create mode 100644 sub/file-0028
create mode 100644 sub/file-0029
create mode 100644 sub/file-0030
create mode 100644 sub/file-0031
create mode 100644 sub/file-0032
create mode 100644 sub/file-0033
create mode 100644 sub/file-0034
create mode 100644 sub/file-0035
create mode 100644 sub/file-0036
create mode 100644 sub/file-0037
create mode 100644 sub/file-0038
create mode 100644 sub/file-0039
create mode 100644 sub/file-0040
create mode 100644 sub/file-0041
create mode 100644 sub/file-0042
create mode 100644 sub/file-0043
create mode 100644 sub/file-0044
create mode 100644 sub/file-0045
create mode 100644 sub/file-0046
create mode 100644 sub/file-0047
create mode 100644 sub/file-0048
create mode 100644 sub/file-0049
create mode 100644 sub/file-0050
create mode 100644 sub/file-0051
create mode 100644 sub/file-0052
create mode 100644 sub/file-0053
create mode 100644 sub/file-0054
create mode 100644 sub/file-0055
create mode 100644 sub/file-0056
create mode 100644 sub/file-0057
create mode 100644 sub/file-0058
create mode 100644 sub/file-0059
[master ed42cc5] remove them all
Author: A U Thor <author@example.com>
60 files changed, 0 insertions(+), 0 deletions(-)
delete mode 100644 sub/file-0000
delete mode 100644 sub/file-0001
delete mode 100644 sub/file-0002
delete mode 100644 sub/file-0003
delete mode 100644 sub/file-0004
delete mode 100644 sub/file-0005
delete mode 100644 sub/file-0006
delete mode 100644 sub/file-0007
delete mode 100644 sub/file-0008
delete mode 100644 sub/file-0009
delete mode 100644 sub/file-0010
delete mode 100644 sub/file-0011
delete mode 100644 sub/file-0012
delete mode 100644 sub/file-0013
delete mode 100644 sub/file-0014
delete mode 100644 sub/file-0015
delete mode 100644 sub/file-0016
delete mode 100644 sub/file-0017
delete mode 100644 sub/file-0018
delete mode 100644 sub/file-0019
delete mode 100644 sub/file-0020
delete mode 100644 sub/file-0021
delete mode 100644 sub/file-0022
delete mode 100644 sub/file-0023
delete mode 100644 sub/file-0024
delete mode 100644 sub/file-0025
delete mode 100644 sub/file-0026
delete mode 100644 sub/file-0027
delete mode 100644 sub/file-0028
delete mode 100644 sub/file-0029
delete mode 100644 sub/file-0030
delete mode 100644 sub/file-0031
delete mode 100644 sub/file-0032
delete mode 100644 sub/file-0033
delete mode 100644 sub/file-0034
delete mode 100644 sub/file-0035
delete mode 100644 sub/file-0036
delete mode 100644 sub/file-0037
delete mode 100644 sub/file-0038
delete mode 100644 sub/file-0039
delete mode 100644 sub/file-0040
delete mode 100644 sub/file-0041
delete mode 100644 sub/file-0042
delete mode 100644 sub/file-0043
delete mode 100644 sub/file-0044
delete mode 100644 sub/file-0045
delete mode 100644 sub/file-0046
delete mode 100644 sub/file-0047
delete mode 100644 sub/file-0048
delete mode 100644 sub/file-0049
delete mode 100644 sub/file-0050
delete mode 100644 sub/file-0051
delete mode 100644 sub/file-0052
delete mode 100644 sub/file-0053
delete mode 100644 sub/file-0054
delete mode 100644 sub/file-0055
delete mode 100644 sub/file-0056
delete mode 100644 sub/file-0057
delete mode 100644 sub/file-0058
delete mode 100644 sub/file-0059
ok 1 - setup
expecting success of 3060.2 'git ls-files --with-tree should succeed from subdir':
# We have to run from a sub-directory to trigger prune_path
# Then we finally get to run our --with-tree test
(
cd sub &&
git ls-files --with-tree=HEAD~1 >../output
)
ok 2 - git ls-files --with-tree should succeed from subdir
expecting success of 3060.3 'git ls-files --with-tree should add entries from named tree.': test_cmp expected output
ok 3 - git ls-files --with-tree should add entries from named tree.
# passed all 3 test(s)
1..3
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t3040-subprojects-basic.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3040-subprojects-basic/.git/
expecting success of 3040.1 'setup: create superproject':
: >Makefile &&
git add Makefile &&
git commit -m "Superproject created"
[master (root-commit) 7517415] Superproject created
Author: A U Thor <author@example.com>
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 Makefile
ok 1 - setup: create superproject
expecting success of 3040.2 'setup: create subprojects':
mkdir sub1 &&
( cd sub1 && git init && : >Makefile && git add * &&
git commit -q -m "subproject 1" ) &&
mkdir sub2 &&
( cd sub2 && git init && : >Makefile && git add * &&
git commit -q -m "subproject 2" ) &&
git update-index --add sub1 &&
git add sub2 &&
git commit -q -m "subprojects added" &&
GIT_PRINT_SHA1_ELLIPSIS="yes" git diff-tree --abbrev=5 HEAD^ HEAD |cut -d" " -f-3,5- >current &&
git branch save HEAD &&
cat >expected <<-\EOF &&
:000000 160000 00000... A sub1
:000000 160000 00000... A sub2
EOF
test_cmp expected current
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3040-subprojects-basic/sub1/.git/
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3040-subprojects-basic/sub2/.git/
warning: adding embedded git repository: sub2
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 <url> sub2
hint:
hint: If you added this path by mistake, you can remove it from the
hint: index with:
hint:
hint: git rm --cached sub2
hint:
hint: See "git help submodule" for more information.
ok 2 - setup: create subprojects
expecting success of 3040.3 'check if fsck ignores the subprojects':
git fsck --full
ok 3 - check if fsck ignores the subprojects
expecting success of 3040.4 'check if commit in a subproject detected':
( cd sub1 &&
echo "all:" >>Makefile &&
echo " true" >>Makefile &&
git commit -q -a -m "make all" ) &&
test_expect_code 1 git diff-files --exit-code
:160000 160000 f8256ae2f98a30e6a6ecede5790e908a80299bf6 0000000000000000000000000000000000000000 M sub1
ok 4 - check if commit in a subproject detected
expecting success of 3040.5 'check if a changed subproject HEAD can be committed':
git commit -q -a -m "sub1 changed" &&
test_expect_code 1 git diff-tree --exit-code HEAD^ HEAD
:160000 160000 f8256ae2f98a30e6a6ecede5790e908a80299bf6 48f754db4feaabe5835978b89bc8aec6cf3e1445 M sub1
ok 5 - check if a changed subproject HEAD can be committed
expecting success of 3040.6 'check if diff-index works for subproject elements':
test_expect_code 1 git diff-index --exit-code --cached save -- sub1
:160000 160000 f8256ae2f98a30e6a6ecede5790e908a80299bf6 48f754db4feaabe5835978b89bc8aec6cf3e1445 M sub1
ok 6 - check if diff-index works for subproject elements
expecting success of 3040.7 'check if diff-tree works for subproject elements':
test_expect_code 1 git diff-tree --exit-code HEAD^ HEAD -- sub1
:160000 160000 f8256ae2f98a30e6a6ecede5790e908a80299bf6 48f754db4feaabe5835978b89bc8aec6cf3e1445 M sub1
ok 7 - check if diff-tree works for subproject elements
expecting success of 3040.8 'check if git diff works for subproject elements':
test_expect_code 1 git diff --exit-code HEAD^ HEAD
diff --git a/sub1 b/sub1
index f8256ae..48f754d 160000
--- a/sub1
+++ b/sub1
@@ -1 +1 @@
-Subproject commit f8256ae2f98a30e6a6ecede5790e908a80299bf6
+Subproject commit 48f754db4feaabe5835978b89bc8aec6cf3e1445
ok 8 - check if git diff works for subproject elements
expecting success of 3040.9 'check if clone works':
git ls-files -s >expected &&
git clone -l -s . cloned &&
( cd cloned && git ls-files -s ) >current &&
test_cmp expected current
Cloning into 'cloned'...
done.
ok 9 - check if clone works
expecting success of 3040.10 'removing and adding subproject':
git update-index --force-remove -- sub2 &&
mv sub2 sub3 &&
git add sub3 &&
git commit -q -m "renaming a subproject" &&
test_expect_code 1 git diff -M --name-status --exit-code HEAD^ HEAD
warning: adding embedded git repository: sub3
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 <url> sub3
hint:
hint: If you added this path by mistake, you can remove it from the
hint: index with:
hint:
hint: git rm --cached sub3
hint:
hint: See "git help submodule" for more information.
R100 sub2 sub3
ok 10 - removing and adding subproject
expecting success of 3040.11 'checkout in superproject':
git checkout save &&
git diff-index --exit-code --raw --cached save -- sub1
warning: unable to rmdir 'sub3': Directory not empty
Switched to branch 'save'
M sub1
ok 11 - checkout in superproject
# passed all 11 test(s)
1..11
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t3050-subprojects-fetch.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3050-subprojects-fetch/.git/
expecting success of 3050.1 'setup':
test_tick &&
mkdir -p sub && (
cd sub &&
git init &&
>subfile &&
git add subfile &&
git commit -m "subproject commit #1"
) &&
>mainfile &&
git add sub mainfile &&
test_tick &&
git commit -m "superproject commit #1"
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3050-subprojects-fetch/sub/.git/
[master (root-commit) 4c0c877] subproject commit #1
Author: A U Thor <author@example.com>
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 subfile
warning: adding embedded git repository: sub
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 <url> sub
hint:
hint: If you added this path by mistake, you can remove it from the
hint: index with:
hint:
hint: git rm --cached sub
hint:
hint: See "git help submodule" for more information.
[master (root-commit) 1226c2e] superproject commit #1
Author: A U Thor <author@example.com>
2 files changed, 1 insertion(+)
create mode 100644 mainfile
create mode 160000 sub
ok 1 - setup
expecting success of 3050.2 'clone':
git clone "file://$(pwd)/.git" cloned &&
(git rev-parse HEAD && git ls-files -s) >expected &&
(
cd cloned &&
(git rev-parse HEAD && git ls-files -s) >../actual
) &&
test_cmp expected actual
Cloning into 'cloned'...
ok 2 - clone
expecting success of 3050.3 'advance':
echo more >mainfile &&
git update-index --force-remove sub &&
mv sub/.git sub/.git-disabled &&
git add sub/subfile mainfile &&
mv sub/.git-disabled sub/.git &&
test_tick &&
git commit -m "superproject commit #2"
[master 1548ecd] superproject commit #2
Author: A U Thor <author@example.com>
3 files changed, 1 insertion(+), 1 deletion(-)
delete mode 160000 sub
create mode 100644 sub/subfile
ok 3 - advance
expecting success of 3050.4 'fetch':
(git rev-parse HEAD && git ls-files -s) >expected &&
(
cd cloned &&
git pull &&
(git rev-parse HEAD && git ls-files -s) >../actual
) &&
test_cmp expected actual
warning: Pulling without specifying how to reconcile divergent branches is
discouraged. You can squelch this message by running one of the following
commands sometime before your next pull:
git config pull.rebase false # merge (the default strategy)
git config pull.rebase true # rebase
git config pull.ff only # fast-forward only
You can replace "git config" with "git config --global" to set a default
preference for all repositories. You can also pass --rebase, --no-rebase,
or --ff-only on the command line to override the configured default per
invocation.
From file:///<<PKGBUILDDIR>>/t/trash directory.t3050-subprojects-fetch/
1226c2e..1548ecd master -> origin/master
Updating 1226c2e..1548ecd
Fast-forward
mainfile | 1 +
sub | 1 -
sub/subfile | 0
3 files changed, 1 insertion(+), 1 deletion(-)
delete mode 160000 sub
create mode 100644 sub/subfile
ok 4 - fetch
# passed all 4 test(s)
1..4
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t3100-ls-tree-restrict.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3100-ls-tree-restrict/.git/
expecting success of 3100.1 'setup': mkdir path2 path2/baz &&
echo Hi >path0 &&
test_ln_s_add path0 path1 &&
test_ln_s_add ../path1 path2/bazbo &&
echo Lo >path2/foo &&
echo Mi >path2/baz/b &&
find path? \( -type f -o -type l \) -print |
xargs git update-index --add &&
tree=$(git write-tree) &&
echo $tree
checking prerequisite: SYMLINKS
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
# test whether the filesystem supports symbolic links
ln -s x y && test -h y
)
prerequisite SYMLINKS ok
a384d4f8dd786f29d6da4705dee4c2c0bc6b5049
ok 1 - setup
expecting success of 3100.2 'ls-tree plain': git ls-tree $tree >current &&
cat >expected <<\EOF &&
100644 blob X path0
120000 blob X path1
040000 tree X path2
EOF
test_output
ok 2 - ls-tree plain
expecting success of 3100.3 'ls-tree recursive': git ls-tree -r $tree >current &&
cat >expected <<\EOF &&
100644 blob X path0
120000 blob X path1
100644 blob X path2/baz/b
120000 blob X path2/bazbo
100644 blob X path2/foo
EOF
test_output
ok 3 - ls-tree recursive
expecting success of 3100.4 'ls-tree recursive with -t': git ls-tree -r -t $tree >current &&
cat >expected <<\EOF &&
100644 blob X path0
120000 blob X path1
040000 tree X path2
040000 tree X path2/baz
100644 blob X path2/baz/b
120000 blob X path2/bazbo
100644 blob X path2/foo
EOF
test_output
ok 4 - ls-tree recursive with -t
expecting success of 3100.5 'ls-tree recursive with -d': git ls-tree -r -d $tree >current &&
cat >expected <<\EOF &&
040000 tree X path2
040000 tree X path2/baz
EOF
test_output
ok 5 - ls-tree recursive with -d
expecting success of 3100.6 'ls-tree filtered with path': git ls-tree $tree path >current &&
cat >expected <<\EOF &&
EOF
test_output
ok 6 - ls-tree filtered with path
expecting success of 3100.7 'ls-tree filtered with path1 path0': git ls-tree $tree path1 path0 >current &&
cat >expected <<\EOF &&
100644 blob X path0
120000 blob X path1
EOF
test_output
ok 7 - ls-tree filtered with path1 path0
expecting success of 3100.8 'ls-tree filtered with path0/': git ls-tree $tree path0/ >current &&
cat >expected <<\EOF &&
EOF
test_output
ok 8 - ls-tree filtered with path0/
expecting success of 3100.9 'ls-tree filtered with path2': git ls-tree $tree path2 >current &&
cat >expected <<\EOF &&
040000 tree X path2
EOF
test_output
ok 9 - ls-tree filtered with path2
expecting success of 3100.10 'ls-tree filtered with path2/': git ls-tree $tree path2/ >current &&
cat >expected <<\EOF &&
040000 tree X path2/baz
120000 blob X path2/bazbo
100644 blob X path2/foo
EOF
test_output
ok 10 - ls-tree filtered with path2/
expecting success of 3100.11 'ls-tree filtered with path2/baz': git ls-tree $tree path2/baz >current &&
cat >expected <<\EOF &&
040000 tree X path2/baz
EOF
test_output
ok 11 - ls-tree filtered with path2/baz
expecting success of 3100.12 'ls-tree filtered with path2/bak': git ls-tree $tree path2/bak >current &&
cat >expected <<\EOF &&
EOF
test_output
ok 12 - ls-tree filtered with path2/bak
expecting success of 3100.13 'ls-tree -t filtered with path2/bak': git ls-tree -t $tree path2/bak >current &&
cat >expected <<\EOF &&
040000 tree X path2
EOF
test_output
ok 13 - ls-tree -t filtered with path2/bak
expecting success of 3100.14 'ls-tree with one path a prefix of the other': git ls-tree $tree path2/baz path2/bazbo >current &&
cat >expected <<\EOF &&
040000 tree X path2/baz
120000 blob X path2/bazbo
EOF
test_output
ok 14 - ls-tree with one path a prefix of the other
# passed all 14 test(s)
1..14
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t3101-ls-tree-dirname.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3101-ls-tree-dirname/.git/
expecting success of 3101.1 'setup':
echo 111 >1.txt &&
echo 222 >2.txt &&
mkdir path0 path0/a path0/a/b path0/a/b/c &&
echo 111 >path0/a/b/c/1.txt &&
mkdir path1 path1/b path1/b/c &&
echo 111 >path1/b/c/1.txt &&
mkdir path2 &&
echo 111 >path2/1.txt &&
mkdir path3 &&
echo 111 >path3/1.txt &&
echo 222 >path3/2.txt &&
find *.txt path* \( -type f -o -type l \) -print |
xargs git update-index --add &&
tree=$(git write-tree) &&
echo $tree
ef2ea4d6de8ec0863f430e4cad7468ce74f60aa7
ok 1 - setup
expecting success of 3101.2 'ls-tree plain':
git ls-tree $tree >current &&
cat >expected <<\EOF &&
100644 blob X 1.txt
100644 blob X 2.txt
040000 tree X path0
040000 tree X path1
040000 tree X path2
040000 tree X path3
EOF
test_output
ok 2 - ls-tree plain
expecting success of 3101.3 'ls-tree recursive':
git ls-tree -r $tree >current &&
cat >expected <<\EOF &&
100644 blob X 1.txt
100644 blob X 2.txt
100644 blob X path0/a/b/c/1.txt
100644 blob X path1/b/c/1.txt
100644 blob X path2/1.txt
100644 blob X path3/1.txt
100644 blob X path3/2.txt
EOF
test_output
ok 3 - ls-tree recursive
expecting success of 3101.4 'ls-tree filter 1.txt':
git ls-tree $tree 1.txt >current &&
cat >expected <<\EOF &&
100644 blob X 1.txt
EOF
test_output
ok 4 - ls-tree filter 1.txt
expecting success of 3101.5 'ls-tree filter path1/b/c/1.txt':
git ls-tree $tree path1/b/c/1.txt >current &&
cat >expected <<\EOF &&
100644 blob X path1/b/c/1.txt
EOF
test_output
ok 5 - ls-tree filter path1/b/c/1.txt
expecting success of 3101.6 'ls-tree filter all 1.txt files':
git ls-tree $tree 1.txt path0/a/b/c/1.txt \
path1/b/c/1.txt path2/1.txt path3/1.txt >current &&
cat >expected <<\EOF &&
100644 blob X 1.txt
100644 blob X path0/a/b/c/1.txt
100644 blob X path1/b/c/1.txt
100644 blob X path2/1.txt
100644 blob X path3/1.txt
EOF
test_output
ok 6 - ls-tree filter all 1.txt files
expecting success of 3101.7 'ls-tree filter directories':
git ls-tree $tree path3 path2 path0/a/b/c path1/b/c path0/a >current &&
cat >expected <<\EOF &&
040000 tree X path0/a/b/c
040000 tree X path1/b/c
040000 tree X path2
040000 tree X path3
EOF
test_output
ok 7 - ls-tree filter directories
expecting success of 3101.8 'ls-tree filter odd names':
git ls-tree $tree 1.txt ./1.txt .//1.txt \
path3/1.txt path3/./1.txt path3 path3// >current &&
cat >expected <<\EOF &&
100644 blob X 1.txt
100644 blob X path3/1.txt
100644 blob X path3/2.txt
EOF
test_output
ok 8 - ls-tree filter odd names
expecting success of 3101.9 'ls-tree filter missing files and extra slashes':
git ls-tree $tree 1.txt/ abc.txt \
path3//23.txt path3/2.txt/// >current &&
>expected &&
test_output
ok 9 - ls-tree filter missing files and extra slashes
expecting success of 3101.10 'ls-tree filter is leading path match':
git ls-tree $tree pa path3/a >current &&
>expected &&
test_output
ok 10 - ls-tree filter is leading path match
expecting success of 3101.11 'ls-tree --full-name':
(
cd path0 &&
git ls-tree --full-name $tree a
) >current &&
cat >expected <<\EOF &&
040000 tree X path0/a
EOF
test_output
ok 11 - ls-tree --full-name
expecting success of 3101.12 'ls-tree --full-tree':
(
cd path1/b/c &&
git ls-tree --full-tree $tree
) >current &&
cat >expected <<\EOF &&
100644 blob X 1.txt
100644 blob X 2.txt
040000 tree X path0
040000 tree X path1
040000 tree X path2
040000 tree X path3
EOF
test_output
ok 12 - ls-tree --full-tree
expecting success of 3101.13 'ls-tree --full-tree -r':
(
cd path3/ &&
git ls-tree --full-tree -r $tree
) >current &&
cat >expected <<\EOF &&
100644 blob X 1.txt
100644 blob X 2.txt
100644 blob X path0/a/b/c/1.txt
100644 blob X path1/b/c/1.txt
100644 blob X path2/1.txt
100644 blob X path3/1.txt
100644 blob X path3/2.txt
EOF
test_output
ok 13 - ls-tree --full-tree -r
expecting success of 3101.14 'ls-tree --abbrev=5':
git ls-tree --abbrev=5 $tree >current &&
sed -e "s/ $_x05[0-9a-f]* / X /" <current >check &&
cat >expected <<\EOF &&
100644 blob X 1.txt
100644 blob X 2.txt
040000 tree X path0
040000 tree X path1
040000 tree X path2
040000 tree X path3
EOF
test_cmp expected check
ok 14 - ls-tree --abbrev=5
expecting success of 3101.15 'ls-tree --name-only':
git ls-tree --name-only $tree >current &&
cat >expected <<\EOF &&
1.txt
2.txt
path0
path1
path2
path3
EOF
test_output
ok 15 - ls-tree --name-only
expecting success of 3101.16 'ls-tree --name-only -r':
git ls-tree --name-only -r $tree >current &&
cat >expected <<\EOF &&
1.txt
2.txt
path0/a/b/c/1.txt
path1/b/c/1.txt
path2/1.txt
path3/1.txt
path3/2.txt
EOF
test_output
ok 16 - ls-tree --name-only -r
# passed all 16 test(s)
1..16
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t3102-ls-tree-wildcards.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3102-ls-tree-wildcards/.git/
expecting success of 3102.1 'setup':
mkdir a aa "a[a]" &&
touch a/one aa/two "a[a]/three" &&
git add a/one aa/two "a[a]/three" &&
git commit -m test
[master (root-commit) 24e4830] test
Author: A U Thor <author@example.com>
3 files changed, 0 insertions(+), 0 deletions(-)
create mode 100644 a/one
create mode 100644 a[a]/three
create mode 100644 aa/two
ok 1 - setup
expecting success of 3102.2 'ls-tree a[a] matches literally':
cat >expect <<-EOF &&
100644 blob $EMPTY_BLOB a[a]/three
EOF
git ls-tree -r HEAD "a[a]" >actual &&
test_cmp expect actual
ok 2 - ls-tree a[a] matches literally
expecting success of 3102.3 'ls-tree outside prefix':
cat >expect <<-EOF &&
100644 blob $EMPTY_BLOB ../a[a]/three
EOF
( cd aa && git ls-tree -r HEAD "../a[a]" ) >actual &&
test_cmp expect actual
ok 3 - ls-tree outside prefix
checking known breakage of 3102.4 'ls-tree does not yet support negated pathspec':
git ls-files ":(exclude)a" "a*" >expect &&
git ls-tree --name-only -r HEAD ":(exclude)a" "a*" >actual &&
test_cmp expect actual
fatal: :(exclude)a: pathspec magic not supported by this command: 'exclude' (mnemonic: '!')
not ok 4 - ls-tree does not yet support negated pathspec # TODO known breakage
# still have 1 known breakage(s)
# passed all remaining 3 test(s)
1..4
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t3103-ls-tree-misc.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3103-ls-tree-misc/.git/
expecting success of 3103.1 'setup':
mkdir a &&
touch a/one &&
git add a/one &&
git commit -m test
[master (root-commit) 6196758] test
Author: A U Thor <author@example.com>
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 a/one
ok 1 - setup
expecting success of 3103.2 'ls-tree fails with non-zero exit code on broken tree':
tree=$(git rev-parse HEAD:a) &&
rm -f .git/objects/$(echo $tree | sed -e "s,^\(..\),\1/,") &&
test_must_fail git ls-tree -r HEAD
error: Could not read 5fcffbd6e4c5c5b8d81f5e9314b20e338e3ffff5
ok 2 - ls-tree fails with non-zero exit code on broken tree
# passed all 2 test(s)
1..2
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t3201-branch-contains.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3201-branch-contains/.git/
expecting success of 3201.1 'setup':
>file &&
git add file &&
test_tick &&
git commit -m initial &&
git branch side &&
echo 1 >file &&
test_tick &&
git commit -a -m "second on master" &&
git checkout side &&
echo 1 >file &&
test_tick &&
git commit -a -m "second on side" &&
git merge master
[master (root-commit) 1bd44cb] initial
Author: A U Thor <author@example.com>
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 file
[master c77a0a9] second on master
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
Switched to branch 'side'
[side 5a0fd8a] second on side
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
Merging:
5a0fd8a second on side
virtual master
found 1 common ancestor:
1bd44cb initial
Merge made by the 'recursive' strategy.
ok 1 - setup
expecting success of 3201.2 'branch --contains=master':
git branch --contains=master >actual &&
{
echo " master" && echo "* side"
} >expect &&
test_cmp expect actual
ok 2 - branch --contains=master
expecting success of 3201.3 'branch --contains master':
git branch --contains master >actual &&
{
echo " master" && echo "* side"
} >expect &&
test_cmp expect actual
ok 3 - branch --contains master
expecting success of 3201.4 'branch --no-contains=master':
git branch --no-contains=master >actual &&
test_must_be_empty actual
ok 4 - branch --no-contains=master
expecting success of 3201.5 'branch --no-contains master':
git branch --no-contains master >actual &&
test_must_be_empty actual
ok 5 - branch --no-contains master
expecting success of 3201.6 'branch --contains=side':
git branch --contains=side >actual &&
{
echo "* side"
} >expect &&
test_cmp expect actual
ok 6 - branch --contains=side
expecting success of 3201.7 'branch --no-contains=side':
git branch --no-contains=side >actual &&
{
echo " master"
} >expect &&
test_cmp expect actual
ok 7 - branch --no-contains=side
expecting success of 3201.8 'branch --contains with pattern implies --list':
git branch --contains=master master >actual &&
{
echo " master"
} >expect &&
test_cmp expect actual
ok 8 - branch --contains with pattern implies --list
expecting success of 3201.9 'branch --no-contains with pattern implies --list':
git branch --no-contains=master master >actual &&
test_must_be_empty actual
ok 9 - branch --no-contains with pattern implies --list
expecting success of 3201.10 'side: branch --merged':
git branch --merged >actual &&
{
echo " master" &&
echo "* side"
} >expect &&
test_cmp expect actual
ok 10 - side: branch --merged
expecting success of 3201.11 'branch --merged with pattern implies --list':
git branch --merged=side master >actual &&
{
echo " master"
} >expect &&
test_cmp expect actual
ok 11 - branch --merged with pattern implies --list
expecting success of 3201.12 'side: branch --no-merged':
git branch --no-merged >actual &&
test_must_be_empty actual
ok 12 - side: branch --no-merged
expecting success of 3201.13 'master: branch --merged':
git checkout master &&
git branch --merged >actual &&
{
echo "* master"
} >expect &&
test_cmp expect actual
Switched to branch 'master'
ok 13 - master: branch --merged
expecting success of 3201.14 'master: branch --no-merged':
git branch --no-merged >actual &&
{
echo " side"
} >expect &&
test_cmp expect actual
ok 14 - master: branch --no-merged
expecting success of 3201.15 'branch --no-merged with pattern implies --list':
git branch --no-merged=master master >actual &&
test_must_be_empty actual
ok 15 - branch --no-merged with pattern implies --list
expecting success of 3201.16 'implicit --list conflicts with modification options':
test_must_fail git branch --contains=master -d &&
test_must_fail git branch --contains=master -m foo &&
test_must_fail git branch --no-contains=master -d &&
test_must_fail git branch --no-contains=master -m foo
usage: git branch [<options>] [-r | -a] [--merged | --no-merged]
or: git branch [<options>] [-l] [-f] <branch-name> [<start-point>]
or: git branch [<options>] [-r] (-d | -D) <branch-name>...
or: git branch [<options>] (-m | -M) [<old-branch>] <new-branch>
or: git branch [<options>] (-c | -C) [<old-branch>] <new-branch>
or: git branch [<options>] [-r | -a] [--points-at]
or: git branch [<options>] [-r | -a] [--format]
Generic options
-v, --verbose show hash and subject, give twice for upstream branch
-q, --quiet suppress informational messages
-t, --track set up tracking mode (see git-pull(1))
-u, --set-upstream-to <upstream>
change the upstream info
--unset-upstream unset the upstream info
--color[=<when>] use colored output
-r, --remotes act on remote-tracking branches
--contains <commit> print only branches that contain the commit
--no-contains <commit>
print only branches that don't contain the commit
--abbrev[=<n>] use <n> digits to display SHA-1s
Specific git-branch actions:
-a, --all list both remote-tracking and local branches
-d, --delete delete fully merged branch
-D delete branch (even if not merged)
-m, --move move/rename a branch and its reflog
-M move/rename a branch, even if target exists
-c, --copy copy a branch and its reflog
-C copy a branch, even if target exists
-l, --list list branch names
--show-current show current branch name
--create-reflog create the branch's reflog
--edit-description edit the description for the branch
-f, --force force creation, move/rename, deletion
--merged <commit> print only branches that are merged
--no-merged <commit> print only branches that are not merged
--column[=<style>] list branches in columns
--sort <key> field name to sort on
--points-at <object> print only branches of the object
-i, --ignore-case sorting and filtering are case insensitive
--format <format> format to use for the output
usage: git branch [<options>] [-r | -a] [--merged | --no-merged]
or: git branch [<options>] [-l] [-f] <branch-name> [<start-point>]
or: git branch [<options>] [-r] (-d | -D) <branch-name>...
or: git branch [<options>] (-m | -M) [<old-branch>] <new-branch>
or: git branch [<options>] (-c | -C) [<old-branch>] <new-branch>
or: git branch [<options>] [-r | -a] [--points-at]
or: git branch [<options>] [-r | -a] [--format]
Generic options
-v, --verbose show hash and subject, give twice for upstream branch
-q, --quiet suppress informational messages
-t, --track set up tracking mode (see git-pull(1))
-u, --set-upstream-to <upstream>
change the upstream info
--unset-upstream unset the upstream info
--color[=<when>] use colored output
-r, --remotes act on remote-tracking branches
--contains <commit> print only branches that contain the commit
--no-contains <commit>
print only branches that don't contain the commit
--abbrev[=<n>] use <n> digits to display SHA-1s
Specific git-branch actions:
-a, --all list both remote-tracking and local branches
-d, --delete delete fully merged branch
-D delete branch (even if not merged)
-m, --move move/rename a branch and its reflog
-M move/rename a branch, even if target exists
-c, --copy copy a branch and its reflog
-C copy a branch, even if target exists
-l, --list list branch names
--show-current show current branch name
--create-reflog create the branch's reflog
--edit-description edit the description for the branch
-f, --force force creation, move/rename, deletion
--merged <commit> print only branches that are merged
--no-merged <commit> print only branches that are not merged
--column[=<style>] list branches in columns
--sort <key> field name to sort on
--points-at <object> print only branches of the object
-i, --ignore-case sorting and filtering are case insensitive
--format <format> format to use for the output
usage: git branch [<options>] [-r | -a] [--merged | --no-merged]
or: git branch [<options>] [-l] [-f] <branch-name> [<start-point>]
or: git branch [<options>] [-r] (-d | -D) <branch-name>...
or: git branch [<options>] (-m | -M) [<old-branch>] <new-branch>
or: git branch [<options>] (-c | -C) [<old-branch>] <new-branch>
or: git branch [<options>] [-r | -a] [--points-at]
or: git branch [<options>] [-r | -a] [--format]
Generic options
-v, --verbose show hash and subject, give twice for upstream branch
-q, --quiet suppress informational messages
-t, --track set up tracking mode (see git-pull(1))
-u, --set-upstream-to <upstream>
change the upstream info
--unset-upstream unset the upstream info
--color[=<when>] use colored output
-r, --remotes act on remote-tracking branches
--contains <commit> print only branches that contain the commit
--no-contains <commit>
print only branches that don't contain the commit
--abbrev[=<n>] use <n> digits to display SHA-1s
Specific git-branch actions:
-a, --all list both remote-tracking and local branches
-d, --delete delete fully merged branch
-D delete branch (even if not merged)
-m, --move move/rename a branch and its reflog
-M move/rename a branch, even if target exists
-c, --copy copy a branch and its reflog
-C copy a branch, even if target exists
-l, --list list branch names
--show-current show current branch name
--create-reflog create the branch's reflog
--edit-description edit the description for the branch
-f, --force force creation, move/rename, deletion
--merged <commit> print only branches that are merged
--no-merged <commit> print only branches that are not merged
--column[=<style>] list branches in columns
--sort <key> field name to sort on
--points-at <object> print only branches of the object
-i, --ignore-case sorting and filtering are case insensitive
--format <format> format to use for the output
usage: git branch [<options>] [-r | -a] [--merged | --no-merged]
or: git branch [<options>] [-l] [-f] <branch-name> [<start-point>]
or: git branch [<options>] [-r] (-d | -D) <branch-name>...
or: git branch [<options>] (-m | -M) [<old-branch>] <new-branch>
or: git branch [<options>] (-c | -C) [<old-branch>] <new-branch>
or: git branch [<options>] [-r | -a] [--points-at]
or: git branch [<options>] [-r | -a] [--format]
Generic options
-v, --verbose show hash and subject, give twice for upstream branch
-q, --quiet suppress informational messages
-t, --track set up tracking mode (see git-pull(1))
-u, --set-upstream-to <upstream>
change the upstream info
--unset-upstream unset the upstream info
--color[=<when>] use colored output
-r, --remotes act on remote-tracking branches
--contains <commit> print only branches that contain the commit
--no-contains <commit>
print only branches that don't contain the commit
--abbrev[=<n>] use <n> digits to display SHA-1s
Specific git-branch actions:
-a, --all list both remote-tracking and local branches
-d, --delete delete fully merged branch
-D delete branch (even if not merged)
-m, --move move/rename a branch and its reflog
-M move/rename a branch, even if target exists
-c, --copy copy a branch and its reflog
-C copy a branch, even if target exists
-l, --list list branch names
--show-current show current branch name
--create-reflog create the branch's reflog
--edit-description edit the description for the branch
-f, --force force creation, move/rename, deletion
--merged <commit> print only branches that are merged
--no-merged <commit> print only branches that are not merged
--column[=<style>] list branches in columns
--sort <key> field name to sort on
--points-at <object> print only branches of the object
-i, --ignore-case sorting and filtering are case insensitive
--format <format> format to use for the output
ok 16 - implicit --list conflicts with modification options
expecting success of 3201.17 'Assert that --contains only works on commits, not trees & blobs':
test_must_fail git branch --contains master^{tree} &&
blob=$(git hash-object -w --stdin <<-\EOF
Some blob
EOF
) &&
test_must_fail git branch --contains $blob &&
test_must_fail git branch --no-contains $blob
error: object f27c6ae26adb8396d3861976ba268f87ad8afa0b is a tree, not a commit
error: no such commit master^{tree}
error: object cfb9f2866bfe62c278d75e8c33f020ccc27b5829 is a blob, not a commit
error: no such commit cfb9f2866bfe62c278d75e8c33f020ccc27b5829
error: object cfb9f2866bfe62c278d75e8c33f020ccc27b5829 is a blob, not a commit
error: no such commit cfb9f2866bfe62c278d75e8c33f020ccc27b5829
ok 17 - Assert that --contains only works on commits, not trees & blobs
expecting success of 3201.18 'branch --merged with --verbose':
git branch --track topic master &&
git branch zzz topic &&
git checkout topic &&
test_commit foo &&
git branch --merged topic >actual &&
cat >expect <<-\EOF &&
master
* topic
zzz
EOF
test_cmp expect actual &&
git branch --verbose --merged topic >actual &&
cat >expect <<-EOF &&
master $(git rev-parse --short master) second on master
* topic $(git rev-parse --short topic ) [ahead 1] foo
zzz $(git rev-parse --short zzz ) second on master
EOF
test_i18ncmp expect actual
Branch 'topic' set up to track local branch 'master'.
Switched to branch 'topic'
Your branch is up to date with 'master'.
[topic 2c939f4] foo
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 foo.t
checking prerequisite: C_LOCALE_OUTPUT
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
! test_bool_env GIT_TEST_GETTEXT_POISON false
)
prerequisite C_LOCALE_OUTPUT ok
ok 18 - branch --merged with --verbose
expecting success of 3201.19 'branch --contains combined with --no-contains':
git branch --contains zzz --no-contains topic >actual &&
cat >expect <<-\EOF &&
master
side
zzz
EOF
test_cmp expect actual
ok 19 - branch --contains combined with --no-contains
# passed all 19 test(s)
1..19
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t3202-show-branch-octopus.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3202-show-branch-octopus/.git/
expecting success of 3202.1 'setup':
> file &&
git add file &&
test_tick &&
git commit -m initial &&
for i in $numbers
do
git checkout -b branch$i master &&
> file$i &&
git add file$i &&
test_tick &&
git commit -m branch$i || return 1
done
[master (root-commit) 1bd44cb] initial
Author: A U Thor <author@example.com>
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 file
Switched to a new branch 'branch1'
[branch1 eabeb5d] branch1
Author: A U Thor <author@example.com>
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 file1
Switched to a new branch 'branch2'
[branch2 b4fb685] branch2
Author: A U Thor <author@example.com>
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 file2
Switched to a new branch 'branch3'
[branch3 8334722] branch3
Author: A U Thor <author@example.com>
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 file3
Switched to a new branch 'branch4'
[branch4 142d8e4] branch4
Author: A U Thor <author@example.com>
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 file4
Switched to a new branch 'branch5'
[branch5 c5402b6] branch5
Author: A U Thor <author@example.com>
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 file5
Switched to a new branch 'branch6'
[branch6 d33aeab] branch6
Author: A U Thor <author@example.com>
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 file6
Switched to a new branch 'branch7'
[branch7 cb80438] branch7
Author: A U Thor <author@example.com>
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 file7
Switched to a new branch 'branch8'
[branch8 c922302] branch8
Author: A U Thor <author@example.com>
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 file8
Switched to a new branch 'branch9'
[branch9 fabe124] branch9
Author: A U Thor <author@example.com>
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 file9
Switched to a new branch 'branch10'
[branch10 4d9b8be] branch10
Author: A U Thor <author@example.com>
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 file10
ok 1 - setup
expecting success of 3202.2 'show-branch with more than 8 branches':
git show-branch $(for i in $numbers; do echo branch$i; done) > out &&
test_cmp expect out
ok 2 - show-branch with more than 8 branches
expecting success of 3202.3 'show-branch with showbranch.default':
for i in $numbers; do
git config --add showbranch.default branch$i
done &&
git show-branch >out &&
test_cmp expect out
ok 3 - show-branch with showbranch.default
# passed all 3 test(s)
1..3
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t3203-branch-output.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3203-branch-output/.git/
expecting success of 3203.1 'make commits':
echo content >file &&
git add file &&
git commit -m one &&
echo content >>file &&
git commit -a -m two
[master (root-commit) 66c272f] one
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 file
[master 3b5ea9d] two
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
ok 1 - make commits
expecting success of 3203.2 'make branches':
git branch branch-one &&
git branch branch-two HEAD^
ok 2 - make branches
expecting success of 3203.3 'make remote branches':
git update-ref refs/remotes/origin/branch-one branch-one &&
git update-ref refs/remotes/origin/branch-two branch-two &&
git symbolic-ref refs/remotes/origin/HEAD refs/remotes/origin/branch-one
ok 3 - make remote branches
expecting success of 3203.4 'git branch shows local branches':
git branch >actual &&
test_cmp expect actual
ok 4 - git branch shows local branches
expecting success of 3203.5 'git branch --list shows local branches':
git branch --list >actual &&
test_cmp expect actual
ok 5 - git branch --list shows local branches
expecting success of 3203.6 'git branch --list pattern shows matching local branches':
git branch --list branch* >actual &&
test_cmp expect actual
ok 6 - git branch --list pattern shows matching local branches
expecting success of 3203.7 'git branch -r shows remote branches':
git branch -r >actual &&
test_cmp expect actual
ok 7 - git branch -r shows remote branches
expecting success of 3203.8 'git branch -a shows local and remote branches':
git branch -a >actual &&
test_cmp expect actual
ok 8 - git branch -a shows local and remote branches
expecting success of 3203.9 'git branch -v shows branch summaries':
git branch -v >tmp &&
awk "{print \$NF}" <tmp >actual &&
test_cmp expect actual
ok 9 - git branch -v shows branch summaries
expecting success of 3203.10 'git branch --list -v pattern shows branch summaries':
git branch --list -v branch* >tmp &&
awk "{print \$NF}" <tmp >actual &&
test_cmp expect actual
ok 10 - git branch --list -v pattern shows branch summaries
expecting success of 3203.11 'git branch --ignore-case --list -v pattern shows branch summaries':
git branch --list --ignore-case -v BRANCH* >tmp &&
awk "{print \$NF}" <tmp >actual &&
test_cmp expect actual
ok 11 - git branch --ignore-case --list -v pattern shows branch summaries
expecting success of 3203.12 'git branch -v pattern does not show branch summaries':
test_must_fail git branch -v branch*
fatal: 'branch*' is not a valid branch name.
ok 12 - git branch -v pattern does not show branch summaries
expecting success of 3203.13 'git branch `--show-current` shows current branch':
cat >expect <<-\EOF &&
branch-two
EOF
git checkout branch-two &&
git branch --show-current >actual &&
test_cmp expect actual
Switched to branch 'branch-two'
ok 13 - git branch `--show-current` shows current branch
expecting success of 3203.14 'git branch `--show-current` is silent when detached HEAD':
git checkout HEAD^0 &&
git branch --show-current >actual &&
test_must_be_empty actual
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 <new-branch-name>
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
HEAD is now at 66c272f one
ok 14 - git branch `--show-current` is silent when detached HEAD
expecting success of 3203.15 'git branch `--show-current` works properly when tag exists':
cat >expect <<-\EOF &&
branch-and-tag-name
EOF
test_when_finished "
git checkout branch-one
git branch -D branch-and-tag-name
" &&
git checkout -b branch-and-tag-name &&
test_when_finished "git tag -d branch-and-tag-name" &&
git tag branch-and-tag-name &&
git branch --show-current >actual &&
test_cmp expect actual
Switched to a new branch 'branch-and-tag-name'
Deleted tag 'branch-and-tag-name' (was 66c272f)
Switched to branch 'branch-one'
Deleted branch branch-and-tag-name (was 66c272f).
ok 15 - git branch `--show-current` works properly when tag exists
expecting success of 3203.16 'git branch `--show-current` works properly with worktrees':
cat >expect <<-\EOF &&
branch-one
branch-two
EOF
git checkout branch-one &&
test_when_finished "
git worktree remove worktree_dir
" &&
git worktree add worktree_dir branch-two &&
{
git branch --show-current &&
git -C worktree_dir branch --show-current
} >actual &&
test_cmp expect actual
Already on 'branch-one'
Preparing worktree (checking out 'branch-two')
HEAD is now at 66c272f one
ok 16 - git branch `--show-current` works properly with worktrees
expecting success of 3203.17 'git branch shows detached HEAD properly':
cat >expect <<EOF &&
* (HEAD detached at $(git rev-parse --short HEAD^0))
branch-one
branch-two
master
EOF
git checkout HEAD^0 &&
git branch >actual &&
test_i18ncmp expect actual
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 <new-branch-name>
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
HEAD is now at 3b5ea9d two
checking prerequisite: C_LOCALE_OUTPUT
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
! test_bool_env GIT_TEST_GETTEXT_POISON false
)
prerequisite C_LOCALE_OUTPUT ok
ok 17 - git branch shows detached HEAD properly
expecting success of 3203.18 'git branch shows detached HEAD properly after checkout --detach':
git checkout master &&
cat >expect <<EOF &&
* (HEAD detached at $(git rev-parse --short HEAD^0))
branch-one
branch-two
master
EOF
git checkout --detach &&
git branch >actual &&
test_i18ncmp expect actual
Switched to branch 'master'
HEAD is now at 3b5ea9d two
ok 18 - git branch shows detached HEAD properly after checkout --detach
expecting success of 3203.19 'git branch shows detached HEAD properly after moving':
cat >expect <<EOF &&
* (HEAD detached from $(git rev-parse --short HEAD))
branch-one
branch-two
master
EOF
git reset --hard HEAD^1 &&
git branch >actual &&
test_i18ncmp expect actual
HEAD is now at 66c272f one
ok 19 - git branch shows detached HEAD properly after moving
expecting success of 3203.20 'git branch shows detached HEAD properly from tag':
cat >expect <<EOF &&
* (HEAD detached at fromtag)
branch-one
branch-two
master
EOF
git tag fromtag master &&
git checkout fromtag &&
git branch >actual &&
test_i18ncmp expect actual
Previous HEAD position was 66c272f one
HEAD is now at 3b5ea9d two
ok 20 - git branch shows detached HEAD properly from tag
expecting success of 3203.21 'git branch shows detached HEAD properly after moving from tag':
cat >expect <<EOF &&
* (HEAD detached from fromtag)
branch-one
branch-two
master
EOF
git reset --hard HEAD^1 &&
git branch >actual &&
test_i18ncmp expect actual
HEAD is now at 66c272f one
ok 21 - git branch shows detached HEAD properly after moving from tag
expecting success of 3203.22 'git branch `--sort` option':
cat >expect <<-\EOF &&
* (HEAD detached from fromtag)
branch-two
branch-one
master
EOF
git branch --sort=objectsize >actual &&
test_i18ncmp expect actual
ok 22 - git branch `--sort` option
expecting success of 3203.23 'git branch --points-at option':
cat >expect <<-\EOF &&
branch-one
master
EOF
git branch --points-at=branch-one >actual &&
test_cmp expect actual
ok 23 - git branch --points-at option
expecting success of 3203.24 'ambiguous branch/tag not marked':
git tag ambiguous &&
git branch ambiguous &&
echo " ambiguous" >expect &&
git branch --list ambiguous >actual &&
test_cmp expect actual
ok 24 - ambiguous branch/tag not marked
expecting success of 3203.25 'local-branch symrefs shortened properly':
git symbolic-ref refs/heads/ref-to-branch refs/heads/branch-one &&
git symbolic-ref refs/heads/ref-to-remote refs/remotes/origin/branch-one &&
cat >expect <<-\EOF &&
ref-to-branch -> branch-one
ref-to-remote -> origin/branch-one
EOF
git branch >actual.raw &&
grep ref-to <actual.raw >actual &&
test_cmp expect actual
ok 25 - local-branch symrefs shortened properly
expecting success of 3203.26 'sort branches, ignore case':
(
git init sort-icase &&
cd sort-icase &&
test_commit initial &&
git branch branch-one &&
git branch BRANCH-two &&
git branch --list | awk "{print \$NF}" >actual &&
cat >expected <<-\EOF &&
BRANCH-two
branch-one
master
EOF
test_cmp expected actual &&
git branch --list -i | awk "{print \$NF}" >actual &&
cat >expected <<-\EOF &&
branch-one
BRANCH-two
master
EOF
test_cmp expected actual
)
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3203-branch-output/sort-icase/.git/
[master (root-commit) 24b24cf] initial
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 initial.t
ok 26 - sort branches, ignore case
expecting success of 3203.27 'git branch --format option':
cat >expect <<-\EOF &&
Refname is (HEAD detached from fromtag)
Refname is refs/heads/ambiguous
Refname is refs/heads/branch-one
Refname is refs/heads/branch-two
Refname is refs/heads/master
Refname is refs/heads/ref-to-branch
Refname is refs/heads/ref-to-remote
EOF
git branch --format="Refname is %(refname)" >actual &&
test_i18ncmp expect actual
ok 27 - git branch --format option
expecting success of 3203.28 'worktree colors correct':
cat >expect <<-EOF &&
* <GREEN>(HEAD detached from fromtag)<RESET>
ambiguous<RESET>
branch-one<RESET>
+ <CYAN>branch-two<RESET>
master<RESET>
ref-to-branch<RESET> -> branch-one
ref-to-remote<RESET> -> origin/branch-one
EOF
git worktree add worktree_dir branch-two &&
git branch --color >actual.raw &&
rm -r worktree_dir &&
git worktree prune &&
test_decode_color <actual.raw >actual &&
test_i18ncmp expect actual
Preparing worktree (checking out 'branch-two')
HEAD is now at 66c272f one
ok 28 - worktree colors correct
expecting success of 3203.29 'set up color tests':
echo "<RED>master<RESET>" >expect.color &&
echo "master" >expect.bare &&
color_args="--format=%(color:red)%(refname:short) --list master"
ok 29 - set up color tests
expecting success of 3203.30 '%(color) omitted without tty':
TERM=vt100 git branch $color_args >actual.raw &&
test_decode_color <actual.raw >actual &&
test_cmp expect.bare actual
ok 30 - %(color) omitted without tty
checking prerequisite: TTY
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
test_have_prereq PERL &&
# Reading from the pty master seems to get stuck _sometimes_
# on Mac OS X 10.5.0, using Perl 5.10.0 or 5.8.9.
#
# Reproduction recipe: run
#
# i=0
# while ./test-terminal.perl echo hi $i
# do
# : $((i = $i + 1))
# done
#
# After 2000 iterations or so it hangs.
# https://rt.cpan.org/Ticket/Display.html?id=65692
#
test "$(uname -s)" != Darwin &&
perl "$TEST_DIRECTORY"/test-terminal.perl \
sh -c "test -t 1 && test -t 2"
)
died of signal 15 at /<<PKGBUILDDIR>>/t/test-terminal.perl line 35.
prerequisite TTY ok
expecting success of 3203.31 '%(color) present with tty':
test_terminal git branch $color_args >actual.raw &&
test_decode_color <actual.raw >actual &&
test_cmp expect.color actual
ok 31 - %(color) present with tty
expecting success of 3203.32 '--color overrides auto-color':
git branch --color $color_args >actual.raw &&
test_decode_color <actual.raw >actual &&
test_cmp expect.color actual
ok 32 - --color overrides auto-color
expecting success of 3203.33 'verbose output lists worktree path':
one=$(git rev-parse --short HEAD) &&
two=$(git rev-parse --short master) &&
cat >expect <<-EOF &&
* (HEAD detached from fromtag) $one one
ambiguous $one one
branch-one $two two
+ branch-two $one ($(pwd)/worktree_dir) one
master $two two
ref-to-branch $two two
ref-to-remote $two two
EOF
git worktree add worktree_dir branch-two &&
git branch -vv >actual &&
rm -r worktree_dir &&
git worktree prune &&
test_i18ncmp expect actual
Preparing worktree (checking out 'branch-two')
HEAD is now at 66c272f one
ok 33 - verbose output lists worktree path
# passed all 33 test(s)
1..33
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t3204-branch-name-interpretation.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3204-branch-name-interpretation/.git/
expecting success of 3204.1 'set up repo':
test_commit one &&
test_commit two &&
git remote add origin foo.git
[master (root-commit) d79ce16] one
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 one.t
[master 139b20d] two
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 two.t
ok 1 - set up repo
expecting success of 3204.2 'update branch via @{-1}':
git branch previous one &&
git checkout previous &&
git checkout master &&
git branch -f @{-1} two &&
expect_branch previous two
Switched to branch 'previous'
Switched to branch 'master'
ok 2 - update branch via @{-1}
expecting success of 3204.3 'update branch via local @{upstream}':
git branch local one &&
git branch --set-upstream-to=local &&
git branch -f @{upstream} two &&
expect_branch local two
Branch 'master' set up to track local branch 'local'.
ok 3 - update branch via local @{upstream}
expecting success of 3204.4 'disallow updating branch via remote @{upstream}':
git update-ref refs/remotes/origin/remote one &&
git branch --set-upstream-to=origin/remote &&
test_must_fail git branch -f @{upstream} two
Branch 'master' set up to track remote branch 'remote' from 'origin'.
fatal: '@{upstream}' is not a valid branch name.
ok 4 - disallow updating branch via remote @{upstream}
expecting success of 3204.5 'create branch with pseudo-qualified name':
git branch refs/heads/qualified two &&
expect_branch refs/heads/refs/heads/qualified two
ok 5 - create branch with pseudo-qualified name
expecting success of 3204.6 'delete branch via @{-1}':
git branch previous-del &&
git checkout previous-del &&
git checkout master &&
git branch -D @{-1} &&
expect_deleted previous-del
Switched to branch 'previous-del'
Switched to branch 'master'
Your branch is ahead of 'origin/remote' by 1 commit.
(use "git push" to publish your local commits)
Deleted branch previous-del (was 139b20d).
fatal: Needed a single revision
ok 6 - delete branch via @{-1}
expecting success of 3204.7 'delete branch via local @{upstream}':
git branch local-del &&
git branch --set-upstream-to=local-del &&
git branch -D @{upstream} &&
expect_deleted local-del
Branch 'master' set up to track local branch 'local-del'.
Deleted branch local-del (was 139b20d).
fatal: Needed a single revision
ok 7 - delete branch via local @{upstream}
expecting success of 3204.8 'delete branch via remote @{upstream}':
git update-ref refs/remotes/origin/remote-del two &&
git branch --set-upstream-to=origin/remote-del &&
git branch -r -D @{upstream} &&
expect_deleted origin/remote-del
Branch 'master' set up to track remote branch 'remote-del' from 'origin'.
Deleted remote-tracking branch origin/remote-del (was 139b20d).
fatal: Needed a single revision
ok 8 - delete branch via remote @{upstream}
expecting success of 3204.9 'delete @{upstream} expansion matches -r option':
git update-ref refs/remotes/origin/remote-del two &&
git branch --set-upstream-to=origin/remote-del &&
git update-ref refs/heads/origin/remote-del two &&
git update-ref refs/heads/remotes/origin/remote-del two &&
test_must_fail git branch -D @{upstream} &&
expect_branch refs/heads/origin/remote-del two &&
expect_branch refs/heads/remotes/origin/remote-del two
Branch 'master' set up to track remote branch 'remote-del' from 'origin'.
error: branch '@{upstream}' not found.
ok 9 - delete @{upstream} expansion matches -r option
expecting success of 3204.10 'disallow deleting remote branch via @{-1}':
git update-ref refs/remotes/origin/previous one &&
git checkout -b origin/previous two &&
git checkout master &&
test_must_fail git branch -r -D @{-1} &&
expect_branch refs/remotes/origin/previous one &&
expect_branch refs/heads/origin/previous two
Switched to a new branch 'origin/previous'
Switched to branch 'master'
Your branch is up to date with 'remotes/origin/remote-del'.
error: remote-tracking branch '@{-1}' not found.
ok 10 - disallow deleting remote branch via @{-1}
expecting success of 3204.11 'create branch named "@"':
git branch -f @ one &&
expect_branch refs/heads/@ one
ok 11 - create branch named "@"
expecting success of 3204.12 'delete branch named "@"':
git update-ref refs/heads/@ two &&
git branch -D @ &&
expect_deleted refs/heads/@
Deleted branch @ (was 139b20d).
fatal: Needed a single revision
ok 12 - delete branch named "@"
expecting success of 3204.13 'checkout does not treat remote @{upstream} as a branch':
git update-ref refs/remotes/origin/checkout one &&
git branch --set-upstream-to=origin/checkout &&
git update-ref refs/heads/origin/checkout two &&
git update-ref refs/heads/remotes/origin/checkout two &&
git checkout @{upstream} &&
expect_branch HEAD one
Branch 'master' set up to track remote branch 'checkout' from 'origin'.
warning: refname '@{upstream}' is ambiguous.
Note: switching to '@{upstream}'.
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 <new-branch-name>
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
HEAD is now at d79ce16 one
ok 13 - checkout does not treat remote @{upstream} as a branch
# passed all 13 test(s)
1..13
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t3205-branch-color.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3205-branch-color/.git/
expecting success of 3205.1 'set up some sample branches':
test_commit foo &&
git update-ref refs/remotes/origin/master HEAD &&
git update-ref refs/heads/other HEAD
[master (root-commit) ddd63c9] foo
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 foo.t
ok 1 - set up some sample branches
expecting success of 3205.2 'set up some color config':
git config color.branch.local blue &&
git config color.branch.remote yellow &&
git config color.branch.current cyan
ok 2 - set up some color config
expecting success of 3205.3 'regular output shows colors':
cat >expect <<-\EOF &&
* <CYAN>master<RESET>
<BLUE>other<RESET>
<YELLOW>remotes/origin/master<RESET>
EOF
git branch --color -a >actual.raw &&
test_decode_color <actual.raw >actual &&
test_cmp expect actual
ok 3 - regular output shows colors
expecting success of 3205.4 'verbose output shows colors':
oid=$(git rev-parse --short HEAD) &&
cat >expect <<-EOF &&
* <CYAN>master <RESET> $oid foo
<BLUE>other <RESET> $oid foo
<YELLOW>remotes/origin/master<RESET> $oid foo
EOF
git branch --color -v -a >actual.raw &&
test_decode_color <actual.raw >actual &&
test_cmp expect actual
ok 4 - verbose output shows colors
# passed all 4 test(s)
1..4
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t3206-range-diff.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3206-range-diff/.git/
expecting success of 3206.1 'setup':
git fast-import <"$TEST_DIRECTORY"/t3206/history.export &&
test_oid_cache <<-\EOF
# topic
t1 sha1:4de457d
t2 sha1:fccce22
t3 sha1:147e64e
t4 sha1:a63e992
t1 sha256:b89f8b9
t2 sha256:5f12aad
t3 sha256:ea8b273
t4 sha256:14b7336
# unmodified
u1 sha1:35b9b25
u2 sha1:de345ab
u3 sha1:9af6654
u4 sha1:2901f77
u1 sha256:e3731be
u2 sha256:14fadf8
u3 sha256:736c4bc
u4 sha256:673e77d
# reordered
r1 sha1:aca177a
r2 sha1:14ad629
r3 sha1:ee58208
r4 sha1:307b27a
r1 sha256:f59d3aa
r2 sha256:fb261a8
r3 sha256:cb2649b
r4 sha256:958577e
# removed (deleted)
d1 sha1:7657159
d2 sha1:43d84d3
d3 sha1:a740396
d1 sha256:e312513
d2 sha256:eb19258
d3 sha256:1ccb3c1
# added
a1 sha1:2716022
a2 sha1:b62accd
a3 sha1:df46cfa
a4 sha1:3e64548
a5 sha1:12b4063
a1 sha256:d724f4d
a2 sha256:1de7762
a3 sha256:e159431
a4 sha256:b3e483c
a5 sha256:90866a7
# rebased
b1 sha1:cc9c443
b2 sha1:c5d9641
b3 sha1:28cc2b6
b4 sha1:5628ab7
b5 sha1:a31b12e
b1 sha256:a1a8717
b2 sha256:20a5862
b3 sha256:587172a
b4 sha256:2721c5d
b5 sha256:7b57864
# changed
c1 sha1:a4b3333
c2 sha1:f51d370
c3 sha1:0559556
c4 sha1:d966c5c
c1 sha256:f8c2b9d
c2 sha256:3fb6318
c3 sha256:168ab68
c4 sha256:3526539
# changed-message
m1 sha1:f686024
m2 sha1:4ab067d
m3 sha1:b9cb956
m4 sha1:8add5f1
m1 sha256:31e6281
m2 sha256:a06bf1b
m3 sha256:82dc654
m4 sha256:48470c5
# renamed
n1 sha1:f258d75
n2 sha1:017b62d
n3 sha1:3ce7af6
n4 sha1:1e6226b
n1 sha256:ad52114
n2 sha256:3b54c8f
n3 sha256:3b0a644
n4 sha256:e461653
# mode change
o1 sha1:4d39cb3
o2 sha1:26c107f
o3 sha1:4c1e0f5
o1 sha256:d0dd598
o2 sha256:c4a279e
o3 sha256:78459d7
# added and removed
s1 sha1:096b1ba
s2 sha1:d92e698
s3 sha1:9a1db4d
s4 sha1:fea3b5c
s1 sha256:a7f9134
s2 sha256:b4c2580
s3 sha256:1d62aa2
s4 sha256:48160e8
# Empty delimiter (included so lines match neatly)
__ sha1:-------
__ sha256:-------
EOF
/<<PKGBUILDDIR>>/git-fast-import statistics:
---------------------------------------------------------------------
Alloc'd objects: 5000
Total objects: 83 ( 21 duplicates )
blobs : 14 ( 0 duplicates 0 deltas of 11 attempts)
trees : 24 ( 21 duplicates 1 deltas of 23 attempts)
commits: 45 ( 0 duplicates 0 deltas of 0 attempts)
tags : 0 ( 0 duplicates 0 deltas of 0 attempts)
Total branches: 12 ( 14 loads )
marks: 1024 ( 59 unique )
atoms: 5
Memory total: 2434 KiB
pools: 2122 KiB
objects: 312 KiB
---------------------------------------------------------------------
pack_report: getpagesize() = 4096
pack_report: core.packedGitWindowSize = 33554432
pack_report: core.packedGitLimit = 268435456
pack_report: pack_used_ctr = 23
pack_report: pack_mmap_calls = 13
pack_report: pack_open_windows = 0 / 1
pack_report: pack_mapped = 0 / 8521
---------------------------------------------------------------------
ok 1 - setup
expecting success of 3206.2 'simple A..B A..C (unmodified)':
git range-diff --no-color master..topic master..unmodified \
>actual &&
cat >expect <<-EOF &&
1: $(test_oid t1) = 1: $(test_oid u1) s/5/A/
2: $(test_oid t2) = 2: $(test_oid u2) s/4/A/
3: $(test_oid t3) = 3: $(test_oid u3) s/11/B/
4: $(test_oid t4) = 4: $(test_oid u4) s/12/B/
EOF
test_cmp expect actual
ok 2 - simple A..B A..C (unmodified)
expecting success of 3206.3 'simple B...C (unmodified)':
git range-diff --no-color topic...unmodified >actual &&
# same "expect" as above
test_cmp expect actual
ok 3 - simple B...C (unmodified)
expecting success of 3206.4 'simple A B C (unmodified)':
git range-diff --no-color master topic unmodified >actual &&
# same "expect" as above
test_cmp expect actual
ok 4 - simple A B C (unmodified)
expecting success of 3206.5 'trivial reordering':
git range-diff --no-color master topic reordered >actual &&
cat >expect <<-EOF &&
1: $(test_oid t1) = 1: $(test_oid r1) s/5/A/
3: $(test_oid t3) = 2: $(test_oid r2) s/11/B/
4: $(test_oid t4) = 3: $(test_oid r3) s/12/B/
2: $(test_oid t2) = 4: $(test_oid r4) s/4/A/
EOF
test_cmp expect actual
ok 5 - trivial reordering
expecting success of 3206.6 'removed a commit':
git range-diff --no-color master topic removed >actual &&
cat >expect <<-EOF &&
1: $(test_oid t1) = 1: $(test_oid d1) s/5/A/
2: $(test_oid t2) < -: $(test_oid __) s/4/A/
3: $(test_oid t3) = 2: $(test_oid d2) s/11/B/
4: $(test_oid t4) = 3: $(test_oid d3) s/12/B/
EOF
test_cmp expect actual
ok 6 - removed a commit
expecting success of 3206.7 'added a commit':
git range-diff --no-color master topic added >actual &&
cat >expect <<-EOF &&
1: $(test_oid t1) = 1: $(test_oid a1) s/5/A/
2: $(test_oid t2) = 2: $(test_oid a2) s/4/A/
-: $(test_oid __) > 3: $(test_oid a3) s/6/A/
3: $(test_oid t3) = 4: $(test_oid a4) s/11/B/
4: $(test_oid t4) = 5: $(test_oid a5) s/12/B/
EOF
test_cmp expect actual
ok 7 - added a commit
expecting success of 3206.8 'new base, A B C':
git range-diff --no-color master topic rebased >actual &&
cat >expect <<-EOF &&
1: $(test_oid t1) = 1: $(test_oid b1) s/5/A/
2: $(test_oid t2) = 2: $(test_oid b2) s/4/A/
3: $(test_oid t3) = 3: $(test_oid b3) s/11/B/
4: $(test_oid t4) = 4: $(test_oid b4) s/12/B/
EOF
test_cmp expect actual
ok 8 - new base, A B C
expecting success of 3206.9 'new base, B...C':
# this syntax includes the commits from master!
git range-diff --no-color topic...rebased >actual &&
cat >expect <<-EOF &&
-: $(test_oid __) > 1: $(test_oid b5) unrelated
1: $(test_oid t1) = 2: $(test_oid b1) s/5/A/
2: $(test_oid t2) = 3: $(test_oid b2) s/4/A/
3: $(test_oid t3) = 4: $(test_oid b3) s/11/B/
4: $(test_oid t4) = 5: $(test_oid b4) s/12/B/
EOF
test_cmp expect actual
ok 9 - new base, B...C
expecting success of 3206.10 'changed commit':
git range-diff --no-color topic...changed >actual &&
cat >expect <<-EOF &&
1: $(test_oid t1) = 1: $(test_oid c1) s/5/A/
2: $(test_oid t2) = 2: $(test_oid c2) s/4/A/
3: $(test_oid t3) ! 3: $(test_oid c3) s/11/B/
@@ file: A
9
10
-11
-+B
++BB
12
13
14
4: $(test_oid t4) ! 4: $(test_oid c4) s/12/B/
@@ file
@@ file: A
9
10
- B
+ BB
-12
+B
13
EOF
test_cmp expect actual
ok 10 - changed commit
expecting success of 3206.11 'changed commit with --no-patch diff option':
git range-diff --no-color --no-patch topic...changed >actual &&
cat >expect <<-EOF &&
1: $(test_oid t1) = 1: $(test_oid c1) s/5/A/
2: $(test_oid t2) = 2: $(test_oid c2) s/4/A/
3: $(test_oid t3) ! 3: $(test_oid c3) s/11/B/
4: $(test_oid t4) ! 4: $(test_oid c4) s/12/B/
EOF
test_cmp expect actual
ok 11 - changed commit with --no-patch diff option
expecting success of 3206.12 'changed commit with --stat diff option':
git range-diff --no-color --stat topic...changed >actual &&
cat >expect <<-EOF &&
1: $(test_oid t1) = 1: $(test_oid c1) s/5/A/
a => b | 0
1 file changed, 0 insertions(+), 0 deletions(-)
2: $(test_oid t2) = 2: $(test_oid c2) s/4/A/
a => b | 0
1 file changed, 0 insertions(+), 0 deletions(-)
3: $(test_oid t3) ! 3: $(test_oid c3) s/11/B/
a => b | 0
1 file changed, 0 insertions(+), 0 deletions(-)
4: $(test_oid t4) ! 4: $(test_oid c4) s/12/B/
a => b | 0
1 file changed, 0 insertions(+), 0 deletions(-)
EOF
test_cmp expect actual
ok 12 - changed commit with --stat diff option
expecting success of 3206.13 'changed commit with sm config':
git range-diff --no-color --submodule=log topic...changed >actual &&
cat >expect <<-EOF &&
1: $(test_oid t1) = 1: $(test_oid c1) s/5/A/
2: $(test_oid t2) = 2: $(test_oid c2) s/4/A/
3: $(test_oid t3) ! 3: $(test_oid c3) s/11/B/
@@ file: A
9
10
-11
-+B
++BB
12
13
14
4: $(test_oid t4) ! 4: $(test_oid c4) s/12/B/
@@ file
@@ file: A
9
10
- B
+ BB
-12
+B
13
EOF
test_cmp expect actual
ok 13 - changed commit with sm config
expecting success of 3206.14 'renamed file':
git range-diff --no-color --submodule=log topic...renamed-file >actual &&
sed s/Z/\ /g >expect <<-EOF &&
1: $(test_oid t1) = 1: $(test_oid n1) s/5/A/
2: $(test_oid t2) ! 2: $(test_oid n2) s/4/A/
@@ Metadata
ZAuthor: Thomas Rast <trast@inf.ethz.ch>
Z
Z ## Commit message ##
- s/4/A/
+ s/4/A/ + rename file
Z
- ## file ##
+ ## file => renamed-file ##
Z@@
Z 1
Z 2
3: $(test_oid t3) ! 3: $(test_oid n3) s/11/B/
@@ Metadata
Z ## Commit message ##
Z s/11/B/
Z
- ## file ##
-@@ file: A
+ ## renamed-file ##
+@@ renamed-file: A
Z 8
Z 9
Z 10
4: $(test_oid t4) ! 4: $(test_oid n4) s/12/B/
@@ Metadata
Z ## Commit message ##
Z s/12/B/
Z
- ## file ##
-@@ file: A
+ ## renamed-file ##
+@@ renamed-file: A
Z 9
Z 10
Z B
EOF
test_cmp expect actual
ok 14 - renamed file
expecting success of 3206.15 'file with mode only change':
git range-diff --no-color --submodule=log topic...mode-only-change >actual &&
sed s/Z/\ /g >expect <<-EOF &&
1: $(test_oid t2) ! 1: $(test_oid o1) s/4/A/
@@ Metadata
ZAuthor: Thomas Rast <trast@inf.ethz.ch>
Z
Z ## Commit message ##
- s/4/A/
+ s/4/A/ + add other-file
Z
Z ## file ##
Z@@
@@ file
Z A
Z 6
Z 7
+
+ ## other-file (new) ##
2: $(test_oid t3) ! 2: $(test_oid o2) s/11/B/
@@ Metadata
ZAuthor: Thomas Rast <trast@inf.ethz.ch>
Z
Z ## Commit message ##
- s/11/B/
+ s/11/B/ + mode change other-file
Z
Z ## file ##
Z@@ file: A
@@ file: A
Z 12
Z 13
Z 14
+
+ ## other-file (mode change 100644 => 100755) ##
3: $(test_oid t4) = 3: $(test_oid o3) s/12/B/
EOF
test_cmp expect actual
ok 15 - file with mode only change
expecting success of 3206.16 'file added and later removed':
git range-diff --no-color --submodule=log topic...added-removed >actual &&
sed s/Z/\ /g >expect <<-EOF &&
1: $(test_oid t1) = 1: $(test_oid s1) s/5/A/
2: $(test_oid t2) ! 2: $(test_oid s2) s/4/A/
@@ Metadata
ZAuthor: Thomas Rast <trast@inf.ethz.ch>
Z
Z ## Commit message ##
- s/4/A/
+ s/4/A/ + new-file
Z
Z ## file ##
Z@@
@@ file
Z A
Z 6
Z 7
+
+ ## new-file (new) ##
3: $(test_oid t3) ! 3: $(test_oid s3) s/11/B/
@@ Metadata
ZAuthor: Thomas Rast <trast@inf.ethz.ch>
Z
Z ## Commit message ##
- s/11/B/
+ s/11/B/ + remove file
Z
Z ## file ##
Z@@ file: A
@@ file: A
Z 12
Z 13
Z 14
+
+ ## new-file (deleted) ##
4: $(test_oid t4) = 4: $(test_oid s4) s/12/B/
EOF
test_cmp expect actual
ok 16 - file added and later removed
expecting success of 3206.17 'no commits on one side':
git commit --amend -m "new message" &&
git range-diff master HEAD@{1} HEAD
[master 03f231f] new message
Author: Thomas Rast <trast@inf.ethz.ch>
Date: Mon Jul 22 11:25:27 2013 +0200
1 file changed, 20 deletions(-)
delete mode 100644 file
1: a31b12e < -: ------- unrelated
ok 17 - no commits on one side
expecting success of 3206.18 'changed message':
git range-diff --no-color topic...changed-message >actual &&
sed s/Z/\ /g >expect <<-EOF &&
1: $(test_oid t1) = 1: $(test_oid m1) s/5/A/
2: $(test_oid t2) ! 2: $(test_oid m2) s/4/A/
@@ Metadata
Z ## Commit message ##
Z s/4/A/
Z
+ Also a silly comment here!
+
Z ## file ##
Z@@
Z 1
3: $(test_oid t3) = 3: $(test_oid m3) s/11/B/
4: $(test_oid t4) = 4: $(test_oid m4) s/12/B/
EOF
test_cmp expect actual
ok 18 - changed message
expecting success of 3206.19 'dual-coloring':
sed -e "s|^:||" >expect <<-EOF &&
:<YELLOW>1: $(test_oid c1) = 1: $(test_oid m1) s/5/A/<RESET>
:<RED>2: $(test_oid c2) <RESET><YELLOW>!<RESET><GREEN> 2: $(test_oid m2)<RESET><YELLOW> s/4/A/<RESET>
: <REVERSE><CYAN>@@<RESET> <RESET>Metadata<RESET>
: ## Commit message ##<RESET>
: s/4/A/<RESET>
: <RESET>
: <REVERSE><GREEN>+<RESET><BOLD> Also a silly comment here!<RESET>
: <REVERSE><GREEN>+<RESET>
: ## file ##<RESET>
: <CYAN> @@<RESET>
: 1<RESET>
:<RED>3: $(test_oid c3) <RESET><YELLOW>!<RESET><GREEN> 3: $(test_oid m3)<RESET><YELLOW> s/11/B/<RESET>
: <REVERSE><CYAN>@@<RESET> <RESET>file: A<RESET>
: 9<RESET>
: 10<RESET>
: <RED> -11<RESET>
: <REVERSE><RED>-<RESET><FAINT;GREEN>+BB<RESET>
: <REVERSE><GREEN>+<RESET><BOLD;GREEN>+B<RESET>
: 12<RESET>
: 13<RESET>
: 14<RESET>
:<RED>4: $(test_oid c4) <RESET><YELLOW>!<RESET><GREEN> 4: $(test_oid m4)<RESET><YELLOW> s/12/B/<RESET>
: <REVERSE><CYAN>@@<RESET> <RESET>file<RESET>
: <CYAN> @@ file: A<RESET>
: 9<RESET>
: 10<RESET>
: <REVERSE><RED>-<RESET><FAINT> BB<RESET>
: <REVERSE><GREEN>+<RESET><BOLD> B<RESET>
: <RED> -12<RESET>
: <GREEN> +B<RESET>
: 13<RESET>
EOF
git range-diff changed...changed-message --color --dual-color >actual.raw &&
test_decode_color >actual <actual.raw &&
test_cmp expect actual
ok 19 - dual-coloring
expecting success of 3206.20 'format-patch --range-diff=topic':
git format-patch --cover-letter --range-diff=$prev \
master..unmodified >actual &&
test_when_finished "rm 000?-*" &&
test_line_count = 5 actual &&
test_i18ngrep "^Range-diff:$" 0000-* &&
grep "= 1: .* s/5/A" 0000-* &&
grep "= 2: .* s/4/A" 0000-* &&
grep "= 3: .* s/11/B" 0000-* &&
grep "= 4: .* s/12/B" 0000-*
checking prerequisite: C_LOCALE_OUTPUT
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
! test_bool_env GIT_TEST_GETTEXT_POISON false
)
prerequisite C_LOCALE_OUTPUT ok
Range-diff:
1: 4de457d = 1: 35b9b25 s/5/A/
2: fccce22 = 2: de345ab s/4/A/
3: 147e64e = 3: 9af6654 s/11/B/
4: a63e992 = 4: 2901f77 s/12/B/
ok 20 - format-patch --range-diff=topic
expecting success of 3206.21 'format-patch --range-diff=master..topic':
git format-patch --cover-letter --range-diff=$prev \
master..unmodified >actual &&
test_when_finished "rm 000?-*" &&
test_line_count = 5 actual &&
test_i18ngrep "^Range-diff:$" 0000-* &&
grep "= 1: .* s/5/A" 0000-* &&
grep "= 2: .* s/4/A" 0000-* &&
grep "= 3: .* s/11/B" 0000-* &&
grep "= 4: .* s/12/B" 0000-*
Range-diff:
1: 4de457d = 1: 35b9b25 s/5/A/
2: fccce22 = 2: de345ab s/4/A/
3: 147e64e = 3: 9af6654 s/11/B/
4: a63e992 = 4: 2901f77 s/12/B/
ok 21 - format-patch --range-diff=master..topic
expecting success of 3206.22 'format-patch --range-diff as commentary':
git format-patch --range-diff=HEAD~1 HEAD~1 >actual &&
test_when_finished "rm 0001-*" &&
test_line_count = 1 actual &&
test_i18ngrep "^Range-diff:$" 0001-* &&
grep "> 1: .* new message" 0001-*
Range-diff:
-: ------- > 1: 03f231f new message
ok 22 - format-patch --range-diff as commentary
expecting success of 3206.23 'range-diff overrides diff.noprefix internally':
git -c diff.noprefix=true range-diff HEAD^...
-: ------- > 1: 03f231f new message
ok 23 - range-diff overrides diff.noprefix internally
expecting success of 3206.24 'basic with modified format.pretty with suffix':
git -c format.pretty="format:commit %H%d%n" range-diff \
master..topic master..unmodified
1: 4de457d = 1: 35b9b25 s/5/A/
2: fccce22 = 2: de345ab s/4/A/
3: 147e64e = 3: 9af6654 s/11/B/
4: a63e992 = 4: 2901f77 s/12/B/
ok 24 - basic with modified format.pretty with suffix
expecting success of 3206.25 'basic with modified format.pretty without "commit "':
git -c format.pretty="format:%H%n" range-diff \
master..topic master..unmodified
1: 4de457d = 1: 35b9b25 s/5/A/
2: fccce22 = 2: de345ab s/4/A/
3: 147e64e = 3: 9af6654 s/11/B/
4: a63e992 = 4: 2901f77 s/12/B/
ok 25 - basic with modified format.pretty without "commit "
expecting success of 3206.26 'range-diff compares notes by default':
git notes add -m "topic note" topic &&
git notes add -m "unmodified note" unmodified &&
test_when_finished git notes remove topic unmodified &&
git range-diff --no-color master..topic master..unmodified \
>actual &&
sed s/Z/\ /g >expect <<-EOF &&
1: $(test_oid t1) = 1: $(test_oid u1) s/5/A/
2: $(test_oid t2) = 2: $(test_oid u2) s/4/A/
3: $(test_oid t3) = 3: $(test_oid u3) s/11/B/
4: $(test_oid t4) ! 4: $(test_oid u4) s/12/B/
@@ Commit message
Z
Z
Z ## Notes ##
- topic note
+ unmodified note
Z
Z ## file ##
Z@@ file: A
EOF
test_cmp expect actual
Removing note for object topic
Removing note for object unmodified
ok 26 - range-diff compares notes by default
expecting success of 3206.27 'range-diff with --no-notes':
git notes add -m "topic note" topic &&
git notes add -m "unmodified note" unmodified &&
test_when_finished git notes remove topic unmodified &&
git range-diff --no-color --no-notes master..topic master..unmodified \
>actual &&
cat >expect <<-EOF &&
1: $(test_oid t1) = 1: $(test_oid u1) s/5/A/
2: $(test_oid t2) = 2: $(test_oid u2) s/4/A/
3: $(test_oid t3) = 3: $(test_oid u3) s/11/B/
4: $(test_oid t4) = 4: $(test_oid u4) s/12/B/
EOF
test_cmp expect actual
Removing note for object topic
Removing note for object unmodified
ok 27 - range-diff with --no-notes
expecting success of 3206.28 'range-diff with multiple --notes':
git notes --ref=note1 add -m "topic note1" topic &&
git notes --ref=note1 add -m "unmodified note1" unmodified &&
test_when_finished git notes --ref=note1 remove topic unmodified &&
git notes --ref=note2 add -m "topic note2" topic &&
git notes --ref=note2 add -m "unmodified note2" unmodified &&
test_when_finished git notes --ref=note2 remove topic unmodified &&
git range-diff --no-color --notes=note1 --notes=note2 master..topic master..unmodified \
>actual &&
sed s/Z/\ /g >expect <<-EOF &&
1: $(test_oid t1) = 1: $(test_oid u1) s/5/A/
2: $(test_oid t2) = 2: $(test_oid u2) s/4/A/
3: $(test_oid t3) = 3: $(test_oid u3) s/11/B/
4: $(test_oid t4) ! 4: $(test_oid u4) s/12/B/
@@ Commit message
Z
Z
Z ## Notes (note1) ##
- topic note1
+ unmodified note1
Z
Z
Z ## Notes (note2) ##
- topic note2
+ unmodified note2
Z
Z ## file ##
Z@@ file: A
EOF
test_cmp expect actual
Removing note for object topic
Removing note for object unmodified
Removing note for object topic
Removing note for object unmodified
ok 28 - range-diff with multiple --notes
expecting success of 3206.29 'format-patch --range-diff does not compare notes by default':
git notes add -m "topic note" topic &&
git notes add -m "unmodified note" unmodified &&
test_when_finished git notes remove topic unmodified &&
git format-patch --cover-letter --range-diff=$prev \
master..unmodified >actual &&
test_when_finished "rm 000?-*" &&
test_line_count = 5 actual &&
test_i18ngrep "^Range-diff:$" 0000-* &&
grep "= 1: .* s/5/A" 0000-* &&
grep "= 2: .* s/4/A" 0000-* &&
grep "= 3: .* s/11/B" 0000-* &&
grep "= 4: .* s/12/B" 0000-* &&
! grep "Notes" 0000-* &&
! grep "note" 0000-*
Range-diff:
1: 4de457d = 1: 35b9b25 s/5/A/
2: fccce22 = 2: de345ab s/4/A/
3: 147e64e = 3: 9af6654 s/11/B/
4: a63e992 = 4: 2901f77 s/12/B/
Removing note for object topic
Removing note for object unmodified
ok 29 - format-patch --range-diff does not compare notes by default
expecting success of 3206.30 'format-patch --range-diff with --no-notes':
git notes add -m "topic note" topic &&
git notes add -m "unmodified note" unmodified &&
test_when_finished git notes remove topic unmodified &&
git format-patch --no-notes --cover-letter --range-diff=$prev \
master..unmodified >actual &&
test_when_finished "rm 000?-*" &&
test_line_count = 5 actual &&
test_i18ngrep "^Range-diff:$" 0000-* &&
grep "= 1: .* s/5/A" 0000-* &&
grep "= 2: .* s/4/A" 0000-* &&
grep "= 3: .* s/11/B" 0000-* &&
grep "= 4: .* s/12/B" 0000-* &&
! grep "Notes" 0000-* &&
! grep "note" 0000-*
Range-diff:
1: 4de457d = 1: 35b9b25 s/5/A/
2: fccce22 = 2: de345ab s/4/A/
3: 147e64e = 3: 9af6654 s/11/B/
4: a63e992 = 4: 2901f77 s/12/B/
Removing note for object topic
Removing note for object unmodified
ok 30 - format-patch --range-diff with --no-notes
expecting success of 3206.31 'format-patch --range-diff with --notes':
git notes add -m "topic note" topic &&
git notes add -m "unmodified note" unmodified &&
test_when_finished git notes remove topic unmodified &&
git format-patch --notes --cover-letter --range-diff=$prev \
master..unmodified >actual &&
test_when_finished "rm 000?-*" &&
test_line_count = 5 actual &&
test_i18ngrep "^Range-diff:$" 0000-* &&
grep "= 1: .* s/5/A" 0000-* &&
grep "= 2: .* s/4/A" 0000-* &&
grep "= 3: .* s/11/B" 0000-* &&
grep "! 4: .* s/12/B" 0000-* &&
sed s/Z/\ /g >expect <<-EOF &&
@@ Commit message
Z
Z
Z ## Notes ##
- topic note
+ unmodified note
Z
Z ## file ##
Z@@ file: A
EOF
sed "/@@ Commit message/,/@@ file: A/!d" 0000-* >actual &&
test_cmp expect actual
Range-diff:
1: 4de457d = 1: 35b9b25 s/5/A/
2: fccce22 = 2: de345ab s/4/A/
3: 147e64e = 3: 9af6654 s/11/B/
4: a63e992 ! 4: 2901f77 s/12/B/
Removing note for object topic
Removing note for object unmodified
ok 31 - format-patch --range-diff with --notes
expecting success of 3206.32 'format-patch --range-diff with format.notes config':
git notes add -m "topic note" topic &&
git notes add -m "unmodified note" unmodified &&
test_when_finished git notes remove topic unmodified &&
test_config format.notes true &&
git format-patch --cover-letter --range-diff=$prev \
master..unmodified >actual &&
test_when_finished "rm 000?-*" &&
test_line_count = 5 actual &&
test_i18ngrep "^Range-diff:$" 0000-* &&
grep "= 1: .* s/5/A" 0000-* &&
grep "= 2: .* s/4/A" 0000-* &&
grep "= 3: .* s/11/B" 0000-* &&
grep "! 4: .* s/12/B" 0000-* &&
sed s/Z/\ /g >expect <<-EOF &&
@@ Commit message
Z
Z
Z ## Notes ##
- topic note
+ unmodified note
Z
Z ## file ##
Z@@ file: A
EOF
sed "/@@ Commit message/,/@@ file: A/!d" 0000-* >actual &&
test_cmp expect actual
Range-diff:
1: 4de457d = 1: 35b9b25 s/5/A/
2: fccce22 = 2: de345ab s/4/A/
3: 147e64e = 3: 9af6654 s/11/B/
4: a63e992 ! 4: 2901f77 s/12/B/
Removing note for object topic
Removing note for object unmodified
ok 32 - format-patch --range-diff with format.notes config
expecting success of 3206.33 'format-patch --range-diff with multiple notes':
git notes --ref=note1 add -m "topic note1" topic &&
git notes --ref=note1 add -m "unmodified note1" unmodified &&
test_when_finished git notes --ref=note1 remove topic unmodified &&
git notes --ref=note2 add -m "topic note2" topic &&
git notes --ref=note2 add -m "unmodified note2" unmodified &&
test_when_finished git notes --ref=note2 remove topic unmodified &&
git format-patch --notes=note1 --notes=note2 --cover-letter --range-diff=$prev \
master..unmodified >actual &&
test_when_finished "rm 000?-*" &&
test_line_count = 5 actual &&
test_i18ngrep "^Range-diff:$" 0000-* &&
grep "= 1: .* s/5/A" 0000-* &&
grep "= 2: .* s/4/A" 0000-* &&
grep "= 3: .* s/11/B" 0000-* &&
grep "! 4: .* s/12/B" 0000-* &&
sed s/Z/\ /g >expect <<-EOF &&
@@ Commit message
Z
Z
Z ## Notes (note1) ##
- topic note1
+ unmodified note1
Z
Z
Z ## Notes (note2) ##
- topic note2
+ unmodified note2
Z
Z ## file ##
Z@@ file: A
EOF
sed "/@@ Commit message/,/@@ file: A/!d" 0000-* >actual &&
test_cmp expect actual
Range-diff:
1: 4de457d = 1: 35b9b25 s/5/A/
2: fccce22 = 2: de345ab s/4/A/
3: 147e64e = 3: 9af6654 s/11/B/
4: a63e992 ! 4: 2901f77 s/12/B/
Removing note for object topic
Removing note for object unmodified
Removing note for object topic
Removing note for object unmodified
ok 33 - format-patch --range-diff with multiple notes
# passed all 33 test(s)
1..33
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t3200-branch.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3200-branch/.git/
expecting success of 3200.1 'prepare a trivial repository':
echo Hello >A &&
git update-index --add A &&
git commit -m "Initial commit." &&
echo World >>A &&
git update-index --add A &&
git commit -m "Second commit." &&
HEAD=$(git rev-parse --verify HEAD)
[master (root-commit) 785e0d9] Initial commit.
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 A
[master 3ac6976] Second commit.
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
ok 1 - prepare a trivial repository
expecting success of 3200.2 'git branch --help should not have created a bogus branch':
test_might_fail git branch --man --help </dev/null >/dev/null 2>&1 &&
test_path_is_missing .git/refs/heads/--help
ok 2 - git branch --help should not have created a bogus branch
expecting success of 3200.3 'branch -h in broken repository':
mkdir broken &&
(
cd broken &&
git init &&
>.git/refs/heads/master &&
test_expect_code 129 git branch -h >usage 2>&1
) &&
test_i18ngrep "[Uu]sage" broken/usage
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3200-branch/broken/.git/
checking prerequisite: C_LOCALE_OUTPUT
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
! test_bool_env GIT_TEST_GETTEXT_POISON false
)
prerequisite C_LOCALE_OUTPUT ok
usage: git branch [<options>] [-r | -a] [--merged | --no-merged]
ok 3 - branch -h in broken repository
expecting success of 3200.4 'git branch abc should create a branch':
git branch abc && test_path_is_file .git/refs/heads/abc
ok 4 - git branch abc should create a branch
expecting success of 3200.5 'git branch a/b/c should create a branch':
git branch a/b/c && test_path_is_file .git/refs/heads/a/b/c
ok 5 - git branch a/b/c should create a branch
expecting success of 3200.6 'git branch mb master... should create a branch':
git branch mb master... && test_path_is_file .git/refs/heads/mb
ok 6 - git branch mb master... should create a branch
expecting success of 3200.7 'git branch HEAD should fail':
test_must_fail git branch HEAD
fatal: 'HEAD' is not a valid branch name.
ok 7 - git branch HEAD should fail
expecting success of 3200.8 'git branch --create-reflog d/e/f should create a branch and a log':
GIT_COMMITTER_DATE="2005-05-26 23:30" \
git -c core.logallrefupdates=false branch --create-reflog d/e/f &&
test_path_is_file .git/refs/heads/d/e/f &&
test_path_is_file .git/logs/refs/heads/d/e/f &&
test_cmp expect .git/logs/refs/heads/d/e/f
ok 8 - git branch --create-reflog d/e/f should create a branch and a log
expecting success of 3200.9 'git branch -d d/e/f should delete a branch and a log':
git branch -d d/e/f &&
test_path_is_missing .git/refs/heads/d/e/f &&
test_must_fail git reflog exists refs/heads/d/e/f
Deleted branch d/e/f (was 3ac6976).
ok 9 - git branch -d d/e/f should delete a branch and a log
expecting success of 3200.10 'git branch j/k should work after branch j has been deleted':
git branch j &&
git branch -d j &&
git branch j/k
Deleted branch j (was 3ac6976).
ok 10 - git branch j/k should work after branch j has been deleted
expecting success of 3200.11 'git branch l should work after branch l/m has been deleted':
git branch l/m &&
git branch -d l/m &&
git branch l
Deleted branch l/m (was 3ac6976).
ok 11 - git branch l should work after branch l/m has been deleted
expecting success of 3200.12 'git branch -m dumps usage':
test_expect_code 128 git branch -m 2>err &&
test_i18ngrep "branch name required" err
fatal: branch name required
ok 12 - git branch -m dumps usage
expecting success of 3200.13 'git branch -m m broken_symref should work':
test_when_finished "git branch -D broken_symref" &&
git branch --create-reflog m &&
git symbolic-ref refs/heads/broken_symref refs/heads/i_am_broken &&
git branch -m m broken_symref &&
git reflog exists refs/heads/broken_symref &&
test_must_fail git reflog exists refs/heads/i_am_broken
Deleted branch broken_symref (was 3ac6976).
ok 13 - git branch -m m broken_symref should work
expecting success of 3200.14 'git branch -m m m/m should work':
git branch --create-reflog m &&
git branch -m m m/m &&
git reflog exists refs/heads/m/m
ok 14 - git branch -m m m/m should work
expecting success of 3200.15 'git branch -m n/n n should work':
git branch --create-reflog n/n &&
git branch -m n/n n &&
git reflog exists refs/heads/n
ok 15 - git branch -m n/n n should work
expecting success of 3200.16 'git branch -m bbb should rename checked out branch':
test_when_finished git branch -D bbb &&
test_when_finished git checkout master &&
git checkout -b aaa &&
git commit --allow-empty -m "a new commit" &&
git rev-parse aaa@{0} >expect &&
git branch -m bbb &&
git rev-parse bbb@{1} >actual &&
test_cmp expect actual &&
git symbolic-ref HEAD >actual &&
echo refs/heads/bbb >expect &&
test_cmp expect actual
Switched to a new branch 'aaa'
[aaa 9f2e58c] a new commit
Author: A U Thor <author@example.com>
Switched to branch 'master'
Deleted branch bbb (was 9f2e58c).
ok 16 - git branch -m bbb should rename checked out branch
expecting success of 3200.17 'renaming checked out branch works with d/f conflict':
test_when_finished "git branch -D foo/bar || git branch -D foo" &&
test_when_finished git checkout master &&
git checkout -b foo &&
git branch -m foo/bar &&
git symbolic-ref HEAD >actual &&
echo refs/heads/foo/bar >expect &&
test_cmp expect actual
Switched to a new branch 'foo'
Switched to branch 'master'
Deleted branch foo/bar (was 3ac6976).
ok 17 - renaming checked out branch works with d/f conflict
expecting success of 3200.18 'git branch -m o/o o should fail when o/p exists':
git branch o/o &&
git branch o/p &&
test_must_fail git branch -m o/o o
error: 'refs/heads/o/p' exists; cannot create 'refs/heads/o'
fatal: Branch rename failed
ok 18 - git branch -m o/o o should fail when o/p exists
expecting success of 3200.19 'git branch -m o/q o/p should fail when o/p exists':
git branch o/q &&
test_must_fail git branch -m o/q o/p
fatal: A branch named 'o/p' already exists.
ok 19 - git branch -m o/q o/p should fail when o/p exists
expecting success of 3200.20 'git branch -M o/q o/p should work when o/p exists':
git branch -M o/q o/p
ok 20 - git branch -M o/q o/p should work when o/p exists
expecting success of 3200.21 'git branch -m -f o/q o/p should work when o/p exists':
git branch o/q &&
git branch -m -f o/q o/p
ok 21 - git branch -m -f o/q o/p should work when o/p exists
expecting success of 3200.22 'git branch -m q r/q should fail when r exists':
git branch q &&
git branch r &&
test_must_fail git branch -m q r/q
error: 'refs/heads/r' exists; cannot create 'refs/heads/r/q'
fatal: Branch rename failed
ok 22 - git branch -m q r/q should fail when r exists
expecting success of 3200.23 'git branch -M foo bar should fail when bar is checked out':
git branch bar &&
git checkout -b foo &&
test_must_fail git branch -M bar foo
Switched to a new branch 'foo'
fatal: Cannot force update the current branch.
ok 23 - git branch -M foo bar should fail when bar is checked out
expecting success of 3200.24 'git branch -M baz bam should succeed when baz is checked out':
git checkout -b baz &&
git branch bam &&
git branch -M baz bam &&
test $(git rev-parse --abbrev-ref HEAD) = bam
Switched to a new branch 'baz'
ok 24 - git branch -M baz bam should succeed when baz is checked out
expecting success of 3200.25 'git branch -M baz bam should add entries to .git/logs/HEAD':
msg="Branch: renamed refs/heads/baz to refs/heads/bam" &&
grep " 0\{40\}.*$msg$" .git/logs/HEAD &&
grep "^0\{40\}.*$msg$" .git/logs/HEAD
3ac6976773281f0ef0a5c2b1b21d2c89f4952e18 0000000000000000000000000000000000000000 C O Mitter <committer@example.com> 1591943806 +0000 Branch: renamed refs/heads/baz to refs/heads/bam
0000000000000000000000000000000000000000 3ac6976773281f0ef0a5c2b1b21d2c89f4952e18 C O Mitter <committer@example.com> 1591943806 +0000 Branch: renamed refs/heads/baz to refs/heads/bam
ok 25 - git branch -M baz bam should add entries to .git/logs/HEAD
expecting success of 3200.26 'git branch -M should leave orphaned HEAD alone':
git init orphan &&
(
cd orphan &&
test_commit initial &&
git checkout --orphan lonely &&
grep lonely .git/HEAD &&
test_path_is_missing .git/refs/head/lonely &&
git branch -M master mistress &&
grep lonely .git/HEAD
)
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3200-branch/orphan/.git/
[master (root-commit) 24b24cf] initial
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 initial.t
Switched to a new branch 'lonely'
ref: refs/heads/lonely
ref: refs/heads/lonely
ok 26 - git branch -M should leave orphaned HEAD alone
expecting success of 3200.27 'resulting reflog can be shown by log -g':
oid=$(git rev-parse HEAD) &&
cat >expect <<-EOF &&
HEAD@{0} $oid $msg
HEAD@{2} $oid checkout: moving from foo to baz
EOF
git log -g --format="%gd %H %gs" -2 HEAD >actual &&
test_cmp expect actual
ok 27 - resulting reflog can be shown by log -g
expecting success of 3200.28 'git branch -M baz bam should succeed when baz is checked out as linked working tree':
git checkout master &&
git worktree add -b baz bazdir &&
git worktree add -f bazdir2 baz &&
git branch -M baz bam &&
test $(git -C bazdir rev-parse --abbrev-ref HEAD) = bam &&
test $(git -C bazdir2 rev-parse --abbrev-ref HEAD) = bam &&
rm -r bazdir bazdir2 &&
git worktree prune
Switched to branch 'master'
Preparing worktree (new branch 'baz')
HEAD is now at 3ac6976 Second commit.
Preparing worktree (checking out 'baz')
HEAD is now at 3ac6976 Second commit.
ok 28 - git branch -M baz bam should succeed when baz is checked out as linked working tree
expecting success of 3200.29 'git branch -M baz bam should succeed within a worktree in which baz is checked out':
git checkout -b baz &&
git worktree add -f bazdir baz &&
(
cd bazdir &&
git branch -M baz bam &&
test $(git rev-parse --abbrev-ref HEAD) = bam
) &&
test $(git rev-parse --abbrev-ref HEAD) = bam &&
rm -r bazdir &&
git worktree prune
Switched to a new branch 'baz'
Preparing worktree (checking out 'baz')
HEAD is now at 3ac6976 Second commit.
ok 29 - git branch -M baz bam should succeed within a worktree in which baz is checked out
expecting success of 3200.30 'git branch -M master should work when master is checked out':
git checkout master &&
git branch -M master
Switched to branch 'master'
ok 30 - git branch -M master should work when master is checked out
expecting success of 3200.31 'git branch -M master master should work when master is checked out':
git checkout master &&
git branch -M master master
Already on 'master'
ok 31 - git branch -M master master should work when master is checked out
expecting success of 3200.32 'git branch -M master2 master2 should work when master is checked out':
git checkout master &&
git branch master2 &&
git branch -M master2 master2
Already on 'master'
ok 32 - git branch -M master2 master2 should work when master is checked out
expecting success of 3200.33 'git branch -v -d t should work':
git branch t &&
git rev-parse --verify refs/heads/t &&
git branch -v -d t &&
test_must_fail git rev-parse --verify refs/heads/t
3ac6976773281f0ef0a5c2b1b21d2c89f4952e18
Deleted branch t (was 3ac6976).
fatal: Needed a single revision
ok 33 - git branch -v -d t should work
expecting success of 3200.34 'git branch -v -m t s should work':
git branch t &&
git rev-parse --verify refs/heads/t &&
git branch -v -m t s &&
test_must_fail git rev-parse --verify refs/heads/t &&
git rev-parse --verify refs/heads/s &&
git branch -d s
3ac6976773281f0ef0a5c2b1b21d2c89f4952e18
fatal: Needed a single revision
3ac6976773281f0ef0a5c2b1b21d2c89f4952e18
Deleted branch s (was 3ac6976).
ok 34 - git branch -v -m t s should work
expecting success of 3200.35 'git branch -m -d t s should fail':
git branch t &&
git rev-parse refs/heads/t &&
test_must_fail git branch -m -d t s &&
git branch -d t &&
test_must_fail git rev-parse refs/heads/t
3ac6976773281f0ef0a5c2b1b21d2c89f4952e18
usage: git branch [<options>] [-r | -a] [--merged | --no-merged]
or: git branch [<options>] [-l] [-f] <branch-name> [<start-point>]
or: git branch [<options>] [-r] (-d | -D) <branch-name>...
or: git branch [<options>] (-m | -M) [<old-branch>] <new-branch>
or: git branch [<options>] (-c | -C) [<old-branch>] <new-branch>
or: git branch [<options>] [-r | -a] [--points-at]
or: git branch [<options>] [-r | -a] [--format]
Generic options
-v, --verbose show hash and subject, give twice for upstream branch
-q, --quiet suppress informational messages
-t, --track set up tracking mode (see git-pull(1))
-u, --set-upstream-to <upstream>
change the upstream info
--unset-upstream unset the upstream info
--color[=<when>] use colored output
-r, --remotes act on remote-tracking branches
--contains <commit> print only branches that contain the commit
--no-contains <commit>
print only branches that don't contain the commit
--abbrev[=<n>] use <n> digits to display SHA-1s
Specific git-branch actions:
-a, --all list both remote-tracking and local branches
-d, --delete delete fully merged branch
-D delete branch (even if not merged)
-m, --move move/rename a branch and its reflog
-M move/rename a branch, even if target exists
-c, --copy copy a branch and its reflog
-C copy a branch, even if target exists
-l, --list list branch names
--show-current show current branch name
--create-reflog create the branch's reflog
--edit-description edit the description for the branch
-f, --force force creation, move/rename, deletion
--merged <commit> print only branches that are merged
--no-merged <commit> print only branches that are not merged
--column[=<style>] list branches in columns
--sort <key> field name to sort on
--points-at <object> print only branches of the object
-i, --ignore-case sorting and filtering are case insensitive
--format <format> format to use for the output
Deleted branch t (was 3ac6976).
fatal: ambiguous argument 'refs/heads/t': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
refs/heads/t
ok 35 - git branch -m -d t s should fail
expecting success of 3200.36 'git branch --list -d t should fail':
git branch t &&
git rev-parse refs/heads/t &&
test_must_fail git branch --list -d t &&
git branch -d t &&
test_must_fail git rev-parse refs/heads/t
3ac6976773281f0ef0a5c2b1b21d2c89f4952e18
usage: git branch [<options>] [-r | -a] [--merged | --no-merged]
or: git branch [<options>] [-l] [-f] <branch-name> [<start-point>]
or: git branch [<options>] [-r] (-d | -D) <branch-name>...
or: git branch [<options>] (-m | -M) [<old-branch>] <new-branch>
or: git branch [<options>] (-c | -C) [<old-branch>] <new-branch>
or: git branch [<options>] [-r | -a] [--points-at]
or: git branch [<options>] [-r | -a] [--format]
Generic options
-v, --verbose show hash and subject, give twice for upstream branch
-q, --quiet suppress informational messages
-t, --track set up tracking mode (see git-pull(1))
-u, --set-upstream-to <upstream>
change the upstream info
--unset-upstream unset the upstream info
--color[=<when>] use colored output
-r, --remotes act on remote-tracking branches
--contains <commit> print only branches that contain the commit
--no-contains <commit>
print only branches that don't contain the commit
--abbrev[=<n>] use <n> digits to display SHA-1s
Specific git-branch actions:
-a, --all list both remote-tracking and local branches
-d, --delete delete fully merged branch
-D delete branch (even if not merged)
-m, --move move/rename a branch and its reflog
-M move/rename a branch, even if target exists
-c, --copy copy a branch and its reflog
-C copy a branch, even if target exists
-l, --list list branch names
--show-current show current branch name
--create-reflog create the branch's reflog
--edit-description edit the description for the branch
-f, --force force creation, move/rename, deletion
--merged <commit> print only branches that are merged
--no-merged <commit> print only branches that are not merged
--column[=<style>] list branches in columns
--sort <key> field name to sort on
--points-at <object> print only branches of the object
-i, --ignore-case sorting and filtering are case insensitive
--format <format> format to use for the output
Deleted branch t (was 3ac6976).
fatal: ambiguous argument 'refs/heads/t': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
refs/heads/t
ok 36 - git branch --list -d t should fail
expecting success of 3200.37 'deleting checked-out branch from repo that is a submodule':
test_when_finished "rm -rf repo1 repo2" &&
git init repo1 &&
git init repo1/sub &&
test_commit -C repo1/sub x &&
git -C repo1 submodule add ./sub &&
git -C repo1 commit -m "adding sub" &&
git clone --recurse-submodules repo1 repo2 &&
git -C repo2/sub checkout -b work &&
test_must_fail git -C repo2/sub branch -D work
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3200-branch/repo1/.git/
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3200-branch/repo1/sub/.git/
[master (root-commit) cb85766] x
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 x.t
Adding existing repo at 'sub' to the index
[master (root-commit) 0e407d8] adding sub
Author: A U Thor <author@example.com>
2 files changed, 4 insertions(+)
create mode 100644 .gitmodules
create mode 160000 sub
Cloning into 'repo2'...
done.
Submodule 'sub' (/<<PKGBUILDDIR>>/t/trash directory.t3200-branch/repo1/sub) registered for path 'sub'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t3200-branch/repo2/sub'...
done.
Submodule path 'sub': checked out 'cb85766717df318a47d35b1ec7b43b1040fdc133'
Switched to a new branch 'work'
error: Cannot delete branch 'work' checked out at '/<<PKGBUILDDIR>>/t/trash directory.t3200-branch/repo2/.git/modules/sub'
ok 37 - deleting checked-out branch from repo that is a submodule
expecting success of 3200.38 'bare main worktree has HEAD at branch deleted by secondary worktree':
test_when_finished "rm -rf nonbare base secondary" &&
git init nonbare &&
test_commit -C nonbare x &&
git clone --bare nonbare bare &&
git -C bare worktree add --detach ../secondary master &&
git -C secondary branch -D master
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3200-branch/nonbare/.git/
[master (root-commit) 6f481db] x
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 x.t
Cloning into bare repository 'bare'...
done.
Preparing worktree (detached HEAD 6f481db)
HEAD is now at 6f481db x
Deleted branch master (was 6f481db).
ok 38 - bare main worktree has HEAD at branch deleted by secondary worktree
expecting success of 3200.39 'git branch --list -v with --abbrev':
test_when_finished "git branch -D t" &&
git branch t &&
git branch -v --list t >actual.default &&
git branch -v --list --abbrev t >actual.abbrev &&
test_cmp actual.default actual.abbrev &&
git branch -v --list --no-abbrev t >actual.noabbrev &&
git branch -v --list --abbrev=0 t >actual.0abbrev &&
test_cmp actual.noabbrev actual.0abbrev &&
git branch -v --list --abbrev=36 t >actual.36abbrev &&
# how many hexdigits are used?
read name objdefault rest <actual.abbrev &&
read name obj36 rest <actual.36abbrev &&
objfull=$(git rev-parse --verify t) &&
# are we really getting abbreviations?
test "$obj36" != "$objdefault" &&
expr "$obj36" : "$objdefault" >/dev/null &&
test "$objfull" != "$obj36" &&
expr "$objfull" : "$obj36" >/dev/null
Deleted branch t (was 3ac6976).
ok 39 - git branch --list -v with --abbrev
expecting success of 3200.40 'git branch --column':
COLUMNS=81 git branch --column=column >actual &&
cat >expected <<\EOF &&
a/b/c bam foo l * master mb o/o q
abc bar j/k m/m master2 n o/p r
EOF
test_cmp expected actual
ok 40 - git branch --column
expecting success of 3200.41 'git branch --column with an extremely long branch name':
long=this/is/a/part/of/long/branch/name &&
long=z$long/$long/$long/$long &&
test_when_finished "git branch -d $long" &&
git branch $long &&
COLUMNS=80 git branch --column=column >actual &&
cat >expected <<EOF &&
a/b/c
abc
bam
bar
foo
j/k
l
m/m
* master
master2
mb
n
o/o
o/p
q
r
$long
EOF
test_cmp expected actual
Deleted branch zthis/is/a/part/of/long/branch/name/this/is/a/part/of/long/branch/name/this/is/a/part/of/long/branch/name/this/is/a/part/of/long/branch/name (was 3ac6976).
ok 41 - git branch --column with an extremely long branch name
expecting success of 3200.42 'git branch with column.*':
git config column.ui column &&
git config column.branch "dense" &&
COLUMNS=80 git branch >actual &&
git config --unset column.branch &&
git config --unset column.ui &&
cat >expected <<\EOF &&
a/b/c bam foo l * master mb o/o q
abc bar j/k m/m master2 n o/p r
EOF
test_cmp expected actual
ok 42 - git branch with column.*
expecting success of 3200.43 'git branch --column -v should fail':
test_must_fail git branch --column -v
fatal: --column and --verbose are incompatible
ok 43 - git branch --column -v should fail
expecting success of 3200.44 'git branch -v with column.ui ignored':
git config column.ui column &&
COLUMNS=80 git branch -v | cut -c -10 | sed "s/ *$//" >actual &&
git config --unset column.ui &&
cat >expected <<\EOF &&
a/b/c
abc
bam
bar
foo
j/k
l
m/m
* master
master2
mb
n
o/o
o/p
q
r
EOF
test_cmp expected actual
ok 44 - git branch -v with column.ui ignored
expecting success of 3200.45 'git branch -m q q2 without config should succeed':
git branch -m q q2 &&
git branch -m q2 q
ok 45 - git branch -m q q2 without config should succeed
expecting success of 3200.46 'git branch -m s/s s should work when s/t is deleted':
git branch --create-reflog s/s &&
git reflog exists refs/heads/s/s &&
git branch --create-reflog s/t &&
git reflog exists refs/heads/s/t &&
git branch -d s/t &&
git branch -m s/s s &&
git reflog exists refs/heads/s
Deleted branch s/t (was 3ac6976).
ok 46 - git branch -m s/s s should work when s/t is deleted
expecting success of 3200.47 'config information was renamed, too':
test $(git config branch.s.dummy) = Hello &&
test_must_fail git config branch.s/s.dummy
ok 47 - config information was renamed, too
expecting success of 3200.48 'git branch -m correctly renames multiple config sections':
test_when_finished "git checkout master" &&
git checkout -b source master &&
# Assert that a config file with multiple config sections has
# those sections preserved...
cat >expect <<-\EOF &&
branch.dest.key1=value1
some.gar.b=age
branch.dest.key2=value2
EOF
cat >config.branch <<\EOF &&
;; Note the lack of -\EOF above & mixed indenting here. This is
;; intentional, we are also testing that the formatting of copied
;; sections is preserved.
;; Comment for source. Tabs
[branch "source"]
;; Comment for the source value
key1 = value1
;; Comment for some.gar. Spaces
[some "gar"]
;; Comment for the some.gar value
b = age
;; Comment for source, again. Mixed tabs/spaces.
[branch "source"]
;; Comment for the source value, again
key2 = value2
EOF
cat config.branch >>.git/config &&
git branch -m source dest &&
git config -f .git/config -l | grep -F -e source -e dest -e some.gar >actual &&
test_cmp expect actual &&
# ...and that the comments for those sections are also
# preserved.
cat config.branch | sed "s/\"source\"/\"dest\"/" >expect &&
sed -n -e "/Note the lack/,\$p" .git/config >actual &&
test_cmp expect actual
Switched to a new branch 'source'
Switched to branch 'master'
ok 48 - git branch -m correctly renames multiple config sections
expecting success of 3200.49 'git branch -c dumps usage':
test_expect_code 128 git branch -c 2>err &&
test_i18ngrep "branch name required" err
fatal: branch name required
ok 49 - git branch -c dumps usage
expecting success of 3200.50 'git branch --copy dumps usage':
test_expect_code 128 git branch --copy 2>err &&
test_i18ngrep "branch name required" err
fatal: branch name required
ok 50 - git branch --copy dumps usage
expecting success of 3200.51 'git branch -c d e should work':
git branch --create-reflog d &&
git reflog exists refs/heads/d &&
git config branch.d.dummy Hello &&
git branch -c d e &&
git reflog exists refs/heads/d &&
git reflog exists refs/heads/e &&
echo Hello >expect &&
git config branch.e.dummy >actual &&
test_cmp expect actual &&
echo Hello >expect &&
git config branch.d.dummy >actual &&
test_cmp expect actual
ok 51 - git branch -c d e should work
expecting success of 3200.52 'git branch --copy is a synonym for -c':
git branch --create-reflog copy &&
git reflog exists refs/heads/copy &&
git config branch.copy.dummy Hello &&
git branch --copy copy copy-to &&
git reflog exists refs/heads/copy &&
git reflog exists refs/heads/copy-to &&
echo Hello >expect &&
git config branch.copy.dummy >actual &&
test_cmp expect actual &&
echo Hello >expect &&
git config branch.copy-to.dummy >actual &&
test_cmp expect actual
ok 52 - git branch --copy is a synonym for -c
expecting success of 3200.53 'git branch -c ee ef should copy ee to create branch ef':
git checkout -b ee &&
git reflog exists refs/heads/ee &&
git config branch.ee.dummy Hello &&
git branch -c ee ef &&
git reflog exists refs/heads/ee &&
git reflog exists refs/heads/ef &&
test $(git config branch.ee.dummy) = Hello &&
test $(git config branch.ef.dummy) = Hello &&
test $(git rev-parse --abbrev-ref HEAD) = ee
Switched to a new branch 'ee'
ok 53 - git branch -c ee ef should copy ee to create branch ef
expecting success of 3200.54 'git branch -c f/f g/g should work':
git branch --create-reflog f/f &&
git reflog exists refs/heads/f/f &&
git config branch.f/f.dummy Hello &&
git branch -c f/f g/g &&
git reflog exists refs/heads/f/f &&
git reflog exists refs/heads/g/g &&
test $(git config branch.f/f.dummy) = Hello &&
test $(git config branch.g/g.dummy) = Hello
ok 54 - git branch -c f/f g/g should work
expecting success of 3200.55 'git branch -c m2 m2 should work':
git branch --create-reflog m2 &&
git reflog exists refs/heads/m2 &&
git config branch.m2.dummy Hello &&
git branch -c m2 m2 &&
git reflog exists refs/heads/m2 &&
test $(git config branch.m2.dummy) = Hello
ok 55 - git branch -c m2 m2 should work
expecting success of 3200.56 'git branch -c zz zz/zz should fail':
git branch --create-reflog zz &&
git reflog exists refs/heads/zz &&
test_must_fail git branch -c zz zz/zz
error: directory not empty: .git/logs/refs/heads/zz/zz
fatal: Branch copy failed
ok 56 - git branch -c zz zz/zz should fail
expecting success of 3200.57 'git branch -c b/b b should fail':
git branch --create-reflog b/b &&
test_must_fail git branch -c b/b b
error: directory not empty: .git/logs/refs/heads/b
fatal: Branch copy failed
ok 57 - git branch -c b/b b should fail
expecting success of 3200.58 'git branch -C o/q o/p should work when o/p exists':
git branch --create-reflog o/q &&
git reflog exists refs/heads/o/q &&
git reflog exists refs/heads/o/p &&
git branch -C o/q o/p
ok 58 - git branch -C o/q o/p should work when o/p exists
expecting success of 3200.59 'git branch -c -f o/q o/p should work when o/p exists':
git reflog exists refs/heads/o/q &&
git reflog exists refs/heads/o/p &&
git branch -c -f o/q o/p
ok 59 - git branch -c -f o/q o/p should work when o/p exists
expecting success of 3200.60 'git branch -c qq rr/qq should fail when rr exists':
git branch qq &&
git branch rr &&
test_must_fail git branch -c qq rr/qq
error: 'refs/heads/rr' exists; cannot create 'refs/heads/rr/qq'
fatal: Branch copy failed
ok 60 - git branch -c qq rr/qq should fail when rr exists
expecting success of 3200.61 'git branch -C b1 b2 should fail when b2 is checked out':
git branch b1 &&
git checkout -b b2 &&
test_must_fail git branch -C b1 b2
Switched to a new branch 'b2'
fatal: Cannot force update the current branch.
ok 61 - git branch -C b1 b2 should fail when b2 is checked out
expecting success of 3200.62 'git branch -C c1 c2 should succeed when c1 is checked out':
git checkout -b c1 &&
git branch c2 &&
git branch -C c1 c2 &&
test $(git rev-parse --abbrev-ref HEAD) = c1
Switched to a new branch 'c1'
ok 62 - git branch -C c1 c2 should succeed when c1 is checked out
expecting success of 3200.63 'git branch -C c1 c2 should never touch HEAD':
msg="Branch: copied refs/heads/c1 to refs/heads/c2" &&
! grep "$msg$" .git/logs/HEAD
ok 63 - git branch -C c1 c2 should never touch HEAD
expecting success of 3200.64 'git branch -C master should work when master is checked out':
git checkout master &&
git branch -C master
Switched to branch 'master'
ok 64 - git branch -C master should work when master is checked out
expecting success of 3200.65 'git branch -C master master should work when master is checked out':
git checkout master &&
git branch -C master master
Already on 'master'
ok 65 - git branch -C master master should work when master is checked out
expecting success of 3200.66 'git branch -C master5 master5 should work when master is checked out':
git checkout master &&
git branch master5 &&
git branch -C master5 master5
Already on 'master'
ok 66 - git branch -C master5 master5 should work when master is checked out
expecting success of 3200.67 'git branch -C ab cd should overwrite existing config for cd':
git branch --create-reflog cd &&
git reflog exists refs/heads/cd &&
git config branch.cd.dummy CD &&
git branch --create-reflog ab &&
git reflog exists refs/heads/ab &&
git config branch.ab.dummy AB &&
git branch -C ab cd &&
git reflog exists refs/heads/ab &&
git reflog exists refs/heads/cd &&
test $(git config branch.ab.dummy) = AB &&
test $(git config branch.cd.dummy) = AB
ok 67 - git branch -C ab cd should overwrite existing config for cd
expecting success of 3200.68 'git branch -c correctly copies multiple config sections':
FOO=1 &&
export FOO &&
test_when_finished "git checkout master" &&
git checkout -b source2 master &&
# Assert that a config file with multiple config sections has
# those sections preserved...
cat >expect <<-\EOF &&
branch.source2.key1=value1
branch.dest2.key1=value1
more.gar.b=age
branch.source2.key2=value2
branch.dest2.key2=value2
EOF
cat >config.branch <<\EOF &&
;; Note the lack of -\EOF above & mixed indenting here. This is
;; intentional, we are also testing that the formatting of copied
;; sections is preserved.
;; Comment for source2. Tabs
[branch "source2"]
;; Comment for the source2 value
key1 = value1
;; Comment for more.gar. Spaces
[more "gar"]
;; Comment for the more.gar value
b = age
;; Comment for source2, again. Mixed tabs/spaces.
[branch "source2"]
;; Comment for the source2 value, again
key2 = value2
EOF
cat config.branch >>.git/config &&
git branch -c source2 dest2 &&
git config -f .git/config -l | grep -F -e source2 -e dest2 -e more.gar >actual &&
test_cmp expect actual &&
# ...and that the comments and formatting for those sections
# is also preserved.
cat >expect <<\EOF &&
;; Comment for source2. Tabs
[branch "source2"]
;; Comment for the source2 value
key1 = value1
;; Comment for more.gar. Spaces
[branch "dest2"]
;; Comment for the source2 value
key1 = value1
;; Comment for more.gar. Spaces
[more "gar"]
;; Comment for the more.gar value
b = age
;; Comment for source2, again. Mixed tabs/spaces.
[branch "source2"]
;; Comment for the source2 value, again
key2 = value2
[branch "dest2"]
;; Comment for the source2 value, again
key2 = value2
EOF
sed -n -e "/Comment for source2/,\$p" .git/config >actual &&
test_cmp expect actual
Switched to a new branch 'source2'
Switched to branch 'master'
ok 68 - git branch -c correctly copies multiple config sections
expecting success of 3200.69 'deleting a symref':
git branch target &&
git symbolic-ref refs/heads/symref refs/heads/target &&
echo "Deleted branch symref (was refs/heads/target)." >expect &&
git branch -d symref >actual &&
test_path_is_file .git/refs/heads/target &&
test_path_is_missing .git/refs/heads/symref &&
test_i18ncmp expect actual
ok 69 - deleting a symref
expecting success of 3200.70 'deleting a dangling symref':
git symbolic-ref refs/heads/dangling-symref nowhere &&
test_path_is_file .git/refs/heads/dangling-symref &&
echo "Deleted branch dangling-symref (was nowhere)." >expect &&
git branch -d dangling-symref >actual &&
test_path_is_missing .git/refs/heads/dangling-symref &&
test_i18ncmp expect actual
ok 70 - deleting a dangling symref
expecting success of 3200.71 'deleting a self-referential symref':
git symbolic-ref refs/heads/self-reference refs/heads/self-reference &&
test_path_is_file .git/refs/heads/self-reference &&
echo "Deleted branch self-reference (was refs/heads/self-reference)." >expect &&
git branch -d self-reference >actual &&
test_path_is_missing .git/refs/heads/self-reference &&
test_i18ncmp expect actual
ok 71 - deleting a self-referential symref
expecting success of 3200.72 'renaming a symref is not allowed':
git symbolic-ref refs/heads/master2 refs/heads/master &&
test_must_fail git branch -m master2 master3 &&
git symbolic-ref refs/heads/master2 &&
test_path_is_file .git/refs/heads/master &&
test_path_is_missing .git/refs/heads/master3
error: refname refs/heads/master2 is a symbolic ref, renaming it is not supported
fatal: Branch rename failed
refs/heads/master
ok 72 - renaming a symref is not allowed
checking prerequisite: SYMLINKS
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
# test whether the filesystem supports symbolic links
ln -s x y && test -h y
)
prerequisite SYMLINKS ok
expecting success of 3200.73 'git branch -m u v should fail when the reflog for u is a symlink':
git branch --create-reflog u &&
mv .git/logs/refs/heads/u real-u &&
ln -s real-u .git/logs/refs/heads/u &&
test_must_fail git branch -m u v
error: reflog for refs/heads/u is a symlink
fatal: Branch rename failed
ok 73 - git branch -m u v should fail when the reflog for u is a symlink
expecting success of 3200.74 'test tracking setup via --track':
git config remote.local.url . &&
git config remote.local.fetch refs/heads/*:refs/remotes/local/* &&
(git show-ref -q refs/remotes/local/master || git fetch local) &&
git branch --track my1 local/master &&
test $(git config branch.my1.remote) = local &&
test $(git config branch.my1.merge) = refs/heads/master
From .
* [new branch] a/b/c -> local/a/b/c
* [new branch] ab -> local/ab
* [new branch] abc -> local/abc
* [new branch] b/b -> local/b/b
* [new branch] b1 -> local/b1
* [new branch] b2 -> local/b2
* [new branch] bam -> local/bam
* [new branch] bar -> local/bar
* [new branch] c1 -> local/c1
* [new branch] c2 -> local/c2
* [new branch] cd -> local/cd
* [new branch] copy -> local/copy
* [new branch] copy-to -> local/copy-to
* [new branch] d -> local/d
* [new branch] dest -> local/dest
* [new branch] dest2 -> local/dest2
* [new branch] e -> local/e
* [new branch] ee -> local/ee
* [new branch] ef -> local/ef
* [new branch] f/f -> local/f/f
* [new branch] foo -> local/foo
* [new branch] g/g -> local/g/g
* [new branch] j/k -> local/j/k
* [new branch] l -> local/l
* [new branch] m/m -> local/m/m
* [new branch] m2 -> local/m2
* [new branch] master -> local/master
* [new branch] master2 -> local/master2
* [new branch] master5 -> local/master5
* [new branch] mb -> local/mb
* [new branch] n -> local/n
* [new branch] o/o -> local/o/o
* [new branch] o/p -> local/o/p
* [new branch] o/q -> local/o/q
* [new branch] q -> local/q
* [new branch] qq -> local/qq
* [new branch] r -> local/r
* [new branch] rr -> local/rr
* [new branch] s -> local/s
* [new branch] source2 -> local/source2
* [new branch] target -> local/target
* [new branch] u -> local/u
* [new branch] zz -> local/zz
Branch 'my1' set up to track remote branch 'master' from 'local'.
ok 74 - test tracking setup via --track
expecting success of 3200.75 'test tracking setup (non-wildcard, matching)':
git config remote.local.url . &&
git config remote.local.fetch refs/heads/master:refs/remotes/local/master &&
(git show-ref -q refs/remotes/local/master || git fetch local) &&
git branch --track my4 local/master &&
test $(git config branch.my4.remote) = local &&
test $(git config branch.my4.merge) = refs/heads/master
Branch 'my4' set up to track remote branch 'master' from 'local'.
ok 75 - test tracking setup (non-wildcard, matching)
expecting success of 3200.76 'tracking setup fails on non-matching refspec':
git config remote.local.url . &&
git config remote.local.fetch refs/heads/*:refs/remotes/local/* &&
(git show-ref -q refs/remotes/local/master || git fetch local) &&
git config remote.local.fetch refs/heads/s:refs/remotes/local/s &&
test_must_fail git branch --track my5 local/master &&
test_must_fail git config branch.my5.remote &&
test_must_fail git config branch.my5.merge
fatal: Cannot setup tracking information; starting point 'local/master' is not a branch.
ok 76 - tracking setup fails on non-matching refspec
expecting success of 3200.77 'test tracking setup via config':
git config branch.autosetupmerge true &&
git config remote.local.url . &&
git config remote.local.fetch refs/heads/*:refs/remotes/local/* &&
(git show-ref -q refs/remotes/local/master || git fetch local) &&
git branch my3 local/master &&
test $(git config branch.my3.remote) = local &&
test $(git config branch.my3.merge) = refs/heads/master
Branch 'my3' set up to track remote branch 'master' from 'local'.
ok 77 - test tracking setup via config
expecting success of 3200.78 'test overriding tracking setup via --no-track':
git config branch.autosetupmerge true &&
git config remote.local.url . &&
git config remote.local.fetch refs/heads/*:refs/remotes/local/* &&
(git show-ref -q refs/remotes/local/master || git fetch local) &&
git branch --no-track my2 local/master &&
git config branch.autosetupmerge false &&
! test "$(git config branch.my2.remote)" = local &&
! test "$(git config branch.my2.merge)" = refs/heads/master
ok 78 - test overriding tracking setup via --no-track
expecting success of 3200.79 'no tracking without .fetch entries':
git config branch.autosetupmerge true &&
git branch my6 s &&
git config branch.autosetupmerge false &&
test -z "$(git config branch.my6.remote)" &&
test -z "$(git config branch.my6.merge)"
ok 79 - no tracking without .fetch entries
expecting success of 3200.80 'test tracking setup via --track but deeper':
git config remote.local.url . &&
git config remote.local.fetch refs/heads/*:refs/remotes/local/* &&
(git show-ref -q refs/remotes/local/o/o || git fetch local) &&
git branch --track my7 local/o/o &&
test "$(git config branch.my7.remote)" = local &&
test "$(git config branch.my7.merge)" = refs/heads/o/o
Branch 'my7' set up to track remote branch 'o/o' from 'local'.
ok 80 - test tracking setup via --track but deeper
expecting success of 3200.81 'test deleting branch deletes branch config':
git branch -d my7 &&
test -z "$(git config branch.my7.remote)" &&
test -z "$(git config branch.my7.merge)"
Deleted branch my7 (was 3ac6976).
ok 81 - test deleting branch deletes branch config
expecting success of 3200.82 'test deleting branch without config':
git branch my7 s &&
sha1=$(git rev-parse my7 | cut -c 1-7) &&
echo "Deleted branch my7 (was $sha1)." >expect &&
git branch -d my7 >actual 2>&1 &&
test_i18ncmp expect actual
ok 82 - test deleting branch without config
expecting success of 3200.83 'deleting currently checked out branch fails':
git worktree add -b my7 my7 &&
test_must_fail git -C my7 branch -d my7 &&
test_must_fail git branch -d my7 &&
rm -r my7 &&
git worktree prune
Preparing worktree (new branch 'my7')
HEAD is now at 3ac6976 Second commit.
error: Cannot delete branch 'my7' checked out at '/<<PKGBUILDDIR>>/t/trash directory.t3200-branch/my7'
error: Cannot delete branch 'my7' checked out at '/<<PKGBUILDDIR>>/t/trash directory.t3200-branch/my7'
ok 83 - deleting currently checked out branch fails
expecting success of 3200.84 'test --track without .fetch entries':
git branch --track my8 &&
test "$(git config branch.my8.remote)" &&
test "$(git config branch.my8.merge)"
Branch 'my8' set up to track local branch 'master'.
ok 84 - test --track without .fetch entries
expecting success of 3200.85 'branch from non-branch HEAD w/autosetupmerge=always':
git config branch.autosetupmerge always &&
git branch my9 HEAD^ &&
git config branch.autosetupmerge false
ok 85 - branch from non-branch HEAD w/autosetupmerge=always
expecting success of 3200.86 'branch from non-branch HEAD w/--track causes failure':
test_must_fail git branch --track my10 HEAD^
fatal: Cannot setup tracking information; starting point 'HEAD^' is not a branch.
ok 86 - branch from non-branch HEAD w/--track causes failure
expecting success of 3200.87 'branch from tag w/--track causes failure':
git tag foobar &&
test_must_fail git branch --track my11 foobar
fatal: Cannot setup tracking information; starting point 'foobar' is not a branch.
ok 87 - branch from tag w/--track causes failure
expecting success of 3200.88 '--set-upstream-to fails on multiple branches':
test_must_fail git branch --set-upstream-to master a b c
fatal: too many arguments to set new upstream
ok 88 - --set-upstream-to fails on multiple branches
expecting success of 3200.89 '--set-upstream-to fails on detached HEAD':
git checkout HEAD^{} &&
test_must_fail git branch --set-upstream-to master &&
git checkout -
Note: switching to 'HEAD^{}'.
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 <new-branch-name>
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
HEAD is now at 3ac6976 Second commit.
fatal: could not set upstream of HEAD to master when it does not point to any branch.
Switched to branch 'master'
ok 89 - --set-upstream-to fails on detached HEAD
expecting success of 3200.90 '--set-upstream-to fails on a missing dst branch':
test_must_fail git branch --set-upstream-to master does-not-exist
fatal: branch 'does-not-exist' does not exist
ok 90 - --set-upstream-to fails on a missing dst branch
expecting success of 3200.91 '--set-upstream-to fails on a missing src branch':
test_must_fail git branch --set-upstream-to does-not-exist master
error: the requested upstream branch 'does-not-exist' does not exist
hint:
hint: If you are planning on basing your work on an upstream
hint: branch that already exists at the remote, you may need to
hint: run "git fetch" to retrieve it.
hint:
hint: If you are planning to push out a new local branch that
hint: will track its remote counterpart, you may want to use
hint: "git push -u" to set the upstream config as you push.
ok 91 - --set-upstream-to fails on a missing src branch
expecting success of 3200.92 '--set-upstream-to fails on a non-ref':
test_must_fail git branch --set-upstream-to HEAD^{}
fatal: Cannot setup tracking information; starting point 'HEAD^{}' is not a branch.
ok 92 - --set-upstream-to fails on a non-ref
expecting success of 3200.93 '--set-upstream-to fails on locked config':
test_when_finished "rm -f .git/config.lock" &&
>.git/config.lock &&
git branch locked &&
test_must_fail git branch --set-upstream-to locked
error: could not lock config file .git/config: File exists
error: Unable to write upstream branch configuration
hint:
hint: After fixing the error cause you may try to fix up
hint: the remote tracking information by invoking
hint: "git branch --set-upstream-to=locked".
ok 93 - --set-upstream-to fails on locked config
expecting success of 3200.94 'use --set-upstream-to modify HEAD':
test_config branch.master.remote foo &&
test_config branch.master.merge foo &&
git branch my12 &&
git branch --set-upstream-to my12 &&
test "$(git config branch.master.remote)" = "." &&
test "$(git config branch.master.merge)" = "refs/heads/my12"
Branch 'master' set up to track local branch 'my12'.
ok 94 - use --set-upstream-to modify HEAD
expecting success of 3200.95 'use --set-upstream-to modify a particular branch':
git branch my13 &&
git branch --set-upstream-to master my13 &&
test_when_finished "git branch --unset-upstream my13" &&
test "$(git config branch.my13.remote)" = "." &&
test "$(git config branch.my13.merge)" = "refs/heads/master"
Branch 'my13' set up to track local branch 'master'.
ok 95 - use --set-upstream-to modify a particular branch
expecting success of 3200.96 '--unset-upstream should fail if given a non-existent branch':
test_must_fail git branch --unset-upstream i-dont-exist
fatal: Branch 'i-dont-exist' has no upstream information
ok 96 - --unset-upstream should fail if given a non-existent branch
expecting success of 3200.97 '--unset-upstream should fail if config is locked':
test_when_finished "rm -f .git/config.lock" &&
git branch --set-upstream-to locked &&
>.git/config.lock &&
test_must_fail git branch --unset-upstream
Branch 'master' set up to track local branch 'locked'.
error: could not lock config file .git/config: File exists
fatal: could not unset 'branch.master.remote'
ok 97 - --unset-upstream should fail if config is locked
expecting success of 3200.98 'test --unset-upstream on HEAD':
git branch my14 &&
test_config branch.master.remote foo &&
test_config branch.master.merge foo &&
git branch --set-upstream-to my14 &&
git branch --unset-upstream &&
test_must_fail git config branch.master.remote &&
test_must_fail git config branch.master.merge &&
# fail for a branch without upstream set
test_must_fail git branch --unset-upstream
Branch 'master' set up to track local branch 'my14'.
fatal: Branch 'master' has no upstream information
ok 98 - test --unset-upstream on HEAD
expecting success of 3200.99 '--unset-upstream should fail on multiple branches':
test_must_fail git branch --unset-upstream a b c
fatal: too many arguments to unset upstream
ok 99 - --unset-upstream should fail on multiple branches
expecting success of 3200.100 '--unset-upstream should fail on detached HEAD':
git checkout HEAD^{} &&
test_must_fail git branch --unset-upstream &&
git checkout -
Note: switching to 'HEAD^{}'.
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 <new-branch-name>
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
HEAD is now at 3ac6976 Second commit.
fatal: could not unset upstream of HEAD when it does not point to any branch.
Switched to branch 'master'
ok 100 - --unset-upstream should fail on detached HEAD
expecting success of 3200.101 'test --unset-upstream on a particular branch':
git branch my15 &&
git branch --set-upstream-to master my14 &&
git branch --unset-upstream my14 &&
test_must_fail git config branch.my14.remote &&
test_must_fail git config branch.my14.merge
Branch 'my14' set up to track local branch 'master'.
ok 101 - test --unset-upstream on a particular branch
expecting success of 3200.102 'disabled option --set-upstream fails':
test_must_fail git branch --set-upstream origin/master
fatal: the '--set-upstream' option is no longer supported. Please use '--track' or '--set-upstream-to' instead.
ok 102 - disabled option --set-upstream fails
expecting success of 3200.103 '--set-upstream-to notices an error to set branch as own upstream':
git branch --set-upstream-to refs/heads/my13 my13 2>actual &&
cat >expected <<-\EOF &&
warning: Not setting branch my13 as its own upstream.
EOF
test_expect_code 1 git config branch.my13.remote &&
test_expect_code 1 git config branch.my13.merge &&
test_i18ncmp expected actual
ok 103 - --set-upstream-to notices an error to set branch as own upstream
expecting success of 3200.104 'git checkout -b g/h/i -l should create a branch and a log':
GIT_COMMITTER_DATE="2005-05-26 23:30" \
git checkout -b g/h/i -l master &&
test_path_is_file .git/refs/heads/g/h/i &&
test_path_is_file .git/logs/refs/heads/g/h/i &&
test_cmp expect .git/logs/refs/heads/g/h/i
Switched to a new branch 'g/h/i'
ok 104 - git checkout -b g/h/i -l should create a branch and a log
expecting success of 3200.105 'checkout -b makes reflog by default':
git checkout master &&
git config --unset core.logAllRefUpdates &&
git checkout -b alpha &&
git rev-parse --verify alpha@{0}
Switched to branch 'master'
Switched to a new branch 'alpha'
3ac6976773281f0ef0a5c2b1b21d2c89f4952e18
ok 105 - checkout -b makes reflog by default
expecting success of 3200.106 'checkout -b does not make reflog when core.logAllRefUpdates = false':
git checkout master &&
git config core.logAllRefUpdates false &&
git checkout -b beta &&
test_must_fail git rev-parse --verify beta@{0}
Switched to branch 'master'
Switched to a new branch 'beta'
fatal: Needed a single revision
ok 106 - checkout -b does not make reflog when core.logAllRefUpdates = false
expecting success of 3200.107 'checkout -b with -l makes reflog when core.logAllRefUpdates = false':
git checkout master &&
git checkout -lb gamma &&
git config --unset core.logAllRefUpdates &&
git rev-parse --verify gamma@{0}
Switched to branch 'master'
Switched to a new branch 'gamma'
3ac6976773281f0ef0a5c2b1b21d2c89f4952e18
ok 107 - checkout -b with -l makes reflog when core.logAllRefUpdates = false
expecting success of 3200.108 'avoid ambiguous track':
git config branch.autosetupmerge true &&
git config remote.ambi1.url lalala &&
git config remote.ambi1.fetch refs/heads/lalala:refs/heads/master &&
git config remote.ambi2.url lilili &&
git config remote.ambi2.fetch refs/heads/lilili:refs/heads/master &&
test_must_fail git branch all1 master &&
test -z "$(git config branch.all1.merge)"
fatal: Not tracking: ambiguous information for ref refs/heads/master
ok 108 - avoid ambiguous track
expecting success of 3200.109 'autosetuprebase local on a tracked local branch':
git config remote.local.url . &&
git config remote.local.fetch refs/heads/*:refs/remotes/local/* &&
git config branch.autosetuprebase local &&
(git show-ref -q refs/remotes/local/o || git fetch local) &&
git branch mybase &&
git branch --track myr1 mybase &&
test "$(git config branch.myr1.remote)" = . &&
test "$(git config branch.myr1.merge)" = refs/heads/mybase &&
test "$(git config branch.myr1.rebase)" = true
From .
* [new branch] all1 -> local/all1
* [new branch] alpha -> local/alpha
* [new branch] beta -> local/beta
* [new branch] g/h/i -> local/g/h/i
* [new branch] gamma -> local/gamma
* [new branch] locked -> local/locked
* [new branch] my1 -> local/my1
* [new branch] my12 -> local/my12
* [new branch] my13 -> local/my13
* [new branch] my14 -> local/my14
* [new branch] my15 -> local/my15
* [new branch] my2 -> local/my2
* [new branch] my3 -> local/my3
* [new branch] my4 -> local/my4
* [new branch] my6 -> local/my6
* [new branch] my7 -> local/my7
* [new branch] my8 -> local/my8
* [new branch] my9 -> local/my9
Branch 'myr1' set up to track local branch 'mybase' by rebasing.
ok 109 - autosetuprebase local on a tracked local branch
expecting success of 3200.110 'autosetuprebase always on a tracked local branch':
git config remote.local.url . &&
git config remote.local.fetch refs/heads/*:refs/remotes/local/* &&
git config branch.autosetuprebase always &&
(git show-ref -q refs/remotes/local/o || git fetch local) &&
git branch mybase2 &&
git branch --track myr2 mybase &&
test "$(git config branch.myr2.remote)" = . &&
test "$(git config branch.myr2.merge)" = refs/heads/mybase &&
test "$(git config branch.myr2.rebase)" = true
From .
* [new branch] mybase -> local/mybase
* [new branch] myr1 -> local/myr1
Branch 'myr2' set up to track local branch 'mybase' by rebasing.
ok 110 - autosetuprebase always on a tracked local branch
expecting success of 3200.111 'autosetuprebase remote on a tracked local branch':
git config remote.local.url . &&
git config remote.local.fetch refs/heads/*:refs/remotes/local/* &&
git config branch.autosetuprebase remote &&
(git show-ref -q refs/remotes/local/o || git fetch local) &&
git branch mybase3 &&
git branch --track myr3 mybase2 &&
test "$(git config branch.myr3.remote)" = . &&
test "$(git config branch.myr3.merge)" = refs/heads/mybase2 &&
! test "$(git config branch.myr3.rebase)" = true
From .
* [new branch] mybase2 -> local/mybase2
* [new branch] myr2 -> local/myr2
Branch 'myr3' set up to track local branch 'mybase2'.
ok 111 - autosetuprebase remote on a tracked local branch
expecting success of 3200.112 'autosetuprebase never on a tracked local branch':
git config remote.local.url . &&
git config remote.local.fetch refs/heads/*:refs/remotes/local/* &&
git config branch.autosetuprebase never &&
(git show-ref -q refs/remotes/local/o || git fetch local) &&
git branch mybase4 &&
git branch --track myr4 mybase2 &&
test "$(git config branch.myr4.remote)" = . &&
test "$(git config branch.myr4.merge)" = refs/heads/mybase2 &&
! test "$(git config branch.myr4.rebase)" = true
From .
* [new branch] mybase3 -> local/mybase3
* [new branch] myr3 -> local/myr3
Branch 'myr4' set up to track local branch 'mybase2'.
ok 112 - autosetuprebase never on a tracked local branch
expecting success of 3200.113 'autosetuprebase local on a tracked remote branch':
git config remote.local.url . &&
git config remote.local.fetch refs/heads/*:refs/remotes/local/* &&
git config branch.autosetuprebase local &&
(git show-ref -q refs/remotes/local/master || git fetch local) &&
git branch --track myr5 local/master &&
test "$(git config branch.myr5.remote)" = local &&
test "$(git config branch.myr5.merge)" = refs/heads/master &&
! test "$(git config branch.myr5.rebase)" = true
Branch 'myr5' set up to track remote branch 'master' from 'local'.
ok 113 - autosetuprebase local on a tracked remote branch
expecting success of 3200.114 'autosetuprebase never on a tracked remote branch':
git config remote.local.url . &&
git config remote.local.fetch refs/heads/*:refs/remotes/local/* &&
git config branch.autosetuprebase never &&
(git show-ref -q refs/remotes/local/master || git fetch local) &&
git branch --track myr6 local/master &&
test "$(git config branch.myr6.remote)" = local &&
test "$(git config branch.myr6.merge)" = refs/heads/master &&
! test "$(git config branch.myr6.rebase)" = true
Branch 'myr6' set up to track remote branch 'master' from 'local'.
ok 114 - autosetuprebase never on a tracked remote branch
expecting success of 3200.115 'autosetuprebase remote on a tracked remote branch':
git config remote.local.url . &&
git config remote.local.fetch refs/heads/*:refs/remotes/local/* &&
git config branch.autosetuprebase remote &&
(git show-ref -q refs/remotes/local/master || git fetch local) &&
git branch --track myr7 local/master &&
test "$(git config branch.myr7.remote)" = local &&
test "$(git config branch.myr7.merge)" = refs/heads/master &&
test "$(git config branch.myr7.rebase)" = true
Branch 'myr7' set up to track remote branch 'master' from 'local' by rebasing.
ok 115 - autosetuprebase remote on a tracked remote branch
expecting success of 3200.116 'autosetuprebase always on a tracked remote branch':
git config remote.local.url . &&
git config remote.local.fetch refs/heads/*:refs/remotes/local/* &&
git config branch.autosetuprebase remote &&
(git show-ref -q refs/remotes/local/master || git fetch local) &&
git branch --track myr8 local/master &&
test "$(git config branch.myr8.remote)" = local &&
test "$(git config branch.myr8.merge)" = refs/heads/master &&
test "$(git config branch.myr8.rebase)" = true
Branch 'myr8' set up to track remote branch 'master' from 'local' by rebasing.
ok 116 - autosetuprebase always on a tracked remote branch
expecting success of 3200.117 'autosetuprebase unconfigured on a tracked remote branch':
git config --unset branch.autosetuprebase &&
git config remote.local.url . &&
git config remote.local.fetch refs/heads/*:refs/remotes/local/* &&
(git show-ref -q refs/remotes/local/master || git fetch local) &&
git branch --track myr9 local/master &&
test "$(git config branch.myr9.remote)" = local &&
test "$(git config branch.myr9.merge)" = refs/heads/master &&
test "z$(git config branch.myr9.rebase)" = z
Branch 'myr9' set up to track remote branch 'master' from 'local'.
ok 117 - autosetuprebase unconfigured on a tracked remote branch
expecting success of 3200.118 'autosetuprebase unconfigured on a tracked local branch':
git config remote.local.url . &&
git config remote.local.fetch refs/heads/*:refs/remotes/local/* &&
(git show-ref -q refs/remotes/local/o || git fetch local) &&
git branch mybase10 &&
git branch --track myr10 mybase2 &&
test "$(git config branch.myr10.remote)" = . &&
test "$(git config branch.myr10.merge)" = refs/heads/mybase2 &&
test "z$(git config branch.myr10.rebase)" = z
From .
* [new branch] mybase4 -> local/mybase4
* [new branch] myr4 -> local/myr4
* [new branch] myr5 -> local/myr5
* [new branch] myr6 -> local/myr6
* [new branch] myr7 -> local/myr7
* [new branch] myr8 -> local/myr8
* [new branch] myr9 -> local/myr9
Branch 'myr10' set up to track local branch 'mybase2'.
ok 118 - autosetuprebase unconfigured on a tracked local branch
expecting success of 3200.119 'autosetuprebase unconfigured on untracked local branch':
git config remote.local.url . &&
git config remote.local.fetch refs/heads/*:refs/remotes/local/* &&
(git show-ref -q refs/remotes/local/master || git fetch local) &&
git branch --no-track myr11 mybase2 &&
test "z$(git config branch.myr11.remote)" = z &&
test "z$(git config branch.myr11.merge)" = z &&
test "z$(git config branch.myr11.rebase)" = z
ok 119 - autosetuprebase unconfigured on untracked local branch
expecting success of 3200.120 'autosetuprebase unconfigured on untracked remote branch':
git config remote.local.url . &&
git config remote.local.fetch refs/heads/*:refs/remotes/local/* &&
(git show-ref -q refs/remotes/local/master || git fetch local) &&
git branch --no-track myr12 local/master &&
test "z$(git config branch.myr12.remote)" = z &&
test "z$(git config branch.myr12.merge)" = z &&
test "z$(git config branch.myr12.rebase)" = z
ok 120 - autosetuprebase unconfigured on untracked remote branch
expecting success of 3200.121 'autosetuprebase never on an untracked local branch':
git config branch.autosetuprebase never &&
git config remote.local.url . &&
git config remote.local.fetch refs/heads/*:refs/remotes/local/* &&
(git show-ref -q refs/remotes/local/master || git fetch local) &&
git branch --no-track myr13 mybase2 &&
test "z$(git config branch.myr13.remote)" = z &&
test "z$(git config branch.myr13.merge)" = z &&
test "z$(git config branch.myr13.rebase)" = z
ok 121 - autosetuprebase never on an untracked local branch
expecting success of 3200.122 'autosetuprebase local on an untracked local branch':
git config branch.autosetuprebase local &&
git config remote.local.url . &&
git config remote.local.fetch refs/heads/*:refs/remotes/local/* &&
(git show-ref -q refs/remotes/local/master || git fetch local) &&
git branch --no-track myr14 mybase2 &&
test "z$(git config branch.myr14.remote)" = z &&
test "z$(git config branch.myr14.merge)" = z &&
test "z$(git config branch.myr14.rebase)" = z
ok 122 - autosetuprebase local on an untracked local branch
expecting success of 3200.123 'autosetuprebase remote on an untracked local branch':
git config branch.autosetuprebase remote &&
git config remote.local.url . &&
git config remote.local.fetch refs/heads/*:refs/remotes/local/* &&
(git show-ref -q refs/remotes/local/master || git fetch local) &&
git branch --no-track myr15 mybase2 &&
test "z$(git config branch.myr15.remote)" = z &&
test "z$(git config branch.myr15.merge)" = z &&
test "z$(git config branch.myr15.rebase)" = z
ok 123 - autosetuprebase remote on an untracked local branch
expecting success of 3200.124 'autosetuprebase always on an untracked local branch':
git config branch.autosetuprebase always &&
git config remote.local.url . &&
git config remote.local.fetch refs/heads/*:refs/remotes/local/* &&
(git show-ref -q refs/remotes/local/master || git fetch local) &&
git branch --no-track myr16 mybase2 &&
test "z$(git config branch.myr16.remote)" = z &&
test "z$(git config branch.myr16.merge)" = z &&
test "z$(git config branch.myr16.rebase)" = z
ok 124 - autosetuprebase always on an untracked local branch
expecting success of 3200.125 'autosetuprebase never on an untracked remote branch':
git config branch.autosetuprebase never &&
git config remote.local.url . &&
git config remote.local.fetch refs/heads/*:refs/remotes/local/* &&
(git show-ref -q refs/remotes/local/master || git fetch local) &&
git branch --no-track myr17 local/master &&
test "z$(git config branch.myr17.remote)" = z &&
test "z$(git config branch.myr17.merge)" = z &&
test "z$(git config branch.myr17.rebase)" = z
ok 125 - autosetuprebase never on an untracked remote branch
expecting success of 3200.126 'autosetuprebase local on an untracked remote branch':
git config branch.autosetuprebase local &&
git config remote.local.url . &&
git config remote.local.fetch refs/heads/*:refs/remotes/local/* &&
(git show-ref -q refs/remotes/local/master || git fetch local) &&
git branch --no-track myr18 local/master &&
test "z$(git config branch.myr18.remote)" = z &&
test "z$(git config branch.myr18.merge)" = z &&
test "z$(git config branch.myr18.rebase)" = z
ok 126 - autosetuprebase local on an untracked remote branch
expecting success of 3200.127 'autosetuprebase remote on an untracked remote branch':
git config branch.autosetuprebase remote &&
git config remote.local.url . &&
git config remote.local.fetch refs/heads/*:refs/remotes/local/* &&
(git show-ref -q refs/remotes/local/master || git fetch local) &&
git branch --no-track myr19 local/master &&
test "z$(git config branch.myr19.remote)" = z &&
test "z$(git config branch.myr19.merge)" = z &&
test "z$(git config branch.myr19.rebase)" = z
ok 127 - autosetuprebase remote on an untracked remote branch
expecting success of 3200.128 'autosetuprebase always on an untracked remote branch':
git config branch.autosetuprebase always &&
git config remote.local.url . &&
git config remote.local.fetch refs/heads/*:refs/remotes/local/* &&
(git show-ref -q refs/remotes/local/master || git fetch local) &&
git branch --no-track myr20 local/master &&
test "z$(git config branch.myr20.remote)" = z &&
test "z$(git config branch.myr20.merge)" = z &&
test "z$(git config branch.myr20.rebase)" = z
ok 128 - autosetuprebase always on an untracked remote branch
expecting success of 3200.129 'autosetuprebase always on detached HEAD':
git config branch.autosetupmerge always &&
test_when_finished git checkout master &&
git checkout HEAD^0 &&
git branch my11 &&
test -z "$(git config branch.my11.remote)" &&
test -z "$(git config branch.my11.merge)"
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 <new-branch-name>
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
HEAD is now at 3ac6976 Second commit.
Switched to branch 'master'
ok 129 - autosetuprebase always on detached HEAD
expecting success of 3200.130 'detect misconfigured autosetuprebase (bad value)':
git config branch.autosetuprebase garbage &&
test_must_fail git branch
error: malformed value for branch.autosetuprebase
fatal: bad config variable 'branch.autosetuprebase' in file '.git/config' at line 81
ok 130 - detect misconfigured autosetuprebase (bad value)
expecting success of 3200.131 'detect misconfigured autosetuprebase (no value)':
git config --unset branch.autosetuprebase &&
echo "[branch] autosetuprebase" >>.git/config &&
test_must_fail git branch &&
git config --unset branch.autosetuprebase
error: missing value for 'branch.autosetuprebase'
fatal: bad config variable 'branch.autosetuprebase' in file '.git/config' at line 127
ok 131 - detect misconfigured autosetuprebase (no value)
expecting success of 3200.132 'attempt to delete a branch without base and unmerged to HEAD':
git checkout my9 &&
git config --unset branch.my8.merge &&
test_must_fail git branch -d my8
Switched to branch 'my9'
error: The branch 'my8' is not fully merged.
If you are sure you want to delete it, run 'git branch -D my8'.
ok 132 - attempt to delete a branch without base and unmerged to HEAD
expecting success of 3200.133 'attempt to delete a branch merged to its base':
# we are on my9 which is the initial commit; traditionally
# we would not have allowed deleting my8 that is not merged
# to my9, but it is set to track master that already has my8
git config branch.my8.merge refs/heads/master &&
git branch -d my8
warning: deleting branch 'my8' that has been merged to
'refs/heads/master', but not yet merged to HEAD.
Deleted branch my8 (was 3ac6976).
ok 133 - attempt to delete a branch merged to its base
expecting success of 3200.134 'attempt to delete a branch merged to its base':
git checkout master &&
echo Third >>A &&
git commit -m "Third commit" A &&
git branch -t my10 my9 &&
git branch -f my10 HEAD^ &&
# we are on master which is at the third commit, and my10
# is behind us, so traditionally we would have allowed deleting
# it; but my10 is set to track my9 that is further behind.
test_must_fail git branch -d my10
Switched to branch 'master'
[master b89c182] Third commit
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
Branch 'my10' set up to track local branch 'my9'.
warning: not deleting branch 'my10' that is not yet merged to
'refs/heads/my9', even though it is merged to HEAD.
error: The branch 'my10' is not fully merged.
If you are sure you want to delete it, run 'git branch -D my10'.
ok 134 - attempt to delete a branch merged to its base
expecting success of 3200.135 'use --edit-description':
write_script editor <<-\EOF &&
echo "New contents" >"$1"
EOF
EDITOR=./editor git branch --edit-description &&
write_script editor <<-\EOF &&
git stripspace -s <"$1" >"EDITOR_OUTPUT"
EOF
EDITOR=./editor git branch --edit-description &&
echo "New contents" >expect &&
test_cmp expect EDITOR_OUTPUT
ok 135 - use --edit-description
expecting success of 3200.136 'detect typo in branch name when using --edit-description':
write_script editor <<-\EOF &&
echo "New contents" >"$1"
EOF
test_must_fail env EDITOR=./editor git branch --edit-description no-such-branch
error: No branch named 'no-such-branch'.
ok 136 - detect typo in branch name when using --edit-description
expecting success of 3200.137 'refuse --edit-description on unborn branch for now':
write_script editor <<-\EOF &&
echo "New contents" >"$1"
EOF
git checkout --orphan unborn &&
test_must_fail env EDITOR=./editor git branch --edit-description
Switched to a new branch 'unborn'
error: No commit on branch 'unborn' yet.
ok 137 - refuse --edit-description on unborn branch for now
expecting success of 3200.138 '--merged catches invalid object names':
test_must_fail git branch --merged 0000000000000000000000000000000000000000
error: option `merged' must point to a commit
ok 138 - --merged catches invalid object names
expecting success of 3200.139 '--merged is incompatible with --no-merged':
test_must_fail git branch --merged HEAD --no-merged HEAD
fatal: malformed object name HEAD
ok 139 - --merged is incompatible with --no-merged
expecting success of 3200.140 '--list during rebase':
test_when_finished "reset_rebase" &&
git checkout master &&
FAKE_LINES="1 edit 2" &&
export FAKE_LINES &&
set_fake_editor &&
git rebase -i HEAD~2 &&
git branch --list >actual &&
test_i18ngrep "rebasing master" actual
Switched to branch 'master'
rebase -i script before editing:
pick 3ac6976 Second commit.
pick b89c182 Third commit
rebase -i script after editing:
pick 3ac6976 Second commit.
edit b89c182 Third commit
Rebasing (2/2)
Stopped at b89c182... Third commit
You can amend the commit now, with
git commit --amend
Once you are satisfied with your changes, run
git rebase --continue
* (no branch, rebasing master)
HEAD is now at b89c182 Third commit
Removing EDITOR_OUTPUT
Removing actual
Removing actual.0abbrev
Removing actual.36abbrev
Removing actual.abbrev
Removing actual.default
Removing actual.noabbrev
Removing config.branch
Removing editor
Removing err
Removing expect
Removing expected
Removing fake-editor.sh
Removing real-u
ok 140 - --list during rebase
expecting success of 3200.141 '--list during rebase from detached HEAD':
test_when_finished "reset_rebase && git checkout master" &&
git checkout master^0 &&
oid=$(git rev-parse --short HEAD) &&
FAKE_LINES="1 edit 2" &&
export FAKE_LINES &&
set_fake_editor &&
git rebase -i HEAD~2 &&
git branch --list >actual &&
test_i18ngrep "rebasing detached HEAD $oid" actual
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 <new-branch-name>
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
HEAD is now at b89c182 Third commit
rebase -i script before editing:
pick 3ac6976 Second commit.
pick b89c182 Third commit
rebase -i script after editing:
pick 3ac6976 Second commit.
edit b89c182 Third commit
Rebasing (2/2)
Stopped at b89c182... Third commit
You can amend the commit now, with
git commit --amend
Once you are satisfied with your changes, run
git rebase --continue
* (no branch, rebasing detached HEAD b89c182)
HEAD is now at b89c182 Third commit
Removing actual
Removing fake-editor.sh
Switched to branch 'master'
ok 141 - --list during rebase from detached HEAD
expecting success of 3200.142 'tracking with unexpected .fetch refspec':
rm -rf a b c d &&
git init a &&
(
cd a &&
test_commit a
) &&
git init b &&
(
cd b &&
test_commit b
) &&
git init c &&
(
cd c &&
test_commit c &&
git remote add a ../a &&
git remote add b ../b &&
git fetch --all
) &&
git init d &&
(
cd d &&
git remote add c ../c &&
git config remote.c.fetch "+refs/remotes/*:refs/remotes/*" &&
git fetch c &&
git branch --track local/a/master remotes/a/master &&
test "$(git config branch.local/a/master.remote)" = "c" &&
test "$(git config branch.local/a/master.merge)" = "refs/remotes/a/master" &&
git rev-parse --verify a >expect &&
git rev-parse --verify local/a/master >actual &&
test_cmp expect actual
)
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3200-branch/a/.git/
[master (root-commit) 7f0b538] a
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 a.t
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3200-branch/b/.git/
[master (root-commit) f869f6f] b
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 b.t
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3200-branch/c/.git/
[master (root-commit) 1aae479] c
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 c.t
Fetching a
warning: no common commits
From ../a
* [new branch] master -> a/master
* [new tag] a -> a
Fetching b
warning: no common commits
From ../b
* [new branch] master -> b/master
* [new tag] b -> b
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3200-branch/d/.git/
From ../c
* [new ref] a/master -> a/master
* [new ref] b/master -> b/master
* [new tag] a -> a
* [new tag] b -> b
Branch 'local/a/master' set up to track remote ref 'refs/remotes/a/master'.
ok 142 - tracking with unexpected .fetch refspec
expecting success of 3200.143 'configured committerdate sort':
git init sort &&
(
cd sort &&
git config branch.sort committerdate &&
test_commit initial &&
git checkout -b a &&
test_commit a &&
git checkout -b c &&
test_commit c &&
git checkout -b b &&
test_commit b &&
git branch >actual &&
cat >expect <<-\EOF &&
master
a
c
* b
EOF
test_cmp expect actual
)
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3200-branch/sort/.git/
[master (root-commit) d39e3de] initial
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 initial.t
Switched to a new branch 'a'
[a 72bbe25] a
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 a.t
Switched to a new branch 'c'
[c e7c2d97] c
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 c.t
Switched to a new branch 'b'
[b 80b142d] b
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 b.t
ok 143 - configured committerdate sort
expecting success of 3200.144 'option override configured sort':
(
cd sort &&
git config branch.sort committerdate &&
git branch --sort=refname >actual &&
cat >expect <<-\EOF &&
a
* b
c
master
EOF
test_cmp expect actual
)
ok 144 - option override configured sort
expecting success of 3200.145 'invalid sort parameter in configuration':
(
cd sort &&
git config branch.sort "v:notvalid" &&
test_must_fail git branch
)
fatal: unknown field name: notvalid
ok 145 - invalid sort parameter in configuration
# passed all 145 test(s)
1..145
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t3211-peel-ref.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3211-peel-ref/.git/
expecting success of 3211.1 'create annotated tag in refs/tags':
test_commit base &&
git tag -m annotated foo
[master (root-commit) d1ff1c9] base
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 base.t
ok 1 - create annotated tag in refs/tags
expecting success of 3211.2 'create annotated tag outside of refs/tags':
git update-ref refs/outside/foo refs/tags/foo
ok 2 - create annotated tag outside of refs/tags
expecting success of 3211.3 'set up expected show-ref output':
{
print_ref "refs/heads/master" &&
print_ref "refs/outside/foo" &&
print_ref "refs/outside/foo^{}" &&
print_ref "refs/tags/base" &&
print_ref "refs/tags/foo" &&
print_ref "refs/tags/foo^{}"
} >expect
ok 3 - set up expected show-ref output
expecting success of 3211.4 'refs are peeled outside of refs/tags (loose)':
git show-ref -d >actual &&
test_cmp expect actual
ok 4 - refs are peeled outside of refs/tags (loose)
expecting success of 3211.5 'refs are peeled outside of refs/tags (packed)':
git pack-refs --all &&
git show-ref -d >actual &&
test_cmp expect actual
ok 5 - refs are peeled outside of refs/tags (packed)
expecting success of 3211.6 'create old-style pack-refs without fully-peeled':
# Git no longer writes without fully-peeled, so we just write our own
# from scratch; we could also munge the existing file to remove the
# fully-peeled bits, but that seems even more prone to failure,
# especially if the format ever changes again. At least this way we
# know we are emulating exactly what an older git would have written.
{
echo "# pack-refs with: peeled " &&
print_ref "refs/heads/master" &&
print_ref "refs/outside/foo" &&
print_ref "refs/tags/base" &&
print_ref "refs/tags/foo" &&
echo "^$(git rev-parse "refs/tags/foo^{}")"
} >tmp &&
mv tmp .git/packed-refs
ok 6 - create old-style pack-refs without fully-peeled
expecting success of 3211.7 'refs are peeled outside of refs/tags (old packed)':
git show-ref -d >actual &&
test_cmp expect actual
ok 7 - refs are peeled outside of refs/tags (old packed)
expecting success of 3211.8 'peeled refs survive deletion of packed ref':
git pack-refs --all &&
cp .git/packed-refs fully-peeled &&
git branch yadda &&
git pack-refs --all &&
git branch -d yadda &&
test_cmp fully-peeled .git/packed-refs
Deleted branch yadda (was d1ff1c9).
ok 8 - peeled refs survive deletion of packed ref
# passed all 8 test(s)
1..8
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t3210-pack-refs.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3210-pack-refs/.git/
expecting success of 3210.1 'enable reflogs':
git config core.logallrefupdates true
ok 1 - enable reflogs
expecting success of 3210.2 'prepare a trivial repository': echo Hello > A &&
git update-index --add A &&
git commit -m "Initial commit." &&
HEAD=$(git rev-parse --verify HEAD)
[master (root-commit) 5f15422] Initial commit.
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 A
ok 2 - prepare a trivial repository
expecting success of 3210.3 'see if git show-ref works as expected': git branch a &&
SHA1=$(cat .git/refs/heads/a) &&
echo "$SHA1 refs/heads/a" >expect &&
git show-ref a >result &&
test_cmp expect result
ok 3 - see if git show-ref works as expected
expecting success of 3210.4 'see if a branch still exists when packed': git branch b &&
git pack-refs --all &&
rm -f .git/refs/heads/b &&
echo "$SHA1 refs/heads/b" >expect &&
git show-ref b >result &&
test_cmp expect result
ok 4 - see if a branch still exists when packed
expecting success of 3210.5 'git branch c/d should barf if branch c exists':
git branch c &&
git pack-refs --all &&
rm -f .git/refs/heads/c &&
test_must_fail git branch c/d
fatal: cannot lock ref 'refs/heads/c/d': 'refs/heads/c' exists; cannot create 'refs/heads/c/d'
ok 5 - git branch c/d should barf if branch c exists
expecting success of 3210.6 'see if a branch still exists after git pack-refs --prune': git branch e &&
git pack-refs --all --prune &&
echo "$SHA1 refs/heads/e" >expect &&
git show-ref e >result &&
test_cmp expect result
ok 6 - see if a branch still exists after git pack-refs --prune
expecting success of 3210.7 'see if git pack-refs --prune remove ref files':
git branch f &&
git pack-refs --all --prune &&
! test -f .git/refs/heads/f
ok 7 - see if git pack-refs --prune remove ref files
expecting success of 3210.8 'see if git pack-refs --prune removes empty dirs':
git branch r/s/t &&
git pack-refs --all --prune &&
! test -e .git/refs/heads/r
ok 8 - see if git pack-refs --prune removes empty dirs
expecting success of 3210.9 'git branch g should work when git branch g/h has been deleted': git branch g/h &&
git pack-refs --all --prune &&
git branch -d g/h &&
git branch g &&
git pack-refs --all &&
git branch -d g
Deleted branch g/h (was 5f15422).
Deleted branch g (was 5f15422).
ok 9 - git branch g should work when git branch g/h has been deleted
expecting success of 3210.10 'git branch i/j/k should barf if branch i exists':
git branch i &&
git pack-refs --all --prune &&
test_must_fail git branch i/j/k
fatal: cannot lock ref 'refs/heads/i/j/k': 'refs/heads/i' exists; cannot create 'refs/heads/i/j/k'
ok 10 - git branch i/j/k should barf if branch i exists
expecting success of 3210.11 'test git branch k after branch k/l/m and k/lm have been deleted': git branch k/l &&
git branch k/lm &&
git branch -d k/l &&
git branch k/l/m &&
git branch -d k/l/m &&
git branch -d k/lm &&
git branch k
Deleted branch k/l (was 5f15422).
Deleted branch k/l/m (was 5f15422).
Deleted branch k/lm (was 5f15422).
ok 11 - test git branch k after branch k/l/m and k/lm have been deleted
expecting success of 3210.12 'test git branch n after some branch deletion and pruning': git branch n/o &&
git branch n/op &&
git branch -d n/o &&
git branch n/o/p &&
git branch -d n/op &&
git pack-refs --all --prune &&
git branch -d n/o/p &&
git branch n
Deleted branch n/o (was 5f15422).
Deleted branch n/op (was 5f15422).
Deleted branch n/o/p (was 5f15422).
ok 12 - test git branch n after some branch deletion and pruning
expecting success of 3210.13 'see if up-to-date packed refs are preserved': git branch q &&
git pack-refs --all --prune &&
git update-ref refs/heads/q refs/heads/q &&
! test -f .git/refs/heads/q
ok 13 - see if up-to-date packed refs are preserved
expecting success of 3210.14 'pack, prune and repack':
git tag foo &&
git pack-refs --all --prune &&
git show-ref >all-of-them &&
git pack-refs &&
git show-ref >again &&
test_cmp all-of-them again
ok 14 - pack, prune and repack
expecting success of 3210.15 'explicit pack-refs with dangling packed reference':
git commit --allow-empty -m "soon to be garbage-collected" &&
git pack-refs --all &&
git reset --hard HEAD^ &&
git reflog expire --expire=all --all &&
git prune --expire=all &&
git pack-refs --all 2>result &&
test_must_be_empty result
[master 3442816] soon to be garbage-collected
Author: A U Thor <author@example.com>
HEAD is now at 5f15422 Initial commit.
ok 15 - explicit pack-refs with dangling packed reference
expecting success of 3210.16 'delete ref with dangling packed version':
git checkout -b lamb &&
git commit --allow-empty -m "future garbage" &&
git pack-refs --all &&
git reset --hard HEAD^ &&
git checkout master &&
git reflog expire --expire=all --all &&
git prune --expire=all &&
git branch -d lamb 2>result &&
test_must_be_empty result
Switched to a new branch 'lamb'
[lamb 07f37a4] future garbage
Author: A U Thor <author@example.com>
HEAD is now at 5f15422 Initial commit.
Switched to branch 'master'
Deleted branch lamb (was 5f15422).
ok 16 - delete ref with dangling packed version
expecting success of 3210.17 'delete ref while another dangling packed ref':
git branch lamb &&
git commit --allow-empty -m "future garbage" &&
git pack-refs --all &&
git reset --hard HEAD^ &&
git reflog expire --expire=all --all &&
git prune --expire=all &&
git branch -d lamb 2>result &&
test_must_be_empty result
[master 07f37a4] future garbage
Author: A U Thor <author@example.com>
HEAD is now at 5f15422 Initial commit.
Deleted branch lamb (was 5f15422).
ok 17 - delete ref while another dangling packed ref
expecting success of 3210.18 'pack ref directly below refs/':
git update-ref refs/top HEAD &&
git pack-refs --all --prune &&
grep refs/top .git/packed-refs &&
test_path_is_missing .git/refs/top
5f154222973b5a3a613f1c6b516dfad25ea6fa97 refs/top
ok 18 - pack ref directly below refs/
expecting success of 3210.19 'do not pack ref in refs/bisect':
git update-ref refs/bisect/local HEAD &&
git pack-refs --all --prune &&
! grep refs/bisect/local .git/packed-refs >/dev/null &&
test_path_is_file .git/refs/bisect/local
ok 19 - do not pack ref in refs/bisect
expecting success of 3210.20 'disable reflogs':
git config core.logallrefupdates false &&
rm -rf .git/logs
ok 20 - disable reflogs
expecting success of 3210.21 'create packed foo/bar/baz branch':
git branch foo/bar/baz &&
git pack-refs --all --prune &&
test_path_is_missing .git/refs/heads/foo/bar/baz &&
test_must_fail git reflog exists refs/heads/foo/bar/baz
ok 21 - create packed foo/bar/baz branch
expecting success of 3210.22 'notice d/f conflict with existing directory':
test_must_fail git branch foo &&
test_must_fail git branch foo/bar
fatal: cannot lock ref 'refs/heads/foo': 'refs/heads/foo/bar/baz' exists; cannot create 'refs/heads/foo'
fatal: cannot lock ref 'refs/heads/foo/bar': 'refs/heads/foo/bar/baz' exists; cannot create 'refs/heads/foo/bar'
ok 22 - notice d/f conflict with existing directory
expecting success of 3210.23 'existing directory reports concrete ref':
test_must_fail git branch foo 2>stderr &&
test_i18ngrep refs/heads/foo/bar/baz stderr
checking prerequisite: C_LOCALE_OUTPUT
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
! test_bool_env GIT_TEST_GETTEXT_POISON false
)
prerequisite C_LOCALE_OUTPUT ok
fatal: cannot lock ref 'refs/heads/foo': 'refs/heads/foo/bar/baz' exists; cannot create 'refs/heads/foo'
ok 23 - existing directory reports concrete ref
expecting success of 3210.24 'notice d/f conflict with existing ref':
test_must_fail git branch foo/bar/baz/extra &&
test_must_fail git branch foo/bar/baz/lots/of/extra/components
fatal: cannot lock ref 'refs/heads/foo/bar/baz/extra': 'refs/heads/foo/bar/baz' exists; cannot create 'refs/heads/foo/bar/baz/extra'
fatal: cannot lock ref 'refs/heads/foo/bar/baz/lots/of/extra/components': 'refs/heads/foo/bar/baz' exists; cannot create 'refs/heads/foo/bar/baz/lots/of/extra/components'
ok 24 - notice d/f conflict with existing ref
expecting success of 3210.25 'reject packed-refs with unterminated line':
cp .git/packed-refs .git/packed-refs.bak &&
test_when_finished "mv .git/packed-refs.bak .git/packed-refs" &&
printf "%s" "$HEAD refs/zzzzz" >>.git/packed-refs &&
echo "fatal: unterminated line in .git/packed-refs: $HEAD refs/zzzzz" >expected_err &&
test_must_fail git for-each-ref >out 2>err &&
test_cmp expected_err err
ok 25 - reject packed-refs with unterminated line
expecting success of 3210.26 'reject packed-refs containing junk':
cp .git/packed-refs .git/packed-refs.bak &&
test_when_finished "mv .git/packed-refs.bak .git/packed-refs" &&
printf "%s\n" "bogus content" >>.git/packed-refs &&
echo "fatal: unexpected line in .git/packed-refs: bogus content" >expected_err &&
test_must_fail git for-each-ref >out 2>err &&
test_cmp expected_err err
ok 26 - reject packed-refs containing junk
expecting success of 3210.27 'reject packed-refs with a short SHA-1':
cp .git/packed-refs .git/packed-refs.bak &&
test_when_finished "mv .git/packed-refs.bak .git/packed-refs" &&
printf "%.7s %s\n" $HEAD refs/zzzzz >>.git/packed-refs &&
printf "fatal: unexpected line in .git/packed-refs: %.7s %s\n" $HEAD refs/zzzzz >expected_err &&
test_must_fail git for-each-ref >out 2>err &&
test_cmp expected_err err
ok 27 - reject packed-refs with a short SHA-1
expecting success of 3210.28 'timeout if packed-refs.lock exists':
LOCK=.git/packed-refs.lock &&
>"$LOCK" &&
test_when_finished "rm -f $LOCK" &&
test_must_fail git pack-refs --all --prune
fatal: Unable to create '/<<PKGBUILDDIR>>/t/trash directory.t3210-pack-refs/.git/packed-refs.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 28 - timeout if packed-refs.lock exists
expecting success of 3210.29 'retry acquiring packed-refs.lock':
LOCK=.git/packed-refs.lock &&
>"$LOCK" &&
test_when_finished "wait && rm -f $LOCK" &&
{
( sleep 1 && rm -f $LOCK ) &
} &&
git -c core.packedrefstimeout=3000 pack-refs --all --prune
ok 29 - retry acquiring packed-refs.lock
checking prerequisite: SYMLINKS
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
# test whether the filesystem supports symbolic links
ln -s x y && test -h y
)
prerequisite SYMLINKS ok
expecting success of 3210.30 'pack symlinked packed-refs':
# First make sure that symlinking works when reading:
git update-ref refs/heads/lossy refs/heads/master &&
git for-each-ref >all-refs-before &&
mv .git/packed-refs .git/my-deviant-packed-refs &&
ln -s my-deviant-packed-refs .git/packed-refs &&
git for-each-ref >all-refs-linked &&
test_cmp all-refs-before all-refs-linked &&
git pack-refs --all --prune &&
git for-each-ref >all-refs-packed &&
test_cmp all-refs-before all-refs-packed &&
test -h .git/packed-refs &&
test "$(readlink .git/packed-refs)" = "my-deviant-packed-refs"
ok 30 - pack symlinked packed-refs
# passed all 30 test(s)
1..30
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t3300-funny-names.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3300-funny-names/.git/
expecting success of 3300.1 'setup':
cat >"$p0" <<-\EOF &&
1. A quick brown fox jumps over the lazy cat, oops dog.
2. A quick brown fox jumps over the lazy cat, oops dog.
3. A quick brown fox jumps over the lazy cat, oops dog.
EOF
{ cat "$p0" >"$p1" || :; } &&
{ echo "Foo Bar Baz" >"$p2" || :; }
ok 1 - setup
expecting success of 3300.2 'setup: populate index and tree':
git update-index --add "$p0" "$p2" &&
t0=$(git write-tree)
ok 2 - setup: populate index and tree
expecting success of 3300.3 'ls-files prints space in filename verbatim':
printf "%s\n" "just space" no-funny >expected &&
git ls-files >current &&
test_cmp expected current
ok 3 - ls-files prints space in filename verbatim
expecting success of 3300.4 'setup: add funny filename':
git update-index --add "$p1" &&
t1=$(git write-tree)
ok 4 - setup: add funny filename
expecting success of 3300.5 'ls-files quotes funny filename':
cat >expected <<-\EOF &&
just space
no-funny
"tabs\t,\" (dq) and spaces"
EOF
git ls-files >current &&
test_cmp expected current
ok 5 - ls-files quotes funny filename
expecting success of 3300.6 'ls-files -z does not quote funny filename':
cat >expected <<-\EOF &&
just space
no-funny
tabs ," (dq) and spaces
EOF
git ls-files -z >ls-files.z &&
perl -pe "y/\000/\012/" <ls-files.z >current &&
test_cmp expected current
ok 6 - ls-files -z does not quote funny filename
expecting success of 3300.7 'ls-tree quotes funny filename':
cat >expected <<-\EOF &&
just space
no-funny
"tabs\t,\" (dq) and spaces"
EOF
git ls-tree -r $t1 >ls-tree &&
sed -e "s/^[^ ]* //" <ls-tree >current &&
test_cmp expected current
ok 7 - ls-tree quotes funny filename
expecting success of 3300.8 'diff-index --name-status quotes funny filename':
cat >expected <<-\EOF &&
A "tabs\t,\" (dq) and spaces"
EOF
git diff-index --name-status $t0 >current &&
test_cmp expected current
ok 8 - diff-index --name-status quotes funny filename
expecting success of 3300.9 'diff-tree --name-status quotes funny filename':
cat >expected <<-\EOF &&
A "tabs\t,\" (dq) and spaces"
EOF
git diff-tree --name-status $t0 $t1 >current &&
test_cmp expected current
ok 9 - diff-tree --name-status quotes funny filename
expecting success of 3300.10 'diff-index -z does not quote funny filename':
cat >expected <<-\EOF &&
A
tabs ," (dq) and spaces
EOF
git diff-index -z --name-status $t0 >diff-index.z &&
perl -pe "y/\000/\012/" <diff-index.z >current &&
test_cmp expected current
ok 10 - diff-index -z does not quote funny filename
expecting success of 3300.11 'diff-tree -z does not quote funny filename':
cat >expected <<-\EOF &&
A
tabs ," (dq) and spaces
EOF
git diff-tree -z --name-status $t0 $t1 >diff-tree.z &&
perl -pe y/\\000/\\012/ <diff-tree.z >current &&
test_cmp expected current
ok 11 - diff-tree -z does not quote funny filename
expecting success of 3300.12 'diff-tree --find-copies-harder quotes funny filename':
cat >expected <<-\EOF &&
CNUM no-funny "tabs\t,\" (dq) and spaces"
EOF
git diff-tree -C --find-copies-harder --name-status $t0 $t1 >out &&
sed -e "s/^C[0-9]*/CNUM/" <out >current &&
test_cmp expected current
ok 12 - diff-tree --find-copies-harder quotes funny filename
expecting success of 3300.13 'setup: remove unfunny index entry':
git update-index --force-remove "$p0"
ok 13 - setup: remove unfunny index entry
expecting success of 3300.14 'diff-tree -M quotes funny filename':
cat >expected <<-\EOF &&
RNUM no-funny "tabs\t,\" (dq) and spaces"
EOF
git diff-index -M --name-status $t0 >out &&
sed -e "s/^R[0-9]*/RNUM/" <out >current &&
test_cmp expected current
ok 14 - diff-tree -M quotes funny filename
expecting success of 3300.15 'diff-index -M -p quotes funny filename':
cat >expected <<-\EOF &&
diff --git a/no-funny "b/tabs\t,\" (dq) and spaces"
similarity index NUM%
rename from no-funny
rename to "tabs\t,\" (dq) and spaces"
EOF
git diff-index -M -p $t0 >diff &&
sed -e "s/index [0-9]*%/index NUM%/" <diff >current &&
test_cmp expected current
ok 15 - diff-index -M -p quotes funny filename
expecting success of 3300.16 'setup: mode change':
chmod +x "$p1"
ok 16 - setup: mode change
expecting success of 3300.17 'diff-index -M -p with mode change quotes funny filename':
cat >expected <<-\EOF &&
diff --git a/no-funny "b/tabs\t,\" (dq) and spaces"
old mode 100644
new mode 100755
similarity index NUM%
rename from no-funny
rename to "tabs\t,\" (dq) and spaces"
EOF
git diff-index -M -p $t0 >diff &&
sed -e "s/index [0-9]*%/index NUM%/" <diff >current &&
test_cmp expected current
ok 17 - diff-index -M -p with mode change quotes funny filename
expecting success of 3300.18 'diffstat for rename quotes funny filename':
cat >expected <<-\EOF &&
"tabs\t,\" (dq) and spaces"
1 file changed, 0 insertions(+), 0 deletions(-)
EOF
git diff-index -M -p $t0 >diff &&
git apply --stat <diff >diffstat &&
sed -e "s/|.*//" -e "s/ *\$//" <diffstat >current &&
test_i18ncmp expected current
checking prerequisite: C_LOCALE_OUTPUT
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
! test_bool_env GIT_TEST_GETTEXT_POISON false
)
prerequisite C_LOCALE_OUTPUT ok
ok 18 - diffstat for rename quotes funny filename
expecting success of 3300.19 'numstat for rename quotes funny filename':
cat >expected <<-\EOF &&
0 0 "tabs\t,\" (dq) and spaces"
EOF
git diff-index -M -p $t0 >diff &&
git apply --numstat <diff >current &&
test_cmp expected current
ok 19 - numstat for rename quotes funny filename
expecting success of 3300.20 'numstat without -M quotes funny filename':
cat >expected <<-\EOF &&
0 3 no-funny
3 0 "tabs\t,\" (dq) and spaces"
EOF
git diff-index -p $t0 >diff &&
git apply --numstat <diff >current &&
test_cmp expected current
ok 20 - numstat without -M quotes funny filename
expecting success of 3300.21 'numstat for non-git rename diff quotes funny filename':
cat >expected <<-\EOF &&
0 3 no-funny
3 0 "tabs\t,\" (dq) and spaces"
EOF
git diff-index -p $t0 >git-diff &&
sed -ne "/^[-+@]/p" <git-diff >diff &&
git apply --numstat <diff >current &&
test_cmp expected current
ok 21 - numstat for non-git rename diff quotes funny filename
# passed all 21 test(s)
1..21
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t3302-notes-index-expensive.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3302-notes-index-expensive/.git/
expecting success of 3302.1 'setup 10':
mkdir "$count" &&
(
cd "$count" &&
create_repo "$count"
)
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3302-notes-index-expensive/10/.git/
ok 1 - setup 10
expecting success of 3302.2 'notes work':
(
cd "$count" &&
test_notes "$count"
)
ok 2 - notes work
checking prerequisite: USR_BIN_TIME
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
test -x /usr/bin/time
)
prerequisite USR_BIN_TIME not satisfied
skipping test: notes timing with /usr/bin/time
(
cd "$count" &&
time_notes 100
)
ok 3 # skip notes timing with /usr/bin/time (missing USR_BIN_TIME)
checking prerequisite: EXPENSIVE
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
test -n "$GIT_TEST_LONG"
)
prerequisite EXPENSIVE not satisfied
skipping test: setup 100
mkdir "$count" &&
(
cd "$count" &&
create_repo "$count"
)
ok 4 # skip setup 100 (missing EXPENSIVE)
skipping test: notes work
(
cd "$count" &&
test_notes "$count"
)
ok 5 # skip notes work (missing EXPENSIVE)
skipping test: notes timing with /usr/bin/time
(
cd "$count" &&
time_notes 100
)
ok 6 # skip notes timing with /usr/bin/time (missing EXPENSIVE,USR_BIN_TIME of USR_BIN_TIME,EXPENSIVE)
skipping test: setup 1000
mkdir "$count" &&
(
cd "$count" &&
create_repo "$count"
)
ok 7 # skip setup 1000 (missing EXPENSIVE)
skipping test: notes work
(
cd "$count" &&
test_notes "$count"
)
ok 8 # skip notes work (missing EXPENSIVE)
skipping test: notes timing with /usr/bin/time
(
cd "$count" &&
time_notes 100
)
ok 9 # skip notes timing with /usr/bin/time (missing EXPENSIVE,USR_BIN_TIME of USR_BIN_TIME,EXPENSIVE)
skipping test: setup 10000
mkdir "$count" &&
(
cd "$count" &&
create_repo "$count"
)
ok 10 # skip setup 10000 (missing EXPENSIVE)
skipping test: notes work
(
cd "$count" &&
test_notes "$count"
)
ok 11 # skip notes work (missing EXPENSIVE)
skipping test: notes timing with /usr/bin/time
(
cd "$count" &&
time_notes 100
)
ok 12 # skip notes timing with /usr/bin/time (missing EXPENSIVE,USR_BIN_TIME of USR_BIN_TIME,EXPENSIVE)
# passed all 12 test(s)
1..12
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t2013-checkout-submodule.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/.git/
expecting success of 2013.1 'setup':
mkdir submodule &&
(cd submodule &&
git init &&
test_commit first) &&
git add submodule &&
test_tick &&
git commit -m superproject &&
(cd submodule &&
test_commit second) &&
git add submodule &&
test_tick &&
git commit -m updated.superproject
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule/.git/
[master (root-commit) 50e526b] first
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 first.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 <url> submodule
hint:
hint: If you added this path by mistake, you can remove it from the
hint: index with:
hint:
hint: git rm --cached submodule
hint:
hint: See "git help submodule" for more information.
[master (root-commit) 1844aa5] superproject
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 160000 submodule
[master d662100] second
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 second.t
[master 14e674f] updated.superproject
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
ok 1 - setup
expecting success of 2013.2 '"reset <submodule>" updates the index':
git update-index --refresh &&
git diff-files --quiet &&
git diff-index --quiet --cached HEAD &&
git reset HEAD^ submodule &&
test_must_fail git diff-files --quiet &&
git reset submodule &&
git diff-files --quiet
Unstaged changes after reset:
M submodule
ok 2 - "reset <submodule>" updates the index
expecting success of 2013.3 '"checkout <submodule>" updates the index only':
git update-index --refresh &&
git diff-files --quiet &&
git diff-index --quiet --cached HEAD &&
git checkout HEAD^ submodule &&
test_must_fail git diff-files --quiet &&
git checkout HEAD submodule &&
git diff-files --quiet
Updated 0 paths from f0404a9
Updated 0 paths from 29aef3d
ok 3 - "checkout <submodule>" updates the index only
expecting success of 2013.4 '"checkout <submodule>" honors diff.ignoreSubmodules':
git config diff.ignoreSubmodules dirty &&
echo x> submodule/untracked &&
git checkout HEAD >actual 2>&1 &&
test_must_be_empty actual
ok 4 - "checkout <submodule>" honors diff.ignoreSubmodules
expecting success of 2013.5 '"checkout <submodule>" honors submodule.*.ignore from .gitmodules':
git config diff.ignoreSubmodules none &&
git config -f .gitmodules submodule.submodule.path submodule &&
git config -f .gitmodules submodule.submodule.ignore untracked &&
git checkout HEAD >actual 2>&1 &&
test_must_be_empty actual
ok 5 - "checkout <submodule>" honors submodule.*.ignore from .gitmodules
expecting success of 2013.6 '"checkout <submodule>" honors submodule.*.ignore from .git/config':
git config -f .gitmodules submodule.submodule.ignore none &&
git config submodule.submodule.path submodule &&
git config submodule.submodule.ignore all &&
git checkout HEAD >actual 2>&1 &&
test_must_be_empty actual
ok 6 - "checkout <submodule>" honors submodule.*.ignore from .git/config
expecting success of 2013.7 'git checkout --recurse-submodules: added submodule is checked out':
prolog &&
reset_work_tree_to_interested no_submodule &&
(
cd submodule_update &&
git branch -t add_sub1 origin/add_sub1 &&
$command add_sub1 &&
test_superproject_content origin/add_sub1 &&
test_submodule_content sub1 origin/add_sub1
)
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update_sub1/.git/
[master (root-commit) f401f36] Base inside first submodule
Author: A U Thor <author@example.com>
3 files changed, 4 insertions(+)
create mode 100644 .gitignore
create mode 100644 file1
create mode 100644 file2
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update_sub2/.git/
[master (root-commit) f2c1bb9] nested submodule base
Author: A U Thor <author@example.com>
3 files changed, 4 insertions(+)
create mode 100644 .gitignore
create mode 100644 file1
create mode 100644 file2
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update_repo/.git/
[master (root-commit) 3950f7e] Base
Author: A U Thor <author@example.com>
3 files changed, 4 insertions(+)
create mode 100644 .gitignore
create mode 100644 file1
create mode 100644 file2
Switched to a new branch 'add_sub1'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update_repo/sub1'...
done.
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update_repo/uninitialized_sub'...
done.
[add_sub1 30024d7] Add sub1
Author: A U Thor <author@example.com>
2 files changed, 8 insertions(+)
create mode 100644 .gitmodules
create mode 160000 uninitialized_sub
Switched to a new branch 'remove_sub1'
Removing uninitialized_sub
Removing sub1
Removing .gitmodules
[remove_sub1 d6f9aa6] Revert "Add sub1"
Author: A U Thor <author@example.com>
Date: Thu Apr 7 15:14:13 2005 -0700
3 files changed, 9 deletions(-)
delete mode 100644 .gitmodules
delete mode 160000 sub1
delete mode 160000 uninitialized_sub
Switched to a new branch 'modify_sub1'
Switched to a new branch 'modifications'
[modifications e6d8148] modified file2 and added file3
Author: A U Thor <author@example.com>
2 files changed, 2 insertions(+), 1 deletion(-)
create mode 100644 file3
To /<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update_sub1
* [new branch] modifications -> modifications
[modify_sub1 1f84fbc] Modify sub1
Author: A U Thor <author@example.com>
Switched to a new branch 'add_nested_sub'
Switched to a new branch 'add_nested_sub'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update_repo/sub1/sub2'...
done.
[add_nested_sub 50491a1] add a nested submodule
Author: A U Thor <author@example.com>
2 files changed, 5 insertions(+)
create mode 100644 .gitmodules
create mode 160000 sub2
[add_nested_sub 6797720] update submodule, that updates a nested submodule
Author: A U Thor <author@example.com>
Switched to a new branch 'modify_sub1_recursively'
Switched to a new branch 'modify_sub1_recursively'
Switched to a new branch 'modify_sub1_recursively'
[modify_sub1_recursively 6788ca3] make a change in nested sub
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 file3
[modify_sub1_recursively 6cc4170] update nested sub
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
[modify_sub1_recursively 934e1af] update sub1, that updates nested sub
Author: A U Thor <author@example.com>
To /<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update_sub1
* [new branch] modify_sub1_recursively -> modify_sub1_recursively
To /<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update_sub2
* [new branch] modify_sub1_recursively -> modify_sub1_recursively
Cleared directory 'sub2'
Submodule 'sub2' (../submodule_update_sub2) unregistered for path 'sub2'
Switched to a new branch 'replace_sub1_with_directory'
Submodule path 'sub1': checked out 'f401f36f47a708c55a44c7f28d8948e9f8abac9f'
Previous HEAD position was f401f36 Base inside first submodule
Switched to branch 'modifications'
rm 'sub1'
[replace_sub1_with_directory 43c94e1] Replace sub1 with directory
Author: A U Thor <author@example.com>
5 files changed, 3 insertions(+), 5 deletions(-)
delete mode 160000 sub1
create mode 100644 sub1/file1
create mode 100644 sub1/file2
create mode 100644 sub1/file3
Switched to a new branch 'replace_directory_with_sub1'
Removing sub1/file3
Removing sub1/file2
Removing sub1/file1
Adding sub1
[replace_directory_with_sub1 2061bb3] Revert "Replace sub1 with directory"
Author: A U Thor <author@example.com>
Date: Thu Apr 7 15:14:13 2005 -0700
4 files changed, 4 insertions(+), 3 deletions(-)
delete mode 100644 sub1/file1
delete mode 100644 sub1/file2
delete mode 100644 sub1/file3
Switched to a new branch 'replace_sub1_with_file'
rm 'sub1'
[replace_sub1_with_file d4861a4] Replace sub1 with file
Author: A U Thor <author@example.com>
2 files changed, 1 insertion(+), 5 deletions(-)
mode change 160000 => 100644 sub1
Switched to a new branch 'replace_file_with_sub1'
[replace_file_with_sub1 cf98843] Revert "Replace sub1 with file"
Author: A U Thor <author@example.com>
Date: Thu Apr 7 15:14:13 2005 -0700
2 files changed, 5 insertions(+), 1 deletion(-)
mode change 100644 => 160000 sub1
Switched to a new branch 'invalid_sub1'
[invalid_sub1 cea73c0] Invalid sub1 commit
Author: A U Thor <author@example.com>
Switched to a new branch 'valid_sub1'
[valid_sub1 f248045] Revert "Invalid sub1 commit"
Author: A U Thor <author@example.com>
Date: Thu Apr 7 15:14:13 2005 -0700
warning: unable to rmdir 'uninitialized_sub': Directory not empty
Switched to branch 'master'
Cloning into 'submodule_update'...
done.
Switched to a new branch 'no_submodule'
Branch 'no_submodule' set up to track remote branch 'no_submodule' from 'origin'.
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
Switched to branch 'add_sub1'
Your branch is up to date with 'origin/add_sub1'.
ok 7 - git checkout --recurse-submodules: added submodule is checked out
expecting success of 2013.8 'git checkout --recurse-submodules: added submodule is checked out in empty dir':
prolog &&
reset_work_tree_to_interested no_submodule &&
(
cd submodule_update &&
mkdir sub1 &&
git branch -t add_sub1 origin/add_sub1 &&
$command add_sub1 &&
test_superproject_content origin/add_sub1 &&
test_submodule_content sub1 origin/add_sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'no_submodule'
Branch 'no_submodule' set up to track remote branch 'no_submodule' from 'origin'.
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
Switched to branch 'add_sub1'
Your branch is up to date with 'origin/add_sub1'.
ok 8 - git checkout --recurse-submodules: added submodule is checked out in empty dir
expecting success of 2013.9 'git checkout --recurse-submodules: replace tracked file with submodule checks out submodule':
prolog &&
reset_work_tree_to_interested replace_sub1_with_file &&
(
cd submodule_update &&
git branch -t replace_file_with_sub1 origin/replace_file_with_sub1 &&
$command replace_file_with_sub1 &&
test_superproject_content origin/replace_file_with_sub1 &&
test_submodule_content sub1 origin/replace_file_with_sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'replace_sub1_with_file'
Branch 'replace_sub1_with_file' set up to track remote branch 'replace_sub1_with_file' from 'origin'.
fatal: Needed a single revision
Branch 'replace_file_with_sub1' set up to track remote branch 'replace_file_with_sub1' from 'origin'.
Switched to branch 'replace_file_with_sub1'
Your branch is up to date with 'origin/replace_file_with_sub1'.
ok 9 - git checkout --recurse-submodules: replace tracked file with submodule checks out submodule
expecting success of 2013.10 'git checkout --recurse-submodules: replace directory with submodule':
prolog &&
reset_work_tree_to_interested replace_sub1_with_directory &&
(
cd submodule_update &&
git branch -t replace_directory_with_sub1 origin/replace_directory_with_sub1 &&
$command replace_directory_with_sub1 &&
test_superproject_content origin/replace_directory_with_sub1 &&
test_submodule_content sub1 origin/replace_directory_with_sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'replace_sub1_with_directory'
Branch 'replace_sub1_with_directory' set up to track remote branch 'replace_sub1_with_directory' from 'origin'.
fatal: Needed a single revision
Branch 'replace_directory_with_sub1' set up to track remote branch 'replace_directory_with_sub1' from 'origin'.
Switched to branch 'replace_directory_with_sub1'
Your branch is up to date with 'origin/replace_directory_with_sub1'.
ok 10 - git checkout --recurse-submodules: replace directory with submodule
expecting success of 2013.11 'git checkout --recurse-submodules: nested submodules are checked out':
prolog &&
reset_work_tree_to_interested no_submodule &&
(
cd submodule_update &&
git branch -t modify_sub1_recursively origin/modify_sub1_recursively &&
$command modify_sub1_recursively &&
test_superproject_content origin/modify_sub1_recursively &&
test_submodule_content sub1 origin/modify_sub1_recursively &&
test_submodule_content -C sub1 sub2 origin/modify_sub1_recursively
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'no_submodule'
Branch 'no_submodule' set up to track remote branch 'no_submodule' from 'origin'.
Branch 'modify_sub1_recursively' set up to track remote branch 'modify_sub1_recursively' from 'origin'.
Switched to branch 'modify_sub1_recursively'
Your branch is up to date with 'origin/modify_sub1_recursively'.
ok 11 - git checkout --recurse-submodules: nested submodules are checked out
expecting success of 2013.12 'git checkout --recurse-submodules: removed submodule removes submodules working tree':
prolog &&
reset_work_tree_to_interested add_sub1 &&
(
cd submodule_update &&
git branch -t remove_sub1 origin/remove_sub1 &&
$command remove_sub1 &&
test_superproject_content origin/remove_sub1 &&
! test -e sub1 &&
test_must_fail git config -f .git/modules/sub1/config core.worktree
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'add_sub1'
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update_sub1) registered for path 'sub1'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update/sub1'...
done.
Submodule path 'sub1': checked out 'f401f36f47a708c55a44c7f28d8948e9f8abac9f'
Branch 'remove_sub1' set up to track remote branch 'remove_sub1' from 'origin'.
Switched to branch 'remove_sub1'
Your branch is up to date with 'origin/remove_sub1'.
ok 12 - git checkout --recurse-submodules: removed submodule removes submodules working tree
expecting success of 2013.13 'git checkout --recurse-submodules: removed submodule absorbs submodules .git directory':
prolog &&
reset_work_tree_to_interested add_sub1 &&
(
cd submodule_update &&
git branch -t remove_sub1 origin/remove_sub1 &&
replace_gitfile_with_git_dir sub1 &&
rm -rf .git/modules &&
$command remove_sub1 &&
test_superproject_content origin/remove_sub1 &&
! test -e sub1 &&
test_git_directory_exists sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'add_sub1'
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update_sub1) registered for path 'sub1'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update/sub1'...
done.
Submodule path 'sub1': checked out 'f401f36f47a708c55a44c7f28d8948e9f8abac9f'
Branch 'remove_sub1' set up to track remote branch 'remove_sub1' from 'origin'.
Migrating git directory of 'sub1' from
'/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update/sub1/.git' to
'/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update/.git/modules/sub1'
Switched to branch 'remove_sub1'
Your branch is up to date with 'origin/remove_sub1'.
ok 13 - git checkout --recurse-submodules: removed submodule absorbs submodules .git directory
expecting success of 2013.14 'git checkout --recurse-submodules: replace submodule with a file':
prolog &&
reset_work_tree_to_interested add_sub1 &&
(
cd submodule_update &&
git branch -t replace_sub1_with_file origin/replace_sub1_with_file &&
$command replace_sub1_with_file &&
test_superproject_content origin/replace_sub1_with_file &&
test -f sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'add_sub1'
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update_sub1) registered for path 'sub1'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update/sub1'...
done.
Submodule path 'sub1': checked out 'f401f36f47a708c55a44c7f28d8948e9f8abac9f'
Branch 'replace_sub1_with_file' set up to track remote branch 'replace_sub1_with_file' from 'origin'.
Switched to branch 'replace_sub1_with_file'
Your branch is up to date with 'origin/replace_sub1_with_file'.
ok 14 - git checkout --recurse-submodules: replace submodule with a file
checking known breakage of 2013.15 'git checkout --recurse-submodules: replace submodule with a file must fail with untracked files':
prolog &&
reset_work_tree_to_interested add_sub1 &&
(
cd submodule_update &&
git branch -t replace_sub1_with_file origin/replace_sub1_with_file &&
: >sub1/untrackedfile &&
test_must_fail $command replace_sub1_with_file &&
test_superproject_content origin/add_sub1 &&
test_submodule_content sub1 origin/add_sub1 &&
test -f sub1/untracked_file
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'add_sub1'
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update_sub1) registered for path 'sub1'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update/sub1'...
done.
Submodule path 'sub1': checked out 'f401f36f47a708c55a44c7f28d8948e9f8abac9f'
Branch 'replace_sub1_with_file' set up to track remote branch 'replace_sub1_with_file' from 'origin'.
Switched to branch 'replace_sub1_with_file'
Your branch is up to date with 'origin/replace_sub1_with_file'.
test_must_fail: command succeeded: git checkout --recurse-submodules replace_sub1_with_file
not ok 15 - git checkout --recurse-submodules: replace submodule with a file must fail with untracked files # TODO known breakage
expecting success of 2013.16 'git checkout --recurse-submodules: worktrees of nested submodules are removed':
prolog &&
reset_work_tree_to_interested add_nested_sub &&
(
cd submodule_update &&
git branch -t no_submodule origin/no_submodule &&
$command no_submodule &&
test_superproject_content origin/no_submodule &&
! test_path_is_dir sub1 &&
test_must_fail git config -f .git/modules/sub1/config core.worktree &&
test_must_fail git config -f .git/modules/sub1/modules/sub2/config core.worktree
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'add_nested_sub'
Branch 'add_nested_sub' set up to track remote branch 'add_nested_sub' from 'origin'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update_sub1) registered for path 'sub1'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update/sub1'...
done.
Submodule path 'sub1': checked out '50491a1d91d7be663c2f0e01632adafaa8ad1784'
Submodule 'sub2' (/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update_sub2) registered for path 'sub1/sub2'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update/sub1/sub2'...
done.
Submodule path 'sub1/sub2': checked out 'f2c1bb97d8342b3950c464bac1b708b05cb363c0'
Branch 'no_submodule' set up to track remote branch 'no_submodule' from 'origin'.
Switched to branch 'no_submodule'
Your branch is up to date with 'origin/no_submodule'.
Directory sub1 doesn't exist.
ok 16 - git checkout --recurse-submodules: worktrees of nested submodules are removed
expecting success of 2013.17 'git checkout --recurse-submodules: modified submodule updates submodule work tree':
prolog &&
reset_work_tree_to_interested add_sub1 &&
(
cd submodule_update &&
git branch -t modify_sub1 origin/modify_sub1 &&
$command modify_sub1 &&
test_superproject_content origin/modify_sub1 &&
test_submodule_content sub1 origin/modify_sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'add_sub1'
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update_sub1) registered for path 'sub1'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update/sub1'...
done.
Submodule path 'sub1': checked out 'f401f36f47a708c55a44c7f28d8948e9f8abac9f'
Branch 'modify_sub1' set up to track remote branch 'modify_sub1' from 'origin'.
Switched to branch 'modify_sub1'
Your branch is up to date with 'origin/modify_sub1'.
ok 17 - git checkout --recurse-submodules: modified submodule updates submodule work tree
expecting success of 2013.18 'git checkout --recurse-submodules: updating to a missing submodule commit fails':
prolog &&
reset_work_tree_to_interested add_sub1 &&
(
cd submodule_update &&
git branch -t invalid_sub1 origin/invalid_sub1 &&
test_must_fail $command invalid_sub1 2>err &&
test_i18ngrep sub1 err &&
test_superproject_content origin/add_sub1 &&
test_submodule_content sub1 origin/add_sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'add_sub1'
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update_sub1) registered for path 'sub1'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update/sub1'...
done.
Submodule path 'sub1': checked out 'f401f36f47a708c55a44c7f28d8948e9f8abac9f'
Branch 'invalid_sub1' set up to track remote branch 'invalid_sub1' from 'origin'.
checking prerequisite: C_LOCALE_OUTPUT
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
! test_bool_env GIT_TEST_GETTEXT_POISON false
)
prerequisite C_LOCALE_OUTPUT ok
error: Submodule 'sub1' could not be updated.
sub1
ok 18 - git checkout --recurse-submodules: updating to a missing submodule commit fails
expecting success of 2013.19 'git checkout --recurse-submodules: submodule branch is not changed, detach HEAD instead':
prolog &&
reset_work_tree_to_interested add_sub1 &&
(
cd submodule_update &&
git -C sub1 checkout -b keep_branch &&
git -C sub1 rev-parse HEAD >expect &&
git branch -t modify_sub1 origin/modify_sub1 &&
$command modify_sub1 &&
test_superproject_content origin/modify_sub1 &&
test_submodule_content sub1 origin/modify_sub1 &&
git -C sub1 rev-parse keep_branch >actual &&
test_cmp expect actual &&
test_must_fail git -C sub1 symbolic-ref HEAD
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'add_sub1'
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update_sub1) registered for path 'sub1'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update/sub1'...
done.
Submodule path 'sub1': checked out 'f401f36f47a708c55a44c7f28d8948e9f8abac9f'
Switched to a new branch 'keep_branch'
Branch 'modify_sub1' set up to track remote branch 'modify_sub1' from 'origin'.
Switched to branch 'modify_sub1'
Your branch is up to date with 'origin/modify_sub1'.
fatal: ref HEAD is not a symbolic ref
ok 19 - git checkout --recurse-submodules: submodule branch is not changed, detach HEAD instead
expecting success of 2013.20 'git checkout --recurse-submodules: added submodule doesn't remove untracked file with same name':
prolog &&
reset_work_tree_to_interested no_submodule &&
(
cd submodule_update &&
git branch -t add_sub1 origin/add_sub1 &&
: >sub1 &&
test_must_fail $command add_sub1 &&
test_superproject_content origin/no_submodule &&
test_must_be_empty sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'no_submodule'
Branch 'no_submodule' set up to track remote branch 'no_submodule' from 'origin'.
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
error: The following untracked working tree files would be overwritten by checkout:
sub1
Please move or remove them before you switch branches.
Aborting
ok 20 - git checkout --recurse-submodules: added submodule doesn't remove untracked file with same name
expecting success of 2013.21 'git checkout --recurse-submodules: added submodule removes an untracked ignored file':
test_when_finished "rm submodule_update/.git/info/exclude" &&
prolog &&
reset_work_tree_to_interested no_submodule &&
(
cd submodule_update &&
git branch -t add_sub1 origin/add_sub1 &&
: >sub1 &&
echo sub1 >.git/info/exclude &&
$command add_sub1 &&
test_superproject_content origin/add_sub1 &&
test_submodule_content sub1 origin/add_sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'no_submodule'
Branch 'no_submodule' set up to track remote branch 'no_submodule' from 'origin'.
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
Switched to branch 'add_sub1'
Your branch is up to date with 'origin/add_sub1'.
ok 21 - git checkout --recurse-submodules: added submodule removes an untracked ignored file
checking known breakage of 2013.22 'git checkout --recurse-submodules: replace submodule with a directory':
prolog &&
reset_work_tree_to_interested add_sub1 &&
(
cd submodule_update &&
git branch -t replace_sub1_with_directory origin/replace_sub1_with_directory &&
$command replace_sub1_with_directory &&
test_superproject_content origin/replace_sub1_with_directory &&
test_submodule_content sub1 origin/replace_sub1_with_directory
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'add_sub1'
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update_sub1) registered for path 'sub1'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update/sub1'...
done.
Submodule path 'sub1': checked out 'f401f36f47a708c55a44c7f28d8948e9f8abac9f'
Branch 'replace_sub1_with_directory' set up to track remote branch 'replace_sub1_with_directory' from 'origin'.
error: The following untracked working tree files would be overwritten by checkout:
sub1/file1
sub1/file2
Please move or remove them before you switch branches.
Aborting
not ok 22 - git checkout --recurse-submodules: replace submodule with a directory # TODO known breakage
checking known breakage of 2013.23 'git checkout --recurse-submodules: replace submodule containing a .git directory with a directory must absorb the git dir':
prolog &&
reset_work_tree_to_interested add_sub1 &&
(
cd submodule_update &&
git branch -t replace_sub1_with_directory origin/replace_sub1_with_directory &&
replace_gitfile_with_git_dir sub1 &&
rm -rf .git/modules &&
$command replace_sub1_with_directory &&
test_superproject_content origin/replace_sub1_with_directory &&
test_git_directory_exists sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'add_sub1'
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update_sub1) registered for path 'sub1'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update/sub1'...
done.
Submodule path 'sub1': checked out 'f401f36f47a708c55a44c7f28d8948e9f8abac9f'
Branch 'replace_sub1_with_directory' set up to track remote branch 'replace_sub1_with_directory' from 'origin'.
error: The following untracked working tree files would be overwritten by checkout:
sub1/file1
sub1/file2
Please move or remove them before you switch branches.
Aborting
not ok 23 - git checkout --recurse-submodules: replace submodule containing a .git directory with a directory must absorb the git dir # TODO known breakage
expecting success of 2013.24 'git checkout --recurse-submodules: replace submodule with a file works ignores ignored files in submodule':
test_when_finished "rm submodule_update/.git/modules/sub1/info/exclude" &&
prolog &&
reset_work_tree_to_interested add_sub1 &&
(
cd submodule_update &&
git branch -t replace_sub1_with_file origin/replace_sub1_with_file &&
echo ignored >.git/modules/sub1/info/exclude &&
: >sub1/ignored &&
$command replace_sub1_with_file &&
test_superproject_content origin/replace_sub1_with_file &&
test -f sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'add_sub1'
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update_sub1) registered for path 'sub1'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update/sub1'...
done.
Submodule path 'sub1': checked out 'f401f36f47a708c55a44c7f28d8948e9f8abac9f'
Branch 'replace_sub1_with_file' set up to track remote branch 'replace_sub1_with_file' from 'origin'.
Switched to branch 'replace_sub1_with_file'
Your branch is up to date with 'origin/replace_sub1_with_file'.
ok 24 - git checkout --recurse-submodules: replace submodule with a file works ignores ignored files in submodule
expecting success of 2013.25 'git -c submodule.recurse=true checkout: modified submodule updates submodule work tree':
prolog &&
reset_work_tree_to_interested add_sub1 &&
(
cd submodule_update &&
git branch -t modify_sub1 origin/modify_sub1 &&
git -c submodule.recurse=true $cmd_args modify_sub1 &&
test_superproject_content origin/modify_sub1 &&
test_submodule_content sub1 origin/modify_sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'add_sub1'
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update_sub1) registered for path 'sub1'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update/sub1'...
done.
Submodule path 'sub1': checked out 'f401f36f47a708c55a44c7f28d8948e9f8abac9f'
Branch 'modify_sub1' set up to track remote branch 'modify_sub1' from 'origin'.
Switched to branch 'modify_sub1'
Your branch is up to date with 'origin/modify_sub1'.
ok 25 - git -c submodule.recurse=true checkout: modified submodule updates submodule work tree
expecting success of 2013.26 'git checkout --recurse-submodules: modified submodule updates submodule recursively':
prolog &&
reset_work_tree_to_interested add_nested_sub &&
(
cd submodule_update &&
git branch -t modify_sub1_recursively origin/modify_sub1_recursively &&
$command modify_sub1_recursively &&
test_superproject_content origin/modify_sub1_recursively &&
test_submodule_content sub1 origin/modify_sub1_recursively &&
test_submodule_content -C sub1 sub2 origin/modify_sub1_recursively
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'add_nested_sub'
Branch 'add_nested_sub' set up to track remote branch 'add_nested_sub' from 'origin'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update_sub1) registered for path 'sub1'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update/sub1'...
done.
Submodule path 'sub1': checked out '50491a1d91d7be663c2f0e01632adafaa8ad1784'
Submodule 'sub2' (/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update_sub2) registered for path 'sub1/sub2'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update/sub1/sub2'...
done.
Submodule path 'sub1/sub2': checked out 'f2c1bb97d8342b3950c464bac1b708b05cb363c0'
Branch 'modify_sub1_recursively' set up to track remote branch 'modify_sub1_recursively' from 'origin'.
Switched to branch 'modify_sub1_recursively'
Your branch is up to date with 'origin/modify_sub1_recursively'.
ok 26 - git checkout --recurse-submodules: modified submodule updates submodule recursively
expecting success of 2013.27 'git checkout -f --recurse-submodules: added submodule is checked out':
prolog &&
reset_work_tree_to_interested no_submodule &&
(
cd submodule_update &&
git branch -t add_sub1 origin/add_sub1 &&
$command add_sub1 &&
test_superproject_content origin/add_sub1 &&
test_submodule_content sub1 origin/add_sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'no_submodule'
Branch 'no_submodule' set up to track remote branch 'no_submodule' from 'origin'.
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
Switched to branch 'add_sub1'
Your branch is up to date with 'origin/add_sub1'.
ok 27 - git checkout -f --recurse-submodules: added submodule is checked out
expecting success of 2013.28 'git checkout -f --recurse-submodules: added submodule is checked out in empty dir':
prolog &&
reset_work_tree_to_interested no_submodule &&
(
cd submodule_update &&
mkdir sub1 &&
git branch -t add_sub1 origin/add_sub1 &&
$command add_sub1 &&
test_superproject_content origin/add_sub1 &&
test_submodule_content sub1 origin/add_sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'no_submodule'
Branch 'no_submodule' set up to track remote branch 'no_submodule' from 'origin'.
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
Switched to branch 'add_sub1'
Your branch is up to date with 'origin/add_sub1'.
ok 28 - git checkout -f --recurse-submodules: added submodule is checked out in empty dir
expecting success of 2013.29 'git checkout -f --recurse-submodules: replace tracked file with submodule checks out submodule':
prolog &&
reset_work_tree_to_interested replace_sub1_with_file &&
(
cd submodule_update &&
git branch -t replace_file_with_sub1 origin/replace_file_with_sub1 &&
$command replace_file_with_sub1 &&
test_superproject_content origin/replace_file_with_sub1 &&
test_submodule_content sub1 origin/replace_file_with_sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'replace_sub1_with_file'
Branch 'replace_sub1_with_file' set up to track remote branch 'replace_sub1_with_file' from 'origin'.
fatal: Needed a single revision
Branch 'replace_file_with_sub1' set up to track remote branch 'replace_file_with_sub1' from 'origin'.
Switched to branch 'replace_file_with_sub1'
Your branch is up to date with 'origin/replace_file_with_sub1'.
ok 29 - git checkout -f --recurse-submodules: replace tracked file with submodule checks out submodule
expecting success of 2013.30 'git checkout -f --recurse-submodules: replace directory with submodule':
prolog &&
reset_work_tree_to_interested replace_sub1_with_directory &&
(
cd submodule_update &&
git branch -t replace_directory_with_sub1 origin/replace_directory_with_sub1 &&
$command replace_directory_with_sub1 &&
test_superproject_content origin/replace_directory_with_sub1 &&
test_submodule_content sub1 origin/replace_directory_with_sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'replace_sub1_with_directory'
Branch 'replace_sub1_with_directory' set up to track remote branch 'replace_sub1_with_directory' from 'origin'.
fatal: Needed a single revision
Branch 'replace_directory_with_sub1' set up to track remote branch 'replace_directory_with_sub1' from 'origin'.
Switched to branch 'replace_directory_with_sub1'
Your branch is up to date with 'origin/replace_directory_with_sub1'.
ok 30 - git checkout -f --recurse-submodules: replace directory with submodule
expecting success of 2013.31 'git checkout -f --recurse-submodules: nested submodules are checked out':
prolog &&
reset_work_tree_to_interested no_submodule &&
(
cd submodule_update &&
git branch -t modify_sub1_recursively origin/modify_sub1_recursively &&
$command modify_sub1_recursively &&
test_superproject_content origin/modify_sub1_recursively &&
test_submodule_content sub1 origin/modify_sub1_recursively &&
test_submodule_content -C sub1 sub2 origin/modify_sub1_recursively
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'no_submodule'
Branch 'no_submodule' set up to track remote branch 'no_submodule' from 'origin'.
Branch 'modify_sub1_recursively' set up to track remote branch 'modify_sub1_recursively' from 'origin'.
Switched to branch 'modify_sub1_recursively'
Your branch is up to date with 'origin/modify_sub1_recursively'.
ok 31 - git checkout -f --recurse-submodules: nested submodules are checked out
expecting success of 2013.32 'git checkout -f --recurse-submodules: removed submodule removes submodules working tree':
prolog &&
reset_work_tree_to_interested add_sub1 &&
(
cd submodule_update &&
git branch -t remove_sub1 origin/remove_sub1 &&
$command remove_sub1 &&
test_superproject_content origin/remove_sub1 &&
! test -e sub1 &&
test_must_fail git config -f .git/modules/sub1/config core.worktree
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'add_sub1'
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update_sub1) registered for path 'sub1'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update/sub1'...
done.
Submodule path 'sub1': checked out 'f401f36f47a708c55a44c7f28d8948e9f8abac9f'
Branch 'remove_sub1' set up to track remote branch 'remove_sub1' from 'origin'.
Switched to branch 'remove_sub1'
Your branch is up to date with 'origin/remove_sub1'.
ok 32 - git checkout -f --recurse-submodules: removed submodule removes submodules working tree
expecting success of 2013.33 'git checkout -f --recurse-submodules: removed submodule absorbs submodules .git directory':
prolog &&
reset_work_tree_to_interested add_sub1 &&
(
cd submodule_update &&
git branch -t remove_sub1 origin/remove_sub1 &&
replace_gitfile_with_git_dir sub1 &&
rm -rf .git/modules &&
$command remove_sub1 &&
test_superproject_content origin/remove_sub1 &&
! test -e sub1 &&
test_git_directory_exists sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'add_sub1'
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update_sub1) registered for path 'sub1'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update/sub1'...
done.
Submodule path 'sub1': checked out 'f401f36f47a708c55a44c7f28d8948e9f8abac9f'
Branch 'remove_sub1' set up to track remote branch 'remove_sub1' from 'origin'.
Migrating git directory of 'sub1' from
'/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update/sub1/.git' to
'/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update/.git/modules/sub1'
Switched to branch 'remove_sub1'
Your branch is up to date with 'origin/remove_sub1'.
ok 33 - git checkout -f --recurse-submodules: removed submodule absorbs submodules .git directory
expecting success of 2013.34 'git checkout -f --recurse-submodules: replace submodule with a file':
prolog &&
reset_work_tree_to_interested add_sub1 &&
(
cd submodule_update &&
git branch -t replace_sub1_with_file origin/replace_sub1_with_file &&
$command replace_sub1_with_file &&
test_superproject_content origin/replace_sub1_with_file &&
test -f sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'add_sub1'
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update_sub1) registered for path 'sub1'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update/sub1'...
done.
Submodule path 'sub1': checked out 'f401f36f47a708c55a44c7f28d8948e9f8abac9f'
Branch 'replace_sub1_with_file' set up to track remote branch 'replace_sub1_with_file' from 'origin'.
Switched to branch 'replace_sub1_with_file'
Your branch is up to date with 'origin/replace_sub1_with_file'.
ok 34 - git checkout -f --recurse-submodules: replace submodule with a file
checking known breakage of 2013.35 'git checkout -f --recurse-submodules: replace submodule with a file must fail with untracked files':
prolog &&
reset_work_tree_to_interested add_sub1 &&
(
cd submodule_update &&
git branch -t replace_sub1_with_file origin/replace_sub1_with_file &&
: >sub1/untrackedfile &&
test_must_fail $command replace_sub1_with_file &&
test_superproject_content origin/add_sub1 &&
test_submodule_content sub1 origin/add_sub1 &&
test -f sub1/untracked_file
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'add_sub1'
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update_sub1) registered for path 'sub1'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update/sub1'...
done.
Submodule path 'sub1': checked out 'f401f36f47a708c55a44c7f28d8948e9f8abac9f'
Branch 'replace_sub1_with_file' set up to track remote branch 'replace_sub1_with_file' from 'origin'.
Switched to branch 'replace_sub1_with_file'
Your branch is up to date with 'origin/replace_sub1_with_file'.
test_must_fail: command succeeded: git checkout -f --recurse-submodules replace_sub1_with_file
not ok 35 - git checkout -f --recurse-submodules: replace submodule with a file must fail with untracked files # TODO known breakage
expecting success of 2013.36 'git checkout -f --recurse-submodules: worktrees of nested submodules are removed':
prolog &&
reset_work_tree_to_interested add_nested_sub &&
(
cd submodule_update &&
git branch -t no_submodule origin/no_submodule &&
$command no_submodule &&
test_superproject_content origin/no_submodule &&
! test_path_is_dir sub1 &&
test_must_fail git config -f .git/modules/sub1/config core.worktree &&
test_must_fail git config -f .git/modules/sub1/modules/sub2/config core.worktree
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'add_nested_sub'
Branch 'add_nested_sub' set up to track remote branch 'add_nested_sub' from 'origin'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update_sub1) registered for path 'sub1'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update/sub1'...
done.
Submodule path 'sub1': checked out '50491a1d91d7be663c2f0e01632adafaa8ad1784'
Submodule 'sub2' (/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update_sub2) registered for path 'sub1/sub2'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update/sub1/sub2'...
done.
Submodule path 'sub1/sub2': checked out 'f2c1bb97d8342b3950c464bac1b708b05cb363c0'
Branch 'no_submodule' set up to track remote branch 'no_submodule' from 'origin'.
Switched to branch 'no_submodule'
Your branch is up to date with 'origin/no_submodule'.
Directory sub1 doesn't exist.
ok 36 - git checkout -f --recurse-submodules: worktrees of nested submodules are removed
expecting success of 2013.37 'git checkout -f --recurse-submodules: modified submodule updates submodule work tree':
prolog &&
reset_work_tree_to_interested add_sub1 &&
(
cd submodule_update &&
git branch -t modify_sub1 origin/modify_sub1 &&
$command modify_sub1 &&
test_superproject_content origin/modify_sub1 &&
test_submodule_content sub1 origin/modify_sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'add_sub1'
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update_sub1) registered for path 'sub1'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update/sub1'...
done.
Submodule path 'sub1': checked out 'f401f36f47a708c55a44c7f28d8948e9f8abac9f'
Branch 'modify_sub1' set up to track remote branch 'modify_sub1' from 'origin'.
Switched to branch 'modify_sub1'
Your branch is up to date with 'origin/modify_sub1'.
ok 37 - git checkout -f --recurse-submodules: modified submodule updates submodule work tree
expecting success of 2013.38 'git checkout -f --recurse-submodules: updating to a missing submodule commit fails':
prolog &&
reset_work_tree_to_interested add_sub1 &&
(
cd submodule_update &&
git branch -t invalid_sub1 origin/invalid_sub1 &&
test_must_fail $command invalid_sub1 2>err &&
test_i18ngrep sub1 err &&
test_superproject_content origin/add_sub1 &&
test_submodule_content sub1 origin/add_sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'add_sub1'
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update_sub1) registered for path 'sub1'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update/sub1'...
done.
Submodule path 'sub1': checked out 'f401f36f47a708c55a44c7f28d8948e9f8abac9f'
Branch 'invalid_sub1' set up to track remote branch 'invalid_sub1' from 'origin'.
checking prerequisite: C_LOCALE_OUTPUT
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
! test_bool_env GIT_TEST_GETTEXT_POISON false
)
prerequisite C_LOCALE_OUTPUT ok
error: Submodule 'sub1' could not be updated.
error: Submodule 'sub1' cannot checkout new HEAD.
ok 38 - git checkout -f --recurse-submodules: updating to a missing submodule commit fails
expecting success of 2013.39 'git checkout -f --recurse-submodules: submodule branch is not changed, detach HEAD instead':
prolog &&
reset_work_tree_to_interested add_sub1 &&
(
cd submodule_update &&
git -C sub1 checkout -b keep_branch &&
git -C sub1 rev-parse HEAD >expect &&
git branch -t modify_sub1 origin/modify_sub1 &&
$command modify_sub1 &&
test_superproject_content origin/modify_sub1 &&
test_submodule_content sub1 origin/modify_sub1 &&
git -C sub1 rev-parse keep_branch >actual &&
test_cmp expect actual &&
test_must_fail git -C sub1 symbolic-ref HEAD
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'add_sub1'
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update_sub1) registered for path 'sub1'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update/sub1'...
done.
Submodule path 'sub1': checked out 'f401f36f47a708c55a44c7f28d8948e9f8abac9f'
Switched to a new branch 'keep_branch'
Branch 'modify_sub1' set up to track remote branch 'modify_sub1' from 'origin'.
Switched to branch 'modify_sub1'
Your branch is up to date with 'origin/modify_sub1'.
fatal: ref HEAD is not a symbolic ref
ok 39 - git checkout -f --recurse-submodules: submodule branch is not changed, detach HEAD instead
expecting success of 2013.40 'git checkout -f --recurse-submodules: added submodule does remove untracked unignored file with same name when forced':
prolog &&
reset_work_tree_to_interested no_submodule &&
(
cd submodule_update &&
git branch -t add_sub1 origin/add_sub1 &&
>sub1 &&
$command add_sub1 &&
test_superproject_content origin/add_sub1 &&
test_submodule_content sub1 origin/add_sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'no_submodule'
Branch 'no_submodule' set up to track remote branch 'no_submodule' from 'origin'.
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
Switched to branch 'add_sub1'
Your branch is up to date with 'origin/add_sub1'.
ok 40 - git checkout -f --recurse-submodules: added submodule does remove untracked unignored file with same name when forced
expecting success of 2013.41 'git checkout -f --recurse-submodules: replace submodule with a directory':
prolog &&
reset_work_tree_to_interested add_sub1 &&
(
cd submodule_update &&
git branch -t replace_sub1_with_directory origin/replace_sub1_with_directory &&
$command replace_sub1_with_directory &&
test_superproject_content origin/replace_sub1_with_directory
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'add_sub1'
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update_sub1) registered for path 'sub1'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update/sub1'...
done.
Submodule path 'sub1': checked out 'f401f36f47a708c55a44c7f28d8948e9f8abac9f'
Branch 'replace_sub1_with_directory' set up to track remote branch 'replace_sub1_with_directory' from 'origin'.
Switched to branch 'replace_sub1_with_directory'
Your branch is up to date with 'origin/replace_sub1_with_directory'.
ok 41 - git checkout -f --recurse-submodules: replace submodule with a directory
expecting success of 2013.42 'git checkout -f --recurse-submodules: replace submodule containing a .git directory with a directory must fail':
prolog &&
reset_work_tree_to_interested add_sub1 &&
(
cd submodule_update &&
git branch -t replace_sub1_with_directory origin/replace_sub1_with_directory &&
replace_gitfile_with_git_dir sub1 &&
rm -rf .git/modules/sub1 &&
$command replace_sub1_with_directory &&
test_superproject_content origin/replace_sub1_with_directory &&
test_git_directory_exists sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'add_sub1'
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update_sub1) registered for path 'sub1'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update/sub1'...
done.
Submodule path 'sub1': checked out 'f401f36f47a708c55a44c7f28d8948e9f8abac9f'
Branch 'replace_sub1_with_directory' set up to track remote branch 'replace_sub1_with_directory' from 'origin'.
Migrating git directory of 'sub1' from
'/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update/sub1/.git' to
'/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update/.git/modules/sub1'
Switched to branch 'replace_sub1_with_directory'
Your branch is up to date with 'origin/replace_sub1_with_directory'.
ok 42 - git checkout -f --recurse-submodules: replace submodule containing a .git directory with a directory must fail
expecting success of 2013.43 'git checkout -f --recurse-submodules: replace submodule with a file ignoring ignored files':
prolog &&
reset_work_tree_to_interested add_sub1 &&
(
cd submodule_update &&
git branch -t replace_sub1_with_file origin/replace_sub1_with_file &&
: >sub1/expect &&
$command replace_sub1_with_file &&
test_superproject_content origin/replace_sub1_with_file
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'add_sub1'
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update_sub1) registered for path 'sub1'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update/sub1'...
done.
Submodule path 'sub1': checked out 'f401f36f47a708c55a44c7f28d8948e9f8abac9f'
Branch 'replace_sub1_with_file' set up to track remote branch 'replace_sub1_with_file' from 'origin'.
Switched to branch 'replace_sub1_with_file'
Your branch is up to date with 'origin/replace_sub1_with_file'.
ok 43 - git checkout -f --recurse-submodules: replace submodule with a file ignoring ignored files
expecting success of 2013.44 'git checkout -f --recurse-submodules: modified submodule does update submodule work tree from invalid commit':
prolog &&
reset_work_tree_to_interested invalid_sub1 &&
(
cd submodule_update &&
git branch -t valid_sub1 origin/valid_sub1 &&
$command valid_sub1 &&
test_superproject_content origin/valid_sub1 &&
test_submodule_content sub1 origin/valid_sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'invalid_sub1'
Branch 'invalid_sub1' set up to track remote branch 'invalid_sub1' from 'origin'.
fatal: Needed a single revision
Branch 'valid_sub1' set up to track remote branch 'valid_sub1' from 'origin'.
Switched to branch 'valid_sub1'
Your branch is up to date with 'origin/valid_sub1'.
ok 44 - git checkout -f --recurse-submodules: modified submodule does update submodule work tree from invalid commit
expecting success of 2013.45 'git checkout -f --recurse-submodules: updating submodules fixes .git links':
prolog &&
reset_work_tree_to_interested add_sub1 &&
(
cd submodule_update &&
git branch -t modify_sub1 origin/modify_sub1 &&
echo "gitdir: bogus/path" >sub1/.git &&
$command modify_sub1 &&
test_superproject_content origin/modify_sub1 &&
test_submodule_content sub1 origin/modify_sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'add_sub1'
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update_sub1) registered for path 'sub1'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update/sub1'...
done.
Submodule path 'sub1': checked out 'f401f36f47a708c55a44c7f28d8948e9f8abac9f'
Branch 'modify_sub1' set up to track remote branch 'modify_sub1' from 'origin'.
Switched to branch 'modify_sub1'
Your branch is up to date with 'origin/modify_sub1'.
ok 45 - git checkout -f --recurse-submodules: updating submodules fixes .git links
expecting success of 2013.46 'git checkout -f --recurse-submodules: changed submodule worktree is reset':
prolog &&
reset_work_tree_to_interested add_sub1 &&
(
cd submodule_update &&
rm sub1/file1 &&
: >sub1/new_file &&
git -C sub1 add new_file &&
$command HEAD &&
test_path_is_file sub1/file1 &&
test_path_is_missing sub1/new_file
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'add_sub1'
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update_sub1) registered for path 'sub1'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update/sub1'...
done.
Submodule path 'sub1': checked out 'f401f36f47a708c55a44c7f28d8948e9f8abac9f'
Your branch is up to date with 'origin/add_sub1'.
ok 46 - git checkout -f --recurse-submodules: changed submodule worktree is reset
expecting success of 2013.47 'git checkout: added submodule creates empty directory':
prolog &&
reset_work_tree_to no_submodule &&
(
cd submodule_update &&
git branch -t add_sub1 origin/add_sub1 &&
$command add_sub1 &&
test_superproject_content origin/add_sub1 &&
test_dir_is_empty sub1 &&
git submodule update --init --recursive &&
test_submodule_content sub1 origin/add_sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'no_submodule'
Branch 'no_submodule' set up to track remote branch 'no_submodule' from 'origin'.
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
Switched to branch 'add_sub1'
Your branch is up to date with 'origin/add_sub1'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update_sub1) registered for path 'sub1'
Submodule 'uninitialized_sub' (/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update_sub1) registered for path 'uninitialized_sub'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update/sub1'...
done.
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update/uninitialized_sub'...
done.
Submodule path 'sub1': checked out 'f401f36f47a708c55a44c7f28d8948e9f8abac9f'
Submodule path 'uninitialized_sub': checked out 'f401f36f47a708c55a44c7f28d8948e9f8abac9f'
ok 47 - git checkout: added submodule creates empty directory
expecting success of 2013.48 'git checkout: added submodule leaves existing empty directory alone':
prolog &&
reset_work_tree_to no_submodule &&
(
cd submodule_update &&
mkdir sub1 &&
git branch -t add_sub1 origin/add_sub1 &&
$command add_sub1 &&
test_superproject_content origin/add_sub1 &&
test_dir_is_empty sub1 &&
git submodule update --init --recursive &&
test_submodule_content sub1 origin/add_sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'no_submodule'
Branch 'no_submodule' set up to track remote branch 'no_submodule' from 'origin'.
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
Switched to branch 'add_sub1'
Your branch is up to date with 'origin/add_sub1'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update_sub1) registered for path 'sub1'
Submodule 'uninitialized_sub' (/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update_sub1) registered for path 'uninitialized_sub'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update/sub1'...
done.
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update/uninitialized_sub'...
done.
Submodule path 'sub1': checked out 'f401f36f47a708c55a44c7f28d8948e9f8abac9f'
Submodule path 'uninitialized_sub': checked out 'f401f36f47a708c55a44c7f28d8948e9f8abac9f'
ok 48 - git checkout: added submodule leaves existing empty directory alone
expecting success of 2013.49 'git checkout: replace tracked file with submodule creates empty directory':
prolog &&
reset_work_tree_to replace_sub1_with_file &&
(
cd submodule_update &&
git branch -t replace_file_with_sub1 origin/replace_file_with_sub1 &&
$command replace_file_with_sub1 &&
test_superproject_content origin/replace_file_with_sub1 &&
test_dir_is_empty sub1 &&
git submodule update --init --recursive &&
test_submodule_content sub1 origin/replace_file_with_sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'replace_sub1_with_file'
Branch 'replace_sub1_with_file' set up to track remote branch 'replace_sub1_with_file' from 'origin'.
fatal: Needed a single revision
Branch 'replace_file_with_sub1' set up to track remote branch 'replace_file_with_sub1' from 'origin'.
Switched to branch 'replace_file_with_sub1'
Your branch is up to date with 'origin/replace_file_with_sub1'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update_sub1) registered for path 'sub1'
Submodule 'uninitialized_sub' (/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update_sub1) registered for path 'uninitialized_sub'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update/sub1'...
done.
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update/uninitialized_sub'...
done.
Submodule path 'sub1': checked out 'f401f36f47a708c55a44c7f28d8948e9f8abac9f'
Submodule path 'uninitialized_sub': checked out 'f401f36f47a708c55a44c7f28d8948e9f8abac9f'
ok 49 - git checkout: replace tracked file with submodule creates empty directory
expecting success of 2013.50 'git checkout: replace directory with submodule':
prolog &&
reset_work_tree_to replace_sub1_with_directory &&
(
cd submodule_update &&
git branch -t replace_directory_with_sub1 origin/replace_directory_with_sub1 &&
$command replace_directory_with_sub1 &&
test_superproject_content origin/replace_directory_with_sub1 &&
test_dir_is_empty sub1 &&
git submodule update --init --recursive &&
test_submodule_content sub1 origin/replace_directory_with_sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'replace_sub1_with_directory'
Branch 'replace_sub1_with_directory' set up to track remote branch 'replace_sub1_with_directory' from 'origin'.
fatal: Needed a single revision
Branch 'replace_directory_with_sub1' set up to track remote branch 'replace_directory_with_sub1' from 'origin'.
Switched to branch 'replace_directory_with_sub1'
Your branch is up to date with 'origin/replace_directory_with_sub1'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update_sub1) registered for path 'sub1'
Submodule 'uninitialized_sub' (/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update_sub1) registered for path 'uninitialized_sub'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update/sub1'...
done.
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update/uninitialized_sub'...
done.
Submodule path 'sub1': checked out 'f401f36f47a708c55a44c7f28d8948e9f8abac9f'
Submodule path 'uninitialized_sub': checked out 'f401f36f47a708c55a44c7f28d8948e9f8abac9f'
ok 50 - git checkout: replace directory with submodule
expecting success of 2013.51 'git checkout: removed submodule leaves submodule directory and its contents in place':
prolog &&
reset_work_tree_to add_sub1 &&
(
cd submodule_update &&
git branch -t remove_sub1 origin/remove_sub1 &&
$command remove_sub1 &&
test_superproject_content origin/remove_sub1 &&
test_submodule_content sub1 origin/add_sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'add_sub1'
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update_sub1) registered for path 'sub1'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update/sub1'...
done.
Submodule path 'sub1': checked out 'f401f36f47a708c55a44c7f28d8948e9f8abac9f'
Branch 'remove_sub1' set up to track remote branch 'remove_sub1' from 'origin'.
warning: unable to rmdir 'sub1': Directory not empty
Switched to branch 'remove_sub1'
Your branch is up to date with 'origin/remove_sub1'.
ok 51 - git checkout: removed submodule leaves submodule directory and its contents in place
expecting success of 2013.52 'git checkout: removed submodule leaves submodule containing a .git directory alone':
prolog &&
reset_work_tree_to add_sub1 &&
(
cd submodule_update &&
git branch -t remove_sub1 origin/remove_sub1 &&
replace_gitfile_with_git_dir sub1 &&
$command remove_sub1 &&
test_superproject_content origin/remove_sub1 &&
test_git_directory_is_unchanged sub1 &&
test_submodule_content sub1 origin/add_sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'add_sub1'
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update_sub1) registered for path 'sub1'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update/sub1'...
done.
Submodule path 'sub1': checked out 'f401f36f47a708c55a44c7f28d8948e9f8abac9f'
Branch 'remove_sub1' set up to track remote branch 'remove_sub1' from 'origin'.
warning: unable to rmdir 'sub1': Directory not empty
Switched to branch 'remove_sub1'
Your branch is up to date with 'origin/remove_sub1'.
ok 52 - git checkout: removed submodule leaves submodule containing a .git directory alone
expecting success of 2013.53 'git checkout: replace submodule with a directory must fail':
prolog &&
reset_work_tree_to add_sub1 &&
(
cd submodule_update &&
git branch -t replace_sub1_with_directory origin/replace_sub1_with_directory &&
test_must_fail $command replace_sub1_with_directory &&
test_superproject_content origin/add_sub1 &&
test_submodule_content sub1 origin/add_sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'add_sub1'
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update_sub1) registered for path 'sub1'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update/sub1'...
done.
Submodule path 'sub1': checked out 'f401f36f47a708c55a44c7f28d8948e9f8abac9f'
Branch 'replace_sub1_with_directory' set up to track remote branch 'replace_sub1_with_directory' from 'origin'.
error: The following untracked working tree files would be overwritten by checkout:
sub1/file1
sub1/file2
Please move or remove them before you switch branches.
Aborting
ok 53 - git checkout: replace submodule with a directory must fail
expecting success of 2013.54 'git checkout: replace submodule containing a .git directory with a directory must fail':
prolog &&
reset_work_tree_to add_sub1 &&
(
cd submodule_update &&
git branch -t replace_sub1_with_directory origin/replace_sub1_with_directory &&
replace_gitfile_with_git_dir sub1 &&
test_must_fail $command replace_sub1_with_directory &&
test_superproject_content origin/add_sub1 &&
test_git_directory_is_unchanged sub1 &&
test_submodule_content sub1 origin/add_sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'add_sub1'
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update_sub1) registered for path 'sub1'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update/sub1'...
done.
Submodule path 'sub1': checked out 'f401f36f47a708c55a44c7f28d8948e9f8abac9f'
Branch 'replace_sub1_with_directory' set up to track remote branch 'replace_sub1_with_directory' from 'origin'.
error: The following untracked working tree files would be overwritten by checkout:
sub1/file1
sub1/file2
Please move or remove them before you switch branches.
Aborting
ok 54 - git checkout: replace submodule containing a .git directory with a directory must fail
checking known breakage of 2013.55 'git checkout: replace submodule with a file must fail':
prolog &&
reset_work_tree_to add_sub1 &&
(
cd submodule_update &&
git branch -t replace_sub1_with_file origin/replace_sub1_with_file &&
test_must_fail $command replace_sub1_with_file &&
test_superproject_content origin/add_sub1 &&
test_submodule_content sub1 origin/add_sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'add_sub1'
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update_sub1) registered for path 'sub1'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update/sub1'...
done.
Submodule path 'sub1': checked out 'f401f36f47a708c55a44c7f28d8948e9f8abac9f'
Branch 'replace_sub1_with_file' set up to track remote branch 'replace_sub1_with_file' from 'origin'.
Switched to branch 'replace_sub1_with_file'
Your branch is up to date with 'origin/replace_sub1_with_file'.
test_must_fail: command succeeded: git checkout replace_sub1_with_file
not ok 55 - git checkout: replace submodule with a file must fail # TODO known breakage
checking known breakage of 2013.56 'git checkout: replace submodule containing a .git directory with a file must fail':
prolog &&
reset_work_tree_to add_sub1 &&
(
cd submodule_update &&
git branch -t replace_sub1_with_file origin/replace_sub1_with_file &&
replace_gitfile_with_git_dir sub1 &&
test_must_fail $command replace_sub1_with_file &&
test_superproject_content origin/add_sub1 &&
test_git_directory_is_unchanged sub1 &&
test_submodule_content sub1 origin/add_sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'add_sub1'
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update_sub1) registered for path 'sub1'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update/sub1'...
done.
Submodule path 'sub1': checked out 'f401f36f47a708c55a44c7f28d8948e9f8abac9f'
Branch 'replace_sub1_with_file' set up to track remote branch 'replace_sub1_with_file' from 'origin'.
Switched to branch 'replace_sub1_with_file'
Your branch is up to date with 'origin/replace_sub1_with_file'.
test_must_fail: command succeeded: git checkout replace_sub1_with_file
not ok 56 - git checkout: replace submodule containing a .git directory with a file must fail # TODO known breakage
expecting success of 2013.57 'git checkout: modified submodule does not update submodule work tree':
prolog &&
reset_work_tree_to add_sub1 &&
(
cd submodule_update &&
git branch -t modify_sub1 origin/modify_sub1 &&
$command modify_sub1 &&
test_superproject_content origin/modify_sub1 &&
test_submodule_content sub1 origin/add_sub1 &&
git submodule update &&
test_submodule_content sub1 origin/modify_sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'add_sub1'
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update_sub1) registered for path 'sub1'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update/sub1'...
done.
Submodule path 'sub1': checked out 'f401f36f47a708c55a44c7f28d8948e9f8abac9f'
Branch 'modify_sub1' set up to track remote branch 'modify_sub1' from 'origin'.
Switched to branch 'modify_sub1'
Your branch is up to date with 'origin/modify_sub1'.
Submodule path 'sub1': checked out 'e6d8148a306c904a34344fac267f4613e698d228'
ok 57 - git checkout: modified submodule does not update submodule work tree
expecting success of 2013.58 'git checkout: modified submodule does not update submodule work tree to invalid commit':
prolog &&
reset_work_tree_to add_sub1 &&
(
cd submodule_update &&
git branch -t invalid_sub1 origin/invalid_sub1 &&
$command invalid_sub1 &&
test_superproject_content origin/invalid_sub1 &&
test_submodule_content sub1 origin/add_sub1 &&
test_must_fail git submodule update &&
test_submodule_content sub1 origin/add_sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'add_sub1'
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update_sub1) registered for path 'sub1'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update/sub1'...
done.
Submodule path 'sub1': checked out 'f401f36f47a708c55a44c7f28d8948e9f8abac9f'
Branch 'invalid_sub1' set up to track remote branch 'invalid_sub1' from 'origin'.
Switched to branch 'invalid_sub1'
Your branch is up to date with 'origin/invalid_sub1'.
error: Server does not allow request for unadvertised object 0123456789012345678901234567890123456789
Fetched in submodule path 'sub1', but it did not contain 0123456789012345678901234567890123456789. Direct fetching of that commit failed.
ok 58 - git checkout: modified submodule does not update submodule work tree to invalid commit
expecting success of 2013.59 'git checkout: modified submodule does not update submodule work tree from invalid commit':
prolog &&
reset_work_tree_to invalid_sub1 &&
(
cd submodule_update &&
git branch -t valid_sub1 origin/valid_sub1 &&
$command valid_sub1 &&
test_superproject_content origin/valid_sub1 &&
test_dir_is_empty sub1 &&
git submodule update --init --recursive &&
test_submodule_content sub1 origin/valid_sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'invalid_sub1'
Branch 'invalid_sub1' set up to track remote branch 'invalid_sub1' from 'origin'.
fatal: Needed a single revision
Branch 'valid_sub1' set up to track remote branch 'valid_sub1' from 'origin'.
Switched to branch 'valid_sub1'
Your branch is up to date with 'origin/valid_sub1'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update_sub1) registered for path 'sub1'
Submodule 'uninitialized_sub' (/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update_sub1) registered for path 'uninitialized_sub'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update/sub1'...
done.
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update/uninitialized_sub'...
done.
Submodule path 'sub1': checked out 'f401f36f47a708c55a44c7f28d8948e9f8abac9f'
Submodule path 'uninitialized_sub': checked out 'f401f36f47a708c55a44c7f28d8948e9f8abac9f'
ok 59 - git checkout: modified submodule does not update submodule work tree from invalid commit
expecting success of 2013.60 'git checkout: added submodule doesn't remove untracked unignored file with same name':
prolog &&
reset_work_tree_to no_submodule &&
(
cd submodule_update &&
git branch -t add_sub1 origin/add_sub1 &&
>sub1 &&
test_must_fail $command add_sub1 &&
test_superproject_content origin/no_submodule &&
test_must_be_empty sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'no_submodule'
Branch 'no_submodule' set up to track remote branch 'no_submodule' from 'origin'.
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
error: The following untracked working tree files would be overwritten by checkout:
sub1
Please move or remove them before you switch branches.
Aborting
ok 60 - git checkout: added submodule doesn't remove untracked unignored file with same name
expecting success of 2013.61 'git checkout -f: added submodule creates empty directory':
prolog &&
reset_work_tree_to no_submodule &&
(
cd submodule_update &&
git branch -t add_sub1 origin/add_sub1 &&
$command add_sub1 &&
test_superproject_content origin/add_sub1 &&
test_dir_is_empty sub1 &&
git submodule update --init --recursive &&
test_submodule_content sub1 origin/add_sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'no_submodule'
Branch 'no_submodule' set up to track remote branch 'no_submodule' from 'origin'.
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
Switched to branch 'add_sub1'
Your branch is up to date with 'origin/add_sub1'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update_sub1) registered for path 'sub1'
Submodule 'uninitialized_sub' (/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update_sub1) registered for path 'uninitialized_sub'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update/sub1'...
done.
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update/uninitialized_sub'...
done.
Submodule path 'sub1': checked out 'f401f36f47a708c55a44c7f28d8948e9f8abac9f'
Submodule path 'uninitialized_sub': checked out 'f401f36f47a708c55a44c7f28d8948e9f8abac9f'
ok 61 - git checkout -f: added submodule creates empty directory
expecting success of 2013.62 'git checkout -f: added submodule leaves existing empty directory alone':
prolog &&
reset_work_tree_to no_submodule &&
(
cd submodule_update &&
mkdir sub1 &&
git branch -t add_sub1 origin/add_sub1 &&
$command add_sub1 &&
test_superproject_content origin/add_sub1 &&
test_dir_is_empty sub1 &&
git submodule update --init --recursive &&
test_submodule_content sub1 origin/add_sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'no_submodule'
Branch 'no_submodule' set up to track remote branch 'no_submodule' from 'origin'.
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
Switched to branch 'add_sub1'
Your branch is up to date with 'origin/add_sub1'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update_sub1) registered for path 'sub1'
Submodule 'uninitialized_sub' (/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update_sub1) registered for path 'uninitialized_sub'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update/sub1'...
done.
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update/uninitialized_sub'...
done.
Submodule path 'sub1': checked out 'f401f36f47a708c55a44c7f28d8948e9f8abac9f'
Submodule path 'uninitialized_sub': checked out 'f401f36f47a708c55a44c7f28d8948e9f8abac9f'
ok 62 - git checkout -f: added submodule leaves existing empty directory alone
expecting success of 2013.63 'git checkout -f: replace tracked file with submodule creates empty directory':
prolog &&
reset_work_tree_to replace_sub1_with_file &&
(
cd submodule_update &&
git branch -t replace_file_with_sub1 origin/replace_file_with_sub1 &&
$command replace_file_with_sub1 &&
test_superproject_content origin/replace_file_with_sub1 &&
test_dir_is_empty sub1 &&
git submodule update --init --recursive &&
test_submodule_content sub1 origin/replace_file_with_sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'replace_sub1_with_file'
Branch 'replace_sub1_with_file' set up to track remote branch 'replace_sub1_with_file' from 'origin'.
fatal: Needed a single revision
Branch 'replace_file_with_sub1' set up to track remote branch 'replace_file_with_sub1' from 'origin'.
Switched to branch 'replace_file_with_sub1'
Your branch is up to date with 'origin/replace_file_with_sub1'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update_sub1) registered for path 'sub1'
Submodule 'uninitialized_sub' (/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update_sub1) registered for path 'uninitialized_sub'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update/sub1'...
done.
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update/uninitialized_sub'...
done.
Submodule path 'sub1': checked out 'f401f36f47a708c55a44c7f28d8948e9f8abac9f'
Submodule path 'uninitialized_sub': checked out 'f401f36f47a708c55a44c7f28d8948e9f8abac9f'
ok 63 - git checkout -f: replace tracked file with submodule creates empty directory
expecting success of 2013.64 'git checkout -f: replace directory with submodule':
prolog &&
reset_work_tree_to replace_sub1_with_directory &&
(
cd submodule_update &&
git branch -t replace_directory_with_sub1 origin/replace_directory_with_sub1 &&
$command replace_directory_with_sub1 &&
test_superproject_content origin/replace_directory_with_sub1 &&
test_dir_is_empty sub1 &&
git submodule update --init --recursive &&
test_submodule_content sub1 origin/replace_directory_with_sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'replace_sub1_with_directory'
Branch 'replace_sub1_with_directory' set up to track remote branch 'replace_sub1_with_directory' from 'origin'.
fatal: Needed a single revision
Branch 'replace_directory_with_sub1' set up to track remote branch 'replace_directory_with_sub1' from 'origin'.
Switched to branch 'replace_directory_with_sub1'
Your branch is up to date with 'origin/replace_directory_with_sub1'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update_sub1) registered for path 'sub1'
Submodule 'uninitialized_sub' (/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update_sub1) registered for path 'uninitialized_sub'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update/sub1'...
done.
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update/uninitialized_sub'...
done.
Submodule path 'sub1': checked out 'f401f36f47a708c55a44c7f28d8948e9f8abac9f'
Submodule path 'uninitialized_sub': checked out 'f401f36f47a708c55a44c7f28d8948e9f8abac9f'
ok 64 - git checkout -f: replace directory with submodule
expecting success of 2013.65 'git checkout -f: removed submodule leaves submodule directory and its contents in place':
prolog &&
reset_work_tree_to add_sub1 &&
(
cd submodule_update &&
git branch -t remove_sub1 origin/remove_sub1 &&
$command remove_sub1 &&
test_superproject_content origin/remove_sub1 &&
test_submodule_content sub1 origin/add_sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'add_sub1'
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update_sub1) registered for path 'sub1'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update/sub1'...
done.
Submodule path 'sub1': checked out 'f401f36f47a708c55a44c7f28d8948e9f8abac9f'
Branch 'remove_sub1' set up to track remote branch 'remove_sub1' from 'origin'.
warning: unable to rmdir 'sub1': Directory not empty
Switched to branch 'remove_sub1'
Your branch is up to date with 'origin/remove_sub1'.
ok 65 - git checkout -f: removed submodule leaves submodule directory and its contents in place
expecting success of 2013.66 'git checkout -f: removed submodule leaves submodule containing a .git directory alone':
prolog &&
reset_work_tree_to add_sub1 &&
(
cd submodule_update &&
git branch -t remove_sub1 origin/remove_sub1 &&
replace_gitfile_with_git_dir sub1 &&
$command remove_sub1 &&
test_superproject_content origin/remove_sub1 &&
test_git_directory_is_unchanged sub1 &&
test_submodule_content sub1 origin/add_sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'add_sub1'
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update_sub1) registered for path 'sub1'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update/sub1'...
done.
Submodule path 'sub1': checked out 'f401f36f47a708c55a44c7f28d8948e9f8abac9f'
Branch 'remove_sub1' set up to track remote branch 'remove_sub1' from 'origin'.
warning: unable to rmdir 'sub1': Directory not empty
Switched to branch 'remove_sub1'
Your branch is up to date with 'origin/remove_sub1'.
ok 66 - git checkout -f: removed submodule leaves submodule containing a .git directory alone
checking known breakage of 2013.67 'git checkout -f: replace submodule with a directory must fail':
prolog &&
reset_work_tree_to add_sub1 &&
(
cd submodule_update &&
git branch -t replace_sub1_with_directory origin/replace_sub1_with_directory &&
test_must_fail $command replace_sub1_with_directory &&
test_superproject_content origin/add_sub1 &&
test_submodule_content sub1 origin/add_sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'add_sub1'
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update_sub1) registered for path 'sub1'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update/sub1'...
done.
Submodule path 'sub1': checked out 'f401f36f47a708c55a44c7f28d8948e9f8abac9f'
Branch 'replace_sub1_with_directory' set up to track remote branch 'replace_sub1_with_directory' from 'origin'.
warning: unable to rmdir 'sub1': Directory not empty
Switched to branch 'replace_sub1_with_directory'
Your branch is up to date with 'origin/replace_sub1_with_directory'.
test_must_fail: command succeeded: git checkout -f replace_sub1_with_directory
not ok 67 - git checkout -f: replace submodule with a directory must fail # TODO known breakage
checking known breakage of 2013.68 'git checkout -f: replace submodule containing a .git directory with a directory must fail':
prolog &&
reset_work_tree_to add_sub1 &&
(
cd submodule_update &&
git branch -t replace_sub1_with_directory origin/replace_sub1_with_directory &&
replace_gitfile_with_git_dir sub1 &&
test_must_fail $command replace_sub1_with_directory &&
test_superproject_content origin/add_sub1 &&
test_git_directory_is_unchanged sub1 &&
test_submodule_content sub1 origin/add_sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'add_sub1'
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update_sub1) registered for path 'sub1'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update/sub1'...
done.
Submodule path 'sub1': checked out 'f401f36f47a708c55a44c7f28d8948e9f8abac9f'
Branch 'replace_sub1_with_directory' set up to track remote branch 'replace_sub1_with_directory' from 'origin'.
warning: unable to rmdir 'sub1': Directory not empty
Switched to branch 'replace_sub1_with_directory'
Your branch is up to date with 'origin/replace_sub1_with_directory'.
test_must_fail: command succeeded: git checkout -f replace_sub1_with_directory
not ok 68 - git checkout -f: replace submodule containing a .git directory with a directory must fail # TODO known breakage
checking known breakage of 2013.69 'git checkout -f: replace submodule with a file must fail':
prolog &&
reset_work_tree_to add_sub1 &&
(
cd submodule_update &&
git branch -t replace_sub1_with_file origin/replace_sub1_with_file &&
test_must_fail $command replace_sub1_with_file &&
test_superproject_content origin/add_sub1 &&
test_submodule_content sub1 origin/add_sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'add_sub1'
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update_sub1) registered for path 'sub1'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update/sub1'...
done.
Submodule path 'sub1': checked out 'f401f36f47a708c55a44c7f28d8948e9f8abac9f'
Branch 'replace_sub1_with_file' set up to track remote branch 'replace_sub1_with_file' from 'origin'.
Switched to branch 'replace_sub1_with_file'
Your branch is up to date with 'origin/replace_sub1_with_file'.
test_must_fail: command succeeded: git checkout -f replace_sub1_with_file
not ok 69 - git checkout -f: replace submodule with a file must fail # TODO known breakage
checking known breakage of 2013.70 'git checkout -f: replace submodule containing a .git directory with a file must fail':
prolog &&
reset_work_tree_to add_sub1 &&
(
cd submodule_update &&
git branch -t replace_sub1_with_file origin/replace_sub1_with_file &&
replace_gitfile_with_git_dir sub1 &&
test_must_fail $command replace_sub1_with_file &&
test_superproject_content origin/add_sub1 &&
test_git_directory_is_unchanged sub1 &&
test_submodule_content sub1 origin/add_sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'add_sub1'
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update_sub1) registered for path 'sub1'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update/sub1'...
done.
Submodule path 'sub1': checked out 'f401f36f47a708c55a44c7f28d8948e9f8abac9f'
Branch 'replace_sub1_with_file' set up to track remote branch 'replace_sub1_with_file' from 'origin'.
Switched to branch 'replace_sub1_with_file'
Your branch is up to date with 'origin/replace_sub1_with_file'.
test_must_fail: command succeeded: git checkout -f replace_sub1_with_file
not ok 70 - git checkout -f: replace submodule containing a .git directory with a file must fail # TODO known breakage
expecting success of 2013.71 'git checkout -f: modified submodule does not update submodule work tree':
prolog &&
reset_work_tree_to add_sub1 &&
(
cd submodule_update &&
git branch -t modify_sub1 origin/modify_sub1 &&
$command modify_sub1 &&
test_superproject_content origin/modify_sub1 &&
test_submodule_content sub1 origin/add_sub1 &&
git submodule update &&
test_submodule_content sub1 origin/modify_sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'add_sub1'
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update_sub1) registered for path 'sub1'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update/sub1'...
done.
Submodule path 'sub1': checked out 'f401f36f47a708c55a44c7f28d8948e9f8abac9f'
Branch 'modify_sub1' set up to track remote branch 'modify_sub1' from 'origin'.
Switched to branch 'modify_sub1'
Your branch is up to date with 'origin/modify_sub1'.
Submodule path 'sub1': checked out 'e6d8148a306c904a34344fac267f4613e698d228'
ok 71 - git checkout -f: modified submodule does not update submodule work tree
expecting success of 2013.72 'git checkout -f: modified submodule does not update submodule work tree to invalid commit':
prolog &&
reset_work_tree_to add_sub1 &&
(
cd submodule_update &&
git branch -t invalid_sub1 origin/invalid_sub1 &&
$command invalid_sub1 &&
test_superproject_content origin/invalid_sub1 &&
test_submodule_content sub1 origin/add_sub1 &&
test_must_fail git submodule update &&
test_submodule_content sub1 origin/add_sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'add_sub1'
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update_sub1) registered for path 'sub1'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update/sub1'...
done.
Submodule path 'sub1': checked out 'f401f36f47a708c55a44c7f28d8948e9f8abac9f'
Branch 'invalid_sub1' set up to track remote branch 'invalid_sub1' from 'origin'.
Switched to branch 'invalid_sub1'
Your branch is up to date with 'origin/invalid_sub1'.
error: Server does not allow request for unadvertised object 0123456789012345678901234567890123456789
Fetched in submodule path 'sub1', but it did not contain 0123456789012345678901234567890123456789. Direct fetching of that commit failed.
ok 72 - git checkout -f: modified submodule does not update submodule work tree to invalid commit
expecting success of 2013.73 'git checkout -f: modified submodule does not update submodule work tree from invalid commit':
prolog &&
reset_work_tree_to invalid_sub1 &&
(
cd submodule_update &&
git branch -t valid_sub1 origin/valid_sub1 &&
$command valid_sub1 &&
test_superproject_content origin/valid_sub1 &&
test_dir_is_empty sub1 &&
git submodule update --init --recursive &&
test_submodule_content sub1 origin/valid_sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'invalid_sub1'
Branch 'invalid_sub1' set up to track remote branch 'invalid_sub1' from 'origin'.
fatal: Needed a single revision
Branch 'valid_sub1' set up to track remote branch 'valid_sub1' from 'origin'.
Switched to branch 'valid_sub1'
Your branch is up to date with 'origin/valid_sub1'.
Submodule 'sub1' (/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update_sub1) registered for path 'sub1'
Submodule 'uninitialized_sub' (/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update_sub1) registered for path 'uninitialized_sub'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update/sub1'...
done.
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t2013-checkout-submodule/submodule_update/uninitialized_sub'...
done.
Submodule path 'sub1': checked out 'f401f36f47a708c55a44c7f28d8948e9f8abac9f'
Submodule path 'uninitialized_sub': checked out 'f401f36f47a708c55a44c7f28d8948e9f8abac9f'
ok 73 - git checkout -f: modified submodule does not update submodule work tree from invalid commit
expecting success of 2013.74 'git checkout -f: added submodule does remove untracked unignored file with same name when forced':
prolog &&
reset_work_tree_to no_submodule &&
(
cd submodule_update &&
git branch -t add_sub1 origin/add_sub1 &&
>sub1 &&
$command add_sub1 &&
test_superproject_content origin/add_sub1 &&
test_dir_is_empty sub1
)
Cloning into 'submodule_update'...
done.
Switched to a new branch 'no_submodule'
Branch 'no_submodule' set up to track remote branch 'no_submodule' from 'origin'.
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
Switched to branch 'add_sub1'
Your branch is up to date with 'origin/add_sub1'.
ok 74 - git checkout -f: added submodule does remove untracked unignored file with same name when forced
# still have 10 known breakage(s)
# passed all remaining 64 test(s)
1..74
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t3304-notes-mixed.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3304-notes-mixed/.git/
expecting success of 3304.1 'setup: create a couple of commits':
test_tick &&
cat <<INPUT_END >input &&
commit refs/heads/master
committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE
data <<COMMIT
commit #1
COMMIT
M 644 inline file
data <<EOF
file in commit #1
EOF
INPUT_END
test_tick &&
cat <<INPUT_END >>input &&
commit refs/heads/master
committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE
data <<COMMIT
commit #2
COMMIT
M 644 inline file
data <<EOF
file in commit #2
EOF
INPUT_END
git fast-import --quiet <input
ok 1 - setup: create a couple of commits
expecting success of 3304.2 'create a notes tree with both notes and non-notes':
commit1=$(git rev-parse refs/heads/master^) &&
commit2=$(git rev-parse refs/heads/master) &&
test_tick &&
cat <<INPUT_END >input &&
commit refs/notes/commits
committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE
data <<COMMIT
notes commit #1
COMMIT
N inline $commit1
data <<EOF
note for commit #1
EOF
N inline $commit2
data <<EOF
note for commit #2
EOF
INPUT_END
test_tick &&
cat <<INPUT_END >>input &&
commit refs/notes/commits
committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE
data <<COMMIT
notes commit #2
COMMIT
M 644 inline foobar/non-note.txt
data <<EOF
A non-note in a notes tree
EOF
N inline $commit2
data <<EOF
edited note for commit #2
EOF
INPUT_END
test_tick &&
cat <<INPUT_END >>input &&
commit refs/notes/commits
committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE
data <<COMMIT
notes commit #3
COMMIT
N inline $commit1
data <<EOF
edited note for commit #1
EOF
M 644 inline deadbeef
data <<EOF
non-note with SHA1-like name
EOF
M 644 inline de/adbeef
data <<EOF
another non-note with SHA1-like name
EOF
M 644 inline de/adbeefdeadbeefdeadbeefdeadbeefdeadbeef
data <<EOF
This is actually a valid note, albeit to a non-existing object.
It is needed in order to trigger the "mishandling" of the dead/beef non-note.
EOF
M 644 inline dead/beef
data <<EOF
yet another non-note with SHA1-like name
EOF
INPUT_END
git fast-import --quiet <input &&
git config core.notesRef refs/notes/commits
ok 2 - create a notes tree with both notes and non-notes
expecting success of 3304.3 'verify contents of notes':
git log | grep "^ " > actual &&
test_cmp expect actual
ok 3 - verify contents of notes
expecting success of 3304.4 'verify contents of non-notes':
git cat-file -p refs/notes/commits:foobar/non-note.txt > actual_nn1 &&
test_cmp expect_nn1 actual_nn1 &&
git cat-file -p refs/notes/commits:deadbeef > actual_nn2 &&
test_cmp expect_nn2 actual_nn2 &&
git cat-file -p refs/notes/commits:de/adbeef > actual_nn3 &&
test_cmp expect_nn3 actual_nn3 &&
git cat-file -p refs/notes/commits:dead/beef > actual_nn4 &&
test_cmp expect_nn4 actual_nn4
ok 4 - verify contents of non-notes
expecting success of 3304.5 'git-notes preserves non-notes':
test_tick &&
git notes add -f -m "foo bar"
Overwriting existing notes for object 5f8b8322f6a2c6d36eb6d42312d2393900ab7b81
ok 5 - git-notes preserves non-notes
expecting success of 3304.6 'verify contents of non-notes after git-notes':
git cat-file -p refs/notes/commits:foobar/non-note.txt > actual_nn1 &&
test_cmp expect_nn1 actual_nn1 &&
git cat-file -p refs/notes/commits:deadbeef > actual_nn2 &&
test_cmp expect_nn2 actual_nn2 &&
git cat-file -p refs/notes/commits:de/adbeef > actual_nn3 &&
test_cmp expect_nn3 actual_nn3 &&
git cat-file -p refs/notes/commits:dead/beef > actual_nn4 &&
test_cmp expect_nn4 actual_nn4
ok 6 - verify contents of non-notes after git-notes
# passed all 6 test(s)
1..6
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t3301-notes.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3301-notes/.git/
expecting success of 3301.1 'cannot annotate non-existing HEAD':
test_must_fail env MSG=3 git notes add
fatal: failed to resolve 'HEAD' as a valid ref.
ok 1 - cannot annotate non-existing HEAD
expecting success of 3301.2 'setup':
test_commit 1st &&
test_commit 2nd
[master (root-commit) 04ed9a0] 1st
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 1st.t
[master 7a4ca6e] 2nd
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 2nd.t
ok 2 - setup
expecting success of 3301.3 'need valid notes ref':
test_must_fail env MSG=1 GIT_NOTES_REF=/ git notes show &&
test_must_fail env MSG=2 GIT_NOTES_REF=/ git notes show
fatal: refusing to show notes in / (outside of refs/notes/)
fatal: refusing to show notes in / (outside of refs/notes/)
ok 3 - need valid notes ref
expecting success of 3301.4 'refusing to add notes in refs/heads/':
test_must_fail env MSG=1 GIT_NOTES_REF=refs/heads/bogus git notes add
fatal: refusing to add notes in refs/heads/bogus (outside of refs/notes/)
ok 4 - refusing to add notes in refs/heads/
expecting success of 3301.5 'refusing to edit notes in refs/remotes/':
test_must_fail env MSG=1 GIT_NOTES_REF=refs/heads/bogus git notes edit
fatal: refusing to edit notes in refs/heads/bogus (outside of refs/notes/)
ok 5 - refusing to edit notes in refs/remotes/
expecting success of 3301.6 'handle empty notes gracefully':
test_expect_code 1 git notes show
error: no note found for object 7a4ca6ee52a974a66cbaa78e33214535dff1d691.
ok 6 - handle empty notes gracefully
expecting success of 3301.7 'show non-existent notes entry with %N':
test_write_lines A B >expect &&
git show -s --format="A%n%NB" >actual &&
test_cmp expect actual
ok 7 - show non-existent notes entry with %N
expecting success of 3301.8 'create notes':
MSG=b4 git notes add &&
test_path_is_missing .git/NOTES_EDITMSG &&
git ls-tree -r refs/notes/commits >actual &&
test_line_count = 1 actual &&
echo b4 >expect &&
git notes show >actual &&
test_cmp expect actual &&
git show HEAD^ &&
test_must_fail git notes show HEAD^
b4
commit 04ed9a0bbe0285f41c913e2002cb09ef8449d4a6
Author: A U Thor <author@example.com>
Date: Thu Apr 7 15:13:13 2005 -0700
1st
diff --git a/1st.t b/1st.t
new file mode 100644
index 0000000..2a5d015
--- /dev/null
+++ b/1st.t
@@ -0,0 +1 @@
+1st
error: no note found for object 04ed9a0bbe0285f41c913e2002cb09ef8449d4a6.
ok 8 - create notes
expecting success of 3301.9 'show notes entry with %N':
test_write_lines A b4 B >expect &&
git show -s --format="A%n%NB" >actual &&
test_cmp expect actual
ok 9 - show notes entry with %N
expecting success of 3301.10 'create reflog entry':
ref=$(git rev-parse --short refs/notes/commits) &&
cat <<-EOF >expect &&
$ref refs/notes/commits@{0}: notes: Notes added by 'git notes add'
EOF
git reflog show refs/notes/commits >actual &&
test_cmp expect actual
ok 10 - create reflog entry
expecting success of 3301.11 'edit existing notes':
MSG=b3 git notes edit &&
test_path_is_missing .git/NOTES_EDITMSG &&
git ls-tree -r refs/notes/commits >actual &&
test_line_count = 1 actual &&
echo b3 >expect &&
git notes show >actual &&
test_cmp expect actual &&
git show HEAD^ &&
test_must_fail git notes show HEAD^
b3
commit 04ed9a0bbe0285f41c913e2002cb09ef8449d4a6
Author: A U Thor <author@example.com>
Date: Thu Apr 7 15:13:13 2005 -0700
1st
diff --git a/1st.t b/1st.t
new file mode 100644
index 0000000..2a5d015
--- /dev/null
+++ b/1st.t
@@ -0,0 +1 @@
+1st
error: no note found for object 04ed9a0bbe0285f41c913e2002cb09ef8449d4a6.
ok 11 - edit existing notes
expecting success of 3301.12 'show notes from treeish':
echo b3 >expect &&
git notes --ref commits^{tree} show >actual &&
test_cmp expect actual &&
echo b4 >expect &&
git notes --ref commits@{1} show >actual &&
test_cmp expect actual
ok 12 - show notes from treeish
expecting success of 3301.13 'cannot edit notes from non-ref':
test_must_fail git notes --ref commits^{tree} edit &&
test_must_fail git notes --ref commits@{1} edit
fatal: Cannot use notes ref refs/notes/commits^{tree}
fatal: Cannot use notes ref refs/notes/commits@{1}
ok 13 - cannot edit notes from non-ref
expecting success of 3301.14 'cannot "git notes add -m" where notes already exists':
test_must_fail git notes add -m "b2" &&
test_path_is_missing .git/NOTES_EDITMSG &&
git ls-tree -r refs/notes/commits >actual &&
test_line_count = 1 actual &&
echo b3 >expect &&
git notes show >actual &&
test_cmp expect actual &&
git show HEAD^ &&
test_must_fail git notes show HEAD^
error: Cannot add notes. Found existing notes for object 7a4ca6ee52a974a66cbaa78e33214535dff1d691. Use '-f' to overwrite existing notes
commit 04ed9a0bbe0285f41c913e2002cb09ef8449d4a6
Author: A U Thor <author@example.com>
Date: Thu Apr 7 15:13:13 2005 -0700
1st
diff --git a/1st.t b/1st.t
new file mode 100644
index 0000000..2a5d015
--- /dev/null
+++ b/1st.t
@@ -0,0 +1 @@
+1st
error: no note found for object 04ed9a0bbe0285f41c913e2002cb09ef8449d4a6.
ok 14 - cannot "git notes add -m" where notes already exists
expecting success of 3301.15 'can overwrite existing note with "git notes add -f -m"':
git notes add -f -m "b1" &&
test_path_is_missing .git/NOTES_EDITMSG &&
git ls-tree -r refs/notes/commits >actual &&
test_line_count = 1 actual &&
echo b1 >expect &&
git notes show >actual &&
test_cmp expect actual &&
git show HEAD^ &&
test_must_fail git notes show HEAD^
Overwriting existing notes for object 7a4ca6ee52a974a66cbaa78e33214535dff1d691
commit 04ed9a0bbe0285f41c913e2002cb09ef8449d4a6
Author: A U Thor <author@example.com>
Date: Thu Apr 7 15:13:13 2005 -0700
1st
diff --git a/1st.t b/1st.t
new file mode 100644
index 0000000..2a5d015
--- /dev/null
+++ b/1st.t
@@ -0,0 +1 @@
+1st
error: no note found for object 04ed9a0bbe0285f41c913e2002cb09ef8449d4a6.
ok 15 - can overwrite existing note with "git notes add -f -m"
expecting success of 3301.16 'add w/no options on existing note morphs into edit':
MSG=b2 git notes add &&
test_path_is_missing .git/NOTES_EDITMSG &&
git ls-tree -r refs/notes/commits >actual &&
test_line_count = 1 actual &&
echo b2 >expect &&
git notes show >actual &&
test_cmp expect actual &&
git show HEAD^ &&
test_must_fail git notes show HEAD^
b2
commit 04ed9a0bbe0285f41c913e2002cb09ef8449d4a6
Author: A U Thor <author@example.com>
Date: Thu Apr 7 15:13:13 2005 -0700
1st
diff --git a/1st.t b/1st.t
new file mode 100644
index 0000000..2a5d015
--- /dev/null
+++ b/1st.t
@@ -0,0 +1 @@
+1st
error: no note found for object 04ed9a0bbe0285f41c913e2002cb09ef8449d4a6.
ok 16 - add w/no options on existing note morphs into edit
expecting success of 3301.17 'can overwrite existing note with "git notes add -f"':
MSG=b1 git notes add -f &&
test_path_is_missing .git/NOTES_EDITMSG &&
git ls-tree -r refs/notes/commits >actual &&
test_line_count = 1 actual &&
echo b1 >expect &&
git notes show >actual &&
test_cmp expect actual &&
git show HEAD^ &&
test_must_fail git notes show HEAD^
Overwriting existing notes for object 7a4ca6ee52a974a66cbaa78e33214535dff1d691
b1
commit 04ed9a0bbe0285f41c913e2002cb09ef8449d4a6
Author: A U Thor <author@example.com>
Date: Thu Apr 7 15:13:13 2005 -0700
1st
diff --git a/1st.t b/1st.t
new file mode 100644
index 0000000..2a5d015
--- /dev/null
+++ b/1st.t
@@ -0,0 +1 @@
+1st
error: no note found for object 04ed9a0bbe0285f41c913e2002cb09ef8449d4a6.
ok 17 - can overwrite existing note with "git notes add -f"
expecting success of 3301.18 'show notes':
commit=$(git rev-parse HEAD) &&
cat >expect <<-EOF &&
commit $commit
Author: A U Thor <author@example.com>
Date: Thu Apr 7 15:14:13 2005 -0700
${indent}2nd
Notes:
${indent}b1
EOF
git cat-file commit HEAD >commits &&
! grep b1 commits &&
git log -1 >actual &&
test_cmp expect actual
ok 18 - show notes
expecting success of 3301.19 'show multi-line notes':
test_commit 3rd &&
MSG="b3${LF}c3c3c3c3${LF}d3d3d3" git notes add &&
commit=$(git rev-parse HEAD) &&
cat >expect-multiline <<-EOF &&
commit $commit
Author: A U Thor <author@example.com>
Date: Thu Apr 7 15:15:13 2005 -0700
${indent}3rd
Notes:
${indent}b3
${indent}c3c3c3c3
${indent}d3d3d3
EOF
cat expect >>expect-multiline &&
git log -2 >actual &&
test_cmp expect-multiline actual
[master d07d62e] 3rd
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 3rd.t
b3
c3c3c3c3
d3d3d3
ok 19 - show multi-line notes
expecting success of 3301.20 'show -F notes':
test_commit 4th &&
echo "xyzzy" >note5 &&
git notes add -F note5 &&
commit=$(git rev-parse HEAD) &&
cat >expect-F <<-EOF &&
commit $commit
Author: A U Thor <author@example.com>
Date: Thu Apr 7 15:16:13 2005 -0700
${indent}4th
Notes:
${indent}xyzzy
EOF
cat expect-multiline >>expect-F &&
git log -3 >actual &&
test_cmp expect-F actual
[master 0f7aa3e] 4th
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 4th.t
ok 20 - show -F notes
expecting success of 3301.21 'Re-adding -F notes without -f fails':
echo "zyxxy" >note5 &&
test_must_fail git notes add -F note5 &&
git log -3 >actual &&
test_cmp expect-F actual
error: Cannot add notes. Found existing notes for object 0f7aa3ec6325aeb88b910453bb3eb37c49d75c11. Use '-f' to overwrite existing notes
ok 21 - Re-adding -F notes without -f fails
expecting success of 3301.22 'git log --pretty=raw does not show notes':
commit=$(git rev-parse HEAD) &&
tree=$(git rev-parse HEAD^{tree}) &&
parent=$(git rev-parse HEAD^) &&
cat >expect <<-EOF &&
commit $commit
tree $tree
parent $parent
author A U Thor <author@example.com> 1112912173 -0700
committer C O Mitter <committer@example.com> 1112912173 -0700
${indent}4th
EOF
git log -1 --pretty=raw >actual &&
test_cmp expect actual
ok 22 - git log --pretty=raw does not show notes
expecting success of 3301.23 'git log --show-notes':
cat >>expect <<-EOF &&
Notes:
${indent}xyzzy
EOF
git log -1 --pretty=raw --show-notes >actual &&
test_cmp expect actual
ok 23 - git log --show-notes
expecting success of 3301.24 'git log --no-notes':
git log -1 --no-notes >actual &&
! grep xyzzy actual
ok 24 - git log --no-notes
expecting success of 3301.25 'git format-patch does not show notes':
git format-patch -1 --stdout >actual &&
! grep xyzzy actual
ok 25 - git format-patch does not show notes
expecting success of 3301.26 'git format-patch --show-notes does show notes':
git format-patch --show-notes -1 --stdout >actual &&
grep xyzzy actual
xyzzy
ok 26 - git format-patch --show-notes does show notes
expecting success of 3301.27 'git show does show notes':
git show $p >actual &&
eval "$negate grep xyzzy actual"
xyzzy
ok 27 - git show does show notes
expecting success of 3301.28 'git show --pretty does not show notes':
git show $p >actual &&
eval "$negate grep xyzzy actual"
ok 28 - git show --pretty does not show notes
expecting success of 3301.29 'git show --pretty=raw does not show notes':
git show $p >actual &&
eval "$negate grep xyzzy actual"
ok 29 - git show --pretty=raw does not show notes
expecting success of 3301.30 'git show --pretty=short does not show notes':
git show $p >actual &&
eval "$negate grep xyzzy actual"
ok 30 - git show --pretty=short does not show notes
expecting success of 3301.31 'git show --pretty=medium does not show notes':
git show $p >actual &&
eval "$negate grep xyzzy actual"
ok 31 - git show --pretty=medium does not show notes
expecting success of 3301.32 'git show --pretty=full does not show notes':
git show $p >actual &&
eval "$negate grep xyzzy actual"
ok 32 - git show --pretty=full does not show notes
expecting success of 3301.33 'git show --pretty=fuller does not show notes':
git show $p >actual &&
eval "$negate grep xyzzy actual"
ok 33 - git show --pretty=fuller does not show notes
expecting success of 3301.34 'git show --pretty=format:%s does not show notes':
git show $p >actual &&
eval "$negate grep xyzzy actual"
ok 34 - git show --pretty=format:%s does not show notes
expecting success of 3301.35 'git show --oneline does not show notes':
git show $p >actual &&
eval "$negate grep xyzzy actual"
ok 35 - git show --oneline does not show notes
expecting success of 3301.36 'setup alternate notes ref':
git notes --ref=alternate add -m alternate
ok 36 - setup alternate notes ref
expecting success of 3301.37 'git log --notes shows default notes':
git log -1 --notes >actual &&
grep xyzzy actual &&
! grep alternate actual
xyzzy
ok 37 - git log --notes shows default notes
expecting success of 3301.38 'git log --notes=X shows only X':
git log -1 --notes=alternate >actual &&
! grep xyzzy actual &&
grep alternate actual
Notes (alternate):
alternate
ok 38 - git log --notes=X shows only X
expecting success of 3301.39 'git log --notes --notes=X shows both':
git log -1 --notes --notes=alternate >actual &&
grep xyzzy actual &&
grep alternate actual
xyzzy
Notes (alternate):
alternate
ok 39 - git log --notes --notes=X shows both
expecting success of 3301.40 'git log --no-notes resets default state':
git log -1 --notes --notes=alternate \
--no-notes --notes=alternate \
>actual &&
! grep xyzzy actual &&
grep alternate actual
Notes (alternate):
alternate
ok 40 - git log --no-notes resets default state
expecting success of 3301.41 'git log --no-notes resets ref list':
git log -1 --notes --notes=alternate \
--no-notes --notes \
>actual &&
grep xyzzy actual &&
! grep alternate actual
xyzzy
ok 41 - git log --no-notes resets ref list
expecting success of 3301.42 'show -m notes':
test_commit 5th &&
git notes add -m spam -m "foo${LF}bar${LF}baz" &&
commit=$(git rev-parse HEAD) &&
cat >expect-m <<-EOF &&
commit $commit
Author: A U Thor <author@example.com>
Date: Thu Apr 7 15:17:13 2005 -0700
${indent}5th
Notes:
${indent}spam
${indent}
${indent}foo
${indent}bar
${indent}baz
EOF
cat expect-F >>expect-m &&
git log -4 >actual &&
test_cmp expect-m actual
[master 7f9ad88] 5th
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 5th.t
ok 42 - show -m notes
expecting success of 3301.43 'remove note with add -f -F /dev/null':
git notes add -f -F /dev/null &&
commit=$(git rev-parse HEAD) &&
cat >expect-rm-F <<-EOF &&
commit $commit
Author: A U Thor <author@example.com>
Date: Thu Apr 7 15:17:13 2005 -0700
${indent}5th
EOF
cat expect-F >>expect-rm-F &&
git log -4 >actual &&
test_cmp expect-rm-F actual &&
test_must_fail git notes show
Overwriting existing notes for object 7f9ad8836c775acb134c0a055fc55fb4cd1ba361
Removing note for object 7f9ad8836c775acb134c0a055fc55fb4cd1ba361
error: no note found for object 7f9ad8836c775acb134c0a055fc55fb4cd1ba361.
ok 43 - remove note with add -f -F /dev/null
expecting success of 3301.44 'do not create empty note with -m ""':
git notes add -m "" &&
git log -4 >actual &&
test_cmp expect-rm-F actual &&
test_must_fail git notes show
Removing note for object 7f9ad8836c775acb134c0a055fc55fb4cd1ba361
error: no note found for object 7f9ad8836c775acb134c0a055fc55fb4cd1ba361.
ok 44 - do not create empty note with -m ""
expecting success of 3301.45 'create note with combination of -m and -F':
cat >expect-combine_m_and_F <<-EOF &&
foo
xyzzy
bar
zyxxy
baz
EOF
echo "xyzzy" >note_a &&
echo "zyxxy" >note_b &&
git notes add -m "foo" -F note_a -m "bar" -F note_b -m "baz" &&
git notes show >actual &&
test_cmp expect-combine_m_and_F actual
ok 45 - create note with combination of -m and -F
expecting success of 3301.46 'remove note with "git notes remove"':
git notes remove HEAD^ &&
git notes remove &&
commit=$(git rev-parse HEAD) &&
parent=$(git rev-parse HEAD^) &&
cat >expect-rm-remove <<-EOF &&
commit $commit
Author: A U Thor <author@example.com>
Date: Thu Apr 7 15:17:13 2005 -0700
${indent}5th
commit $parent
Author: A U Thor <author@example.com>
Date: Thu Apr 7 15:16:13 2005 -0700
${indent}4th
EOF
cat expect-multiline >>expect-rm-remove &&
git log -4 >actual &&
test_cmp expect-rm-remove actual &&
test_must_fail git notes show HEAD^
Removing note for object HEAD^
Removing note for object HEAD
error: no note found for object 0f7aa3ec6325aeb88b910453bb3eb37c49d75c11.
ok 46 - remove note with "git notes remove"
expecting success of 3301.47 'removing non-existing note should not create new commit':
git rev-parse --verify refs/notes/commits >before_commit &&
test_must_fail git notes remove HEAD^ &&
git rev-parse --verify refs/notes/commits >after_commit &&
test_cmp before_commit after_commit
Object HEAD^ has no note
ok 47 - removing non-existing note should not create new commit
expecting success of 3301.48 'removing more than one':
before=$(git rev-parse --verify refs/notes/commits) &&
test_when_finished "git update-ref refs/notes/commits $before" &&
# We have only two -- add another and make sure it stays
git notes add -m "extra" &&
git notes list HEAD >after-removal-expect &&
git notes remove HEAD^^ HEAD^^^ &&
git notes list | sed -e "s/ .*//" >actual &&
test_cmp after-removal-expect actual
Removing note for object HEAD^^
Removing note for object HEAD^^^
ok 48 - removing more than one
expecting success of 3301.49 'removing is atomic':
before=$(git rev-parse --verify refs/notes/commits) &&
test_when_finished "git update-ref refs/notes/commits $before" &&
test_must_fail git notes remove HEAD^^ HEAD^^^ HEAD^ &&
after=$(git rev-parse --verify refs/notes/commits) &&
test "$before" = "$after"
Removing note for object HEAD^^
Removing note for object HEAD^^^
Object HEAD^ has no note
ok 49 - removing is atomic
expecting success of 3301.50 'removing with --ignore-missing':
before=$(git rev-parse --verify refs/notes/commits) &&
test_when_finished "git update-ref refs/notes/commits $before" &&
# We have only two -- add another and make sure it stays
git notes add -m "extra" &&
git notes list HEAD >after-removal-expect &&
git notes remove --ignore-missing HEAD^^ HEAD^^^ HEAD^ &&
git notes list | sed -e "s/ .*//" >actual &&
test_cmp after-removal-expect actual
Removing note for object HEAD^^
Removing note for object HEAD^^^
Object HEAD^ has no note
ok 50 - removing with --ignore-missing
expecting success of 3301.51 'removing with --ignore-missing but bogus ref':
before=$(git rev-parse --verify refs/notes/commits) &&
test_when_finished "git update-ref refs/notes/commits $before" &&
test_must_fail git notes remove --ignore-missing HEAD^^ HEAD^^^ NO-SUCH-COMMIT &&
after=$(git rev-parse --verify refs/notes/commits) &&
test "$before" = "$after"
Removing note for object HEAD^^
Removing note for object HEAD^^^
error: Failed to resolve 'NO-SUCH-COMMIT' as a valid ref.
ok 51 - removing with --ignore-missing but bogus ref
expecting success of 3301.52 'remove reads from --stdin':
before=$(git rev-parse --verify refs/notes/commits) &&
test_when_finished "git update-ref refs/notes/commits $before" &&
# We have only two -- add another and make sure it stays
git notes add -m "extra" &&
git notes list HEAD >after-removal-expect &&
git rev-parse HEAD^^ HEAD^^^ >input &&
git notes remove --stdin <input &&
git notes list | sed -e "s/ .*//" >actual &&
test_cmp after-removal-expect actual
Removing note for object d07d62e5208f22eb5695e7eb47667dc8b9860290
Removing note for object 7a4ca6ee52a974a66cbaa78e33214535dff1d691
ok 52 - remove reads from --stdin
expecting success of 3301.53 'remove --stdin is also atomic':
before=$(git rev-parse --verify refs/notes/commits) &&
test_when_finished "git update-ref refs/notes/commits $before" &&
git rev-parse HEAD^^ HEAD^^^ HEAD^ >input &&
test_must_fail git notes remove --stdin <input &&
after=$(git rev-parse --verify refs/notes/commits) &&
test "$before" = "$after"
Removing note for object d07d62e5208f22eb5695e7eb47667dc8b9860290
Removing note for object 7a4ca6ee52a974a66cbaa78e33214535dff1d691
Object 0f7aa3ec6325aeb88b910453bb3eb37c49d75c11 has no note
ok 53 - remove --stdin is also atomic
expecting success of 3301.54 'removing with --stdin --ignore-missing':
before=$(git rev-parse --verify refs/notes/commits) &&
test_when_finished "git update-ref refs/notes/commits $before" &&
# We have only two -- add another and make sure it stays
git notes add -m "extra" &&
git notes list HEAD >after-removal-expect &&
git rev-parse HEAD^^ HEAD^^^ HEAD^ >input &&
git notes remove --ignore-missing --stdin <input &&
git notes list | sed -e "s/ .*//" >actual &&
test_cmp after-removal-expect actual
Removing note for object d07d62e5208f22eb5695e7eb47667dc8b9860290
Removing note for object 7a4ca6ee52a974a66cbaa78e33214535dff1d691
Object 0f7aa3ec6325aeb88b910453bb3eb37c49d75c11 has no note
ok 54 - removing with --stdin --ignore-missing
expecting success of 3301.55 'list notes with "git notes list"':
commit_2=$(git rev-parse 2nd) &&
commit_3=$(git rev-parse 3rd) &&
note_2=$(git rev-parse refs/notes/commits:$commit_2) &&
note_3=$(git rev-parse refs/notes/commits:$commit_3) &&
sort -t" " -k2 >expect <<-EOF &&
$note_2 $commit_2
$note_3 $commit_3
EOF
git notes list >actual &&
test_cmp expect actual
ok 55 - list notes with "git notes list"
expecting success of 3301.56 'list notes with "git notes"':
git notes >actual &&
test_cmp expect actual
ok 56 - list notes with "git notes"
expecting success of 3301.57 'list specific note with "git notes list <object>"':
git rev-parse refs/notes/commits:$commit_3 >expect &&
git notes list HEAD^^ >actual &&
test_cmp expect actual
ok 57 - list specific note with "git notes list <object>"
expecting success of 3301.58 'listing non-existing notes fails':
test_must_fail git notes list HEAD >actual &&
test_must_be_empty actual
error: no note found for object 7f9ad8836c775acb134c0a055fc55fb4cd1ba361.
ok 58 - listing non-existing notes fails
expecting success of 3301.59 'append to existing note with "git notes append"':
cat >expect <<-EOF &&
Initial set of notes
More notes appended with git notes append
EOF
git notes add -m "Initial set of notes" &&
git notes append -m "More notes appended with git notes append" &&
git notes show >actual &&
test_cmp expect actual
ok 59 - append to existing note with "git notes append"
expecting success of 3301.60 '"git notes list" does not expand to "git notes list HEAD"':
commit_5=$(git rev-parse 5th) &&
note_5=$(git rev-parse refs/notes/commits:$commit_5) &&
sort -t" " -k2 >expect_list <<-EOF &&
$note_2 $commit_2
$note_3 $commit_3
$note_5 $commit_5
EOF
git notes list >actual &&
test_cmp expect_list actual
ok 60 - "git notes list" does not expand to "git notes list HEAD"
expecting success of 3301.61 'appending empty string does not change existing note':
git notes append -m "" &&
git notes show >actual &&
test_cmp expect actual
ok 61 - appending empty string does not change existing note
expecting success of 3301.62 'git notes append == add when there is no existing note':
git notes remove HEAD &&
test_must_fail git notes list HEAD &&
git notes append -m "Initial set of notes${LF}${LF}More notes appended with git notes append" &&
git notes show >actual &&
test_cmp expect actual
Removing note for object HEAD
error: no note found for object 7f9ad8836c775acb134c0a055fc55fb4cd1ba361.
ok 62 - git notes append == add when there is no existing note
expecting success of 3301.63 'appending empty string to non-existing note does not create note':
git notes remove HEAD &&
test_must_fail git notes list HEAD &&
git notes append -m "" &&
test_must_fail git notes list HEAD
Removing note for object HEAD
error: no note found for object 7f9ad8836c775acb134c0a055fc55fb4cd1ba361.
Removing note for object 7f9ad8836c775acb134c0a055fc55fb4cd1ba361
error: no note found for object 7f9ad8836c775acb134c0a055fc55fb4cd1ba361.
ok 63 - appending empty string to non-existing note does not create note
expecting success of 3301.64 'create other note on a different notes ref (setup)':
test_commit 6th &&
GIT_NOTES_REF="refs/notes/other" git notes add -m "other note" &&
commit=$(git rev-parse HEAD) &&
cat >expect-not-other <<-EOF &&
commit $commit
Author: A U Thor <author@example.com>
Date: Thu Apr 7 15:18:13 2005 -0700
${indent}6th
EOF
cp expect-not-other expect-other &&
cat >>expect-other <<-EOF
Notes (other):
${indent}other note
EOF
[master 2c12533] 6th
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 6th.t
ok 64 - create other note on a different notes ref (setup)
expecting success of 3301.65 'Do not show note on other ref by default':
git log -1 >actual &&
test_cmp expect-not-other actual
ok 65 - Do not show note on other ref by default
expecting success of 3301.66 'Do show note when ref is given in GIT_NOTES_REF':
GIT_NOTES_REF="refs/notes/other" git log -1 >actual &&
test_cmp expect-other actual
ok 66 - Do show note when ref is given in GIT_NOTES_REF
expecting success of 3301.67 'Do show note when ref is given in core.notesRef config':
test_config core.notesRef "refs/notes/other" &&
git log -1 >actual &&
test_cmp expect-other actual
ok 67 - Do show note when ref is given in core.notesRef config
expecting success of 3301.68 'Do not show note when core.notesRef is overridden':
test_config core.notesRef "refs/notes/other" &&
GIT_NOTES_REF="refs/notes/wrong" git log -1 >actual &&
test_cmp expect-not-other actual
ok 68 - Do not show note when core.notesRef is overridden
expecting success of 3301.69 'Show all notes when notes.displayRef=refs/notes/*':
commit=$(git rev-parse HEAD) &&
parent=$(git rev-parse HEAD^) &&
cat >expect-both <<-EOF &&
commit $commit
Author: A U Thor <author@example.com>
Date: Thu Apr 7 15:18:13 2005 -0700
${indent}6th
Notes:
${indent}order test
Notes (other):
${indent}other note
commit $parent
Author: A U Thor <author@example.com>
Date: Thu Apr 7 15:17:13 2005 -0700
${indent}5th
Notes:
${indent}replacement for deleted note
EOF
GIT_NOTES_REF=refs/notes/commits git notes add \
-m"replacement for deleted note" HEAD^ &&
GIT_NOTES_REF=refs/notes/commits git notes add -m"order test" &&
test_unconfig core.notesRef &&
test_config notes.displayRef "refs/notes/*" &&
git log -2 >actual &&
test_cmp expect-both actual
ok 69 - Show all notes when notes.displayRef=refs/notes/*
expecting success of 3301.70 'core.notesRef is implicitly in notes.displayRef':
test_config core.notesRef refs/notes/commits &&
test_config notes.displayRef refs/notes/other &&
git log -2 >actual &&
test_cmp expect-both actual
ok 70 - core.notesRef is implicitly in notes.displayRef
expecting success of 3301.71 'notes.displayRef can be given more than once':
test_unconfig core.notesRef &&
test_config notes.displayRef refs/notes/commits &&
git config --add notes.displayRef refs/notes/other &&
git log -2 >actual &&
test_cmp expect-both actual
ok 71 - notes.displayRef can be given more than once
expecting success of 3301.72 'notes.displayRef respects order':
commit=$(git rev-parse HEAD) &&
cat >expect-both-reversed <<-EOF &&
commit $commit
Author: A U Thor <author@example.com>
Date: Thu Apr 7 15:18:13 2005 -0700
${indent}6th
Notes (other):
${indent}other note
Notes:
${indent}order test
EOF
test_config core.notesRef refs/notes/other &&
test_config notes.displayRef refs/notes/commits &&
git log -1 >actual &&
test_cmp expect-both-reversed actual
ok 72 - notes.displayRef respects order
expecting success of 3301.73 'GIT_NOTES_DISPLAY_REF works':
GIT_NOTES_DISPLAY_REF=refs/notes/commits:refs/notes/other \
git log -2 >actual &&
test_cmp expect-both actual
ok 73 - GIT_NOTES_DISPLAY_REF works
expecting success of 3301.74 'GIT_NOTES_DISPLAY_REF overrides config':
commit=$(git rev-parse HEAD) &&
parent=$(git rev-parse HEAD^) &&
cat >expect-none <<-EOF &&
commit $commit
Author: A U Thor <author@example.com>
Date: Thu Apr 7 15:18:13 2005 -0700
${indent}6th
commit $parent
Author: A U Thor <author@example.com>
Date: Thu Apr 7 15:17:13 2005 -0700
${indent}5th
EOF
test_config notes.displayRef "refs/notes/*" &&
GIT_NOTES_REF= GIT_NOTES_DISPLAY_REF= git log -2 >actual &&
test_cmp expect-none actual
ok 74 - GIT_NOTES_DISPLAY_REF overrides config
expecting success of 3301.75 '--show-notes=* adds to GIT_NOTES_DISPLAY_REF':
GIT_NOTES_REF= GIT_NOTES_DISPLAY_REF= git log --show-notes=* -2 >actual &&
test_cmp expect-both actual
ok 75 - --show-notes=* adds to GIT_NOTES_DISPLAY_REF
expecting success of 3301.76 '--no-standard-notes':
commit=$(git rev-parse HEAD) &&
cat >expect-commits <<-EOF &&
commit $commit
Author: A U Thor <author@example.com>
Date: Thu Apr 7 15:18:13 2005 -0700
${indent}6th
Notes:
${indent}order test
EOF
git log --no-standard-notes --show-notes=commits -1 >actual &&
test_cmp expect-commits actual
ok 76 - --no-standard-notes
expecting success of 3301.77 '--standard-notes':
test_config notes.displayRef "refs/notes/*" &&
git log --no-standard-notes --show-notes=commits \
--standard-notes -2 >actual &&
test_cmp expect-both actual
ok 77 - --standard-notes
expecting success of 3301.78 '--show-notes=ref accumulates':
git log --show-notes=other --show-notes=commits \
--no-standard-notes -1 >actual &&
test_cmp expect-both-reversed actual
ok 78 - --show-notes=ref accumulates
expecting success of 3301.79 'Allow notes on non-commits (trees, blobs, tags)':
test_config core.notesRef refs/notes/other &&
echo "Note on a tree" >expect &&
git notes add -m "Note on a tree" HEAD: &&
git notes show HEAD: >actual &&
test_cmp expect actual &&
echo "Note on a blob" >expect &&
git ls-tree --name-only HEAD >files &&
filename=$(head -n1 files) &&
git notes add -m "Note on a blob" HEAD:$filename &&
git notes show HEAD:$filename >actual &&
test_cmp expect actual &&
echo "Note on a tag" >expect &&
git tag -a -m "This is an annotated tag" foobar HEAD^ &&
git notes add -m "Note on a tag" foobar &&
git notes show foobar >actual &&
test_cmp expect actual
ok 79 - Allow notes on non-commits (trees, blobs, tags)
expecting success of 3301.80 'create note from other note with "git notes add -C"':
test_commit 7th &&
commit=$(git rev-parse HEAD) &&
cat >expect <<-EOF &&
commit $commit
Author: A U Thor <author@example.com>
Date: Thu Apr 7 15:19:13 2005 -0700
${indent}7th
Notes:
${indent}order test
EOF
note=$(git notes list HEAD^) &&
git notes add -C $note &&
git log -1 >actual &&
test_cmp expect actual &&
git notes list HEAD^ >expect &&
git notes list HEAD >actual &&
test_cmp expect actual
[master fb01e0c] 7th
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 7th.t
ok 80 - create note from other note with "git notes add -C"
expecting success of 3301.81 'create note from non-existing note with "git notes add -C" fails':
test_commit 8th &&
test_must_fail git notes add -C deadbeef &&
test_must_fail git notes list HEAD
[master 9a4c31c] 8th
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 8th.t
fatal: failed to resolve 'deadbeef' as a valid ref.
error: no note found for object 9a4c31c7f722b5d517e92c64e932dd751e1413bf.
ok 81 - create note from non-existing note with "git notes add -C" fails
expecting success of 3301.82 'create note from non-blob with "git notes add -C" fails':
commit=$(git rev-parse --verify HEAD) &&
tree=$(git rev-parse --verify HEAD:) &&
test_must_fail git notes add -C $commit &&
test_must_fail git notes add -C $tree &&
test_must_fail git notes list HEAD
fatal: cannot read note data from non-blob object '9a4c31c7f722b5d517e92c64e932dd751e1413bf'.
fatal: cannot read note data from non-blob object '37f6454412e4ed89ae47782f956ed0fb573892f6'.
error: no note found for object 9a4c31c7f722b5d517e92c64e932dd751e1413bf.
ok 82 - create note from non-blob with "git notes add -C" fails
expecting success of 3301.83 'create note from blob with "git notes add -C" reuses blob id':
commit=$(git rev-parse HEAD) &&
cat >expect <<-EOF &&
commit $commit
Author: A U Thor <author@example.com>
Date: Thu Apr 7 15:20:13 2005 -0700
${indent}8th
Notes:
${indent}This is a blob object
EOF
echo "This is a blob object" | git hash-object -w --stdin >blob &&
git notes add -C $(cat blob) &&
git log -1 >actual &&
test_cmp expect actual &&
git notes list HEAD >actual &&
test_cmp blob actual
ok 83 - create note from blob with "git notes add -C" reuses blob id
expecting success of 3301.84 'create note from other note with "git notes add -c"':
test_commit 9th &&
commit=$(git rev-parse HEAD) &&
cat >expect <<-EOF &&
commit $commit
Author: A U Thor <author@example.com>
Date: Thu Apr 7 15:21:13 2005 -0700
${indent}9th
Notes:
${indent}yet another note
EOF
note=$(git notes list HEAD^^) &&
MSG="yet another note" git notes add -c $note &&
git log -1 >actual &&
test_cmp expect actual
[master 2e0db4b] 9th
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 9th.t
yet another note
ok 84 - create note from other note with "git notes add -c"
expecting success of 3301.85 'create note from non-existing note with "git notes add -c" fails':
test_commit 10th &&
test_must_fail env MSG="yet another note" git notes add -c deadbeef &&
test_must_fail git notes list HEAD
[master 7c3b87a] 10th
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 10th.t
fatal: failed to resolve 'deadbeef' as a valid ref.
error: no note found for object 7c3b87ab368f81e11b1ea87b2ab99a71ccd25406.
ok 85 - create note from non-existing note with "git notes add -c" fails
expecting success of 3301.86 'append to note from other note with "git notes append -C"':
commit=$(git rev-parse HEAD^) &&
cat >expect <<-EOF &&
commit $commit
Author: A U Thor <author@example.com>
Date: Thu Apr 7 15:21:13 2005 -0700
${indent}9th
Notes:
${indent}yet another note
${indent}
${indent}yet another note
EOF
note=$(git notes list HEAD^) &&
git notes append -C $note HEAD^ &&
git log -1 HEAD^ >actual &&
test_cmp expect actual
ok 86 - append to note from other note with "git notes append -C"
expecting success of 3301.87 'create note from other note with "git notes append -c"':
commit=$(git rev-parse HEAD) &&
cat >expect <<-EOF &&
commit $commit
Author: A U Thor <author@example.com>
Date: Thu Apr 7 15:22:13 2005 -0700
${indent}10th
Notes:
${indent}other note
EOF
note=$(git notes list HEAD^) &&
MSG="other note" git notes append -c $note &&
git log -1 >actual &&
test_cmp expect actual
other note
ok 87 - create note from other note with "git notes append -c"
expecting success of 3301.88 'append to note from other note with "git notes append -c"':
commit=$(git rev-parse HEAD) &&
cat >expect <<-EOF &&
commit $commit
Author: A U Thor <author@example.com>
Date: Thu Apr 7 15:22:13 2005 -0700
${indent}10th
Notes:
${indent}other note
${indent}
${indent}yet another note
EOF
note=$(git notes list HEAD) &&
MSG="yet another note" git notes append -c $note &&
git log -1 >actual &&
test_cmp expect actual
yet another note
ok 88 - append to note from other note with "git notes append -c"
expecting success of 3301.89 'copy note with "git notes copy"':
commit=$(git rev-parse 4th) &&
cat >expect <<-EOF &&
commit $commit
Author: A U Thor <author@example.com>
Date: Thu Apr 7 15:16:13 2005 -0700
${indent}4th
Notes:
${indent}This is a blob object
EOF
git notes copy 8th 4th &&
git log 3rd..4th >actual &&
test_cmp expect actual &&
git notes list 4th >expect &&
git notes list 8th >actual &&
test_cmp expect actual
ok 89 - copy note with "git notes copy"
expecting success of 3301.90 'copy note with "git notes copy" with default':
test_commit 11th &&
commit=$(git rev-parse HEAD) &&
cat >expect <<-EOF &&
commit $commit
Author: A U Thor <author@example.com>
Date: Thu Apr 7 15:23:13 2005 -0700
${indent}11th
Notes:
${indent}other note
${indent}
${indent}yet another note
EOF
git notes copy HEAD^ &&
git log -1 >actual &&
test_cmp expect actual &&
git notes list HEAD^ >expect &&
git notes list HEAD >actual &&
test_cmp expect actual
[master a446fff] 11th
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 11th.t
ok 90 - copy note with "git notes copy" with default
expecting success of 3301.91 'prevent overwrite with "git notes copy"':
test_must_fail git notes copy HEAD~2 HEAD &&
cat >expect <<-EOF &&
commit $commit
Author: A U Thor <author@example.com>
Date: Thu Apr 7 15:23:13 2005 -0700
${indent}11th
Notes:
${indent}other note
${indent}
${indent}yet another note
EOF
git log -1 >actual &&
test_cmp expect actual &&
git notes list HEAD^ >expect &&
git notes list HEAD >actual &&
test_cmp expect actual
error: Cannot copy notes. Found existing notes for object a446fff8777efdc6eb8f4b7c8a5ff699484df0d5. Use '-f' to overwrite existing notes
ok 91 - prevent overwrite with "git notes copy"
expecting success of 3301.92 'allow overwrite with "git notes copy -f"':
commit=$(git rev-parse HEAD) &&
cat >expect <<-EOF &&
commit $commit
Author: A U Thor <author@example.com>
Date: Thu Apr 7 15:23:13 2005 -0700
${indent}11th
Notes:
${indent}This is a blob object
EOF
git notes copy -f HEAD~3 HEAD &&
git log -1 >actual &&
test_cmp expect actual &&
git notes list HEAD~3 >expect &&
git notes list HEAD >actual &&
test_cmp expect actual
Overwriting existing notes for object a446fff8777efdc6eb8f4b7c8a5ff699484df0d5
ok 92 - allow overwrite with "git notes copy -f"
expecting success of 3301.93 'allow overwrite with "git notes copy -f" with default':
commit=$(git rev-parse HEAD) &&
cat >expect <<-EOF &&
commit $commit
Author: A U Thor <author@example.com>
Date: Thu Apr 7 15:23:13 2005 -0700
${indent}11th
Notes:
${indent}yet another note
${indent}
${indent}yet another note
EOF
git notes copy -f HEAD~2 &&
git log -1 >actual &&
test_cmp expect actual &&
git notes list HEAD~2 >expect &&
git notes list HEAD >actual &&
test_cmp expect actual
Overwriting existing notes for object a446fff8777efdc6eb8f4b7c8a5ff699484df0d5
ok 93 - allow overwrite with "git notes copy -f" with default
expecting success of 3301.94 'cannot copy note from object without notes':
test_commit 12th &&
test_commit 13th &&
test_must_fail git notes copy HEAD^ HEAD
[master 65e263d] 12th
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 12th.t
[master e871aa6] 13th
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 13th.t
error: missing notes on source object 65e263ded02ae4e8839bc151095113737579dc12. Cannot copy.
ok 94 - cannot copy note from object without notes
expecting success of 3301.95 'git notes copy --stdin':
commit=$(git rev-parse HEAD) &&
parent=$(git rev-parse HEAD^) &&
cat >expect <<-EOF &&
commit $commit
Author: A U Thor <author@example.com>
Date: Thu Apr 7 15:25:13 2005 -0700
${indent}13th
Notes:
${indent}yet another note
${indent}
${indent}yet another note
commit $parent
Author: A U Thor <author@example.com>
Date: Thu Apr 7 15:24:13 2005 -0700
${indent}12th
Notes:
${indent}other note
${indent}
${indent}yet another note
EOF
from=$(git rev-parse HEAD~3) &&
to=$(git rev-parse HEAD^) &&
echo "$from" "$to" >copy &&
from=$(git rev-parse HEAD~2) &&
to=$(git rev-parse HEAD) &&
echo "$from" "$to" >>copy &&
git notes copy --stdin <copy &&
git log -2 >actual &&
test_cmp expect actual &&
git notes list HEAD~2 >expect &&
git notes list HEAD >actual &&
test_cmp expect actual &&
git notes list HEAD~3 >expect &&
git notes list HEAD^ >actual &&
test_cmp expect actual
ok 95 - git notes copy --stdin
expecting success of 3301.96 'git notes copy --for-rewrite (unconfigured)':
test_commit 14th &&
test_commit 15th &&
commit=$(git rev-parse HEAD) &&
parent=$(git rev-parse HEAD^) &&
cat >expect <<-EOF &&
commit $commit
Author: A U Thor <author@example.com>
Date: Thu Apr 7 15:27:13 2005 -0700
${indent}15th
commit $parent
Author: A U Thor <author@example.com>
Date: Thu Apr 7 15:26:13 2005 -0700
${indent}14th
EOF
from=$(git rev-parse HEAD~3) &&
to=$(git rev-parse HEAD^) &&
echo "$from" "$to" >copy &&
from=$(git rev-parse HEAD~2) &&
to=$(git rev-parse HEAD) &&
echo "$from" "$to" >>copy &&
git notes copy --for-rewrite=foo <copy &&
git log -2 >actual &&
test_cmp expect actual
[master 07c85d7] 14th
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 14th.t
[master 4acf42e] 15th
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 15th.t
ok 96 - git notes copy --for-rewrite (unconfigured)
expecting success of 3301.97 'git notes copy --for-rewrite (enabled)':
commit=$(git rev-parse HEAD) &&
parent=$(git rev-parse HEAD^) &&
cat >expect <<-EOF &&
commit $commit
Author: A U Thor <author@example.com>
Date: Thu Apr 7 15:27:13 2005 -0700
${indent}15th
Notes:
${indent}yet another note
${indent}
${indent}yet another note
commit $parent
Author: A U Thor <author@example.com>
Date: Thu Apr 7 15:26:13 2005 -0700
${indent}14th
Notes:
${indent}other note
${indent}
${indent}yet another note
EOF
test_config notes.rewriteMode overwrite &&
test_config notes.rewriteRef "refs/notes/*" &&
from=$(git rev-parse HEAD~3) &&
to=$(git rev-parse HEAD^) &&
echo "$from" "$to" >copy &&
from=$(git rev-parse HEAD~2) &&
to=$(git rev-parse HEAD) &&
echo "$from" "$to" >>copy &&
git notes copy --for-rewrite=foo <copy &&
git log -2 >actual &&
test_cmp expect actual
ok 97 - git notes copy --for-rewrite (enabled)
expecting success of 3301.98 'git notes copy --for-rewrite (disabled)':
test_config notes.rewrite.bar false &&
from=$(git rev-parse HEAD~3) &&
to=$(git rev-parse HEAD) &&
echo "$from" "$to" >copy &&
git notes copy --for-rewrite=bar <copy &&
git log -2 >actual &&
test_cmp expect actual
ok 98 - git notes copy --for-rewrite (disabled)
expecting success of 3301.99 'git notes copy --for-rewrite (overwrite)':
commit=$(git rev-parse HEAD) &&
cat >expect <<-EOF &&
commit $commit
Author: A U Thor <author@example.com>
Date: Thu Apr 7 15:27:13 2005 -0700
${indent}15th
Notes:
${indent}a fresh note
EOF
git notes add -f -m"a fresh note" HEAD^ &&
test_config notes.rewriteMode overwrite &&
test_config notes.rewriteRef "refs/notes/*" &&
from=$(git rev-parse HEAD^) &&
to=$(git rev-parse HEAD) &&
echo "$from" "$to" >copy &&
git notes copy --for-rewrite=foo <copy &&
git log -1 >actual &&
test_cmp expect actual
Overwriting existing notes for object 07c85d77059393ed0154b8c96906547a59dfcddd
ok 99 - git notes copy --for-rewrite (overwrite)
expecting success of 3301.100 'git notes copy --for-rewrite (ignore)':
test_config notes.rewriteMode ignore &&
test_config notes.rewriteRef "refs/notes/*" &&
from=$(git rev-parse HEAD^) &&
to=$(git rev-parse HEAD) &&
echo "$from" "$to" >copy &&
git notes copy --for-rewrite=foo <copy &&
git log -1 >actual &&
test_cmp expect actual
ok 100 - git notes copy --for-rewrite (ignore)
expecting success of 3301.101 'git notes copy --for-rewrite (append)':
commit=$(git rev-parse HEAD) &&
cat >expect <<-EOF &&
commit $commit
Author: A U Thor <author@example.com>
Date: Thu Apr 7 15:27:13 2005 -0700
${indent}15th
Notes:
${indent}a fresh note
${indent}
${indent}another fresh note
EOF
git notes add -f -m"another fresh note" HEAD^ &&
test_config notes.rewriteMode concatenate &&
test_config notes.rewriteRef "refs/notes/*" &&
from=$(git rev-parse HEAD^) &&
to=$(git rev-parse HEAD) &&
echo "$from" "$to" >copy &&
git notes copy --for-rewrite=foo <copy &&
git log -1 >actual &&
test_cmp expect actual
Overwriting existing notes for object 07c85d77059393ed0154b8c96906547a59dfcddd
ok 101 - git notes copy --for-rewrite (append)
expecting success of 3301.102 'git notes copy --for-rewrite (append two to one)':
commit=$(git rev-parse HEAD) &&
cat >expect <<-EOF &&
commit $commit
Author: A U Thor <author@example.com>
Date: Thu Apr 7 15:27:13 2005 -0700
${indent}15th
Notes:
${indent}a fresh note
${indent}
${indent}another fresh note
${indent}
${indent}append 1
${indent}
${indent}append 2
EOF
git notes add -f -m"append 1" HEAD^ &&
git notes add -f -m"append 2" HEAD^^ &&
test_config notes.rewriteMode concatenate &&
test_config notes.rewriteRef "refs/notes/*" &&
from=$(git rev-parse HEAD^) &&
to=$(git rev-parse HEAD) &&
echo "$from" "$to" >copy &&
from=$(git rev-parse HEAD^^) &&
to=$(git rev-parse HEAD) &&
echo "$from" "$to" >>copy &&
git notes copy --for-rewrite=foo <copy &&
git log -1 >actual &&
test_cmp expect actual
Overwriting existing notes for object 07c85d77059393ed0154b8c96906547a59dfcddd
Overwriting existing notes for object e871aa61182b1d95d0a6fb75445d891722863b6b
ok 102 - git notes copy --for-rewrite (append two to one)
expecting success of 3301.103 'git notes copy --for-rewrite (append empty)':
git notes remove HEAD^ &&
test_config notes.rewriteMode concatenate &&
test_config notes.rewriteRef "refs/notes/*" &&
from=$(git rev-parse HEAD^) &&
to=$(git rev-parse HEAD) &&
echo "$from" "$to" >copy &&
git notes copy --for-rewrite=foo <copy &&
git log -1 >actual &&
test_cmp expect actual
Removing note for object HEAD^
ok 103 - git notes copy --for-rewrite (append empty)
expecting success of 3301.104 'GIT_NOTES_REWRITE_MODE works':
commit=$(git rev-parse HEAD) &&
cat >expect <<-EOF &&
commit $commit
Author: A U Thor <author@example.com>
Date: Thu Apr 7 15:27:13 2005 -0700
${indent}15th
Notes:
${indent}replacement note 1
EOF
test_config notes.rewriteMode concatenate &&
test_config notes.rewriteRef "refs/notes/*" &&
git notes add -f -m"replacement note 1" HEAD^ &&
from=$(git rev-parse HEAD^) &&
to=$(git rev-parse HEAD) &&
echo "$from" "$to" >copy &&
GIT_NOTES_REWRITE_MODE=overwrite git notes copy --for-rewrite=foo <copy &&
git log -1 >actual &&
test_cmp expect actual
ok 104 - GIT_NOTES_REWRITE_MODE works
expecting success of 3301.105 'GIT_NOTES_REWRITE_REF works':
commit=$(git rev-parse HEAD) &&
cat >expect <<-EOF &&
commit $commit
Author: A U Thor <author@example.com>
Date: Thu Apr 7 15:27:13 2005 -0700
${indent}15th
Notes:
${indent}replacement note 2
EOF
git notes add -f -m"replacement note 2" HEAD^ &&
test_config notes.rewriteMode overwrite &&
test_unconfig notes.rewriteRef &&
from=$(git rev-parse HEAD^) &&
to=$(git rev-parse HEAD) &&
echo "$from" "$to" >copy &&
GIT_NOTES_REWRITE_REF=refs/notes/commits:refs/notes/other \
git notes copy --for-rewrite=foo <copy &&
git log -1 >actual &&
test_cmp expect actual
Overwriting existing notes for object 07c85d77059393ed0154b8c96906547a59dfcddd
ok 105 - GIT_NOTES_REWRITE_REF works
expecting success of 3301.106 'GIT_NOTES_REWRITE_REF overrides config':
git notes add -f -m"replacement note 3" HEAD^ &&
test_config notes.rewriteMode overwrite &&
test_config notes.rewriteRef refs/notes/other &&
from=$(git rev-parse HEAD^) &&
to=$(git rev-parse HEAD) &&
echo "$from" "$to" >copy &&
GIT_NOTES_REWRITE_REF=refs/notes/commits \
git notes copy --for-rewrite=foo <copy &&
git log -1 >actual &&
grep "replacement note 3" actual
Overwriting existing notes for object 07c85d77059393ed0154b8c96906547a59dfcddd
replacement note 3
ok 106 - GIT_NOTES_REWRITE_REF overrides config
expecting success of 3301.107 'git notes copy diagnoses too many or too few parameters':
test_must_fail git notes copy 2>error &&
test_i18ngrep "too few parameters" error &&
test_must_fail git notes copy one two three 2>error &&
test_i18ngrep "too many parameters" error
checking prerequisite: C_LOCALE_OUTPUT
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
! test_bool_env GIT_TEST_GETTEXT_POISON false
)
prerequisite C_LOCALE_OUTPUT ok
error: too few parameters
error: too many parameters
ok 107 - git notes copy diagnoses too many or too few parameters
expecting success of 3301.108 'git notes get-ref expands refs/heads/master to refs/notes/refs/heads/master':
test_unconfig core.notesRef &&
sane_unset GIT_NOTES_REF &&
echo refs/notes/refs/heads/master >expect &&
git notes --ref=refs/heads/master get-ref >actual &&
test_cmp expect actual
ok 108 - git notes get-ref expands refs/heads/master to refs/notes/refs/heads/master
expecting success of 3301.109 'git notes get-ref (no overrides)':
test_unconfig core.notesRef &&
sane_unset GIT_NOTES_REF &&
echo refs/notes/commits >expect &&
git notes get-ref >actual &&
test_cmp expect actual
ok 109 - git notes get-ref (no overrides)
expecting success of 3301.110 'git notes get-ref (core.notesRef)':
test_config core.notesRef refs/notes/foo &&
echo refs/notes/foo >expect &&
git notes get-ref >actual &&
test_cmp expect actual
ok 110 - git notes get-ref (core.notesRef)
expecting success of 3301.111 'git notes get-ref (GIT_NOTES_REF)':
echo refs/notes/bar >expect &&
GIT_NOTES_REF=refs/notes/bar git notes get-ref >actual &&
test_cmp expect actual
ok 111 - git notes get-ref (GIT_NOTES_REF)
expecting success of 3301.112 'git notes get-ref (--ref)':
echo refs/notes/baz >expect &&
GIT_NOTES_REF=refs/notes/bar git notes --ref=baz get-ref >actual &&
test_cmp expect actual
ok 112 - git notes get-ref (--ref)
expecting success of 3301.113 'setup testing of empty notes':
test_unconfig core.notesRef &&
test_commit 16th &&
empty_blob=$(git hash-object -w /dev/null) &&
echo "$empty_blob" >expect_empty
[master 21d0abc] 16th
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 16th.t
ok 113 - setup testing of empty notes
expecting success of 3301.114 ''git notes add' removes empty note':
test_might_fail git notes remove HEAD &&
MSG= git notes add &&
test_must_fail git notes list HEAD
Object HEAD has no note
Removing note for object 21d0abcd10f591529d5148ae8bc7703fc1f73398
error: no note found for object 21d0abcd10f591529d5148ae8bc7703fc1f73398.
ok 114 - 'git notes add' removes empty note
expecting success of 3301.115 ''git notes add --allow-empty' stores empty note':
test_might_fail git notes remove HEAD &&
MSG= git notes add --allow-empty &&
git notes list HEAD >actual &&
test_cmp expect_empty actual
Object HEAD has no note
ok 115 - 'git notes add --allow-empty' stores empty note
expecting success of 3301.116 ''git notes add -F /dev/null' removes empty note':
test_might_fail git notes remove HEAD &&
MSG= git notes add -F /dev/null &&
test_must_fail git notes list HEAD
Removing note for object HEAD
Removing note for object 21d0abcd10f591529d5148ae8bc7703fc1f73398
error: no note found for object 21d0abcd10f591529d5148ae8bc7703fc1f73398.
ok 116 - 'git notes add -F /dev/null' removes empty note
expecting success of 3301.117 ''git notes add -F /dev/null --allow-empty' stores empty note':
test_might_fail git notes remove HEAD &&
MSG= git notes add -F /dev/null --allow-empty &&
git notes list HEAD >actual &&
test_cmp expect_empty actual
Object HEAD has no note
ok 117 - 'git notes add -F /dev/null --allow-empty' stores empty note
expecting success of 3301.118 ''git notes add -m ""' removes empty note':
test_might_fail git notes remove HEAD &&
MSG= git notes add -m "" &&
test_must_fail git notes list HEAD
Removing note for object HEAD
Removing note for object 21d0abcd10f591529d5148ae8bc7703fc1f73398
error: no note found for object 21d0abcd10f591529d5148ae8bc7703fc1f73398.
ok 118 - 'git notes add -m ""' removes empty note
expecting success of 3301.119 ''git notes add -m "" --allow-empty' stores empty note':
test_might_fail git notes remove HEAD &&
MSG= git notes add -m "" --allow-empty &&
git notes list HEAD >actual &&
test_cmp expect_empty actual
Object HEAD has no note
ok 119 - 'git notes add -m "" --allow-empty' stores empty note
expecting success of 3301.120 ''git notes add -c "$empty_blob"' removes empty note':
test_might_fail git notes remove HEAD &&
MSG= git notes add -c "$empty_blob" &&
test_must_fail git notes list HEAD
Removing note for object HEAD
Removing note for object 21d0abcd10f591529d5148ae8bc7703fc1f73398
error: no note found for object 21d0abcd10f591529d5148ae8bc7703fc1f73398.
ok 120 - 'git notes add -c "$empty_blob"' removes empty note
expecting success of 3301.121 ''git notes add -c "$empty_blob" --allow-empty' stores empty note':
test_might_fail git notes remove HEAD &&
MSG= git notes add -c "$empty_blob" --allow-empty &&
git notes list HEAD >actual &&
test_cmp expect_empty actual
Object HEAD has no note
ok 121 - 'git notes add -c "$empty_blob" --allow-empty' stores empty note
expecting success of 3301.122 ''git notes add -C "$empty_blob"' removes empty note':
test_might_fail git notes remove HEAD &&
MSG= git notes add -C "$empty_blob" &&
test_must_fail git notes list HEAD
Removing note for object HEAD
Removing note for object 21d0abcd10f591529d5148ae8bc7703fc1f73398
error: no note found for object 21d0abcd10f591529d5148ae8bc7703fc1f73398.
ok 122 - 'git notes add -C "$empty_blob"' removes empty note
expecting success of 3301.123 ''git notes add -C "$empty_blob" --allow-empty' stores empty note':
test_might_fail git notes remove HEAD &&
MSG= git notes add -C "$empty_blob" --allow-empty &&
git notes list HEAD >actual &&
test_cmp expect_empty actual
Object HEAD has no note
ok 123 - 'git notes add -C "$empty_blob" --allow-empty' stores empty note
expecting success of 3301.124 ''git notes append' removes empty note':
test_might_fail git notes remove HEAD &&
MSG= git notes append &&
test_must_fail git notes list HEAD
Removing note for object HEAD
Removing note for object 21d0abcd10f591529d5148ae8bc7703fc1f73398
error: no note found for object 21d0abcd10f591529d5148ae8bc7703fc1f73398.
ok 124 - 'git notes append' removes empty note
expecting success of 3301.125 ''git notes append --allow-empty' stores empty note':
test_might_fail git notes remove HEAD &&
MSG= git notes append --allow-empty &&
git notes list HEAD >actual &&
test_cmp expect_empty actual
Object HEAD has no note
ok 125 - 'git notes append --allow-empty' stores empty note
expecting success of 3301.126 ''git notes append -F /dev/null' removes empty note':
test_might_fail git notes remove HEAD &&
MSG= git notes append -F /dev/null &&
test_must_fail git notes list HEAD
Removing note for object HEAD
Removing note for object 21d0abcd10f591529d5148ae8bc7703fc1f73398
error: no note found for object 21d0abcd10f591529d5148ae8bc7703fc1f73398.
ok 126 - 'git notes append -F /dev/null' removes empty note
expecting success of 3301.127 ''git notes append -F /dev/null --allow-empty' stores empty note':
test_might_fail git notes remove HEAD &&
MSG= git notes append -F /dev/null --allow-empty &&
git notes list HEAD >actual &&
test_cmp expect_empty actual
Object HEAD has no note
ok 127 - 'git notes append -F /dev/null --allow-empty' stores empty note
expecting success of 3301.128 ''git notes append -m ""' removes empty note':
test_might_fail git notes remove HEAD &&
MSG= git notes append -m "" &&
test_must_fail git notes list HEAD
Removing note for object HEAD
Removing note for object 21d0abcd10f591529d5148ae8bc7703fc1f73398
error: no note found for object 21d0abcd10f591529d5148ae8bc7703fc1f73398.
ok 128 - 'git notes append -m ""' removes empty note
expecting success of 3301.129 ''git notes append -m "" --allow-empty' stores empty note':
test_might_fail git notes remove HEAD &&
MSG= git notes append -m "" --allow-empty &&
git notes list HEAD >actual &&
test_cmp expect_empty actual
Object HEAD has no note
ok 129 - 'git notes append -m "" --allow-empty' stores empty note
expecting success of 3301.130 ''git notes append -c "$empty_blob"' removes empty note':
test_might_fail git notes remove HEAD &&
MSG= git notes append -c "$empty_blob" &&
test_must_fail git notes list HEAD
Removing note for object HEAD
Removing note for object 21d0abcd10f591529d5148ae8bc7703fc1f73398
error: no note found for object 21d0abcd10f591529d5148ae8bc7703fc1f73398.
ok 130 - 'git notes append -c "$empty_blob"' removes empty note
expecting success of 3301.131 ''git notes append -c "$empty_blob" --allow-empty' stores empty note':
test_might_fail git notes remove HEAD &&
MSG= git notes append -c "$empty_blob" --allow-empty &&
git notes list HEAD >actual &&
test_cmp expect_empty actual
Object HEAD has no note
ok 131 - 'git notes append -c "$empty_blob" --allow-empty' stores empty note
expecting success of 3301.132 ''git notes append -C "$empty_blob"' removes empty note':
test_might_fail git notes remove HEAD &&
MSG= git notes append -C "$empty_blob" &&
test_must_fail git notes list HEAD
Removing note for object HEAD
Removing note for object 21d0abcd10f591529d5148ae8bc7703fc1f73398
error: no note found for object 21d0abcd10f591529d5148ae8bc7703fc1f73398.
ok 132 - 'git notes append -C "$empty_blob"' removes empty note
expecting success of 3301.133 ''git notes append -C "$empty_blob" --allow-empty' stores empty note':
test_might_fail git notes remove HEAD &&
MSG= git notes append -C "$empty_blob" --allow-empty &&
git notes list HEAD >actual &&
test_cmp expect_empty actual
Object HEAD has no note
ok 133 - 'git notes append -C "$empty_blob" --allow-empty' stores empty note
expecting success of 3301.134 ''git notes edit' removes empty note':
test_might_fail git notes remove HEAD &&
MSG= git notes edit &&
test_must_fail git notes list HEAD
Removing note for object HEAD
Removing note for object 21d0abcd10f591529d5148ae8bc7703fc1f73398
error: no note found for object 21d0abcd10f591529d5148ae8bc7703fc1f73398.
ok 134 - 'git notes edit' removes empty note
expecting success of 3301.135 ''git notes edit --allow-empty' stores empty note':
test_might_fail git notes remove HEAD &&
MSG= git notes edit --allow-empty &&
git notes list HEAD >actual &&
test_cmp expect_empty actual
Object HEAD has no note
ok 135 - 'git notes edit --allow-empty' stores empty note
expecting success of 3301.136 'empty notes are displayed by git log':
test_commit 17th &&
git log -1 >expect &&
cat >>expect <<-EOF &&
Notes:
EOF
git notes add -C "$empty_blob" --allow-empty &&
git log -1 >actual &&
test_cmp expect actual
[master 27a79f3] 17th
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 17th.t
ok 136 - empty notes are displayed by git log
# passed all 136 test(s)
1..136
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t3306-notes-prune.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3306-notes-prune/.git/
expecting success of 3306.1 'setup: create a few commits with notes':
: > file1 &&
git add file1 &&
test_tick &&
git commit -m 1st &&
git notes add -m "Note #1" &&
first=$(git rev-parse HEAD) &&
: > file2 &&
git add file2 &&
test_tick &&
git commit -m 2nd &&
git notes add -m "Note #2" &&
second=$(git rev-parse HEAD) &&
: > file3 &&
git add file3 &&
test_tick &&
git commit -m 3rd &&
third=$(git rev-parse HEAD) &&
COMMIT_FILE=$(echo $third | sed "s!^..!.git/objects/&/!") &&
test -f $COMMIT_FILE &&
test-tool chmtime =+0 $COMMIT_FILE &&
git notes add -m "Note #3"
[master (root-commit) ab5f302] 1st
Author: A U Thor <author@example.com>
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 file1
[master 08341ad] 2nd
Author: A U Thor <author@example.com>
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 file2
[master 5ee1c35] 3rd
Author: A U Thor <author@example.com>
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 file3
ok 1 - setup: create a few commits with notes
expecting success of 3306.2 'verify commits and notes':
git log > actual &&
test_cmp expect actual
ok 2 - verify commits and notes
expecting success of 3306.3 'remove some commits':
git reset --hard HEAD~1 &&
git reflog expire --expire=now HEAD &&
git gc --prune=now
HEAD is now at 08341ad 2nd
ok 3 - remove some commits
expecting success of 3306.4 'verify that commits are gone':
test_must_fail git cat-file -p $third &&
git cat-file -p $second &&
git cat-file -p $first
fatal: Not a valid object name 5ee1c35e83ea47cd3cc4f8cbee0568915fbbbd29
tree aefde3a01f6e10d72fd4899ce14c8b2654d3eb45
parent ab5f302035f2e7aaf04265f08b42034c23256e1f
author A U Thor <author@example.com> 1112912053 -0700
committer C O Mitter <committer@example.com> 1112912053 -0700
2nd
tree ad24149d789e59d4b5f9ce41cda90110ca0f98b7
author A U Thor <author@example.com> 1112911993 -0700
committer C O Mitter <committer@example.com> 1112911993 -0700
1st
ok 4 - verify that commits are gone
expecting success of 3306.5 'verify that notes are still present':
git notes show $third &&
git notes show $second &&
git notes show $first
Note #3
Note #2
Note #1
ok 5 - verify that notes are still present
expecting success of 3306.6 'prune -n does not remove notes':
git notes list > expect &&
git notes prune -n &&
git notes list > actual &&
test_cmp expect actual
5ee1c35e83ea47cd3cc4f8cbee0568915fbbbd29
ok 6 - prune -n does not remove notes
expecting success of 3306.7 'prune -n lists prunable notes':
echo $third >expect &&
git notes prune -n > actual &&
test_cmp expect actual
ok 7 - prune -n lists prunable notes
expecting success of 3306.8 'prune notes':
git notes prune
ok 8 - prune notes
expecting success of 3306.9 'verify that notes are gone':
test_must_fail git notes show $third &&
git notes show $second &&
git notes show $first
error: no note found for object 5ee1c35e83ea47cd3cc4f8cbee0568915fbbbd29.
Note #2
Note #1
ok 9 - verify that notes are gone
expecting success of 3306.10 'remove some commits':
git reset --hard HEAD~1 &&
git reflog expire --expire=now HEAD &&
git gc --prune=now
HEAD is now at ab5f302 1st
ok 10 - remove some commits
expecting success of 3306.11 'prune -v notes':
echo $second >expect &&
git notes prune -v > actual &&
test_cmp expect actual
ok 11 - prune -v notes
expecting success of 3306.12 'verify that notes are gone':
test_must_fail git notes show $third &&
test_must_fail git notes show $second &&
git notes show $first
error: no note found for object 5ee1c35e83ea47cd3cc4f8cbee0568915fbbbd29.
error: no note found for object 08341ad9e94faa089d60fd3f523affb25c6da189.
Note #1
ok 12 - verify that notes are gone
# passed all 12 test(s)
1..12
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t3307-notes-man.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3307-notes-man/.git/
expecting success of 3307.1 'setup':
test_commit A &&
test_commit B &&
test_commit C
[master (root-commit) 0ddfaf1] A
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 A.t
[master d9df450] B
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 B.t
[master 35a8500] C
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 C.t
ok 1 - setup
expecting success of 3307.2 'example 1: notes to add an Acked-by line':
cat <<-\EOF >expect &&
B
Notes:
Acked-by: A C Ker <acker@example.com>
EOF
git notes add -m "Acked-by: A C Ker <acker@example.com>" B &&
git show -s B^{commit} >log &&
tail -n 4 log >actual &&
test_cmp expect actual
ok 2 - example 1: notes to add an Acked-by line
expecting success of 3307.3 'example 2: binary notes':
cp "$TEST_DIRECTORY"/test-binary-1.png . &&
git checkout B &&
blob=$(git hash-object -w test-binary-1.png) &&
git notes --ref=logo add -C "$blob" &&
git notes --ref=logo copy B C &&
git notes --ref=logo show C >actual &&
test_cmp test-binary-1.png actual
Note: switching to '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.
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 <new-branch-name>
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
HEAD is now at d9df450 B
ok 3 - example 2: binary notes
# passed all 3 test(s)
1..3
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t3308-notes-merge.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3308-notes-merge/.git/
expecting success of 3308.1 'setup':
test_commit 1st &&
test_commit 2nd &&
test_commit 3rd &&
test_commit 4th &&
test_commit 5th &&
# Create notes on 4 first commits
git config core.notesRef refs/notes/x &&
git notes add -m "Notes on 1st commit" 1st &&
git notes add -m "Notes on 2nd commit" 2nd &&
git notes add -m "Notes on 3rd commit" 3rd &&
git notes add -m "Notes on 4th commit" 4th &&
# Copy notes to remote-notes
git fetch . refs/notes/*:refs/remote-notes/origin/* &&
test_oid_init &&
test_oid_cache <<-EOF
hash4a sha1:5e93d24084d32e1cb61f7070505b9d2530cca987
hash3a sha1:8366731eeee53787d2bdf8fc1eff7d94757e8da0
hash2a sha1:eede89064cd42441590d6afec6c37b321ada3389
hash1a sha1:daa55ffad6cb99bf64226532147ffcaf5ce8bdd1
hash5b sha1:0f2efbd00262f2fd41dfae33df8765618eeacd99
hash4b sha1:dec2502dac3ea161543f71930044deff93fa945c
hash3b sha1:4069cdb399fd45463ec6eef8e051a16a03592d91
hash2c sha1:d000d30e6ddcfce3a8122c403226a2ce2fd04d9d
hash1c sha1:43add6bd0c8c0bc871ac7991e0f5573cfba27804
hash4d sha1:1f257a3a90328557c452f0817d6cc50c89d315d4
hash3d sha1:05a4927951bcef347f51486575b878b2b60137f2
hash4a sha256:eef876be1d32ac2e2e42240e0429325cec116e55e88cb2969899fac695aa762f
hash3a sha256:cf7cd1bc091d7ba4166a86df864110e42087cd893a5ae96bc50d637e0290939d
hash2a sha256:21ddde7ebce2c285213898cb04deca0fd3209610cf7aaf8222e4e2f45262fae2
hash1a sha256:f9fe0eda16c6027732ed9d4295689a03abd16f893be69b3dcbf4037ddb191921
hash5b sha256:20046f2244577797a9e3d3f790ea9eca4d8a6bafb2a5570bcb0e03aa02ce100b
hash4b sha256:f90563d134c61a95bb88afbd45d48ccc9e919c62aa6fbfcd483302b3e4d8dbcb
hash3b sha256:988f2aca9f2d87e93e6a73197c2bb99560cc44a2f92d18653968f956f01221e0
hash2c sha256:84153b777b4d42827a756c6578dcdb59d8ae5d1360b874fb37c430150c825c26
hash1c sha256:9beb2bc4eef72e4c4087be168a20573e34d993d9ab1883055f23e322afa06567
hash4d sha256:32de39dc06e679a7abb2d4a55ede7709b3124340a4a90aa305971b1c72ac319d
hash3d sha256:fa73b20e41cbb7541c4c81d1535016131dbfbeb05bf6a71f6115e9cad31c7af5
EOF
[master (root-commit) 04ed9a0] 1st
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 1st.t
[master 7a4ca6e] 2nd
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 2nd.t
[master d07d62e] 3rd
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 3rd.t
[master 0f7aa3e] 4th
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 4th.t
[master 7f9ad88] 5th
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 5th.t
From .
* [new ref] refs/notes/x -> refs/remote-notes/origin/x
ok 1 - setup
expecting success of 3308.2 'verify initial notes (x)':
verify_notes x
ok 2 - verify initial notes (x)
expecting success of 3308.3 'fail to merge empty notes ref into empty notes ref (z => y)':
test_must_fail git -c "core.notesRef=refs/notes/y" notes merge z
fatal: Cannot merge empty notes ref (refs/notes/z) into empty notes ref (refs/notes/y)
ok 3 - fail to merge empty notes ref into empty notes ref (z => y)
expecting success of 3308.4 'fail to merge into various non-notes refs':
test_must_fail git -c "core.notesRef=refs/notes" notes merge x &&
test_must_fail git -c "core.notesRef=refs/notes/" notes merge x &&
git update-ref refs/notes/dir/foo HEAD &&
test_must_fail git -c "core.notesRef=refs/notes/dir" notes merge x &&
test_must_fail git -c "core.notesRef=refs/notes/dir/" notes merge x &&
test_must_fail git -c "core.notesRef=refs/heads/master" notes merge x &&
test_must_fail git -c "core.notesRef=refs/notes/y:" notes merge x &&
test_must_fail git -c "core.notesRef=refs/notes/y:foo" notes merge x &&
test_must_fail git -c "core.notesRef=refs/notes/foo^{bar" notes merge x
fatal: refusing to merge notes in refs/notes (outside of refs/notes/)
fatal: Failed to resolve local notes ref 'refs/notes/'
fatal: update_ref failed for ref 'refs/notes/dir': cannot lock ref 'refs/notes/dir': 'refs/notes/dir/foo' exists; cannot create 'refs/notes/dir'
fatal: Failed to resolve local notes ref 'refs/notes/dir/'
fatal: refusing to merge notes in refs/heads/master (outside of refs/notes/)
fatal: Failed to resolve local notes ref 'refs/notes/y:'
fatal: Failed to resolve local notes ref 'refs/notes/y:foo'
fatal: Failed to resolve local notes ref 'refs/notes/foo^{bar'
ok 4 - fail to merge into various non-notes refs
expecting success of 3308.5 'merge non-notes ref into empty notes ref (remote-notes/origin/x => v)':
git config core.notesRef refs/notes/v &&
git notes merge refs/remote-notes/origin/x &&
verify_notes v &&
# refs/remote-notes/origin/x and v should point to the same notes commit
test "$(git rev-parse refs/remote-notes/origin/x)" = "$(git rev-parse refs/notes/v)"
ok 5 - merge non-notes ref into empty notes ref (remote-notes/origin/x => v)
expecting success of 3308.6 'merge notes into empty notes ref (x => y)':
git config core.notesRef refs/notes/y &&
git notes merge x &&
verify_notes y &&
# x and y should point to the same notes commit
test "$(git rev-parse refs/notes/x)" = "$(git rev-parse refs/notes/y)"
ok 6 - merge notes into empty notes ref (x => y)
expecting success of 3308.7 'merge empty notes ref (z => y)':
git notes merge z &&
# y should not change (still == x)
test "$(git rev-parse refs/notes/x)" = "$(git rev-parse refs/notes/y)"
ok 7 - merge empty notes ref (z => y)
expecting success of 3308.8 'change notes on other notes ref (y)':
# Not touching notes to 1st commit
git notes remove 2nd &&
git notes append -m "More notes on 3rd commit" 3rd &&
git notes add -f -m "New notes on 4th commit" 4th &&
git notes add -m "Notes on 5th commit" 5th
Removing note for object 2nd
Overwriting existing notes for object 0f7aa3ec6325aeb88b910453bb3eb37c49d75c11
ok 8 - change notes on other notes ref (y)
expecting success of 3308.9 'merge previous notes commit (y^ => y) => No-op':
pre_state="$(git rev-parse refs/notes/y)" &&
git notes merge y^ &&
# y should not move
test "$pre_state" = "$(git rev-parse refs/notes/y)"
Already up to date!
ok 9 - merge previous notes commit (y^ => y) => No-op
expecting success of 3308.10 'verify changed notes on other notes ref (y)':
verify_notes y
ok 10 - verify changed notes on other notes ref (y)
expecting success of 3308.11 'verify unchanged notes on original notes ref (x)':
verify_notes x
ok 11 - verify unchanged notes on original notes ref (x)
expecting success of 3308.12 'merge original notes (x) into changed notes (y) => No-op':
git notes merge -vvv x &&
verify_notes y &&
verify_notes x
One merge base found (bf2877f)
Merging remote commit bf2877f into local commit 21b8c5e with merge-base bf2877f
Already up to date!
ok 12 - merge original notes (x) into changed notes (y) => No-op
expecting success of 3308.13 'merge changed (y) into original (x) => Fast-forward':
git config core.notesRef refs/notes/x &&
git notes merge y &&
verify_notes x &&
verify_notes y &&
# x and y should point to same the notes commit
test "$(git rev-parse refs/notes/x)" = "$(git rev-parse refs/notes/y)"
Fast-forward
ok 13 - merge changed (y) into original (x) => Fast-forward
expecting success of 3308.14 'merge empty notes ref (z => y)':
# Prepare empty (but valid) notes ref (z)
git config core.notesRef refs/notes/z &&
git notes add -m "foo" &&
git notes remove &&
git notes >output_notes_z &&
test_must_be_empty output_notes_z &&
# Do the merge (z => y)
git config core.notesRef refs/notes/y &&
git notes merge z &&
verify_notes y &&
# y should no longer point to the same notes commit as x
test "$(git rev-parse refs/notes/x)" != "$(git rev-parse refs/notes/y)"
Removing note for object HEAD
ok 14 - merge empty notes ref (z => y)
expecting success of 3308.15 'change notes on other notes ref (y)':
# Append to 1st commit notes
git notes append -m "More notes on 1st commit" 1st &&
# Add new notes to 2nd commit
git notes add -m "New notes on 2nd commit" 2nd &&
verify_notes y
ok 15 - change notes on other notes ref (y)
expecting success of 3308.16 'change notes on notes ref (x)':
git config core.notesRef refs/notes/x &&
git notes remove 3rd &&
git notes append -m "More notes on 4th commit" 4th &&
verify_notes x
Removing note for object 3rd
ok 16 - change notes on notes ref (x)
expecting success of 3308.17 'merge y into x => Non-conflicting 3-way merge':
git notes merge y &&
verify_notes x &&
verify_notes y
ok 17 - merge y into x => Non-conflicting 3-way merge
expecting success of 3308.18 'create notes on new, separate notes ref (w)':
git config core.notesRef refs/notes/w &&
# Add same note as refs/notes/y on 2nd commit
git notes add -m "New notes on 2nd commit" 2nd &&
# Add new note on 3rd commit (non-conflicting)
git notes add -m "New notes on 3rd commit" 3rd &&
# Verify state of notes on new, separate notes ref (w)
verify_notes w
ok 18 - create notes on new, separate notes ref (w)
expecting success of 3308.19 'merge w into x => Non-conflicting history-less merge':
git config core.notesRef refs/notes/x &&
git notes merge w &&
# Verify new state of notes on other notes ref (x)
verify_notes x &&
# Also verify that nothing changed on other notes refs (y and w)
verify_notes y &&
verify_notes w
ok 19 - merge w into x => Non-conflicting history-less merge
# passed all 19 test(s)
1..19
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t3309-notes-merge-auto-resolve.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3309-notes-merge-auto-resolve/.git/
expecting success of 3309.1 'setup commits':
test_commit 1st &&
test_commit 2nd &&
test_commit 3rd &&
test_commit 4th &&
test_commit 5th &&
test_commit 6th &&
test_commit 7th &&
test_commit 8th &&
test_commit 9th &&
test_commit 10th &&
test_commit 11th &&
test_commit 12th &&
test_commit 13th &&
test_commit 14th &&
test_commit 15th &&
test_oid_cache <<-EOF
hash15a sha1:457a85d6c814ea208550f15fcc48f804ac8dc023
hash14a sha1:b0c95b954301d69da2bc3723f4cb1680d355937c
hash13a sha1:5d30216a129eeffa97d9694ffe8c74317a560315
hash12a sha1:dd161bc149470fd890dd4ab52a4cbd79bbd18c36
hash11a sha1:7abbc45126d680336fb24294f013a7cdfa3ed545
hash10a sha1:b8d03e173f67f6505a76f6e00cf93440200dd9be
hash09a sha1:20c613c835011c48a5abe29170a2402ca6354910
hash08a sha1:a3daf8a1e4e5dc3409a303ad8481d57bfea7f5d6
hash07a sha1:897003322b53bc6ca098e9324ee508362347e734
hash06a sha1:11d97fdebfa5ceee540a3da07bce6fa0222bc082
hash15b sha1:68b8630d25516028bed862719855b3d6768d7833
hash14b sha1:5de7ea7ad4f47e7ff91989fb82234634730f75df
hash13b sha1:3a631fdb6f41b05b55d8f4baf20728ba8f6fccbc
hash12b sha1:a66055fa82f7a03fe0c02a6aba3287a85abf7c62
hash05b sha1:154508c7a0bcad82b6fe4b472bc4c26b3bf0825b
hash04b sha1:e2bfd06a37dd2031684a59a6e2b033e212239c78
hash03b sha1:5772f42408c0dd6f097a7ca2d24de0e78d1c46b1
hash15c sha1:9b4b2c61f0615412da3c10f98ff85b57c04ec765
hash11c sha1:7e3c53503a3db8dd996cb62e37c66e070b44b54d
hash08c sha1:851e1638784a884c7dd26c5d41f3340f6387413a
hash05c sha1:99fc34adfc400b95c67b013115e37e31aa9a6d23
hash02c sha1:283b48219aee9a4105f6cab337e789065c82c2b9
hash15d sha1:7c4e546efd0fe939f876beb262ece02797880b54
hash05d sha1:6c841cc36ea496027290967ca96bd2bef54dbb47
hash15e sha1:d682107b8bf7a7aea1e537a8d5cb6a12b60135f1
hash05e sha1:357b6ca14c7afd59b7f8b8aaaa6b8b723771135b
hash15f sha1:6be90240b5f54594203e25d9f2f64b7567175aee
hash05f sha1:660311d7f78dc53db12ac373a43fca7465381a7e
hash15a sha256:45b1558e5c1b75f570010fa48aaa67bb2289fcd431b34ad81cb4c8b95f4f872a
hash14a sha256:6e7af179ea4dd28afdc83ae6912ba0098cdeff764b26a8b750b157dd81749092
hash13a sha256:7353089961baf555388e1bac68c67c8ea94b08ccbd97532201cf7f6790703052
hash12a sha256:5863e4521689ee1879ceab3b38d39e93ab5b51ec70aaf6a96ad388fbdedfa25e
hash11a sha256:82a0ec0338b4ecf8b44304badf4ad38d7469dc41827f38d7ba6c42e3bae3ee98
hash10a sha256:e84f2564e92de9792c93b8d197262c735d7ccb1de6025cef8759af8f6c3308eb
hash09a sha256:4dd07764bcec696f195c0ea71ae89e174876403af1637e4642b8f4453fd23028
hash08a sha256:02132c4546cd88a1d0aa5854dd55da120927f7904ba16afe36fe03e91a622067
hash07a sha256:369baf7d00c6720efdc10273493555f943051f84a4706fb24caeb353fa4789db
hash06a sha256:52d32c10353583b2d96a5849b1f1f43c8018e76f3e8ef1b0d46eb5cff7cdefaf
hash15b sha256:345e6660b345fa174738a31a7a59423c394bdf414804e200bc510c65d971ae96
hash14b sha256:7653a6596021c52e405cba979eea15a729993e7102b9a61ba4667e34f0ead4a1
hash13b sha256:0f202a0b6b9690de2349c173dfd766a37e82744f61c14f1c389306f1d69f470b
hash12b sha256:eb00f219c026136ea6535b16ff8ec3efa510e6bf50098ca041e1a2a1d4b79840
hash05b sha256:993b2290cd0c24c27c849d99f1904f3b590f77af0f539932734ad05679ac5a2f
hash04b sha256:c7fba0d6104917fbf35258f40b9fa4fc697cfa992deecd1570a3b08d0a5587a9
hash03b sha256:7287a2d78a3766c181b08df38951d784b08b72a44f571ed6d855bd0be22c70f6
hash15c sha256:62316660a22bf97857dc4a16709ec4d93a224e8c9f37d661ef91751e1f4c4166
hash11c sha256:51c3763de9b08309370adc5036d58debb331980e73097902957c444602551daa
hash08c sha256:22cf1fa29599898a7218c51135d66ed85d22aad584f77db3305dedce4c3d4798
hash05c sha256:2508fd86db980f0508893a1c1571bdf3b2ee113dc25ddb1a3a2fb94bd6cd0d58
hash02c sha256:63bb527e0b4e1c8e1dd0d54dd778ca7c3718689fd6e37c473044cfbcf1cacfdb
hash15d sha256:667acb4e2d5f8df15e5aea4506dfd16d25bc7feca70fdb0d965a7222f983bb88
hash05d sha256:09e6b5a6fe666c4a027674b6611a254b7d2528cd211c6b5288d1b4db6c741dfa
hash15e sha256:e8cbf52f6fcadc6de3c7761e64a89e9fe38d19a03d3e28ef6ca8596d93fc4f3a
hash05e sha256:cdb1e19f7ba1539f95af51a57edeb88a7ecc97d3c2f52da8c4c86af308595607
hash15f sha256:29c14cb92da448a923963b8a43994268b19c2e57913de73f3667421fd2c0eeec
hash05f sha256:14a6e641b2c0a9f398ebac6b4d34afa5efea4c52d2631382f45f8f662266903b
EOF
[master (root-commit) 04ed9a0] 1st
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 1st.t
[master 7a4ca6e] 2nd
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 2nd.t
[master d07d62e] 3rd
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 3rd.t
[master 0f7aa3e] 4th
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 4th.t
[master 7f9ad88] 5th
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 5th.t
[master 2c12533] 6th
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 6th.t
[master fb01e0c] 7th
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 7th.t
[master 9a4c31c] 8th
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 8th.t
[master 2e0db4b] 9th
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 9th.t
[master 7c3b87a] 10th
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 10th.t
[master a446fff] 11th
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 11th.t
[master 65e263d] 12th
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 12th.t
[master e871aa6] 13th
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 13th.t
[master 07c85d7] 14th
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 14th.t
[master 4acf42e] 15th
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 15th.t
ok 1 - setup commits
expecting success of 3309.2 'setup merge base (x)':
git config core.notesRef refs/notes/x &&
git notes add -m "x notes on 6th commit" 6th &&
git notes add -m "x notes on 7th commit" 7th &&
git notes add -m "x notes on 8th commit" 8th &&
git notes add -m "x notes on 9th commit" 9th &&
git notes add -m "x notes on 10th commit" 10th &&
git notes add -m "x notes on 11th commit" 11th &&
git notes add -m "x notes on 12th commit" 12th &&
git notes add -m "x notes on 13th commit" 13th &&
git notes add -m "x notes on 14th commit" 14th &&
git notes add -m "x notes on 15th commit" 15th
ok 2 - setup merge base (x)
expecting success of 3309.3 'verify state of merge base (x)': verify_notes x x
ok 3 - verify state of merge base (x)
expecting success of 3309.4 'setup local branch (y)':
git update-ref refs/notes/y refs/notes/x &&
git config core.notesRef refs/notes/y &&
git notes add -f -m "y notes on 3rd commit" 3rd &&
git notes add -f -m "y notes on 4th commit" 4th &&
git notes add -f -m "y notes on 5th commit" 5th &&
git notes remove 6th &&
git notes remove 7th &&
git notes remove 8th &&
git notes add -f -m "y notes on 12th commit" 12th &&
git notes add -f -m "y notes on 13th commit" 13th &&
git notes add -f -m "y notes on 14th commit" 14th &&
git notes add -f -m "y notes on 15th commit" 15th
Removing note for object 6th
Removing note for object 7th
Removing note for object 8th
Overwriting existing notes for object 65e263ded02ae4e8839bc151095113737579dc12
Overwriting existing notes for object e871aa61182b1d95d0a6fb75445d891722863b6b
Overwriting existing notes for object 07c85d77059393ed0154b8c96906547a59dfcddd
Overwriting existing notes for object 4acf42e847e7fffbbf89ee365c20ac7caf40de89
ok 4 - setup local branch (y)
expecting success of 3309.5 'verify state of local branch (y)': verify_notes y y
ok 5 - verify state of local branch (y)
expecting success of 3309.6 'setup remote branch (z)':
git update-ref refs/notes/z refs/notes/x &&
git config core.notesRef refs/notes/z &&
git notes add -f -m "z notes on 2nd commit" 2nd &&
git notes add -f -m "y notes on 4th commit" 4th &&
git notes add -f -m "z notes on 5th commit" 5th &&
git notes remove 6th &&
git notes add -f -m "z notes on 8th commit" 8th &&
git notes remove 9th &&
git notes add -f -m "z notes on 11th commit" 11th &&
git notes remove 12th &&
git notes add -f -m "y notes on 14th commit" 14th &&
git notes add -f -m "z notes on 15th commit" 15th
Removing note for object 6th
Overwriting existing notes for object 9a4c31c7f722b5d517e92c64e932dd751e1413bf
Removing note for object 9th
Overwriting existing notes for object a446fff8777efdc6eb8f4b7c8a5ff699484df0d5
Removing note for object 12th
Overwriting existing notes for object 07c85d77059393ed0154b8c96906547a59dfcddd
Overwriting existing notes for object 4acf42e847e7fffbbf89ee365c20ac7caf40de89
ok 6 - setup remote branch (z)
expecting success of 3309.7 'verify state of remote branch (z)': verify_notes z z
ok 7 - verify state of remote branch (z)
expecting success of 3309.8 'merge z into y with invalid strategy => Fail/No changes':
git config core.notesRef refs/notes/y &&
test_must_fail git notes merge --strategy=foo z &&
# Verify no changes (y)
verify_notes y y
error: unknown -s/--strategy: foo
usage: git notes merge [<options>] <notes-ref>
or: git notes merge --commit [<options>]
or: git notes merge --abort [<options>]
General options
-v, --verbose be more verbose
-q, --quiet be more quiet
Merge options
-s, --strategy <strategy>
resolve notes conflicts using the given strategy (manual/ours/theirs/union/cat_sort_uniq)
Committing unmerged notes
--commit finalize notes merge by committing unmerged notes
Aborting notes merge resolution
--abort abort notes merge
ok 8 - merge z into y with invalid strategy => Fail/No changes
expecting success of 3309.9 'merge z into y with invalid configuration option => Fail/No changes':
git config core.notesRef refs/notes/y &&
test_must_fail git -c notes.mergeStrategy="foo" notes merge z &&
# Verify no changes (y)
verify_notes y y
error: unknown notes merge strategy foo
fatal: unable to parse 'notes.mergeStrategy' from command-line config
ok 9 - merge z into y with invalid configuration option => Fail/No changes
expecting success of 3309.10 'merge z into y with "ours" strategy => Non-conflicting 3-way merge':
git notes merge --strategy=ours z &&
verify_notes y ours
Using local notes for 4acf42e847e7fffbbf89ee365c20ac7caf40de89
Using local notes for 65e263ded02ae4e8839bc151095113737579dc12
Using local notes for 7f9ad8836c775acb134c0a055fc55fb4cd1ba361
Using local notes for 9a4c31c7f722b5d517e92c64e932dd751e1413bf
ok 10 - merge z into y with "ours" strategy => Non-conflicting 3-way merge
expecting success of 3309.11 'reset to pre-merge state (y)':
git update-ref refs/notes/y refs/notes/y^1 &&
# Verify pre-merge state
verify_notes y y
ok 11 - reset to pre-merge state (y)
expecting success of 3309.12 'merge z into y with "ours" configuration option => Non-conflicting 3-way merge':
git -c notes.mergeStrategy="ours" notes merge z &&
verify_notes y ours
Using local notes for 4acf42e847e7fffbbf89ee365c20ac7caf40de89
Using local notes for 65e263ded02ae4e8839bc151095113737579dc12
Using local notes for 7f9ad8836c775acb134c0a055fc55fb4cd1ba361
Using local notes for 9a4c31c7f722b5d517e92c64e932dd751e1413bf
ok 12 - merge z into y with "ours" configuration option => Non-conflicting 3-way merge
expecting success of 3309.13 'reset to pre-merge state (y)':
git update-ref refs/notes/y refs/notes/y^1 &&
# Verify pre-merge state
verify_notes y y
ok 13 - reset to pre-merge state (y)
expecting success of 3309.14 'merge z into y with "ours" per-ref configuration option => Non-conflicting 3-way merge':
git -c notes.y.mergeStrategy="ours" notes merge z &&
verify_notes y ours
Using local notes for 4acf42e847e7fffbbf89ee365c20ac7caf40de89
Using local notes for 65e263ded02ae4e8839bc151095113737579dc12
Using local notes for 7f9ad8836c775acb134c0a055fc55fb4cd1ba361
Using local notes for 9a4c31c7f722b5d517e92c64e932dd751e1413bf
ok 14 - merge z into y with "ours" per-ref configuration option => Non-conflicting 3-way merge
expecting success of 3309.15 'reset to pre-merge state (y)':
git update-ref refs/notes/y refs/notes/y^1 &&
# Verify pre-merge state
verify_notes y y
ok 15 - reset to pre-merge state (y)
expecting success of 3309.16 'merge z into y with "theirs" strategy => Non-conflicting 3-way merge':
git notes merge --strategy=theirs z &&
verify_notes y theirs
Using remote notes for 4acf42e847e7fffbbf89ee365c20ac7caf40de89
Using remote notes for 65e263ded02ae4e8839bc151095113737579dc12
Using remote notes for 7f9ad8836c775acb134c0a055fc55fb4cd1ba361
Using remote notes for 9a4c31c7f722b5d517e92c64e932dd751e1413bf
ok 16 - merge z into y with "theirs" strategy => Non-conflicting 3-way merge
expecting success of 3309.17 'reset to pre-merge state (y)':
git update-ref refs/notes/y refs/notes/y^1 &&
# Verify pre-merge state
verify_notes y y
ok 17 - reset to pre-merge state (y)
expecting success of 3309.18 'merge z into y with "theirs" strategy overriding configuration option "ours" => Non-conflicting 3-way merge':
git -c notes.mergeStrategy="ours" notes merge --strategy=theirs z &&
verify_notes y theirs
Using remote notes for 4acf42e847e7fffbbf89ee365c20ac7caf40de89
Using remote notes for 65e263ded02ae4e8839bc151095113737579dc12
Using remote notes for 7f9ad8836c775acb134c0a055fc55fb4cd1ba361
Using remote notes for 9a4c31c7f722b5d517e92c64e932dd751e1413bf
ok 18 - merge z into y with "theirs" strategy overriding configuration option "ours" => Non-conflicting 3-way merge
expecting success of 3309.19 'reset to pre-merge state (y)':
git update-ref refs/notes/y refs/notes/y^1 &&
# Verify pre-merge state
verify_notes y y
ok 19 - reset to pre-merge state (y)
expecting success of 3309.20 'merge z into y with "union" strategy => Non-conflicting 3-way merge':
git notes merge --strategy=union z &&
verify_notes y union
Concatenating local and remote notes for 4acf42e847e7fffbbf89ee365c20ac7caf40de89
Concatenating local and remote notes for 65e263ded02ae4e8839bc151095113737579dc12
Concatenating local and remote notes for 7f9ad8836c775acb134c0a055fc55fb4cd1ba361
Concatenating local and remote notes for 9a4c31c7f722b5d517e92c64e932dd751e1413bf
ok 20 - merge z into y with "union" strategy => Non-conflicting 3-way merge
expecting success of 3309.21 'reset to pre-merge state (y)':
git update-ref refs/notes/y refs/notes/y^1 &&
# Verify pre-merge state
verify_notes y y
ok 21 - reset to pre-merge state (y)
expecting success of 3309.22 'merge z into y with "union" strategy overriding per-ref configuration => Non-conflicting 3-way merge':
git -c notes.y.mergeStrategy="theirs" notes merge --strategy=union z &&
verify_notes y union
Concatenating local and remote notes for 4acf42e847e7fffbbf89ee365c20ac7caf40de89
Concatenating local and remote notes for 65e263ded02ae4e8839bc151095113737579dc12
Concatenating local and remote notes for 7f9ad8836c775acb134c0a055fc55fb4cd1ba361
Concatenating local and remote notes for 9a4c31c7f722b5d517e92c64e932dd751e1413bf
ok 22 - merge z into y with "union" strategy overriding per-ref configuration => Non-conflicting 3-way merge
expecting success of 3309.23 'reset to pre-merge state (y)':
git update-ref refs/notes/y refs/notes/y^1 &&
# Verify pre-merge state
verify_notes y y
ok 23 - reset to pre-merge state (y)
expecting success of 3309.24 'merge z into y with "union" per-ref overriding general configuration => Non-conflicting 3-way merge':
git -c notes.y.mergeStrategy="union" -c notes.mergeStrategy="theirs" notes merge z &&
verify_notes y union
Concatenating local and remote notes for 4acf42e847e7fffbbf89ee365c20ac7caf40de89
Concatenating local and remote notes for 65e263ded02ae4e8839bc151095113737579dc12
Concatenating local and remote notes for 7f9ad8836c775acb134c0a055fc55fb4cd1ba361
Concatenating local and remote notes for 9a4c31c7f722b5d517e92c64e932dd751e1413bf
ok 24 - merge z into y with "union" per-ref overriding general configuration => Non-conflicting 3-way merge
expecting success of 3309.25 'reset to pre-merge state (y)':
git update-ref refs/notes/y refs/notes/y^1 &&
# Verify pre-merge state
verify_notes y y
ok 25 - reset to pre-merge state (y)
expecting success of 3309.26 'merge z into y with "manual" per-ref only checks specific ref configuration => Conflicting 3-way merge':
test_must_fail git -c notes.z.mergeStrategy="union" notes merge z &&
git notes merge --abort &&
verify_notes y y
Automatic notes merge failed. Fix conflicts in .git/NOTES_MERGE_WORKTREE and commit the result with 'git notes merge --commit', or abort the merge with 'git notes merge --abort'.
Auto-merging notes for 4acf42e847e7fffbbf89ee365c20ac7caf40de89
CONFLICT (content): Merge conflict in notes for object 4acf42e847e7fffbbf89ee365c20ac7caf40de89
Auto-merging notes for 65e263ded02ae4e8839bc151095113737579dc12
CONFLICT (delete/modify): Notes for object 65e263ded02ae4e8839bc151095113737579dc12 deleted in refs/notes/z and modified in refs/notes/y. Version from refs/notes/y left in tree.
Auto-merging notes for 7f9ad8836c775acb134c0a055fc55fb4cd1ba361
CONFLICT (add/add): Merge conflict in notes for object 7f9ad8836c775acb134c0a055fc55fb4cd1ba361
Auto-merging notes for 9a4c31c7f722b5d517e92c64e932dd751e1413bf
CONFLICT (delete/modify): Notes for object 9a4c31c7f722b5d517e92c64e932dd751e1413bf deleted in refs/notes/y and modified in refs/notes/z. Version from refs/notes/z left in tree.
ok 26 - merge z into y with "manual" per-ref only checks specific ref configuration => Conflicting 3-way merge
expecting success of 3309.27 'merge y into z with "union" strategy => Non-conflicting 3-way merge':
git config core.notesRef refs/notes/z &&
git notes merge --strategy=union y &&
verify_notes z union2
Concatenating local and remote notes for 4acf42e847e7fffbbf89ee365c20ac7caf40de89
Concatenating local and remote notes for 65e263ded02ae4e8839bc151095113737579dc12
Concatenating local and remote notes for 7f9ad8836c775acb134c0a055fc55fb4cd1ba361
Concatenating local and remote notes for 9a4c31c7f722b5d517e92c64e932dd751e1413bf
ok 27 - merge y into z with "union" strategy => Non-conflicting 3-way merge
expecting success of 3309.28 'reset to pre-merge state (z)':
git update-ref refs/notes/z refs/notes/z^1 &&
# Verify pre-merge state
verify_notes z z
ok 28 - reset to pre-merge state (z)
expecting success of 3309.29 'merge y into z with "cat_sort_uniq" strategy => Non-conflicting 3-way merge':
git notes merge --strategy=cat_sort_uniq y &&
verify_notes z cat_sort_uniq
Concatenating unique lines in local and remote notes for 4acf42e847e7fffbbf89ee365c20ac7caf40de89
Concatenating unique lines in local and remote notes for 65e263ded02ae4e8839bc151095113737579dc12
Concatenating unique lines in local and remote notes for 7f9ad8836c775acb134c0a055fc55fb4cd1ba361
Concatenating unique lines in local and remote notes for 9a4c31c7f722b5d517e92c64e932dd751e1413bf
ok 29 - merge y into z with "cat_sort_uniq" strategy => Non-conflicting 3-way merge
expecting success of 3309.30 'reset to pre-merge state (z)':
git update-ref refs/notes/z refs/notes/z^1 &&
# Verify pre-merge state
verify_notes z z
ok 30 - reset to pre-merge state (z)
expecting success of 3309.31 'merge y into z with "cat_sort_uniq" strategy configuration option => Non-conflicting 3-way merge':
git -c notes.mergeStrategy="cat_sort_uniq" notes merge y &&
verify_notes z cat_sort_uniq
Concatenating unique lines in local and remote notes for 4acf42e847e7fffbbf89ee365c20ac7caf40de89
Concatenating unique lines in local and remote notes for 65e263ded02ae4e8839bc151095113737579dc12
Concatenating unique lines in local and remote notes for 7f9ad8836c775acb134c0a055fc55fb4cd1ba361
Concatenating unique lines in local and remote notes for 9a4c31c7f722b5d517e92c64e932dd751e1413bf
ok 31 - merge y into z with "cat_sort_uniq" strategy configuration option => Non-conflicting 3-way merge
# passed all 31 test(s)
1..31
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t3303-notes-subtrees.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3303-notes-subtrees/.git/
expecting success of 3303.1 'setup: create 100 commits':
(
nr=0 &&
while [ $nr -lt $number_of_commits ]; do
nr=$(($nr+1)) &&
test_tick &&
cat <<INPUT_END
commit refs/heads/master
committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE
data <<COMMIT
commit #$nr
COMMIT
M 644 inline file
data <<EOF
file in commit #$nr
EOF
INPUT_END
done &&
test_tick &&
cat <<INPUT_END
commit refs/notes/commits
committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE
data <<COMMIT
no notes
COMMIT
deleteall
INPUT_END
) |
git fast-import --quiet &&
git config core.notesRef refs/notes/commits
ok 1 - setup: create 100 commits
expecting success of 3303.2 'test notes in 2/38-fanout': test_sha1_based "s|^..|&/|"
ok 2 - test notes in 2/38-fanout
expecting success of 3303.3 'verify notes in 2/38-fanout': verify_notes
ok 3 - verify notes in 2/38-fanout
expecting success of 3303.4 'test notes in 2/2/36-fanout': test_sha1_based "s|^\(..\)\(..\)|\1/\2/|"
ok 4 - test notes in 2/2/36-fanout
expecting success of 3303.5 'verify notes in 2/2/36-fanout': verify_notes
ok 5 - verify notes in 2/2/36-fanout
expecting success of 3303.6 'test notes in 2/2/2/34-fanout': test_sha1_based "s|^\(..\)\(..\)\(..\)|\1/\2/\3/|"
ok 6 - test notes in 2/2/2/34-fanout
expecting success of 3303.7 'verify notes in 2/2/2/34-fanout': verify_notes
ok 7 - verify notes in 2/2/2/34-fanout
expecting success of 3303.8 'test same notes in no fanout and 2/38-fanout': test_same_notes "s|^..|&/|" ""
ok 8 - test same notes in no fanout and 2/38-fanout
expecting success of 3303.9 'verify same notes in no fanout and 2/38-fanout': verify_notes
ok 9 - verify same notes in no fanout and 2/38-fanout
expecting success of 3303.10 'test same notes in no fanout and 2/2/36-fanout': test_same_notes "s|^\(..\)\(..\)|\1/\2/|" ""
ok 10 - test same notes in no fanout and 2/2/36-fanout
expecting success of 3303.11 'verify same notes in no fanout and 2/2/36-fanout': verify_notes
ok 11 - verify same notes in no fanout and 2/2/36-fanout
expecting success of 3303.12 'test same notes in 2/38-fanout and 2/2/36-fanout': test_same_notes "s|^\(..\)\(..\)|\1/\2/|" "s|^..|&/|"
ok 12 - test same notes in 2/38-fanout and 2/2/36-fanout
expecting success of 3303.13 'verify same notes in 2/38-fanout and 2/2/36-fanout': verify_notes
ok 13 - verify same notes in 2/38-fanout and 2/2/36-fanout
expecting success of 3303.14 'test same notes in 2/2/2/34-fanout and 2/2/36-fanout': test_same_notes "s|^\(..\)\(..\)|\1/\2/|" "s|^\(..\)\(..\)\(..\)|\1/\2/\3/|"
ok 14 - test same notes in 2/2/2/34-fanout and 2/2/36-fanout
expecting success of 3303.15 'verify same notes in 2/2/2/34-fanout and 2/2/36-fanout': verify_notes
ok 15 - verify same notes in 2/2/2/34-fanout and 2/2/36-fanout
expecting success of 3303.16 'test notes in no fanout concatenated with 2/38-fanout': test_concatenated_notes "s|^..|&/|" ""
ok 16 - test notes in no fanout concatenated with 2/38-fanout
expecting success of 3303.17 'verify notes in no fanout concatenated with 2/38-fanout': verify_concatenated_notes
ok 17 - verify notes in no fanout concatenated with 2/38-fanout
expecting success of 3303.18 'test notes in no fanout concatenated with 2/2/36-fanout': test_concatenated_notes "s|^\(..\)\(..\)|\1/\2/|" ""
ok 18 - test notes in no fanout concatenated with 2/2/36-fanout
expecting success of 3303.19 'verify notes in no fanout concatenated with 2/2/36-fanout': verify_concatenated_notes
ok 19 - verify notes in no fanout concatenated with 2/2/36-fanout
expecting success of 3303.20 'test notes in 2/38-fanout concatenated with 2/2/36-fanout': test_concatenated_notes "s|^\(..\)\(..\)|\1/\2/|" "s|^..|&/|"
ok 20 - test notes in 2/38-fanout concatenated with 2/2/36-fanout
expecting success of 3303.21 'verify notes in 2/38-fanout concatenated with 2/2/36-fanout': verify_concatenated_notes
ok 21 - verify notes in 2/38-fanout concatenated with 2/2/36-fanout
expecting success of 3303.22 'test notes in 2/2/36-fanout concatenated with 2/2/2/34-fanout': test_concatenated_notes "s|^\(..\)\(..\)\(..\)|\1/\2/\3/|" "s|^\(..\)\(..\)|\1/\2/|"
ok 22 - test notes in 2/2/36-fanout concatenated with 2/2/2/34-fanout
expecting success of 3303.23 'verify notes in 2/2/36-fanout concatenated with 2/2/2/34-fanout': verify_concatenated_notes
ok 23 - verify notes in 2/2/36-fanout concatenated with 2/2/2/34-fanout
# passed all 23 test(s)
1..23
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t3310-notes-merge-manual-resolve.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3310-notes-merge-manual-resolve/.git/
expecting success of 3310.1 'setup commits':
test_commit 1st &&
test_commit 2nd &&
test_commit 3rd &&
test_commit 4th &&
test_commit 5th &&
test_oid_cache <<-EOF
hash04a sha1:6e8e3febca3c2bb896704335cc4d0c34cb2f8715
hash03a sha1:e5388c10860456ee60673025345fe2e153eb8cf8
hash02a sha1:ceefa674873670e7ecd131814d909723cce2b669
hash04b sha1:e2bfd06a37dd2031684a59a6e2b033e212239c78
hash03b sha1:5772f42408c0dd6f097a7ca2d24de0e78d1c46b1
hash01b sha1:b0a6021ec006d07e80e9b20ec9b444cbd9d560d3
hash04c sha1:cff59c793c20bb49a4e01bc06fb06bad642e0d54
hash02c sha1:283b48219aee9a4105f6cab337e789065c82c2b9
hash01c sha1:0a81da8956346e19bcb27a906f04af327e03e31b
hash04d sha1:00494adecf2d9635a02fa431308d67993f853968
hash01e sha1:f75d1df88cbfe4258d49852f26cfc83f2ad4494b
hash04f sha1:021faa20e931fb48986ffc6282b4bb05553ac946
hash01f sha1:0a59e787e6d688aa6309e56e8c1b89431a0fc1c1
hash05g sha1:304dfb4325cf243025b9957486eb605a9b51c199
hash04a sha256:f18a935e65866345098b3b754071dbf9f3aa3520eb27a7b036b278c5e2f1ed7e
hash03a sha256:713035dc94067a64e5fa6e4e1821b7c3bde49a77c7cb3f80eaadefa1ca41b3d2
hash02a sha256:f160a67e048b6fa75bec3952184154045076692cf5dccd3da21e3fd34b7a3f0f
hash04b sha256:c7fba0d6104917fbf35258f40b9fa4fc697cfa992deecd1570a3b08d0a5587a9
hash03b sha256:7287a2d78a3766c181b08df38951d784b08b72a44f571ed6d855bd0be22c70f6
hash01b sha256:da96cf778c15d0a2bb76f98b2a62f6c9c01730fa7030e8f08ef0191048e7d620
hash04c sha256:cb615d2def4b834d5f55b2351df97dc92bee4f5009d285201427f349081c8aca
hash02c sha256:63bb527e0b4e1c8e1dd0d54dd778ca7c3718689fd6e37c473044cfbcf1cacfdb
hash01c sha256:5b87237ac1fbae0246256fed9f9a1f077c4140fb7e6444925f8dbfa5ae406cd8
hash04d sha256:eeddc9f9f6cb3d6b39b861659853f10891dc373e0b6eecb09e03e39b6ce64714
hash01e sha256:108f521b1a74c2e6d0b52a4eda87e09162bf847f7d190cfce496ee1af0b29a5a
hash04f sha256:901acda0454502b3bbd281f130c419e6c8de78afcf72a8def8d45ad31462bce4
hash01f sha256:a2d99d1b8bf23c8af7d9d91368454adc110dfd5cc068a4cebb486ee8f5a1e16c
hash05g sha256:4fef015b01da8efe929a68e3bb9b8fbad81f53995f097befe8ebc93f12ab98ec
EOF
[master (root-commit) 04ed9a0] 1st
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 1st.t
[master 7a4ca6e] 2nd
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 2nd.t
[master d07d62e] 3rd
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 3rd.t
[master 0f7aa3e] 4th
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 4th.t
[master 7f9ad88] 5th
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 5th.t
ok 1 - setup commits
expecting success of 3310.2 'setup merge base (x)':
git config core.notesRef refs/notes/x &&
git notes add -m "x notes on 2nd commit" 2nd &&
git notes add -m "x notes on 3rd commit" 3rd &&
git notes add -m "x notes on 4th commit" 4th &&
verify_notes x
ok 2 - setup merge base (x)
expecting success of 3310.3 'setup local branch (y)':
git update-ref refs/notes/y refs/notes/x &&
git config core.notesRef refs/notes/y &&
git notes add -f -m "y notes on 1st commit" 1st &&
git notes remove 2nd &&
git notes add -f -m "y notes on 3rd commit" 3rd &&
git notes add -f -m "y notes on 4th commit" 4th &&
verify_notes y
Removing note for object 2nd
Overwriting existing notes for object d07d62e5208f22eb5695e7eb47667dc8b9860290
Overwriting existing notes for object 0f7aa3ec6325aeb88b910453bb3eb37c49d75c11
ok 3 - setup local branch (y)
expecting success of 3310.4 'setup remote branch (z)':
git update-ref refs/notes/z refs/notes/x &&
git config core.notesRef refs/notes/z &&
git notes add -f -m "z notes on 1st commit" 1st &&
git notes add -f -m "z notes on 2nd commit" 2nd &&
git notes remove 3rd &&
git notes add -f -m "z notes on 4th commit" 4th &&
verify_notes z
Overwriting existing notes for object 7a4ca6ee52a974a66cbaa78e33214535dff1d691
Removing note for object 3rd
Overwriting existing notes for object 0f7aa3ec6325aeb88b910453bb3eb37c49d75c11
ok 4 - setup remote branch (z)
expecting success of 3310.5 'merge z into m (== y) with default ("manual") resolver => Conflicting 3-way merge':
git update-ref refs/notes/m refs/notes/y &&
git config core.notesRef refs/notes/m &&
test_must_fail git notes merge z >output 2>&1 &&
# Output should point to where to resolve conflicts
test_i18ngrep "\\.git/NOTES_MERGE_WORKTREE" output &&
# Inspect merge conflicts
ls .git/NOTES_MERGE_WORKTREE >output_conflicts &&
test_cmp expect_conflicts output_conflicts &&
( for f in $(cat expect_conflicts); do
test_cmp "expect_conflict_$f" ".git/NOTES_MERGE_WORKTREE/$f" ||
exit 1
done ) &&
# Verify that current notes tree (pre-merge) has not changed (m == y)
verify_notes y &&
verify_notes m &&
test "$(git rev-parse refs/notes/m)" = "$(cat pre_merge_y)"
checking prerequisite: C_LOCALE_OUTPUT
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
! test_bool_env GIT_TEST_GETTEXT_POISON false
)
prerequisite C_LOCALE_OUTPUT ok
Automatic notes merge failed. Fix conflicts in .git/NOTES_MERGE_WORKTREE and commit the result with 'git notes merge --commit', or abort the merge with 'git notes merge --abort'.
ok 5 - merge z into m (== y) with default ("manual") resolver => Conflicting 3-way merge
expecting success of 3310.6 'change notes in z':
git notes --ref z append -m "More z notes on 4th commit" 4th &&
verify_notes z
ok 6 - change notes in z
expecting success of 3310.7 'cannot do merge w/conflicts when previous merge is unfinished':
test -d .git/NOTES_MERGE_WORKTREE &&
test_must_fail git notes merge z >output 2>&1 &&
# Output should indicate what is wrong
test_i18ngrep -q "\\.git/NOTES_MERGE_\\* exists" output
ok 7 - cannot do merge w/conflicts when previous merge is unfinished
expecting success of 3310.8 'setup unrelated notes ref (w)':
git config core.notesRef refs/notes/w &&
git notes add -m "w notes on 1st commit" 1st &&
git notes add -m "x notes on 2nd commit" 2nd &&
verify_notes w
ok 8 - setup unrelated notes ref (w)
expecting success of 3310.9 'can do merge without conflicts even if previous merge is unfinished (x => w)':
test -d .git/NOTES_MERGE_WORKTREE &&
git notes merge x &&
verify_notes w &&
# Verify that other notes refs has not changed (x and y)
verify_notes x &&
verify_notes y
ok 9 - can do merge without conflicts even if previous merge is unfinished (x => w)
expecting success of 3310.10 'do not allow mixing --commit and --abort':
test_must_fail git notes merge --commit --abort
error: cannot mix --commit, --abort or -s/--strategy
usage: git notes merge [<options>] <notes-ref>
or: git notes merge --commit [<options>]
or: git notes merge --abort [<options>]
General options
-v, --verbose be more verbose
-q, --quiet be more quiet
Merge options
-s, --strategy <strategy>
resolve notes conflicts using the given strategy (manual/ours/theirs/union/cat_sort_uniq)
Committing unmerged notes
--commit finalize notes merge by committing unmerged notes
Aborting notes merge resolution
--abort abort notes merge
ok 10 - do not allow mixing --commit and --abort
expecting success of 3310.11 'do not allow mixing --commit and --strategy':
test_must_fail git notes merge --commit --strategy theirs
error: cannot mix --commit, --abort or -s/--strategy
usage: git notes merge [<options>] <notes-ref>
or: git notes merge --commit [<options>]
or: git notes merge --abort [<options>]
General options
-v, --verbose be more verbose
-q, --quiet be more quiet
Merge options
-s, --strategy <strategy>
resolve notes conflicts using the given strategy (manual/ours/theirs/union/cat_sort_uniq)
Committing unmerged notes
--commit finalize notes merge by committing unmerged notes
Aborting notes merge resolution
--abort abort notes merge
ok 11 - do not allow mixing --commit and --strategy
expecting success of 3310.12 'do not allow mixing --abort and --strategy':
test_must_fail git notes merge --abort --strategy theirs
error: cannot mix --commit, --abort or -s/--strategy
usage: git notes merge [<options>] <notes-ref>
or: git notes merge --commit [<options>]
or: git notes merge --abort [<options>]
General options
-v, --verbose be more verbose
-q, --quiet be more quiet
Merge options
-s, --strategy <strategy>
resolve notes conflicts using the given strategy (manual/ours/theirs/union/cat_sort_uniq)
Committing unmerged notes
--commit finalize notes merge by committing unmerged notes
Aborting notes merge resolution
--abort abort notes merge
ok 12 - do not allow mixing --abort and --strategy
expecting success of 3310.13 'finalize conflicting merge (z => m)':
# Resolve conflicts and finalize merge
cat >.git/NOTES_MERGE_WORKTREE/$commit_sha1 <<EOF &&
y and z notes on 1st commit
EOF
cat >.git/NOTES_MERGE_WORKTREE/$commit_sha4 <<EOF &&
y and z notes on 4th commit
EOF
git notes merge --commit &&
notes_merge_files_gone &&
# Merge commit has pre-merge y and pre-merge z as parents
test "$(git rev-parse refs/notes/m^1)" = "$(cat pre_merge_y)" &&
test "$(git rev-parse refs/notes/m^2)" = "$(cat pre_merge_z)" &&
# Merge commit mentions the notes refs merged
git log -1 --format=%B refs/notes/m > merge_commit_msg &&
grep -q refs/notes/m merge_commit_msg &&
grep -q refs/notes/z merge_commit_msg &&
# Merge commit mentions conflicting notes
grep -q "Conflicts" merge_commit_msg &&
( for sha1 in $(cat expect_conflicts); do
grep -q "$sha1" merge_commit_msg ||
exit 1
done ) &&
# Verify contents of merge result
verify_notes m &&
# Verify that other notes refs has not changed (w, x, y and z)
verify_notes w &&
verify_notes x &&
verify_notes y &&
verify_notes z
ok 13 - finalize conflicting merge (z => m)
expecting success of 3310.14 'redo merge of z into m (== y) with default ("manual") resolver => Conflicting 3-way merge':
git update-ref refs/notes/m refs/notes/y &&
git config core.notesRef refs/notes/m &&
test_must_fail git notes merge z >output 2>&1 &&
# Output should point to where to resolve conflicts
test_i18ngrep "\\.git/NOTES_MERGE_WORKTREE" output &&
# Inspect merge conflicts
ls .git/NOTES_MERGE_WORKTREE >output_conflicts &&
test_cmp expect_conflicts output_conflicts &&
( for f in $(cat expect_conflicts); do
test_cmp "expect_conflict_$f" ".git/NOTES_MERGE_WORKTREE/$f" ||
exit 1
done ) &&
# Verify that current notes tree (pre-merge) has not changed (m == y)
verify_notes y &&
verify_notes m &&
test "$(git rev-parse refs/notes/m)" = "$(cat pre_merge_y)"
Automatic notes merge failed. Fix conflicts in .git/NOTES_MERGE_WORKTREE and commit the result with 'git notes merge --commit', or abort the merge with 'git notes merge --abort'.
ok 14 - redo merge of z into m (== y) with default ("manual") resolver => Conflicting 3-way merge
expecting success of 3310.15 'abort notes merge':
git notes merge --abort &&
notes_merge_files_gone &&
# m has not moved (still == y)
test "$(git rev-parse refs/notes/m)" = "$(cat pre_merge_y)" &&
# Verify that other notes refs has not changed (w, x, y and z)
verify_notes w &&
verify_notes x &&
verify_notes y &&
verify_notes z
ok 15 - abort notes merge
expecting success of 3310.16 'redo merge of z into m (== y) with default ("manual") resolver => Conflicting 3-way merge':
test_must_fail git notes merge z >output 2>&1 &&
# Output should point to where to resolve conflicts
test_i18ngrep "\\.git/NOTES_MERGE_WORKTREE" output &&
# Inspect merge conflicts
ls .git/NOTES_MERGE_WORKTREE >output_conflicts &&
test_cmp expect_conflicts output_conflicts &&
( for f in $(cat expect_conflicts); do
test_cmp "expect_conflict_$f" ".git/NOTES_MERGE_WORKTREE/$f" ||
exit 1
done ) &&
# Verify that current notes tree (pre-merge) has not changed (m == y)
verify_notes y &&
verify_notes m &&
test "$(git rev-parse refs/notes/m)" = "$(cat pre_merge_y)"
Automatic notes merge failed. Fix conflicts in .git/NOTES_MERGE_WORKTREE and commit the result with 'git notes merge --commit', or abort the merge with 'git notes merge --abort'.
ok 16 - redo merge of z into m (== y) with default ("manual") resolver => Conflicting 3-way merge
expecting success of 3310.17 'add + remove notes in finalized merge (z => m)':
# Resolve one conflict
cat >.git/NOTES_MERGE_WORKTREE/$commit_sha1 <<EOF &&
y and z notes on 1st commit
EOF
# Remove another conflict
rm .git/NOTES_MERGE_WORKTREE/$commit_sha4 &&
# Remove a D/F conflict
rm .git/NOTES_MERGE_WORKTREE/$commit_sha3 &&
# Add a new note
echo "new note on 5th commit" > .git/NOTES_MERGE_WORKTREE/$commit_sha5 &&
# Finalize merge
git notes merge --commit &&
notes_merge_files_gone &&
# Merge commit has pre-merge y and pre-merge z as parents
test "$(git rev-parse refs/notes/m^1)" = "$(cat pre_merge_y)" &&
test "$(git rev-parse refs/notes/m^2)" = "$(cat pre_merge_z)" &&
# Merge commit mentions the notes refs merged
git log -1 --format=%B refs/notes/m > merge_commit_msg &&
grep -q refs/notes/m merge_commit_msg &&
grep -q refs/notes/z merge_commit_msg &&
# Merge commit mentions conflicting notes
grep -q "Conflicts" merge_commit_msg &&
( for sha1 in $(cat expect_conflicts); do
grep -q "$sha1" merge_commit_msg ||
exit 1
done ) &&
# Verify contents of merge result
verify_notes m &&
# Verify that other notes refs has not changed (w, x, y and z)
verify_notes w &&
verify_notes x &&
verify_notes y &&
verify_notes z
ok 17 - add + remove notes in finalized merge (z => m)
expecting success of 3310.18 'redo merge of z into m (== y) with default ("manual") resolver => Conflicting 3-way merge':
git update-ref refs/notes/m refs/notes/y &&
test_must_fail git notes merge z >output 2>&1 &&
# Output should point to where to resolve conflicts
test_i18ngrep "\\.git/NOTES_MERGE_WORKTREE" output &&
# Inspect merge conflicts
ls .git/NOTES_MERGE_WORKTREE >output_conflicts &&
test_cmp expect_conflicts output_conflicts &&
( for f in $(cat expect_conflicts); do
test_cmp "expect_conflict_$f" ".git/NOTES_MERGE_WORKTREE/$f" ||
exit 1
done ) &&
# Verify that current notes tree (pre-merge) has not changed (m == y)
verify_notes y &&
verify_notes m &&
test "$(git rev-parse refs/notes/m)" = "$(cat pre_merge_y)"
Automatic notes merge failed. Fix conflicts in .git/NOTES_MERGE_WORKTREE and commit the result with 'git notes merge --commit', or abort the merge with 'git notes merge --abort'.
ok 18 - redo merge of z into m (== y) with default ("manual") resolver => Conflicting 3-way merge
expecting success of 3310.19 'reset notes ref m to somewhere else (w)':
git update-ref refs/notes/m refs/notes/w &&
verify_notes m &&
test "$(git rev-parse refs/notes/m)" = "$(git rev-parse refs/notes/w)"
ok 19 - reset notes ref m to somewhere else (w)
expecting success of 3310.20 'fail to finalize conflicting merge if underlying ref has moved in the meantime (m != NOTES_MERGE_PARTIAL^1)':
# Resolve conflicts
cat >.git/NOTES_MERGE_WORKTREE/$commit_sha1 <<EOF &&
y and z notes on 1st commit
EOF
cat >.git/NOTES_MERGE_WORKTREE/$commit_sha4 <<EOF &&
y and z notes on 4th commit
EOF
# Fail to finalize merge
test_must_fail git notes merge --commit >output 2>&1 &&
# .git/NOTES_MERGE_* must remain
test -f .git/NOTES_MERGE_PARTIAL &&
test -f .git/NOTES_MERGE_REF &&
test -f .git/NOTES_MERGE_WORKTREE/$commit_sha1 &&
test -f .git/NOTES_MERGE_WORKTREE/$commit_sha2 &&
test -f .git/NOTES_MERGE_WORKTREE/$commit_sha3 &&
test -f .git/NOTES_MERGE_WORKTREE/$commit_sha4 &&
# Refs are unchanged
test "$(git rev-parse refs/notes/m)" = "$(git rev-parse refs/notes/w)" &&
test "$(git rev-parse refs/notes/y)" = "$(git rev-parse NOTES_MERGE_PARTIAL^1)" &&
test "$(git rev-parse refs/notes/m)" != "$(git rev-parse NOTES_MERGE_PARTIAL^1)" &&
# Mention refs/notes/m, and its current and expected value in output
test_i18ngrep -q "refs/notes/m" output &&
test_i18ngrep -q "$(git rev-parse refs/notes/m)" output &&
test_i18ngrep -q "$(git rev-parse NOTES_MERGE_PARTIAL^1)" output &&
# Verify that other notes refs has not changed (w, x, y and z)
verify_notes w &&
verify_notes x &&
verify_notes y &&
verify_notes z
ok 20 - fail to finalize conflicting merge if underlying ref has moved in the meantime (m != NOTES_MERGE_PARTIAL^1)
expecting success of 3310.21 'resolve situation by aborting the notes merge':
git notes merge --abort &&
notes_merge_files_gone &&
# m has not moved (still == w)
test "$(git rev-parse refs/notes/m)" = "$(git rev-parse refs/notes/w)" &&
# Verify that other notes refs has not changed (w, x, y and z)
verify_notes w &&
verify_notes x &&
verify_notes y &&
verify_notes z
ok 21 - resolve situation by aborting the notes merge
expecting success of 3310.22 'switch cwd before committing notes merge':
git notes add -m foo HEAD &&
git notes --ref=other add -m bar HEAD &&
test_must_fail git notes merge refs/notes/other &&
(
cd .git/NOTES_MERGE_WORKTREE &&
echo "foo" > $(git rev-parse HEAD) &&
echo "bar" >> $(git rev-parse HEAD) &&
git notes merge --commit
) &&
git notes show HEAD > actual_notes &&
test_cmp expect_notes actual_notes
Automatic notes merge failed. Fix conflicts in .git/NOTES_MERGE_WORKTREE and commit the result with 'git notes merge --commit', or abort the merge with 'git notes merge --abort'.
Auto-merging notes for 7f9ad8836c775acb134c0a055fc55fb4cd1ba361
CONFLICT (add/add): Merge conflict in notes for object 7f9ad8836c775acb134c0a055fc55fb4cd1ba361
ok 22 - switch cwd before committing notes merge
# passed all 22 test(s)
1..22
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t3320-notes-merge-worktrees.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3320-notes-merge-worktrees/.git/
expecting success of 3320.1 'setup commit':
test_commit tantrum
[master (root-commit) 02f8a63] tantrum
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 tantrum.t
ok 1 - setup commit
expecting success of 3320.2 'setup notes ref (x)':
git config core.notesRef refs/notes/x &&
git notes add -m "x notes on tantrum" tantrum
ok 2 - setup notes ref (x)
expecting success of 3320.3 'setup local branch (y)':
git update-ref refs/notes/y refs/notes/x &&
git config core.notesRef refs/notes/y &&
git notes remove tantrum
Removing note for object tantrum
ok 3 - setup local branch (y)
expecting success of 3320.4 'setup remote branch (z)':
git update-ref refs/notes/z refs/notes/x &&
git config core.notesRef refs/notes/z &&
git notes add -f -m "conflicting notes on tantrum" tantrum
Overwriting existing notes for object 02f8a63df5a5eb7863e18dffcbc422a31a01d39e
ok 4 - setup remote branch (z)
expecting success of 3320.5 'modify notes ref ourselves (x)':
git config core.notesRef refs/notes/x &&
git notes add -f -m "more conflicting notes on tantrum" tantrum
Overwriting existing notes for object 02f8a63df5a5eb7863e18dffcbc422a31a01d39e
ok 5 - modify notes ref ourselves (x)
expecting success of 3320.6 'create some new worktrees':
git worktree add -b newbranch worktree master &&
git worktree add -b newbranch2 worktree2 master
Preparing worktree (new branch 'newbranch')
HEAD is now at 02f8a63 tantrum
Preparing worktree (new branch 'newbranch2')
HEAD is now at 02f8a63 tantrum
ok 6 - create some new worktrees
expecting success of 3320.7 'merge z into y fails and sets NOTES_MERGE_REF':
git config core.notesRef refs/notes/y &&
test_must_fail git notes merge z &&
echo "ref: refs/notes/y" >expect &&
test_cmp expect .git/NOTES_MERGE_REF
Automatic notes merge failed. Fix conflicts in .git/NOTES_MERGE_WORKTREE and commit the result with 'git notes merge --commit', or abort the merge with 'git notes merge --abort'.
Auto-merging notes for 02f8a63df5a5eb7863e18dffcbc422a31a01d39e
CONFLICT (delete/modify): Notes for object 02f8a63df5a5eb7863e18dffcbc422a31a01d39e deleted in refs/notes/y and modified in refs/notes/z. Version from refs/notes/z left in tree.
ok 7 - merge z into y fails and sets NOTES_MERGE_REF
expecting success of 3320.8 'merge z into y while mid-merge in another workdir fails':
(
cd worktree &&
git config core.notesRef refs/notes/y &&
test_must_fail git notes merge z 2>err &&
test_i18ngrep "a notes merge into refs/notes/y is already in-progress at" err
) &&
test_path_is_missing .git/worktrees/worktree/NOTES_MERGE_REF
Auto-merging notes for 02f8a63df5a5eb7863e18dffcbc422a31a01d39e
CONFLICT (delete/modify): Notes for object 02f8a63df5a5eb7863e18dffcbc422a31a01d39e deleted in refs/notes/y and modified in refs/notes/z. Version from refs/notes/z left in tree.
checking prerequisite: C_LOCALE_OUTPUT
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
! test_bool_env GIT_TEST_GETTEXT_POISON false
)
prerequisite C_LOCALE_OUTPUT ok
fatal: a notes merge into refs/notes/y is already in-progress at /<<PKGBUILDDIR>>/t/trash directory.t3320-notes-merge-worktrees
ok 8 - merge z into y while mid-merge in another workdir fails
expecting success of 3320.9 'merge z into x while mid-merge on y succeeds':
(
cd worktree2 &&
git config core.notesRef refs/notes/x &&
test_must_fail git notes merge z >out 2>&1 &&
test_i18ngrep "Automatic notes merge failed" out &&
grep -v "A notes merge into refs/notes/x is already in-progress in" out
) &&
echo "ref: refs/notes/x" >expect &&
test_cmp expect .git/worktrees/worktree2/NOTES_MERGE_REF
checking prerequisite: C_LOCALE_OUTPUT
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
! test_bool_env GIT_TEST_GETTEXT_POISON false
)
prerequisite C_LOCALE_OUTPUT ok
Automatic notes merge failed. Fix conflicts in /<<PKGBUILDDIR>>/t/trash directory.t3320-notes-merge-worktrees/.git/worktrees/worktree2/NOTES_MERGE_WORKTREE and commit the result with 'git notes merge --commit', or abort the merge with 'git notes merge --abort'.
Automatic notes merge failed. Fix conflicts in /<<PKGBUILDDIR>>/t/trash directory.t3320-notes-merge-worktrees/.git/worktrees/worktree2/NOTES_MERGE_WORKTREE and commit the result with 'git notes merge --commit', or abort the merge with 'git notes merge --abort'.
Auto-merging notes for 02f8a63df5a5eb7863e18dffcbc422a31a01d39e
CONFLICT (content): Merge conflict in notes for object 02f8a63df5a5eb7863e18dffcbc422a31a01d39e
ok 9 - merge z into x while mid-merge on y succeeds
# passed all 9 test(s)
1..9
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t3400-rebase.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3400-rebase/.git/
expecting success of 3400.1 'prepare repository with topic branches':
git config core.logAllRefUpdates true &&
echo First >A &&
git update-index --add A &&
git commit -m "Add A." &&
git checkout -b force-3way &&
echo Dummy >Y &&
git update-index --add Y &&
git commit -m "Add Y." &&
git checkout -b filemove &&
git reset --soft master &&
mkdir D &&
git mv A D/A &&
git commit -m "Move A." &&
git checkout -b my-topic-branch master &&
echo Second >B &&
git update-index --add B &&
git commit -m "Add B." &&
git checkout -f master &&
echo Third >>A &&
git update-index A &&
git commit -m "Modify A." &&
git checkout -b side my-topic-branch &&
echo Side >>C &&
git add C &&
git commit -m "Add C" &&
git checkout -f my-topic-branch &&
git tag topic
[master (root-commit) 54c979b] Add A.
Author: author@name <bogus@email@address>
1 file changed, 1 insertion(+)
create mode 100644 A
Switched to a new branch 'force-3way'
[force-3way fb946fe] Add Y.
Author: author@name <bogus@email@address>
1 file changed, 1 insertion(+)
create mode 100644 Y
Switched to a new branch 'filemove'
[filemove 7c03ca3] Move A.
Author: author@name <bogus@email@address>
2 files changed, 1 insertion(+)
rename A => D/A (100%)
create mode 100644 Y
Switched to a new branch 'my-topic-branch'
[my-topic-branch 8142cb0] Add B.
Author: author@name <bogus@email@address>
1 file changed, 1 insertion(+)
create mode 100644 B
Switched to branch 'master'
[master 3ba390a] Modify A.
Author: author@name <bogus@email@address>
1 file changed, 1 insertion(+)
Switched to a new branch 'side'
[side e70209f] Add C
Author: author@name <bogus@email@address>
1 file changed, 1 insertion(+)
create mode 100644 C
Switched to branch 'my-topic-branch'
ok 1 - prepare repository with topic branches
expecting success of 3400.2 'rebase on dirty worktree':
echo dirty >>A &&
test_must_fail git rebase master
error: cannot rebase: You have unstaged changes.
error: Please commit or stash them.
ok 2 - rebase on dirty worktree
expecting success of 3400.3 'rebase on dirty cache':
git add A &&
test_must_fail git rebase master
error: cannot rebase: Your index contains uncommitted changes.
error: Please commit or stash them.
ok 3 - rebase on dirty cache
expecting success of 3400.4 'rebase against master':
git reset --hard HEAD &&
git rebase master
HEAD is now at 8142cb0 Add B.
Rebasing (1/1)
Successfully rebased and updated refs/heads/my-topic-branch.
ok 4 - rebase against master
expecting success of 3400.5 'rebase sets ORIG_HEAD to pre-rebase state':
git checkout -b orig-head topic &&
pre="$(git rev-parse --verify HEAD)" &&
git rebase master &&
test_cmp_rev "$pre" ORIG_HEAD &&
test_cmp_rev ! "$pre" HEAD
Switched to a new branch 'orig-head'
Rebasing (1/1)
Successfully rebased and updated refs/heads/orig-head.
ok 5 - rebase sets ORIG_HEAD to pre-rebase state
expecting success of 3400.6 'rebase, with <onto> and <upstream> specified as :/quuxery':
test_when_finished "git branch -D torebase" &&
git checkout -b torebase my-topic-branch^ &&
upstream=$(git rev-parse ":/Add B") &&
onto=$(git rev-parse ":/Add A") &&
git rebase --onto $onto $upstream &&
git reset --hard my-topic-branch^ &&
git rebase --onto ":/Add A" ":/Add B" &&
git checkout my-topic-branch
Switched to a new branch 'torebase'
Successfully rebased and updated refs/heads/torebase.
HEAD is now at 3ba390a Modify A.
Successfully rebased and updated refs/heads/torebase.
Switched to branch 'my-topic-branch'
Deleted branch torebase (was 54c979b).
ok 6 - rebase, with <onto> and <upstream> specified as :/quuxery
expecting success of 3400.7 'the rebase operation should not have destroyed author information':
! (git log | grep "Author:" | grep "<>")
ok 7 - the rebase operation should not have destroyed author information
expecting success of 3400.8 'the rebase operation should not have destroyed author information (2)':
git log -1 |
grep 'Author: author@name <bogus@email@address>'
Author: author@name <bogus@email@address>
ok 8 - the rebase operation should not have destroyed author information (2)
expecting success of 3400.9 'HEAD was detached during rebase':
test $(git rev-parse HEAD@{1}) != $(git rev-parse my-topic-branch@{1})
ok 9 - HEAD was detached during rebase
expecting success of 3400.10 'rebase from ambiguous branch name':
git checkout -b topic side &&
git rebase master
Switched to a new branch 'topic'
Rebasing (1/2)
Rebasing (2/2)
Successfully rebased and updated refs/heads/topic.
ok 10 - rebase from ambiguous branch name
expecting success of 3400.11 'rebase off of the previous branch using "-"':
git checkout master &&
git checkout HEAD^ &&
git rebase @{-1} >expect.messages &&
git merge-base master HEAD >expect.forkpoint &&
git checkout master &&
git checkout HEAD^ &&
git rebase - >actual.messages &&
git merge-base master HEAD >actual.forkpoint &&
test_cmp expect.forkpoint actual.forkpoint &&
# the next one is dubious---we may want to say "-",
# instead of @{-1}, in the message
test_i18ncmp expect.messages actual.messages
Switched to branch 'master'
Note: switching to 'HEAD^'.
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 <new-branch-name>
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
HEAD is now at 54c979b Add A.
Successfully rebased and updated detached HEAD.
Switched to branch 'master'
Note: switching to 'HEAD^'.
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 <new-branch-name>
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
HEAD is now at 54c979b Add A.
Successfully rebased and updated detached HEAD.
checking prerequisite: C_LOCALE_OUTPUT
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
! test_bool_env GIT_TEST_GETTEXT_POISON false
)
prerequisite C_LOCALE_OUTPUT ok
ok 11 - rebase off of the previous branch using "-"
expecting success of 3400.12 'rebase a single mode change':
git checkout master &&
git branch -D topic &&
echo 1 >X &&
git add X &&
test_tick &&
git commit -m prepare &&
git checkout -b modechange HEAD^ &&
echo 1 >X &&
git add X &&
test_chmod +x A &&
test_tick &&
git commit -m modechange &&
GIT_TRACE=1 git rebase master
Switched to branch 'master'
Deleted branch topic (was 8bb1ece).
[master 50620d4] prepare
Author: author@name <bogus@email@address>
1 file changed, 1 insertion(+)
create mode 100644 X
Switched to a new branch 'modechange'
[modechange a0449d9] modechange
Author: author@name <bogus@email@address>
2 files changed, 1 insertion(+)
mode change 100644 => 100755 A
create mode 100644 X
trace: built-in: git rebase master
trace: run_command: GIT_REFLOG_ACTION='rebase (start): checkout master' git checkout 50620d4899911292abf5b028e05ce0d511d7ca90
Rebasing (1/1)
trace: run_command: git notes copy --for-rewrite=rebase
trace: built-in: git notes copy --for-rewrite=rebase
Successfully rebased and updated refs/heads/modechange.
ok 12 - rebase a single mode change
expecting success of 3400.13 'rebase is not broken by diff.renames':
test_config diff.renames copies &&
git checkout filemove &&
GIT_TRACE=1 git rebase force-3way
Switched to branch 'filemove'
trace: built-in: git rebase force-3way
trace: run_command: GIT_REFLOG_ACTION='rebase (start): checkout force-3way' git checkout fb946fe185c4607e4e7aadca88914ae2428b4d6c
Rebasing (1/1)
trace: run_command: git notes copy --for-rewrite=rebase
trace: built-in: git notes copy --for-rewrite=rebase
Successfully rebased and updated refs/heads/filemove.
ok 13 - rebase is not broken by diff.renames
expecting success of 3400.14 'setup: recover':
test_might_fail git rebase --abort &&
git reset --hard &&
git checkout modechange
fatal: No rebase in progress?
HEAD is now at 05df111 Move A.
Switched to branch 'modechange'
ok 14 - setup: recover
expecting success of 3400.15 'Show verbose error when HEAD could not be detached':
>B &&
test_when_finished "rm -f B" &&
test_must_fail git rebase topic 2>output.err >output.out &&
test_i18ngrep "The following untracked working tree files would be overwritten by checkout:" output.err &&
test_i18ngrep B output.err
error: The following untracked working tree files would be overwritten by checkout:
B
ok 15 - Show verbose error when HEAD could not be detached
expecting success of 3400.16 'fail when upstream arg is missing and not on branch':
git checkout topic &&
test_must_fail git rebase
Note: switching to 'topic'.
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 <new-branch-name>
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
HEAD is now at 8142cb0 Add B.
You are not currently on a branch.
Please specify which branch you want to rebase against.
See git-rebase(1) for details.
git rebase '<branch>'
ok 16 - fail when upstream arg is missing and not on branch
expecting success of 3400.17 'fail when upstream arg is missing and not configured':
git checkout -b no-config topic &&
test_must_fail git rebase
Switched to a new branch 'no-config'
There is no tracking information for the current branch.
Please specify which branch you want to rebase against.
See git-rebase(1) for details.
git rebase '<branch>'
If you wish to set tracking information for this branch you can do so with:
git branch --set-upstream-to=<remote>/<branch> no-config
ok 17 - fail when upstream arg is missing and not configured
expecting success of 3400.18 'rebase works with format.useAutoBase':
test_config format.useAutoBase true &&
git checkout topic &&
git rebase master
Note: switching to 'topic'.
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 <new-branch-name>
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
HEAD is now at 8142cb0 Add B.
Rebasing (1/1)
Successfully rebased and updated detached HEAD.
ok 18 - rebase works with format.useAutoBase
expecting success of 3400.19 'default to common base in @{upstream}s reflog if no upstream arg (--merge)':
git checkout -b default-base master &&
git checkout -b default topic &&
git config branch.default.remote . &&
git config branch.default.merge refs/heads/default-base &&
git rebase --merge &&
git rev-parse --verify default-base >expect &&
git rev-parse default~1 >actual &&
test_cmp expect actual &&
git checkout default-base &&
git reset --hard HEAD^ &&
git checkout default &&
git rebase --merge &&
git rev-parse --verify default-base >expect &&
git rev-parse default~1 >actual &&
test_cmp expect actual
Warning: you are leaving 1 commit behind, not connected to
any of your branches:
fdca2d4 Add B.
If you want to keep it by creating a new branch, this may be a good time
to do so with:
git branch <new-branch-name> fdca2d4
Switched to a new branch 'default-base'
Switched to a new branch 'default'
Rebasing (1/1)
Successfully rebased and updated refs/heads/default.
Switched to branch 'default-base'
HEAD is now at 3ba390a Modify A.
Switched to branch 'default'
Your branch is ahead of 'default-base' by 2 commits.
(use "git push" to publish your local commits)
Rebasing (1/1)
Successfully rebased and updated refs/heads/default.
ok 19 - default to common base in @{upstream}s reflog if no upstream arg (--merge)
expecting success of 3400.20 'default to common base in @{upstream}s reflog if no upstream arg (--apply)':
git checkout -B default-base master &&
git checkout -B default topic &&
git config branch.default.remote . &&
git config branch.default.merge refs/heads/default-base &&
git rebase --apply &&
git rev-parse --verify default-base >expect &&
git rev-parse default~1 >actual &&
test_cmp expect actual &&
git checkout default-base &&
git reset --hard HEAD^ &&
git checkout default &&
git rebase --apply &&
git rev-parse --verify default-base >expect &&
git rev-parse default~1 >actual &&
test_cmp expect actual
Switched to and reset branch 'default-base'
Switched to and reset branch 'default'
Your branch and 'default-base' have diverged,
and have 1 and 2 different commits each, respectively.
(use "git pull" to merge the remote branch into yours)
First, rewinding head to replay your work on top of it...
Applying: Add B.
Switched to branch 'default-base'
HEAD is now at 3ba390a Modify A.
Switched to branch 'default'
Your branch is ahead of 'default-base' by 2 commits.
(use "git push" to publish your local commits)
First, rewinding head to replay your work on top of it...
Applying: Add B.
ok 20 - default to common base in @{upstream}s reflog if no upstream arg (--apply)
expecting success of 3400.21 'cherry-picked commits and fork-point work together':
git checkout default-base &&
echo Amended >A &&
git commit -a --no-edit --amend &&
test_commit B B &&
test_commit new_B B "New B" &&
test_commit C C &&
git checkout default &&
git reset --hard default-base@{4} &&
test_commit D D &&
git cherry-pick -2 default-base^ &&
test_commit final_B B "Final B" &&
git rebase &&
echo Amended >expect &&
test_cmp expect A &&
echo "Final B" >expect &&
test_cmp expect B &&
echo C >expect &&
test_cmp expect C &&
echo D >expect &&
test_cmp expect D
Switched to branch 'default-base'
[default-base 80f22f1] Modify A.
Author: author@name <bogus@email@address>
Date: Fri Jun 12 06:38:25 2020 +0000
1 file changed, 1 insertion(+), 1 deletion(-)
[default-base 2a0ffea] B
Author: author@name <bogus@email@address>
1 file changed, 1 insertion(+)
create mode 100644 B
[default-base fadb5e5] new_B
Author: author@name <bogus@email@address>
1 file changed, 1 insertion(+), 1 deletion(-)
[default-base cd8e83c] C
Author: author@name <bogus@email@address>
1 file changed, 1 insertion(+)
create mode 100644 C
Switched to branch 'default'
Your branch and 'default-base' have diverged,
and have 2 and 4 different commits each, respectively.
(use "git pull" to merge the remote branch into yours)
HEAD is now at 3ba390a Modify A.
[default e2fc8f7] D
Author: author@name <bogus@email@address>
1 file changed, 1 insertion(+)
create mode 100644 D
[default aeb5199] B
Author: author@name <bogus@email@address>
Date: Thu Apr 7 15:15:13 2005 -0700
1 file changed, 1 insertion(+)
create mode 100644 B
[default d5d4ba8] new_B
Author: author@name <bogus@email@address>
Date: Thu Apr 7 15:16:13 2005 -0700
1 file changed, 1 insertion(+), 1 deletion(-)
[default f3d0b58] final_B
Author: author@name <bogus@email@address>
1 file changed, 1 insertion(+), 1 deletion(-)
Rebasing (1/2)
Rebasing (2/2)
Successfully rebased and updated refs/heads/default.
ok 21 - cherry-picked commits and fork-point work together
expecting success of 3400.22 'rebase --apply -q is quiet':
git checkout -b quiet topic &&
git rebase --apply -q master >output.out 2>&1 &&
test_must_be_empty output.out
Switched to a new branch 'quiet'
ok 22 - rebase --apply -q is quiet
expecting success of 3400.23 'rebase --merge -q is quiet':
git checkout -B quiet topic &&
git rebase --merge -q master >output.out 2>&1 &&
test_must_be_empty output.out
Reset branch 'quiet'
ok 23 - rebase --merge -q is quiet
expecting success of 3400.24 'Rebase a commit that sprinkles CRs in':
(
echo "One" &&
echo "TwoQ" &&
echo "Three" &&
echo "FQur" &&
echo "Five"
) | q_to_cr >CR &&
git add CR &&
test_tick &&
git commit -a -m "A file with a line with CR" &&
git tag file-with-cr &&
git checkout HEAD^0 &&
git rebase --onto HEAD^^ HEAD^ &&
git diff --exit-code file-with-cr:CR HEAD:CR
[quiet 0e68c57] A file with a line with CR
Author: author@name <bogus@email@address>
1 file changed, 5 insertions(+)
create mode 100644 CR
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 <new-branch-name>
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
HEAD is now at 0e68c57 A file with a line with CR
Rebasing (1/1)
Successfully rebased and updated detached HEAD.
ok 24 - Rebase a commit that sprinkles CRs in
expecting success of 3400.25 'rebase can copy notes':
git config notes.rewrite.rebase true &&
git config notes.rewriteRef "refs/notes/*" &&
test_commit n1 &&
test_commit n2 &&
test_commit n3 &&
git notes add -m"a note" n3 &&
git rebase --onto n1 n2 &&
test "a note" = "$(git notes show HEAD)"
[detached HEAD 051009e] n1
Author: author@name <bogus@email@address>
1 file changed, 1 insertion(+)
create mode 100644 n1.t
[detached HEAD 5f6e424] n2
Author: author@name <bogus@email@address>
1 file changed, 1 insertion(+)
create mode 100644 n2.t
[detached HEAD 2337835] n3
Author: author@name <bogus@email@address>
1 file changed, 1 insertion(+)
create mode 100644 n3.t
Rebasing (1/1)
Successfully rebased and updated detached HEAD.
ok 25 - rebase can copy notes
expecting success of 3400.26 'rebase -m can copy notes':
git reset --hard n3 &&
git rebase -m --onto n1 n2 &&
test "a note" = "$(git notes show HEAD)"
HEAD is now at 2337835 n3
Rebasing (1/1)
Successfully rebased and updated detached HEAD.
ok 26 - rebase -m can copy notes
expecting success of 3400.27 'rebase commit with an ancient timestamp':
git reset --hard &&
>old.one && git add old.one && test_tick &&
git commit --date="@12345 +0400" -m "Old one" &&
>old.two && git add old.two && test_tick &&
git commit --date="@23456 +0500" -m "Old two" &&
>old.three && git add old.three && test_tick &&
git commit --date="@34567 +0600" -m "Old three" &&
git cat-file commit HEAD^^ >actual &&
grep "author .* 12345 +0400$" actual &&
git cat-file commit HEAD^ >actual &&
grep "author .* 23456 +0500$" actual &&
git cat-file commit HEAD >actual &&
grep "author .* 34567 +0600$" actual &&
git rebase --onto HEAD^^ HEAD^ &&
git cat-file commit HEAD >actual &&
grep "author .* 34567 +0600$" actual
HEAD is now at ee4a168 n3
[detached HEAD 58ffa55] Old one
Author: author@name <bogus@email@address>
Date: Thu Jan 1 07:25:45 1970 +0400
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 old.one
[detached HEAD fedc6ea] Old two
Author: author@name <bogus@email@address>
Date: Thu Jan 1 11:30:56 1970 +0500
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 old.two
[detached HEAD 94189b7] Old three
Author: author@name <bogus@email@address>
Date: Thu Jan 1 15:36:07 1970 +0600
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 old.three
author author@name <bogus@email@address> 12345 +0400
author author@name <bogus@email@address> 23456 +0500
author author@name <bogus@email@address> 34567 +0600
Rebasing (1/1)
Successfully rebased and updated detached HEAD.
author author@name <bogus@email@address> 34567 +0600
ok 27 - rebase commit with an ancient timestamp
expecting success of 3400.28 'rebase with "From " line in commit message':
git checkout -b preserve-from master~1 &&
cat >From_.msg <<EOF &&
Somebody embedded an mbox in a commit message
This is from so-and-so:
From a@b Mon Sep 17 00:00:00 2001
From: John Doe <nobody@example.com>
Date: Sat, 11 Nov 2017 00:00:00 +0000
Subject: not this message
something
EOF
>From_ &&
git add From_ &&
git commit -F From_.msg &&
git rebase master &&
git log -1 --pretty=format:%B >out &&
test_cmp From_.msg out
Warning: you are leaving 3 commits behind, not connected to
any of your branches:
64981cb Old three
58ffa55 Old one
ee4a168 n3
If you want to keep them by creating a new branch, this may be a good time
to do so with:
git branch <new-branch-name> 64981cb
Switched to a new branch 'preserve-from'
[preserve-from 183da56] Somebody embedded an mbox in a commit message
Author: author@name <bogus@email@address>
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 From_
Rebasing (1/1)
Successfully rebased and updated refs/heads/preserve-from.
ok 28 - rebase with "From " line in commit message
expecting success of 3400.29 'rebase --apply and --show-current-patch':
test_create_repo conflict-apply &&
(
cd conflict-apply &&
test_commit init &&
echo one >>init.t &&
git commit -a -m one &&
echo two >>init.t &&
git commit -a -m two &&
git tag two &&
test_must_fail git rebase --apply -f --onto init HEAD^ &&
GIT_TRACE=1 git rebase --show-current-patch >/dev/null 2>stderr &&
grep "show.*$(git rev-parse two)" stderr
)
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3400-rebase/conflict-apply/.git/
[master (root-commit) 080fbe0] init
Author: author@name <bogus@email@address>
1 file changed, 1 insertion(+)
create mode 100644 init.t
[master 61e26c1] one
Author: author@name <bogus@email@address>
1 file changed, 1 insertion(+)
[master 1bf3d8f] two
Author: author@name <bogus@email@address>
1 file changed, 1 insertion(+)
First, rewinding head to replay your work on top of it...
Applying: two
Using index info to reconstruct a base tree...
M init.t
Falling back to patching base and 3-way merge...
Merging:
080fbe0 init
virtual two
found 1 common ancestor:
virtual 24619c19508a6b9b476e2c46f4889f730a371ef0
Auto-merging init.t
CONFLICT (content): Merge conflict in init.t
error: Failed to merge in the changes.
hint: Use 'git am --show-current-patch=diff' to see the failed patch
Patch failed at 0001 two
Resolve all conflicts manually, mark them as resolved with
"git add/rm <conflicted_files>", then run "git rebase --continue".
You can instead skip this commit: run "git rebase --skip".
To abort and get back to the state before "git rebase", run "git rebase --abort".
trace: run_command: git show 1bf3d8fe33fb3e440d4f72b014f1eae094a4ac2c --
trace: built-in: git show 1bf3d8fe33fb3e440d4f72b014f1eae094a4ac2c --
ok 29 - rebase --apply and --show-current-patch
expecting success of 3400.30 'rebase --apply and .gitattributes':
test_create_repo attributes &&
(
cd attributes &&
test_commit init &&
git config filter.test.clean "sed -e 's/smudged/clean/g'" &&
git config filter.test.smudge "sed -e 's/clean/smudged/g'" &&
test_commit second &&
git checkout -b test HEAD^ &&
echo "*.txt filter=test" >.gitattributes &&
git add .gitattributes &&
test_commit third &&
echo "This text is smudged." >a.txt &&
git add a.txt &&
test_commit fourth &&
git checkout -b removal HEAD^ &&
git rm .gitattributes &&
git add -u &&
test_commit fifth &&
git cherry-pick test &&
git checkout test &&
git rebase master &&
grep "smudged" a.txt &&
git checkout removal &&
git reset --hard &&
git rebase master &&
grep "clean" a.txt
)
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3400-rebase/attributes/.git/
[master (root-commit) 080fbe0] init
Author: author@name <bogus@email@address>
1 file changed, 1 insertion(+)
create mode 100644 init.t
[master 109cf52] second
Author: author@name <bogus@email@address>
1 file changed, 1 insertion(+)
create mode 100644 second.t
Switched to a new branch 'test'
[test 84bb12e] third
Author: author@name <bogus@email@address>
2 files changed, 2 insertions(+)
create mode 100644 .gitattributes
create mode 100644 third.t
[test 4a9c602] fourth
Author: author@name <bogus@email@address>
2 files changed, 2 insertions(+)
create mode 100644 a.txt
create mode 100644 fourth.t
Switched to a new branch 'removal'
rm '.gitattributes'
[removal 12a3f98] fifth
Author: author@name <bogus@email@address>
2 files changed, 1 insertion(+), 1 deletion(-)
delete mode 100644 .gitattributes
create mode 100644 fifth.t
[removal 511bf4f] fourth
Author: author@name <bogus@email@address>
Date: Thu Apr 7 15:30:13 2005 -0700
2 files changed, 2 insertions(+)
create mode 100644 a.txt
create mode 100644 fourth.t
Switched to branch 'test'
Rebasing (1/2)
Rebasing (2/2)
Successfully rebased and updated refs/heads/test.
This text is smudged.
Switched to branch 'removal'
HEAD is now at 511bf4f fourth
Rebasing (1/3)
Rebasing (2/3)
Rebasing (3/3)
Successfully rebased and updated refs/heads/removal.
This text is clean.
ok 30 - rebase --apply and .gitattributes
expecting success of 3400.31 'rebase--merge.sh and --show-current-patch':
test_create_repo conflict-merge &&
(
cd conflict-merge &&
test_commit init &&
echo one >>init.t &&
git commit -a -m one &&
echo two >>init.t &&
git commit -a -m two &&
git tag two &&
test_must_fail git rebase --merge --onto init HEAD^ &&
git rebase --show-current-patch >actual.patch &&
GIT_TRACE=1 git rebase --show-current-patch >/dev/null 2>stderr &&
grep "show.*REBASE_HEAD" stderr &&
test "$(git rev-parse REBASE_HEAD)" = "$(git rev-parse two)"
)
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3400-rebase/conflict-merge/.git/
[master (root-commit) 080fbe0] init
Author: author@name <bogus@email@address>
1 file changed, 1 insertion(+)
create mode 100644 init.t
[master 61e26c1] one
Author: author@name <bogus@email@address>
1 file changed, 1 insertion(+)
[master 1bf3d8f] two
Author: author@name <bogus@email@address>
1 file changed, 1 insertion(+)
Rebasing (1/1)
error: could not apply 1bf3d8f... two
Resolve all conflicts manually, mark them as resolved with
"git add/rm <conflicted_files>", then run "git rebase --continue".
You can instead skip this commit: run "git rebase --skip".
To abort and get back to the state before "git rebase", run "git rebase --abort".
Could not apply 1bf3d8f... two
Auto-merging init.t
CONFLICT (content): Merge conflict in init.t
trace: run_command: git show REBASE_HEAD --
trace: built-in: git show REBASE_HEAD --
ok 31 - rebase--merge.sh and --show-current-patch
expecting success of 3400.32 'rebase -c rebase.useBuiltin=false warning':
expected="rebase.useBuiltin support has been removed" &&
# Only warn when the legacy rebase is requested...
test_must_fail git -c rebase.useBuiltin=false rebase 2>err &&
test_i18ngrep "$expected" err &&
test_must_fail env GIT_TEST_REBASE_USE_BUILTIN=false git rebase 2>err &&
test_i18ngrep "$expected" err &&
# ...not when we would have used the built-in anyway
test_must_fail git -c rebase.useBuiltin=true rebase 2>err &&
test_must_be_empty err &&
test_must_fail env GIT_TEST_REBASE_USE_BUILTIN=true git rebase 2>err &&
test_must_be_empty err
There is no tracking information for the current branch.
Please specify which branch you want to rebase against.
See git-rebase(1) for details.
git rebase '<branch>'
If you wish to set tracking information for this branch you can do so with:
git branch --set-upstream-to=<remote>/<branch> preserve-from
warning: the rebase.useBuiltin support has been removed!
There is no tracking information for the current branch.
Please specify which branch you want to rebase against.
See git-rebase(1) for details.
git rebase '<branch>'
If you wish to set tracking information for this branch you can do so with:
git branch --set-upstream-to=<remote>/<branch> preserve-from
warning: the rebase.useBuiltin support has been removed!
There is no tracking information for the current branch.
Please specify which branch you want to rebase against.
See git-rebase(1) for details.
git rebase '<branch>'
If you wish to set tracking information for this branch you can do so with:
git branch --set-upstream-to=<remote>/<branch> preserve-from
There is no tracking information for the current branch.
Please specify which branch you want to rebase against.
See git-rebase(1) for details.
git rebase '<branch>'
If you wish to set tracking information for this branch you can do so with:
git branch --set-upstream-to=<remote>/<branch> preserve-from
ok 32 - rebase -c rebase.useBuiltin=false warning
expecting success of 3400.33 'switch to branch checked out here':
git checkout master &&
git rebase master master
Switched to branch 'master'
Current branch master is up to date.
ok 33 - switch to branch checked out here
expecting success of 3400.34 'switch to branch not checked out':
git checkout master &&
git branch other &&
git rebase master other
Already on 'master'
Current branch other is up to date.
ok 34 - switch to branch not checked out
expecting success of 3400.35 'refuse to switch to branch checked out elsewhere':
git checkout master &&
git worktree add wt &&
test_must_fail git -C wt rebase master master 2>err &&
test_i18ngrep "already checked out" err
Switched to branch 'master'
Preparing worktree (new branch 'wt')
HEAD is now at 50620d4 prepare
fatal: 'master' is already checked out at '/<<PKGBUILDDIR>>/t/trash directory.t3400-rebase'
ok 35 - refuse to switch to branch checked out elsewhere
# passed all 35 test(s)
1..35
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t3401-rebase-and-am-rename.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3401-rebase-and-am-rename/.git/
expecting success of 3401.1 'setup testcase where directory rename should be detected':
test_create_repo dir-rename &&
(
cd dir-rename &&
mkdir x &&
test_seq 1 10 >x/a &&
test_seq 11 20 >x/b &&
test_seq 21 30 >x/c &&
test_write_lines a b c d e f g h i >l &&
git add x l &&
git commit -m "Initial" &&
git branch O &&
git branch A &&
git branch B &&
git checkout A &&
git mv x y &&
git mv l letters &&
git commit -m "Rename x to y, l to letters" &&
git checkout B &&
echo j >>l &&
test_seq 31 40 >x/d &&
git add l x/d &&
git commit -m "Modify l, add x/d"
)
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3401-rebase-and-am-rename/dir-rename/.git/
[master (root-commit) 93cf2ef] Initial
Author: A U Thor <author@example.com>
4 files changed, 39 insertions(+)
create mode 100644 l
create mode 100644 x/a
create mode 100644 x/b
create mode 100644 x/c
Switched to branch 'A'
[A d97ab78] Rename x to y, l to letters
Author: A U Thor <author@example.com>
4 files changed, 0 insertions(+), 0 deletions(-)
rename l => letters (100%)
rename {x => y}/a (100%)
rename {x => y}/b (100%)
rename {x => y}/c (100%)
Switched to branch 'B'
[B 34f3d1c] Modify l, add x/d
Author: A U Thor <author@example.com>
2 files changed, 11 insertions(+)
create mode 100644 x/d
ok 1 - setup testcase where directory rename should be detected
expecting success of 3401.2 'rebase --interactive: directory rename detected':
(
cd dir-rename &&
git checkout B^0 &&
set_fake_editor &&
FAKE_LINES="1" git -c merge.directoryRenames=true rebase --interactive A &&
git ls-files -s >out &&
test_line_count = 5 out &&
test_path_is_file y/d &&
test_path_is_missing x/d
)
Note: switching to 'B^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 <new-branch-name>
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
HEAD is now at 34f3d1c Modify l, add x/d
rebase -i script before editing:
pick 34f3d1c Modify l, add x/d
rebase -i script after editing:
pick 34f3d1c Modify l, add x/d
Rebasing (1/1)
Successfully rebased and updated detached HEAD.
ok 2 - rebase --interactive: directory rename detected
checking known breakage of 3401.3 'rebase --apply: directory rename detected':
(
cd dir-rename &&
git checkout B^0 &&
git -c merge.directoryRenames=true rebase --apply A &&
git ls-files -s >out &&
test_line_count = 5 out &&
test_path_is_file y/d &&
test_path_is_missing x/d
)
Warning: you are leaving 1 commit behind, not connected to
any of your branches:
7ae031d Modify l, add x/d
If you want to keep it by creating a new branch, this may be a good time
to do so with:
git branch <new-branch-name> 7ae031d
HEAD is now at 34f3d1c Modify l, add x/d
First, rewinding head to replay your work on top of it...
Applying: Modify l, add x/d
Using index info to reconstruct a base tree...
A l
Falling back to patching base and 3-way merge...
Merging:
d97ab78 Rename x to y, l to letters
virtual Modify l, add x/d
found 1 common ancestor:
virtual 4f45812d96b9febe1d7595b91de345b0a05fb0d4
File y/d doesn't exist.
not ok 3 - rebase --apply: directory rename detected # TODO known breakage
expecting success of 3401.4 'rebase --merge: directory rename detected':
(
cd dir-rename &&
git checkout B^0 &&
git -c merge.directoryRenames=true rebase --merge A &&
git ls-files -s >out &&
test_line_count = 5 out &&
test_path_is_file y/d &&
test_path_is_missing x/d
)
Warning: you are leaving 1 commit behind, not connected to
any of your branches:
8e3a3c6 Modify l, add x/d
If you want to keep it by creating a new branch, this may be a good time
to do so with:
git branch <new-branch-name> 8e3a3c6
HEAD is now at 34f3d1c Modify l, add x/d
Rebasing (1/1)
Successfully rebased and updated detached HEAD.
ok 4 - rebase --merge: directory rename detected
checking known breakage of 3401.5 'am: directory rename detected':
(
cd dir-rename &&
git checkout A^0 &&
git format-patch -1 B &&
git -c merge.directoryRenames=true am --3way 0001*.patch &&
git ls-files -s >out &&
test_line_count = 5 out &&
test_path_is_file y/d &&
test_path_is_missing x/d
)
Warning: you are leaving 1 commit behind, not connected to
any of your branches:
004572e Modify l, add x/d
If you want to keep it by creating a new branch, this may be a good time
to do so with:
git branch <new-branch-name> 004572e
HEAD is now at d97ab78 Rename x to y, l to letters
0001-Modify-l-add-x-d.patch
Applying: Modify l, add x/d
Using index info to reconstruct a base tree...
A l
Falling back to patching base and 3-way merge...
Merging:
d97ab78 Rename x to y, l to letters
virtual Modify l, add x/d
found 1 common ancestor:
virtual 4f45812d96b9febe1d7595b91de345b0a05fb0d4
File y/d doesn't exist.
not ok 5 - am: directory rename detected # TODO known breakage
expecting success of 3401.6 'setup testcase where directory rename should NOT be detected':
test_create_repo no-dir-rename &&
(
cd no-dir-rename &&
mkdir x &&
test_seq 1 10 >x/a &&
test_seq 11 20 >x/b &&
test_seq 21 30 >x/c &&
echo original >project_info &&
git add x project_info &&
git commit -m "Initial" &&
git branch O &&
git branch A &&
git branch B &&
git checkout A &&
echo v2 >project_info &&
git add project_info &&
git commit -m "Modify project_info" &&
git checkout B &&
mkdir y &&
git mv x/c y/c &&
echo v1 >project_info &&
git add project_info &&
git commit -m "Rename x/c to y/c, modify project_info"
)
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3401-rebase-and-am-rename/no-dir-rename/.git/
[master (root-commit) b4bc26b] Initial
Author: A U Thor <author@example.com>
4 files changed, 31 insertions(+)
create mode 100644 project_info
create mode 100644 x/a
create mode 100644 x/b
create mode 100644 x/c
Switched to branch 'A'
[A 6961293] Modify project_info
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
Switched to branch 'B'
[B 36aca40] Rename x/c to y/c, modify project_info
Author: A U Thor <author@example.com>
2 files changed, 1 insertion(+), 1 deletion(-)
rename {x => y}/c (100%)
ok 6 - setup testcase where directory rename should NOT be detected
expecting success of 3401.7 'rebase --interactive: NO directory rename':
test_when_finished "git -C no-dir-rename rebase --abort" &&
(
cd no-dir-rename &&
git checkout B^0 &&
set_fake_editor &&
test_must_fail env FAKE_LINES="1" git rebase --interactive A &&
git ls-files -s >out &&
test_line_count = 6 out &&
test_path_is_file x/a &&
test_path_is_file x/b &&
test_path_is_missing x/c
)
Note: switching to 'B^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 <new-branch-name>
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
HEAD is now at 36aca40 Rename x/c to y/c, modify project_info
rebase -i script before editing:
pick 36aca40 Rename x/c to y/c, modify project_info
rebase -i script after editing:
pick 36aca40 Rename x/c to y/c, modify project_info
Rebasing (1/1)
error: could not apply 36aca40... Rename x/c to y/c, modify project_info
Resolve all conflicts manually, mark them as resolved with
"git add/rm <conflicted_files>", then run "git rebase --continue".
You can instead skip this commit: run "git rebase --skip".
To abort and get back to the state before "git rebase", run "git rebase --abort".
Could not apply 36aca40... Rename x/c to y/c, modify project_info
Auto-merging project_info
CONFLICT (content): Merge conflict in project_info
ok 7 - rebase --interactive: NO directory rename
expecting success of 3401.8 'rebase (am): NO directory rename':
test_when_finished "git -C no-dir-rename rebase --abort" &&
(
cd no-dir-rename &&
git checkout B^0 &&
set_fake_editor &&
test_must_fail git rebase A &&
git ls-files -s >out &&
test_line_count = 6 out &&
test_path_is_file x/a &&
test_path_is_file x/b &&
test_path_is_missing x/c
)
HEAD is now at 36aca40 Rename x/c to y/c, modify project_info
Rebasing (1/1)
error: could not apply 36aca40... Rename x/c to y/c, modify project_info
Resolve all conflicts manually, mark them as resolved with
"git add/rm <conflicted_files>", then run "git rebase --continue".
You can instead skip this commit: run "git rebase --skip".
To abort and get back to the state before "git rebase", run "git rebase --abort".
Could not apply 36aca40... Rename x/c to y/c, modify project_info
Auto-merging project_info
CONFLICT (content): Merge conflict in project_info
ok 8 - rebase (am): NO directory rename
expecting success of 3401.9 'rebase --merge: NO directory rename':
test_when_finished "git -C no-dir-rename rebase --abort" &&
(
cd no-dir-rename &&
git checkout B^0 &&
set_fake_editor &&
test_must_fail git rebase --merge A &&
git ls-files -s >out &&
test_line_count = 6 out &&
test_path_is_file x/a &&
test_path_is_file x/b &&
test_path_is_missing x/c
)
HEAD is now at 36aca40 Rename x/c to y/c, modify project_info
Rebasing (1/1)
error: could not apply 36aca40... Rename x/c to y/c, modify project_info
Resolve all conflicts manually, mark them as resolved with
"git add/rm <conflicted_files>", then run "git rebase --continue".
You can instead skip this commit: run "git rebase --skip".
To abort and get back to the state before "git rebase", run "git rebase --abort".
Could not apply 36aca40... Rename x/c to y/c, modify project_info
Auto-merging project_info
CONFLICT (content): Merge conflict in project_info
ok 9 - rebase --merge: NO directory rename
expecting success of 3401.10 'am: NO directory rename':
test_when_finished "git -C no-dir-rename am --abort" &&
(
cd no-dir-rename &&
git checkout A^0 &&
git format-patch -1 B &&
test_must_fail git am --3way 0001*.patch &&
git ls-files -s >out &&
test_line_count = 6 out &&
test_path_is_file x/a &&
test_path_is_file x/b &&
test_path_is_missing x/c
)
Previous HEAD position was 36aca40 Rename x/c to y/c, modify project_info
HEAD is now at 6961293 Modify project_info
0001-Rename-x-c-to-y-c-modify-project_info.patch
Applying: Rename x/c to y/c, modify project_info
Using index info to reconstruct a base tree...
M project_info
Falling back to patching base and 3-way merge...
Merging:
6961293 Modify project_info
virtual Rename x/c to y/c, modify project_info
found 1 common ancestor:
virtual 70041a03917eeabc905137ab5853aed716a92bc6
Auto-merging project_info
CONFLICT (content): Merge conflict in project_info
error: Failed to merge in the changes.
hint: Use 'git am --show-current-patch=diff' to see the failed patch
Patch failed at 0001 Rename x/c to y/c, modify project_info
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".
ok 10 - am: NO directory rename
# still have 2 known breakage(s)
# passed all remaining 8 test(s)
1..10
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t3402-rebase-merge.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3402-rebase-merge/.git/
expecting success of 3402.1 'setup':
git add original &&
git commit -m"initial" &&
git branch side &&
echo "11 $T" >>original &&
git commit -a -m"master updates a bit." &&
echo "12 $T" >>original &&
git commit -a -m"master updates a bit more." &&
git checkout side &&
(echo "0 $T" && cat original) >renamed &&
git add renamed &&
git update-index --force-remove original &&
git commit -a -m"side renames and edits." &&
tr "[a-z]" "[A-Z]" <original >newfile &&
git add newfile &&
git commit -a -m"side edits further." &&
git branch second-side &&
tr "[a-m]" "[A-M]" <original >newfile &&
rm -f original &&
git commit -a -m"side edits once again." &&
git branch test-rebase side &&
git branch test-rebase-pick side &&
git branch test-reference-pick side &&
git branch test-conflicts side &&
git checkout -b test-merge side
[master (root-commit) 78df06a] initial
Author: A U Thor <author@example.com>
1 file changed, 20 insertions(+)
create mode 100644 original
[master a7e7db1] master updates a bit.
Author: A U Thor <author@example.com>
1 file changed, 2 insertions(+)
[master ad5033c] master updates a bit more.
Author: A U Thor <author@example.com>
1 file changed, 2 insertions(+)
Switched to branch 'side'
[side 74910ea] side renames and edits.
Author: A U Thor <author@example.com>
1 file changed, 2 insertions(+)
rename original => renamed (90%)
[side 71572a3] side edits further.
Author: A U Thor <author@example.com>
1 file changed, 20 insertions(+)
create mode 100644 newfile
[side fa5c05d] side edits once again.
Author: A U Thor <author@example.com>
1 file changed, 20 insertions(+), 20 deletions(-)
rewrite newfile (100%)
Switched to a new branch 'test-merge'
ok 1 - setup
expecting success of 3402.2 'reference merge':
git merge -s recursive -m "reference merge" master
Merging:
fa5c05d side edits once again.
virtual master
found 1 common ancestor:
78df06a initial
Auto-merging renamed
Merge made by the 'recursive' strategy.
renamed | 4 ++++
1 file changed, 4 insertions(+)
ok 2 - reference merge
expecting success of 3402.3 'rebase':
git checkout test-rebase &&
GIT_TRACE=1 git rebase --merge master
Switched to branch 'test-rebase'
trace: built-in: git rebase --merge master
trace: run_command: GIT_REFLOG_ACTION='rebase (start): checkout master' git checkout ad5033cf1502f724bfd17c80e785e5dcf60180ad
Rebasing (1/3)
Rebasing (2/3)
Rebasing (3/3)
trace: run_command: git notes copy --for-rewrite=rebase
trace: built-in: git notes copy --for-rewrite=rebase
Successfully rebased and updated refs/heads/test-rebase.
ok 3 - rebase
expecting success of 3402.4 'test-rebase@{1} is pre rebase':
test $PRE_REBASE = $(git rev-parse test-rebase@{1})
ok 4 - test-rebase@{1} is pre rebase
expecting success of 3402.5 'merge and rebase should match':
git diff-tree -r test-rebase test-merge >difference &&
if test -s difference
then
cat difference
(exit 1)
else
echo happy
fi
happy
ok 5 - merge and rebase should match
expecting success of 3402.6 'rebase the other way':
git reset --hard master &&
git rebase --merge side
HEAD is now at ad5033c master updates a bit more.
Rebasing (1/2)
Rebasing (2/2)
Successfully rebased and updated refs/heads/test-rebase.
ok 6 - rebase the other way
expecting success of 3402.7 'rebase -Xtheirs':
git checkout -b conflicting master~2 &&
echo "AB $T" >> original &&
git commit -mconflicting original &&
git rebase -Xtheirs master &&
grep AB original &&
! grep 11 original
Switched to a new branch 'conflicting'
[conflicting 23b55fa] conflicting
Author: A U Thor <author@example.com>
1 file changed, 2 insertions(+)
Rebasing (1/1)
Successfully rebased and updated refs/heads/conflicting.
AB A quick brown fox
ok 7 - rebase -Xtheirs
expecting success of 3402.8 'rebase -Xtheirs from orphan':
git checkout --orphan orphan-conflicting master~2 &&
echo "AB $T" >> original &&
git commit -morphan-conflicting original &&
git rebase -Xtheirs master &&
grep AB original &&
! grep 11 original
Switched to a new branch 'orphan-conflicting'
[orphan-conflicting (root-commit) 743bf86] orphan-conflicting
Author: A U Thor <author@example.com>
1 file changed, 22 insertions(+)
create mode 100644 original
Rebasing (1/1)
Successfully rebased and updated refs/heads/orphan-conflicting.
AB A quick brown fox
ok 8 - rebase -Xtheirs from orphan
expecting success of 3402.9 'merge and rebase should match':
git diff-tree -r test-rebase test-merge >difference &&
if test -s difference
then
cat difference
(exit 1)
else
echo happy
fi
happy
ok 9 - merge and rebase should match
expecting success of 3402.10 'picking rebase':
git reset --hard side &&
git rebase --merge --onto master side^^ &&
mb=$(git merge-base master HEAD) &&
if test "$mb" = "$(git rev-parse master)"
then
echo happy
else
git show-branch
(exit 1)
fi &&
f=$(git diff-tree --name-only HEAD^ HEAD) &&
g=$(git diff-tree --name-only HEAD^^ HEAD^) &&
case "$f,$g" in
newfile,newfile)
echo happy ;;
*)
echo "$f"
echo "$g"
(exit 1)
esac
HEAD is now at fa5c05d side edits once again.
Rebasing (1/2)
Rebasing (2/2)
Successfully rebased and updated refs/heads/orphan-conflicting.
happy
happy
ok 10 - picking rebase
expecting success of 3402.11 'rebase -s funny -Xopt':
test_when_finished "rm -fr test-bin funny.was.run" &&
mkdir test-bin &&
cat >test-bin/git-merge-funny <<-EOF &&
#!$SHELL_PATH
case "\$1" in --opt) ;; *) exit 2 ;; esac
shift &&
>funny.was.run &&
exec git merge-recursive "\$@"
EOF
chmod +x test-bin/git-merge-funny &&
git reset --hard &&
git checkout -b test-funny master^ &&
test_commit funny &&
(
PATH=./test-bin:$PATH &&
git rebase -s funny -Xopt master
) &&
test -f funny.was.run
HEAD is now at 1f79784 side edits once again.
Switched to a new branch 'test-funny'
[test-funny b7fd028] funny
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 funny.t
Rebasing (1/1)
Merging ad5033cf1502f724bfd17c80e785e5dcf60180ad with b7fd0281e1c2e9beccd1b6699f333140922e862a
Merging:
ad5033c master updates a bit more.
b7fd028 funny
found 1 common ancestor:
a7e7db1 master updates a bit.
Successfully rebased and updated refs/heads/test-funny.
ok 11 - rebase -s funny -Xopt
expecting success of 3402.12 'rebase --skip works with two conflicts in a row':
git checkout second-side &&
tr "[A-Z]" "[a-z]" <newfile >tmp &&
mv tmp newfile &&
git commit -a -m"edit conflicting with side" &&
tr "[d-f]" "[D-F]" <newfile >tmp &&
mv tmp newfile &&
git commit -a -m"another edit conflicting with side" &&
test_must_fail git rebase --merge test-conflicts &&
test_must_fail git rebase --skip &&
git rebase --skip
Switched to branch 'second-side'
[second-side ad921e7] edit conflicting with side
Author: A U Thor <author@example.com>
1 file changed, 20 insertions(+), 20 deletions(-)
rewrite newfile (100%)
[second-side 5f69548] another edit conflicting with side
Author: A U Thor <author@example.com>
1 file changed, 20 insertions(+), 20 deletions(-)
rewrite newfile (100%)
Rebasing (1/2)
error: could not apply ad921e7... edit conflicting with side
Resolve all conflicts manually, mark them as resolved with
"git add/rm <conflicted_files>", then run "git rebase --continue".
You can instead skip this commit: run "git rebase --skip".
To abort and get back to the state before "git rebase", run "git rebase --abort".
Could not apply ad921e7... edit conflicting with side
Auto-merging newfile
CONFLICT (content): Merge conflict in newfile
Rebasing (2/2)
error: could not apply 5f69548... another edit conflicting with side
Resolve all conflicts manually, mark them as resolved with
"git add/rm <conflicted_files>", then run "git rebase --continue".
You can instead skip this commit: run "git rebase --skip".
To abort and get back to the state before "git rebase", run "git rebase --abort".
Could not apply 5f69548... another edit conflicting with side
Auto-merging newfile
CONFLICT (content): Merge conflict in newfile
Successfully rebased and updated refs/heads/second-side.
ok 12 - rebase --skip works with two conflicts in a row
expecting success of 3402.13 '--reapply-cherry-picks':
git init repo &&
# O(1-10) -- O(1-11) -- O(0-10) master
# \
# -- O(1-11) -- O(1-12) otherbranch
printf "Line %d\n" $(test_seq 1 10) >repo/file.txt &&
git -C repo add file.txt &&
git -C repo commit -m "base commit" &&
printf "Line %d\n" $(test_seq 1 11) >repo/file.txt &&
git -C repo commit -a -m "add 11" &&
printf "Line %d\n" $(test_seq 0 10) >repo/file.txt &&
git -C repo commit -a -m "add 0 delete 11" &&
git -C repo checkout -b otherbranch HEAD^^ &&
printf "Line %d\n" $(test_seq 1 11) >repo/file.txt &&
git -C repo commit -a -m "add 11 in another branch" &&
printf "Line %d\n" $(test_seq 1 12) >repo/file.txt &&
git -C repo commit -a -m "add 12 in another branch" &&
# Regular rebase fails, because the 1-11 commit is deduplicated
test_must_fail git -C repo rebase --merge master 2> err &&
test_i18ngrep "error: could not apply.*add 12 in another branch" err &&
git -C repo rebase --abort &&
# With --reapply-cherry-picks, it works
git -C repo rebase --merge --reapply-cherry-picks master
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3402-rebase-merge/repo/.git/
[master (root-commit) b8e39df] base commit
Author: A U Thor <author@example.com>
1 file changed, 10 insertions(+)
create mode 100644 file.txt
[master 8299f6d] add 11
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
[master 1bb0804] add 0 delete 11
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
Switched to a new branch 'otherbranch'
[otherbranch 0c54cd5] add 11 in another branch
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
[otherbranch e97b80f] add 12 in another branch
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
Auto-merging file.txt
CONFLICT (content): Merge conflict in file.txt
checking prerequisite: C_LOCALE_OUTPUT
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
! test_bool_env GIT_TEST_GETTEXT_POISON false
)
prerequisite C_LOCALE_OUTPUT ok
Rebasing (1/1)
error: could not apply e97b80f... add 12 in another branch
Rebasing (1/2)
Rebasing (2/2)
Successfully rebased and updated refs/heads/otherbranch.
ok 13 - --reapply-cherry-picks
expecting success of 3402.14 '--reapply-cherry-picks refrains from reading unneeded blobs':
git init server &&
# O(1-10) -- O(1-11) -- O(1-12) master
# \
# -- O(0-10) otherbranch
printf "Line %d\n" $(test_seq 1 10) >server/file.txt &&
git -C server add file.txt &&
git -C server commit -m "merge base" &&
printf "Line %d\n" $(test_seq 1 11) >server/file.txt &&
git -C server commit -a -m "add 11" &&
printf "Line %d\n" $(test_seq 1 12) >server/file.txt &&
git -C server commit -a -m "add 12" &&
git -C server checkout -b otherbranch HEAD^^ &&
printf "Line %d\n" $(test_seq 0 10) >server/file.txt &&
git -C server commit -a -m "add 0" &&
test_config -C server uploadpack.allowfilter 1 &&
test_config -C server uploadpack.allowanysha1inwant 1 &&
git clone --filter=blob:none "file://$(pwd)/server" client &&
git -C client checkout origin/master &&
git -C client checkout origin/otherbranch &&
# Sanity check to ensure that the blobs from the merge base and "add
# 11" are missing
git -C client rev-list --objects --all --missing=print >missing_list &&
MERGE_BASE_BLOB=$(git -C server rev-parse master^^:file.txt) &&
ADD_11_BLOB=$(git -C server rev-parse master^:file.txt) &&
grep "[?]$MERGE_BASE_BLOB" missing_list &&
grep "[?]$ADD_11_BLOB" missing_list &&
git -C client rebase --merge --reapply-cherry-picks origin/master &&
# The blob from the merge base had to be fetched, but not "add 11"
git -C client rev-list --objects --all --missing=print >missing_list &&
! grep "[?]$MERGE_BASE_BLOB" missing_list &&
grep "[?]$ADD_11_BLOB" missing_list
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3402-rebase-merge/server/.git/
[master (root-commit) 1995021] merge base
Author: A U Thor <author@example.com>
1 file changed, 10 insertions(+)
create mode 100644 file.txt
[master 75d8da0] add 11
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
[master a380afa] add 12
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
Switched to a new branch 'otherbranch'
[otherbranch d365b26] add 0
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
Cloning into 'client'...
Note: switching to 'origin/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.
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 <new-branch-name>
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
HEAD is now at a380afa add 12
Previous HEAD position was a380afa add 12
HEAD is now at d365b26 add 0
?00935f183cbd9243998bd3f84ac67e18eff726a4
?8bf8891e216480d36945027a1d30bdbba5c96d90
Rebasing (1/1)
Successfully rebased and updated detached HEAD.
?8bf8891e216480d36945027a1d30bdbba5c96d90
ok 14 - --reapply-cherry-picks refrains from reading unneeded blobs
# passed all 14 test(s)
1..14
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t3403-rebase-skip.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3403-rebase-skip/.git/
expecting success of 3403.1 'setup':
echo hello > hello &&
git add hello &&
git commit -m "hello" &&
git branch skip-reference &&
echo world >> hello &&
git commit -a -m "hello world" &&
echo goodbye >> hello &&
git commit -a -m "goodbye" &&
git tag goodbye &&
git checkout --detach &&
git checkout HEAD^ . &&
test_tick &&
git commit -m reverted-goodbye &&
git tag reverted-goodbye &&
git checkout goodbye &&
test_tick &&
GIT_AUTHOR_NAME="Another Author" \
GIT_AUTHOR_EMAIL="another.author@example.com" \
git commit --amend --no-edit -m amended-goodbye &&
test_tick &&
git tag amended-goodbye &&
git checkout -f skip-reference &&
echo moo > hello &&
git commit -a -m "we should skip this" &&
echo moo > cow &&
git add cow &&
git commit -m "this should not be skipped" &&
git branch pre-rebase skip-reference &&
git branch skip-merge skip-reference
[master (root-commit) a515f71] hello
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 hello
[master 60f007c] hello world
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
[master 819b041] goodbye
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
HEAD is now at 819b041 goodbye
Updated 1 path from f7e12fd
[detached HEAD ac51005] reverted-goodbye
Author: A U Thor <author@example.com>
1 file changed, 1 deletion(-)
Previous HEAD position was ac51005 reverted-goodbye
HEAD is now at 819b041 goodbye
[detached HEAD 9db957a] amended-goodbye
Author: A U Thor <author@example.com>
Date: Fri Jun 12 06:38:54 2020 +0000
1 file changed, 1 insertion(+)
Previous HEAD position was 9db957a amended-goodbye
Switched to branch 'skip-reference'
[skip-reference 02183c6] we should skip this
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
[skip-reference 78af256] this should not be skipped
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 cow
ok 1 - setup
expecting success of 3403.2 'rebase with git am -3 (default)':
test_must_fail git rebase master
Rebasing (1/2)
error: could not apply 02183c6... we should skip this
Resolve all conflicts manually, mark them as resolved with
"git add/rm <conflicted_files>", then run "git rebase --continue".
You can instead skip this commit: run "git rebase --skip".
To abort and get back to the state before "git rebase", run "git rebase --abort".
Could not apply 02183c6... we should skip this
Auto-merging hello
CONFLICT (content): Merge conflict in hello
ok 2 - rebase with git am -3 (default)
expecting success of 3403.3 'rebase --skip can not be used with other options':
test_must_fail git rebase -v --skip &&
test_must_fail git rebase --skip -v
usage: git rebase [-i] [options] [--exec <cmd>] [--onto <newbase> | --keep-base] [<upstream> [<branch>]]
or: git rebase [-i] [options] [--exec <cmd>] [--onto <newbase>] --root [<branch>]
or: git rebase --continue | --abort | --skip | --edit-todo
--onto <revision> rebase onto given branch instead of upstream
--keep-base use the merge-base of upstream and branch as the current base
--no-verify allow pre-rebase hook to run
-q, --quiet be quiet. implies --no-stat
-v, --verbose display a diffstat of what changed upstream
-n, --no-stat do not show diffstat of what changed upstream
--signoff add a Signed-off-by: line to each commit
--ignore-whitespace passed to 'git am'
--committer-date-is-author-date
passed to 'git am'
--ignore-date passed to 'git am'
-C <n> passed to 'git apply'
--whitespace <action>
passed to 'git apply'
-f, --force-rebase cherry-pick all commits, even if unchanged
--no-ff cherry-pick all commits, even if unchanged
--continue continue
--skip skip current patch and continue
--abort abort and check out the original branch
--quit abort but keep HEAD where it is
--edit-todo edit the todo list during an interactive rebase
--show-current-patch show the patch file being applied or merged
--apply use apply strategies to rebase
-m, --merge use merging strategies to rebase
-i, --interactive let the user edit the list of commits to rebase
--rerere-autoupdate update the index with reused conflict resolution if possible
--empty <{drop,keep,ask}>
how to handle commits that become empty
--autosquash move commits that begin with squash!/fixup! under -i
-S, --gpg-sign[=<key-id>]
GPG-sign commits
--autostash automatically stash/stash pop before and after
-x, --exec <exec> add exec lines after each commit of the editable list
-r, --rebase-merges[=<mode>]
try to rebase merges instead of skipping them
--fork-point use 'merge-base --fork-point' to refine upstream
-s, --strategy <strategy>
use the given merge strategy
-X, --strategy-option <option>
pass the argument through to the merge strategy
--root rebase all reachable commits up to the root(s)
--reschedule-failed-exec
automatically re-schedule any `exec` that fails
--reapply-cherry-picks
apply all changes, even those already present upstream
usage: git rebase [-i] [options] [--exec <cmd>] [--onto <newbase> | --keep-base] [<upstream> [<branch>]]
or: git rebase [-i] [options] [--exec <cmd>] [--onto <newbase>] --root [<branch>]
or: git rebase --continue | --abort | --skip | --edit-todo
--onto <revision> rebase onto given branch instead of upstream
--keep-base use the merge-base of upstream and branch as the current base
--no-verify allow pre-rebase hook to run
-q, --quiet be quiet. implies --no-stat
-v, --verbose display a diffstat of what changed upstream
-n, --no-stat do not show diffstat of what changed upstream
--signoff add a Signed-off-by: line to each commit
--ignore-whitespace passed to 'git am'
--committer-date-is-author-date
passed to 'git am'
--ignore-date passed to 'git am'
-C <n> passed to 'git apply'
--whitespace <action>
passed to 'git apply'
-f, --force-rebase cherry-pick all commits, even if unchanged
--no-ff cherry-pick all commits, even if unchanged
--continue continue
--skip skip current patch and continue
--abort abort and check out the original branch
--quit abort but keep HEAD where it is
--edit-todo edit the todo list during an interactive rebase
--show-current-patch show the patch file being applied or merged
--apply use apply strategies to rebase
-m, --merge use merging strategies to rebase
-i, --interactive let the user edit the list of commits to rebase
--rerere-autoupdate update the index with reused conflict resolution if possible
--empty <{drop,keep,ask}>
how to handle commits that become empty
--autosquash move commits that begin with squash!/fixup! under -i
-S, --gpg-sign[=<key-id>]
GPG-sign commits
--autostash automatically stash/stash pop before and after
-x, --exec <exec> add exec lines after each commit of the editable list
-r, --rebase-merges[=<mode>]
try to rebase merges instead of skipping them
--fork-point use 'merge-base --fork-point' to refine upstream
-s, --strategy <strategy>
use the given merge strategy
-X, --strategy-option <option>
pass the argument through to the merge strategy
--root rebase all reachable commits up to the root(s)
--reschedule-failed-exec
automatically re-schedule any `exec` that fails
--reapply-cherry-picks
apply all changes, even those already present upstream
ok 3 - rebase --skip can not be used with other options
expecting success of 3403.4 'rebase --skip with am -3':
git rebase --skip
Rebasing (2/2)
Successfully rebased and updated refs/heads/skip-reference.
ok 4 - rebase --skip with am -3
expecting success of 3403.5 'rebase moves back to skip-reference':
test refs/heads/skip-reference = $(git symbolic-ref HEAD) &&
git branch post-rebase &&
git reset --hard pre-rebase &&
test_must_fail git rebase master &&
echo "hello" > hello &&
git add hello &&
git rebase --continue &&
test refs/heads/skip-reference = $(git symbolic-ref HEAD) &&
git reset --hard post-rebase
HEAD is now at 78af256 this should not be skipped
Rebasing (1/2)
error: could not apply 02183c6... we should skip this
Resolve all conflicts manually, mark them as resolved with
"git add/rm <conflicted_files>", then run "git rebase --continue".
You can instead skip this commit: run "git rebase --skip".
To abort and get back to the state before "git rebase", run "git rebase --abort".
Could not apply 02183c6... we should skip this
Auto-merging hello
CONFLICT (content): Merge conflict in hello
[detached HEAD 18018dd] we should skip this
Author: A U Thor <author@example.com>
1 file changed, 2 deletions(-)
Rebasing (2/2)
Successfully rebased and updated refs/heads/skip-reference.
HEAD is now at e702a82 this should not be skipped
ok 5 - rebase moves back to skip-reference
expecting success of 3403.6 'checkout skip-merge': git checkout -f skip-merge
Switched to branch 'skip-merge'
ok 6 - checkout skip-merge
expecting success of 3403.7 'rebase with --merge':
test_must_fail git rebase --merge master
Rebasing (1/2)
error: could not apply 02183c6... we should skip this
Resolve all conflicts manually, mark them as resolved with
"git add/rm <conflicted_files>", then run "git rebase --continue".
You can instead skip this commit: run "git rebase --skip".
To abort and get back to the state before "git rebase", run "git rebase --abort".
Could not apply 02183c6... we should skip this
Auto-merging hello
CONFLICT (content): Merge conflict in hello
ok 7 - rebase with --merge
expecting success of 3403.8 'rebase --skip with --merge':
git rebase --skip
Rebasing (2/2)
Successfully rebased and updated refs/heads/skip-merge.
ok 8 - rebase --skip with --merge
expecting success of 3403.9 'merge and reference trees equal':
test -z "$(git diff-tree skip-merge skip-reference)"
ok 9 - merge and reference trees equal
expecting success of 3403.10 'moved back to branch correctly':
test refs/heads/skip-merge = $(git symbolic-ref HEAD)
ok 10 - moved back to branch correctly
expecting success of 3403.11 'correct advice upon picking empty commit':
test_when_finished "git rebase --abort" &&
test_must_fail git rebase -i --onto goodbye \
amended-goodbye^ amended-goodbye 2>err &&
test_i18ngrep "previous cherry-pick is now empty" err &&
test_i18ngrep "git rebase --skip" err &&
test_must_fail git commit &&
test_i18ngrep "git rebase --skip" err
checking prerequisite: C_LOCALE_OUTPUT
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
! test_bool_env GIT_TEST_GETTEXT_POISON false
)
prerequisite C_LOCALE_OUTPUT ok
Rebasing (1/1)
The previous cherry-pick is now empty, possibly due to conflict resolution.
Otherwise, please use 'git rebase --skip'
The previous cherry-pick is now empty, possibly due to conflict resolution.
If you wish to commit it anyway, use:
git commit --allow-empty
Otherwise, please use 'git rebase --skip'
interactive rebase in progress; onto 819b041
Last command done (1 command done):
pick 9db957a amended-goodbye
No commands remaining.
You are currently rebasing.
(all conflicts fixed: run "git rebase --continue")
Untracked files:
(use "git add <file>..." to include in what will be committed)
err
nothing added to commit but untracked files present (use "git add" to track)
Otherwise, please use 'git rebase --skip'
ok 11 - correct advice upon picking empty commit
expecting success of 3403.12 'correct authorship when committing empty pick':
test_when_finished "git rebase --abort" &&
test_must_fail git rebase -i --onto goodbye \
amended-goodbye^ amended-goodbye &&
git commit --allow-empty &&
git log --pretty=format:"%an <%ae>%n%ad%B" -1 amended-goodbye >expect &&
git log --pretty=format:"%an <%ae>%n%ad%B" -1 HEAD >actual &&
test_cmp expect actual
Rebasing (1/1)
The previous cherry-pick is now empty, possibly due to conflict resolution.
If you wish to commit it anyway, use:
git commit --allow-empty
Otherwise, please use 'git rebase --skip'
interactive rebase in progress; onto 819b041
Last command done (1 command done):
pick 9db957a amended-goodbye
No commands remaining.
You are currently rebasing.
(all conflicts fixed: run "git rebase --continue")
Untracked files:
(use "git add <file>..." to include in what will be committed)
err
nothing added to commit but untracked files present (use "git add" to track)
Could not apply 9db957a... amended-goodbye
[detached HEAD eac4b51] amended-goodbye
Author: A U Thor <author@example.com>
Date: Fri Jun 12 06:38:54 2020 +0000
ok 12 - correct authorship when committing empty pick
expecting success of 3403.13 'correct advice upon rewording empty commit':
test_when_finished "git rebase --abort" &&
(
set_fake_editor &&
test_must_fail env FAKE_LINES="reword 1" git rebase -i \
--onto goodbye amended-goodbye^ amended-goodbye 2>err
) &&
test_i18ngrep "previous cherry-pick is now empty" err &&
test_i18ngrep "git rebase --skip" err &&
test_must_fail git commit &&
test_i18ngrep "git rebase --skip" err
rebase -i script before editing:
pick 9db957a amended-goodbye
rebase -i script after editing:
reword 9db957a amended-goodbye
Rebasing (1/1)
The previous cherry-pick is now empty, possibly due to conflict resolution.
Otherwise, please use 'git rebase --skip'
The previous cherry-pick is now empty, possibly due to conflict resolution.
If you wish to commit it anyway, use:
git commit --allow-empty
Otherwise, please use 'git rebase --skip'
interactive rebase in progress; onto 819b041
Last command done (1 command done):
reword 9db957a amended-goodbye
No commands remaining.
You are currently rebasing.
(all conflicts fixed: run "git rebase --continue")
Untracked files:
(use "git add <file>..." to include in what will be committed)
actual
err
expect
fake-editor.sh
nothing added to commit but untracked files present (use "git add" to track)
Otherwise, please use 'git rebase --skip'
ok 13 - correct advice upon rewording empty commit
expecting success of 3403.14 'correct advice upon editing empty commit':
test_when_finished "git rebase --abort" &&
(
set_fake_editor &&
test_must_fail env FAKE_LINES="edit 1" git rebase -i \
--onto goodbye amended-goodbye^ amended-goodbye 2>err
) &&
test_i18ngrep "previous cherry-pick is now empty" err &&
test_i18ngrep "git rebase --skip" err &&
test_must_fail git commit &&
test_i18ngrep "git rebase --skip" err
rebase -i script before editing:
pick 9db957a amended-goodbye
rebase -i script after editing:
edit 9db957a amended-goodbye
Rebasing (1/1)
The previous cherry-pick is now empty, possibly due to conflict resolution.
Otherwise, please use 'git rebase --skip'
The previous cherry-pick is now empty, possibly due to conflict resolution.
If you wish to commit it anyway, use:
git commit --allow-empty
Otherwise, please use 'git rebase --skip'
interactive rebase in progress; onto 819b041
Last command done (1 command done):
edit 9db957a amended-goodbye
No commands remaining.
You are currently rebasing.
(all conflicts fixed: run "git rebase --continue")
Untracked files:
(use "git add <file>..." to include in what will be committed)
actual
err
expect
fake-editor.sh
nothing added to commit but untracked files present (use "git add" to track)
Otherwise, please use 'git rebase --skip'
ok 14 - correct advice upon editing empty commit
expecting success of 3403.15 'correct advice upon cherry-picking an empty commit during a rebase':
test_when_finished "git rebase --abort" &&
(
set_fake_editor &&
test_must_fail env FAKE_LINES="1 exec_git_cherry-pick_amended-goodbye" \
git rebase -i goodbye^ goodbye 2>err
) &&
test_i18ngrep "previous cherry-pick is now empty" err &&
test_i18ngrep "git cherry-pick --skip" err &&
test_must_fail git commit 2>err &&
test_i18ngrep "git cherry-pick --skip" err
rebase -i script before editing:
pick 819b041 goodbye
rebase -i script after editing:
pick 819b041 goodbye
exec git cherry-pick amended-goodbye
interactive rebase in progress; onto 60f007c
Last commands done (2 commands done):
pick 819b041 goodbye
exec git cherry-pick amended-goodbye
No commands remaining.
You are currently rebasing.
(all conflicts fixed: run "git rebase --continue")
Untracked files:
(use "git add <file>..." to include in what will be committed)
actual
err
expect
fake-editor.sh
nothing added to commit but untracked files present (use "git add" to track)
The previous cherry-pick is now empty, possibly due to conflict resolution.
Otherwise, please use 'git cherry-pick --skip'
interactive rebase in progress; onto 60f007c
Last commands done (2 commands done):
pick 819b041 goodbye
exec git cherry-pick amended-goodbye
No commands remaining.
You are currently rebasing.
(all conflicts fixed: run "git rebase --continue")
Untracked files:
(use "git add <file>..." to include in what will be committed)
actual
err
expect
fake-editor.sh
nothing added to commit but untracked files present (use "git add" to track)
Otherwise, please use 'git cherry-pick --skip'
ok 15 - correct advice upon cherry-picking an empty commit during a rebase
expecting success of 3403.16 'correct advice upon multi cherry-pick picking an empty commit during a rebase':
test_when_finished "git rebase --abort" &&
(
set_fake_editor &&
test_must_fail env FAKE_LINES="1 exec_git_cherry-pick_goodbye_amended-goodbye" \
git rebase -i goodbye^^ goodbye 2>err
) &&
test_i18ngrep "previous cherry-pick is now empty" err &&
test_i18ngrep "git cherry-pick --skip" err &&
test_must_fail git commit 2>err &&
test_i18ngrep "git cherry-pick --skip" err
rebase -i script before editing:
pick 60f007c hello world
pick 819b041 goodbye
rebase -i script after editing:
pick 60f007c hello world
exec git cherry-pick goodbye amended-goodbye
[detached HEAD 590151f] goodbye
Author: A U Thor <author@example.com>
Date: Fri Jun 12 06:38:54 2020 +0000
1 file changed, 1 insertion(+)
interactive rebase in progress; onto a515f71
Last commands done (2 commands done):
pick 60f007c hello world
exec git cherry-pick goodbye amended-goodbye
No commands remaining.
You are currently rebasing.
(all conflicts fixed: run "git rebase --continue")
Untracked files:
(use "git add <file>..." to include in what will be committed)
actual
err
expect
fake-editor.sh
nothing added to commit but untracked files present (use "git add" to track)
The previous cherry-pick is now empty, possibly due to conflict resolution.
Otherwise, please use 'git cherry-pick --skip'
interactive rebase in progress; onto a515f71
Last commands done (2 commands done):
pick 60f007c hello world
exec git cherry-pick goodbye amended-goodbye
No commands remaining.
You are currently rebasing.
(all conflicts fixed: run "git rebase --continue")
Untracked files:
(use "git add <file>..." to include in what will be committed)
actual
err
expect
fake-editor.sh
nothing added to commit but untracked files present (use "git add" to track)
Otherwise, please use 'git cherry-pick --skip'
ok 16 - correct advice upon multi cherry-pick picking an empty commit during a rebase
expecting success of 3403.17 'fixup that empties commit fails':
test_when_finished "git rebase --abort" &&
(
set_fake_editor &&
test_must_fail env FAKE_LINES="1 fixup 2" git rebase -i \
goodbye^ reverted-goodbye
)
rebase -i script before editing:
pick 819b041 goodbye
pick ac51005 reverted-goodbye
rebase -i script after editing:
pick 819b041 goodbye
fixup ac51005 reverted-goodbye
Rebasing (2/2)
You asked to amend the most recent commit, but doing so would make
it empty. You can repeat your command with --allow-empty, or you can
remove the commit entirely with "git reset HEAD^".
interactive rebase in progress; onto 60f007c
Last commands done (2 commands done):
pick 819b041 goodbye
fixup ac51005 reverted-goodbye
No commands remaining.
You are currently rebasing.
(all conflicts fixed: run "git rebase --continue")
Untracked files:
(use "git add <file>..." to include in what will be committed)
actual
err
expect
fake-editor.sh
No changes
Could not apply ac51005... reverted-goodbye
ok 17 - fixup that empties commit fails
expecting success of 3403.18 'squash that empties commit fails':
test_when_finished "git rebase --abort" &&
(
set_fake_editor &&
test_must_fail env FAKE_LINES="1 squash 2" git rebase -i \
goodbye^ reverted-goodbye
)
rebase -i script before editing:
pick 819b041 goodbye
pick ac51005 reverted-goodbye
rebase -i script after editing:
pick 819b041 goodbye
squash ac51005 reverted-goodbye
Rebasing (2/2)
You asked to amend the most recent commit, but doing so would make
it empty. You can repeat your command with --allow-empty, or you can
remove the commit entirely with "git reset HEAD^".
interactive rebase in progress; onto 60f007c
Last commands done (2 commands done):
pick 819b041 goodbye
squash ac51005 reverted-goodbye
No commands remaining.
You are currently rebasing.
(all conflicts fixed: run "git rebase --continue")
Untracked files:
(use "git add <file>..." to include in what will be committed)
actual
err
expect
fake-editor.sh
No changes
Could not apply ac51005... reverted-goodbye
ok 18 - squash that empties commit fails
expecting success of 3403.19 '$EDITOR and friends are unchanged':
test_editor_unchanged
ok 19 - $EDITOR and friends are unchanged
# passed all 19 test(s)
1..19
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t3311-notes-merge-fanout.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3311-notes-merge-fanout/.git/
expecting success of 3311.1 'setup a few initial commits with notes (notes ref: x)':
git config core.notesRef refs/notes/x &&
for i in 1 2 3 4 5
do
test_commit "commit$i" >/dev/null &&
git notes add -m "notes for commit$i" || return 1
done &&
git log --format=oneline &&
test_oid_cache <<-EOF
hash05a sha1:aed91155c7a72c2188e781fdf40e0f3761b299db
hash04a sha1:99fab268f9d7ee7b011e091a436c78def8eeee69
hash03a sha1:953c20ae26c7aa0b428c20693fe38bc687f9d1a9
hash02a sha1:6358796131b8916eaa2dde6902642942a1cb37e1
hash01a sha1:b02d459c32f0e68f2fe0981033bb34f38776ba47
hash03b sha1:9f506ee70e20379d7f78204c77b334f43d77410d
hash02b sha1:23a47d6ea7d589895faf800752054818e1e7627b
hash05a sha256:3aae5d26619d96dba93795f66325716e4cbc486884f95a6adee8fb0615a76d12
hash04a sha256:07e43dd3d89fe634d3252e253b426aacc7285a995dcdbcf94ac284060a1122cf
hash03a sha256:26fb52eaa7f4866bf735254587be7b31209ec10e525912ffd8e8ba549ba892ff
hash02a sha256:b57ebdf23634e750dcbc4b9a37991d70f90830d568a0e4529ce9de0a3f8d605c
hash01a sha256:377903b1572bd5117087a5518fcb1011b5053cccbc59e3c7c823a8615204173b
hash03b sha256:04e7b392fda7c185bfa17c9179b56db732edc2dc2b3bf887308dcaabb717270d
hash02b sha256:66099aaaec49a485ed990acadd9a9b81232ea592079964113d8f581ff69ef50b
EOF
f6db73397fcc379ea00d1fc17a35abb42027a69a commit5
157e8cc0aeac5befb302d276f2e706112bf6e413 commit4
e0851358fb6b4703f23d74ef964bc4491bec7ab9 commit3
94955c5cd7e5662c6ab40c323ecdfac458c47435 commit2
ef004cfa88883bb87e030b6196934dd90e3548d2 commit1
ok 1 - setup a few initial commits with notes (notes ref: x)
expecting success of 3311.2 'sanity check (x)':
verify_notes x commit5 &&
verify_no_fanout x
157e8cc0aeac5befb302d276f2e706112bf6e413
94955c5cd7e5662c6ab40c323ecdfac458c47435
e0851358fb6b4703f23d74ef964bc4491bec7ab9
ef004cfa88883bb87e030b6196934dd90e3548d2
f6db73397fcc379ea00d1fc17a35abb42027a69a
ok 2 - sanity check (x)
expecting success of 3311.3 'Add a few hundred commits w/notes to trigger fanout (x -> y)':
git update-ref refs/notes/y refs/notes/x &&
git config core.notesRef refs/notes/y &&
test_commit_bulk --start=6 --id=commit $((num - 5)) &&
i=0 &&
while test $i -lt $((num - 5))
do
git notes add -m "notes for commit$i" HEAD~$i || return 1
i=$((i + 1))
done &&
test "$(git rev-parse refs/notes/y)" != "$(git rev-parse refs/notes/x)" &&
# Expected number of commits and notes
test $(git rev-list HEAD | wc -l) = $num &&
test $(git notes list | wc -l) = $num &&
# 5 first notes unchanged
verify_notes y commit5
f6db73397fcc379ea00d1fc17a35abb42027a69a
/<<PKGBUILDDIR>>/git-fast-import statistics:
---------------------------------------------------------------------
Alloc'd objects: 5000
Total objects: 885 ( 0 duplicates )
blobs : 295 ( 0 duplicates 0 deltas of 0 attempts)
trees : 295 ( 0 duplicates 289 deltas of 289 attempts)
commits: 295 ( 0 duplicates 0 deltas of 0 attempts)
tags : 0 ( 0 duplicates 0 deltas of 0 attempts)
Total branches: 1 ( 1 loads )
marks: 1024 ( 0 unique )
atoms: 300
Memory total: 2434 KiB
pools: 2122 KiB
objects: 312 KiB
---------------------------------------------------------------------
pack_report: getpagesize() = 4096
pack_report: core.packedGitWindowSize = 33554432
pack_report: core.packedGitLimit = 268435456
pack_report: pack_used_ctr = 296
pack_report: pack_mmap_calls = 1
pack_report: pack_open_windows = 1 / 1
pack_report: pack_mapped = 86456 / 86456
---------------------------------------------------------------------
ok 3 - Add a few hundred commits w/notes to trigger fanout (x -> y)
expecting success of 3311.4 'notes tree has fanout (y)': verify_fanout y
00/59a2ff8988844dd700659efccfd6743632f608
00/f8b74df8cda7203edb38223fe6e88ccf9e4867
02/96deddcaab6e784e59aa39dd1a8d20aefd16b7
02/e82a8dbc4055adb9de6a9659582c396e5a405c
03/0053ed24c57da4943b57df551d320cda39d301
04/fa40d6837978ceac40e98a0477254b79ff6109
05/a2ed5d9c61c6cf4ba308a0e07cac2a429aff65
06/a01ff41646bc048a05917f15e10fee340f767c
06/c14dad0e5fd835685f33ad970d094a43e1cedc
06/e1bb3951a38f7376405b778091cd7eadec203c
09/9a5404b8f2c60ab4b2a7cf1ebc9cdd69fd1fa9
0a/9e6cecb44350f1408a06cd59686b5cb1fa4d79
0c/9e3b6f605491b12a1cde5ec246115233f0f5fd
0e/77e9a284277632ab6590d1f9b0f86d399c461e
0e/7bc46a7af0b651a90cd01852eefac5d764dbc1
0f/63b6e81d3b18fb134161f627844e9e5a2d942a
0f/d39fd6ef715bb3a0b6c163199e572a7daa7af2
0f/dfaad743779a13fea86b5092855460a1d063fe
11/4fc5a9d7890b4a2d5ec8276dda69e37e5e616c
11/768aa383e7caa89f5a859593052eda5782f73c
11/906a39ecfe8796cae0e0853f06c2c335868843
12/5a36192dc2255282d7d1800dec2a340d236a9b
12/907a70732802196c1a0ca807a108eaa29adec5
13/42db3bf0da6aed591bc732c1746073ff06b0f3
15/7e8cc0aeac5befb302d276f2e706112bf6e413
15/b9d90d3c3c6f73deacc4d9c171752b6b0d581f
17/7c1b213fa7ebafc44c50a935e6c176b79360df
18/9334c4b88d99963170854583fc084397152338
19/8490da44fc075db7c29686ed3d75f9eced094a
19/eab2791c316642c620b2494c2dce003beee3d4
1a/50d1559b52e47799dce956a3ef59427b529e48
1a/98e69358bfe77335598c444880178786f250f3
1b/09302a3d79221b5923891bbdecdf6bf5c32dc4
1c/256bbec2954ce4bbd3aa1ec894b00619c87d59
1c/ec8d2b2103afe07295972d513c3f4abc898607
1d/22d9f08076b2a7fc11d1df4fbf5dbb1bc5f77f
1e/1532b6aee517f7d4fbfbc9635d18a10b12fde2
1f/4329544f45b3a5ed56c5a1aca07b22a4999fbb
1f/7c2e169ef55c9e168464bfe083076dbfb6690f
1f/80b24e9c4875cbd559fb8d9434de1850c52c7e
21/eb95433c63f657f4feb61b78b91ed2fe53574c
22/66ca4aaa709bb00bf269087d8e13a54042a93d
22/a8913746147a11a5828aa70482fa6fc1fff2a1
23/6aa09ca3248e4bcde6ed9780fe1e0e17f4e62c
23/c51031b7b5ff34b5cd75bdae5a21bb8dc387ae
23/e92f35ff959ee71439822b19c93027ce677bc8
24/f5d4d513327acad4f00462fe39bc96ed9aec9f
28/fca858f4bdf40159e4fa5a63846b0aceb7431a
29/38a35e6813c7205e7ad62ee37e2a6cc9d36a1f
2b/a7acefc08f3462eb12453a8bb5521544905334
2c/75f53ac534a324324b1ff15cefcd70e7afa646
2d/65622d1ffee087504b1cf59a6d6bdbb9552760
2d/9e37898a0e742a0163855935118ab9af5951a8
2d/c1daa14d2d350677e34ef5fe76509f6e55063d
2d/d18e98a3cc782944a568636289c160d81fd5a1
30/45340fd90419dd2f5690d1c4d8633c70248bd9
32/011ba8b26d0e39c354091b5d18b640bdaa9ec0
32/39026a8940b414239faf0d77e274112d68d96d
32/5dab4afdab3a8b7e7b3691f9e5623d72e6ba95
32/67715033f21dbf69f361ad1f2373e78065949d
34/40ffcbed4ba8626e99d1fd5de37486e336c4fa
35/56cd79d6de9c14ac5e790317e96b48cf28a6e5
35/e40ca1583f193dfb98af23e284a80de6fb7484
36/63d047011bfa8f85a3503c9f54deb1a09d5adf
37/e9a73943fb52b3af6afd3eaa0901992a63cfff
38/07896e9e661a2e84151e396d31fd34796d1f6f
39/65ddde0fd33b440db683e8802fe0ebcb64094c
39/916af9733548bdbf3c7899a97969fdc1ef2e99
39/afd70fce5e8eb6d92a041f1339d96655f2b0f6
39/c5f743e3dc9758a4ac40bfee0fa1d1dcfda822
3b/64761fbc713b657deb969b9855343c0d7eaa2f
3c/066e203e841ea3c7efc4be6d87b5f719704acb
3c/e86c1beb71106283a293ac353ce61ab3096736
3e/c22ce4f6c24d44b2a0a1410a39d1218c184b50
3f/28341a483b5f2d01ffdee0cc680f79f3f7e571
40/b1ffbbe7a0ddad705c9897a8548a62e1f4876a
41/a3870799c63de3688b300bdbaaaa6355ff24fb
42/a4892a296f36eadfceb9d264f6e600703bf688
43/15150561c443e54ab895a121e3c59ee39ff170
43/da7a31eba4b4d3108e782c779cdf94b6bec116
44/e3b4af0aa9e1af2f6db328754f45ac7726948c
46/4aeb5723c1062fc6ad55e3205f956e8a3ef3c5
46/59a8862a02c5227f122d894c2a001eca0d84f9
47/dd87a8e555bd925c86bc96989593e08968b7b1
48/14470a784d66e0318a74ab08ea7202fc3fd4cc
4a/39c901540457bb249c18a4f94a8a0e59f0e6d1
4b/6059c8f1c9b70b70cfcfb4614f49b3c922ca6e
4b/87d5e91601208385a412a90deedaf14279452f
4b/ba369e6095f2c452c4d09f1358acdeaafeae76
4c/236aea851217323502e86ecc922143018837b0
4d/f312eda5f4fe7f8f4a2d9d9ca7b8d0c1fa64f5
4d/f5539d13cfe269d6558fbe78b1329b361b9590
4f/9fd239f6237bbe9dc0cc0949bc09ba2e0a71de
51/7516b737a8c858f54b5ce20ccdf922a9376cfa
51/ce3b9fc8560b53c1e3881e94b2a0c876f18031
52/0400c47b7fe950cac0119f3e0f39f77ea91f48
52/24d3a5dee327bf2df46d0439e377af58e4e4b7
54/6ad61cfdb3824e53156bc95274f47c52009d87
54/95af5c04ccbe4967c06508a4a30fe6944c3178
57/701dee98362e6576ba16ebb0f05c9b9e6c5c41
58/61ff7dcb74969510aa40908555fdfd43e9a607
59/6cfc19975cea95d3f9af95d3ec3822394d17c3
5c/bad73a40be1ee94eebf156cf3f1945aa3dad8d
5d/9d49249a3f5e6f8a2667ab2ef98bd873ea033f
60/1e442f4370db50da9a9266fb36f1df1855da4b
60/e04cb7f2669b592f1197d087b348f6eca6ff2a
62/151fb4b555eb4c92c1942da6b0717af8ba787a
64/fd88beb2d2d9f73e1a90d63c5e5bac131a540f
65/86726dc4df291efa46b1e2587f52c80a3ddbf6
66/2e2425a4c465e97a7dae3a3b7fab0d654ae315
66/babe5b113fb7a4290b198c980240154b392203
67/f28897fa34cf457d8e880b8a60a19bdc771239
67/f6dbb066bdb6658a3ca6f582c9fca2cb8a4b7e
68/bd8cd66f30a076bd6e9f67e9ab51fcca2a4e1b
68/e1d1c671c6161d8e2c149e748ef92bb5cfa665
68/fc05bece2383b55c77ece5900b5f4e4c40ba62
69/d6c2a2fbd139aba6359a9ccbfc0fe6efcdd690
6b/d2133f11f05075526130cb2a97c810b11bcb5e
6b/d2e279447bd40bd32b1a438dfd52a6fe2cf14b
6c/131adc529e2d3a59b7034ced7f99f169598411
6c/616feca94f10bf561251a17c16b7db4b1dbdde
6c/7461a7db47fab144addf95b814379832f4230c
6d/6c8808dfa5be2487402591dded1ad67d908a85
70/3dc5647be0fa24abf8ac8d5e9faed118ea31e6
70/e91c0fd3c8a7c524c051b8e8531c8286523915
72/80e9c59bbfcf7288d0df9636df54527880ee79
73/939a765953cbb48cb8cb1df6ccd062919eded1
74/c28b460bc1f4fc488ae27c0c767c90088ddbcb
74/deae17ac1eecf64f405e05e8e14e0dd6b30543
75/331eaadf68c823f6bc36873b625be470fdb9da
75/337f6597d6a984ce72b370db7ac08b11115954
76/1dedb54cfa4a530d2a8b6f0108b3630536d51c
79/64a617c4a2d1bb45850b48f774fc57b28fea5b
7a/0703d54958925e09013e04bd35cd19a078a90b
7a/a80f07beae9a2f0b8ccd703c32de6744fd051e
7b/21836a584eb1ee8ffecafa2d2ba02109ea2273
7d/815ea015cd551ab5de80879760defb47acea6c
7e/41915dad67d1585d33b56abf2c129432fcf426
7f/78a61938b36a24fd4431a12b22e3dd26702757
81/1322f632d38d635a20a148bb4c5f98b8c31d8c
81/83a1e8450e209464100603f2a9a0b8e574ca43
82/6d4be181ec8e60d819f4ff350dee4e501a4efa
82/85ee71b3bd8ffe7402db5940ebc2da7234a1c4
84/94e16f2929306d0a205b4a9cf34789ec5b52fe
85/94f94aaed77d8365eef9f0ff37e7da9c05d50c
86/700c1d3f3a0a31f2f954bb4188d398af2181db
86/dcde95eebb062f0ccf716c0d3b70614cdb16a6
88/7ac411f4b1bcc710eb561c61d18e3960e817cf
8a/015ae1ae0dac611406357e7e2b7d3b29b51447
8a/2d13657445f6056804c992cd8b46d1f2d9e08e
8a/788640a312a8bbc5bbd1d35b4fedacbcc0c00a
8a/a7d423d5a3e120d4d8c80980791ec2f209f131
8b/36d47cabd9aa85b7a7673e43c603ce6ba76df6
8c/e581e0bef54e004db3bc40b2f1079d24efdb96
8d/7f0f041fa3cb769b4f5f7ab8dea329e031971d
8d/b5bd40cac5f2043a94733d67313e392b5d9dc6
8e/50afaa02fd9bd744f061730cb8eedef4997d5d
8e/c3d3b6b7ee56e23a709f47db60f8561a9698ed
8f/ef91e52599676addb79aba4224c2c0eb8601a3
8f/f04a0672b445210fcb364650d74111c2fd82f5
8f/f5663227734a920cf085f0e0b76d5db14172f4
90/a84eeab5e3ce60421da43a623db6540b688a62
93/28a88723298c70ca14eaaa241613c9574e8b44
93/5152afbc3b4f67bb8d9ccd01b601c89a48e69e
94/1e1bccbf627604ca6af86ad3541dee480aab0e
94/2d87c0b27dd02c55b0112dab49b9be254473d2
94/955c5cd7e5662c6ab40c323ecdfac458c47435
96/3df12cc741f3004f8870a52fc5877bf9ca6013
96/7dd7f09c2f55dfb393c021ab6000a283cf068e
96/939443f19f5d8926e78e906c965b418d4c46d5
96/d5867ce179d5146ed9163e8eba2acabab83122
97/4217f2644a6e6fe401523c4f459f7c3689f9dd
99/decb49e0f56074881831727b906117a326be85
99/f6460ce4758ef60eff7abf0366f7bbfc9a8206
9a/492e74e1d2afda3d4043b8b9968a29c3c13bcc
9b/f30d1676260b8fc8bf519a4af4bc628402e95a
9e/4729bfc0f6b9b5aee0d630bafc299a19fdedf7
9e/aacc50711e24a8d7fb5734444338752cc979a5
9e/ca7d34b36ad5bfcd80ff2ac0b0b9a8fae850c6
9e/f8c372f29f8131739dc8eeab08f4323c54c47a
a2/0d16b51cc9287469c4a2f246acb5f0c21fc098
a2/16dcf6b46f5260b6cfff5721847e010c681e40
a3/60d5a1639d70627543138385781dbee95812c8
a4/d7fcdbcbac2799f0e87a5654df1e4c12345282
a6/f7090037e529277612903dde135889721b8d24
a7/01072f88f0fec15902916cbce38f3549cac0e6
a7/94f10e293f1434fe75766203a47d7e3d4d8c1d
a7/b062b1589ea7e3385124521c2d4751b44b0a4b
a8/60edaf1326a590c32dd4ddf4ea754b8ef5be34
ab/2db5d6e0a134ba2693c7cb74d0f41a95dbf5f3
ac/11791a26f4a82c2d1e2b068c5d9be6564aa2d1
ad/788402e4b81bd4f0fc8d3beba876ac30f2e801
ad/b50ff206b638bb35775e4d8134314a4b669ee0
ae/6bddbb17144c925e1dd30b156fd014e4a5af5e
af/e58fc3dc97f83b97fc5cc4c0bcdc8a2923a536
b3/5c8895207c15e1d8d64ade08db059efd46d634
b3/a6e1262d902a183b6810d77969091aeaa8605c
b4/0c02d0c9d21ad75a00143d3eecb1aae1683c25
b4/a7e9c293e3b1160418b9c2652bdcd028e75742
b8/03a8226968f1f155ebabff1429026ba58ecf94
ba/000ce7dfaa53436a12fcb6f32cb730bc999c58
ba/c54e6b25f59ad97e0be4e6fcda6e53dca6607d
ba/e7d71c1c40d6670a1dfc290c7aba2deea204b6
bb/78195e8b2beb0c006980fb5c6e7e2641524167
bc/4c742dc1b8d1f09af2c510b3dfd730a99e6a8c
bf/a45c5b38c41145cb203209f5bc3dc16599a5e3
c1/06288c0595c7f2acb761e8fcdb39dd3fec3b6f
c1/a639c2cd71f92376aba8b0cdfb7eb42fff1f54
c1/c44c75783ebaad6ce903072e5b14af8f444bd8
c2/1b7a79d2b2746f946b0f5be42fd3e3b59d4544
c2/5b912bd08de3cefe1a673f2f2ca3016d1c1258
c2/9802df7ad706dff5dc666219b1b15e53db20fb
c3/348a7184dbff866f4c5f2f9a82deaa6f93763b
c3/bce4b541feff853989c57fd2dc42c9f99e5f21
c5/b7b50e501d98c810248b15cad01e4f8c3d00d8
c6/1ad84c67d08df0fd04c00b62de24091c9b7383
c7/2685d485e402e73f8cd1cae86797c8eecc8d20
c8/7dbe3c22f24fdf0e49cfaa43508cd524c494f0
c9/3aa29c5e69c1f8c67d2b33f0b5a330d1788526
ca/d27fba7ca666bbd050e21373ad07c0a71b10bc
cd/6aef36b96ac7dbbd94a30646d2cfe45ee8c620
ce/5e3a94a1b9a8e2bb3ea69bc6276ff80b753db3
cf/056ec152b13f4a4eafa61f1499b9beaec3f2c6
cf/b2d40d0416c7b0b60db8199e1b79f640093f72
cf/f68c1b7ed135ab19f2b95c318dc6357ddfdaa2
d0/a377c848e3a37146acd4a8a9b891a5152a9d48
d1/4356539993fb4c70ff4f4deb91eb9097740832
d1/46fd69423d2f3b505d145e67afe5aca02dfe09
d1/7af66ed98bd2bd2e18daa94c6689773993770c
d1/9a07455999d2ab16493ec101e0dbc825206007
d1/b856326cd5454fac386a758ed8c8918f66ba26
d2/5789d47eb4c16b85bf9e39d9d2369a0d855d92
d2/9e6b7e73240371022068cdec11d2d45cc0fc1a
d2/df6c6b7335d4a71baa92177cb78cb13a71bd6c
d3/07d48abf7d014f2adf792ab48e95dd77b3fd66
d4/a19a929357505d72d64fc595a543b2215c39d4
d5/6359cf0df8b4541ccbcad8e0c0a44f822eccf7
d6/1ac6b65471750febac7d69bca2475ad7f39617
d6/1f3c9d16964b53d020e8c21f9ecf7d791fd314
d6/88dc5b7b307160fe01c92bc80fd608bafa923f
d6/e2c3490a50f68c0599b1bfad824631648bfe57
d7/3e59672de81d623318c96702bafe79ca3b01b9
d7/5fa8b23e1610b8f3a1ab1d43e4e6bbe9848d99
d7/944f2f885b1e976e1fd1c0b30b6c172bb52466
d8/425743f77600e4165b653f22ae6fd38027d2b4
d8/5974bb6248f39e51abd6d00737edd6256ee103
da/865c12818c8ef15fc031f832d4399997476a64
db/c93987a2f41d29e7d9ce170c4a66f31ba21a2b
dd/336f1f082af04276827925fc2ad27560e584f4
dd/a5e2303dc0efb1ce21091ac9609ce05f95ca11
dd/f7332ecf611c9ea9b21b96c61b9508c8630258
e0/2dcc2a7fc0426363d2380175ca08cd564bfa1e
e0/59ccd2bf35dbc599e5ce5d39674d926445fc3e
e0/851358fb6b4703f23d74ef964bc4491bec7ab9
e0/9816883b166284284a2848821c7787a74b8170
e2/09a0d469e26a06ce87bb3bbc3429a911e94879
e2/7052bb2c8bb2fd16e0d235c24ca5aad3270e38
e3/640f4f8c0e046c3cd59acdd41e9fbbee959579
e5/4161d6eb21566f231627f845a14c312482ed8a
e5/ce71a5e89216984d0334e19f0b86ee734b2419
e6/405b88cddb9dfa524a7372b58e615bf4cdc730
e6/83dd479d771604c993c307404be2aa9ac45b7d
e7/f1a6cd9114a0ef87ba8fb5e0ff89d05796e059
e9/4fa527e4420309ff4e420897749f95cb552444
e9/cc8b7606e0f912773c1c6aa425319858643ae1
ea/c6e96d764b0c25841dcea3cf4f77b7f889f215
eb/11d8290f638dc8b3b4da8b4a56bb7f5192d80c
eb/91b96510d8485576da96507503e779dece1777
eb/ac41b793d2de79fc57bf0e2215785122c6fbfb
eb/f639d1f0d2f8350a8f8efe5fce50f9387d900e
ec/11fc9e3653f03f1c82ab32ceca3fe90c89a169
ec/55ada1019c2cd250bec8af82e999356d32c713
ee/79ede3b931d2796f1d48176d4859b4dde8add5
ee/e7846fd37a3b6a89d1248e46c9bbc770bfea28
ef/004cfa88883bb87e030b6196934dd90e3548d2
ef/3d66358c62d9f97f72b96ea6b9848414fa8101
ef/8596ac1ab699d85f0de0a3f9be55b2c9876078
ef/cec8d750faa2610959fc2fb4bfd8fc095031ef
ef/f8361a8dab5eb9b5532706575896f3953c3da8
f0/ad20627099424af1d5c762cc2e6975fedc4325
f1/d588e48db9e3d4239673d5030b47b08f849eea
f3/d4332f46fb8d6a96f6cace0fe55fd3a7062258
f3/e3510e3dc4a81d486bd077cb68e2dbb843553e
f4/8cff0f2465f3ea3ad67d6a477c9dafe09b971a
f4/b273648f727cd5f0f92bd3c5cdd67cfed10892
f4/f9a1dc653674c0f7c877dda961925b1515e053
f5/4ef3b60b96982e057642bfcff04ed29caf1207
f5/bf3719d5450931e3979d1b9b140618fe042e22
f6/db73397fcc379ea00d1fc17a35abb42027a69a
f7/1f7801a7ff5b40d6e346cd7ddeb492d1d83224
f8/18a85408d9343660a7403290cd483de65f28fe
f8/469687aceb346b06adb42f065dfd586013636d
f8/b4f860379fcc1e6256494d4931ff46ea5852de
f8/fea46bf5bb6034aa77d9c8c8c55953bd694594
fa/37685cddf33cbf37404cb5314ea362557da4c5
fa/e1e08aeadada773d1eb10851e985c808cdf655
fb/209c09b61273835f23b39ce0d07171ab872311
fb/480ccedc5dd98024c22a41e717fcb0ae7fca67
fe/4314bf42a6930ab23ad01b86ba887257ccb576
fe/9977c6f7294face7e7987f2c53bd016d035089
ok 4 - notes tree has fanout (y)
expecting success of 3311.5 'No-op merge (already included) (x => y)':
git update-ref refs/notes/m refs/notes/y &&
git config core.notesRef refs/notes/m &&
git notes merge x &&
test "$(git rev-parse refs/notes/m)" = "$(git rev-parse refs/notes/y)"
Already up to date!
ok 5 - No-op merge (already included) (x => y)
expecting success of 3311.6 'Fast-forward merge (y => x)':
git update-ref refs/notes/m refs/notes/x &&
git notes merge y &&
test "$(git rev-parse refs/notes/m)" = "$(git rev-parse refs/notes/y)"
Fast-forward
ok 6 - Fast-forward merge (y => x)
expecting success of 3311.7 'change some of the initial 5 notes (x -> z)':
git update-ref refs/notes/z refs/notes/x &&
git config core.notesRef refs/notes/z &&
git notes add -f -m "new notes for commit2" commit2 &&
git notes append -m "appended notes for commit3" commit3 &&
git notes remove commit4 &&
git notes remove commit5 &&
verify_notes z commit5
Overwriting existing notes for object 94955c5cd7e5662c6ab40c323ecdfac458c47435
Removing note for object commit4
Removing note for object commit5
ok 7 - change some of the initial 5 notes (x -> z)
expecting success of 3311.8 'notes tree has no fanout (z)': verify_no_fanout z
94955c5cd7e5662c6ab40c323ecdfac458c47435
e0851358fb6b4703f23d74ef964bc4491bec7ab9
ef004cfa88883bb87e030b6196934dd90e3548d2
ok 8 - notes tree has no fanout (z)
expecting success of 3311.9 'successful merge without conflicts (y => z)':
git update-ref refs/notes/m refs/notes/z &&
git config core.notesRef refs/notes/m &&
git notes merge y &&
verify_notes m commit5 &&
# x/y/z unchanged
verify_notes x commit5 &&
verify_notes y commit5 &&
verify_notes z commit5
ok 9 - successful merge without conflicts (y => z)
expecting success of 3311.10 'notes tree still has fanout after merge (m)': verify_fanout m
00/59a2ff8988844dd700659efccfd6743632f608
00/f8b74df8cda7203edb38223fe6e88ccf9e4867
02/96deddcaab6e784e59aa39dd1a8d20aefd16b7
02/e82a8dbc4055adb9de6a9659582c396e5a405c
03/0053ed24c57da4943b57df551d320cda39d301
04/fa40d6837978ceac40e98a0477254b79ff6109
05/a2ed5d9c61c6cf4ba308a0e07cac2a429aff65
06/a01ff41646bc048a05917f15e10fee340f767c
06/c14dad0e5fd835685f33ad970d094a43e1cedc
06/e1bb3951a38f7376405b778091cd7eadec203c
09/9a5404b8f2c60ab4b2a7cf1ebc9cdd69fd1fa9
0a/9e6cecb44350f1408a06cd59686b5cb1fa4d79
0c/9e3b6f605491b12a1cde5ec246115233f0f5fd
0e/77e9a284277632ab6590d1f9b0f86d399c461e
0e/7bc46a7af0b651a90cd01852eefac5d764dbc1
0f/63b6e81d3b18fb134161f627844e9e5a2d942a
0f/d39fd6ef715bb3a0b6c163199e572a7daa7af2
0f/dfaad743779a13fea86b5092855460a1d063fe
11/4fc5a9d7890b4a2d5ec8276dda69e37e5e616c
11/768aa383e7caa89f5a859593052eda5782f73c
11/906a39ecfe8796cae0e0853f06c2c335868843
12/5a36192dc2255282d7d1800dec2a340d236a9b
12/907a70732802196c1a0ca807a108eaa29adec5
13/42db3bf0da6aed591bc732c1746073ff06b0f3
15/b9d90d3c3c6f73deacc4d9c171752b6b0d581f
17/7c1b213fa7ebafc44c50a935e6c176b79360df
18/9334c4b88d99963170854583fc084397152338
19/8490da44fc075db7c29686ed3d75f9eced094a
19/eab2791c316642c620b2494c2dce003beee3d4
1a/50d1559b52e47799dce956a3ef59427b529e48
1a/98e69358bfe77335598c444880178786f250f3
1b/09302a3d79221b5923891bbdecdf6bf5c32dc4
1c/256bbec2954ce4bbd3aa1ec894b00619c87d59
1c/ec8d2b2103afe07295972d513c3f4abc898607
1d/22d9f08076b2a7fc11d1df4fbf5dbb1bc5f77f
1e/1532b6aee517f7d4fbfbc9635d18a10b12fde2
1f/4329544f45b3a5ed56c5a1aca07b22a4999fbb
1f/7c2e169ef55c9e168464bfe083076dbfb6690f
1f/80b24e9c4875cbd559fb8d9434de1850c52c7e
21/eb95433c63f657f4feb61b78b91ed2fe53574c
22/66ca4aaa709bb00bf269087d8e13a54042a93d
22/a8913746147a11a5828aa70482fa6fc1fff2a1
23/6aa09ca3248e4bcde6ed9780fe1e0e17f4e62c
23/c51031b7b5ff34b5cd75bdae5a21bb8dc387ae
23/e92f35ff959ee71439822b19c93027ce677bc8
24/f5d4d513327acad4f00462fe39bc96ed9aec9f
28/fca858f4bdf40159e4fa5a63846b0aceb7431a
29/38a35e6813c7205e7ad62ee37e2a6cc9d36a1f
2b/a7acefc08f3462eb12453a8bb5521544905334
2c/75f53ac534a324324b1ff15cefcd70e7afa646
2d/65622d1ffee087504b1cf59a6d6bdbb9552760
2d/9e37898a0e742a0163855935118ab9af5951a8
2d/c1daa14d2d350677e34ef5fe76509f6e55063d
2d/d18e98a3cc782944a568636289c160d81fd5a1
30/45340fd90419dd2f5690d1c4d8633c70248bd9
32/011ba8b26d0e39c354091b5d18b640bdaa9ec0
32/39026a8940b414239faf0d77e274112d68d96d
32/5dab4afdab3a8b7e7b3691f9e5623d72e6ba95
32/67715033f21dbf69f361ad1f2373e78065949d
34/40ffcbed4ba8626e99d1fd5de37486e336c4fa
35/56cd79d6de9c14ac5e790317e96b48cf28a6e5
35/e40ca1583f193dfb98af23e284a80de6fb7484
36/63d047011bfa8f85a3503c9f54deb1a09d5adf
37/e9a73943fb52b3af6afd3eaa0901992a63cfff
38/07896e9e661a2e84151e396d31fd34796d1f6f
39/65ddde0fd33b440db683e8802fe0ebcb64094c
39/916af9733548bdbf3c7899a97969fdc1ef2e99
39/afd70fce5e8eb6d92a041f1339d96655f2b0f6
39/c5f743e3dc9758a4ac40bfee0fa1d1dcfda822
3b/64761fbc713b657deb969b9855343c0d7eaa2f
3c/066e203e841ea3c7efc4be6d87b5f719704acb
3c/e86c1beb71106283a293ac353ce61ab3096736
3e/c22ce4f6c24d44b2a0a1410a39d1218c184b50
3f/28341a483b5f2d01ffdee0cc680f79f3f7e571
40/b1ffbbe7a0ddad705c9897a8548a62e1f4876a
41/a3870799c63de3688b300bdbaaaa6355ff24fb
42/a4892a296f36eadfceb9d264f6e600703bf688
43/15150561c443e54ab895a121e3c59ee39ff170
43/da7a31eba4b4d3108e782c779cdf94b6bec116
44/e3b4af0aa9e1af2f6db328754f45ac7726948c
46/4aeb5723c1062fc6ad55e3205f956e8a3ef3c5
46/59a8862a02c5227f122d894c2a001eca0d84f9
47/dd87a8e555bd925c86bc96989593e08968b7b1
48/14470a784d66e0318a74ab08ea7202fc3fd4cc
4a/39c901540457bb249c18a4f94a8a0e59f0e6d1
4b/6059c8f1c9b70b70cfcfb4614f49b3c922ca6e
4b/87d5e91601208385a412a90deedaf14279452f
4b/ba369e6095f2c452c4d09f1358acdeaafeae76
4c/236aea851217323502e86ecc922143018837b0
4d/f312eda5f4fe7f8f4a2d9d9ca7b8d0c1fa64f5
4d/f5539d13cfe269d6558fbe78b1329b361b9590
4f/9fd239f6237bbe9dc0cc0949bc09ba2e0a71de
51/7516b737a8c858f54b5ce20ccdf922a9376cfa
51/ce3b9fc8560b53c1e3881e94b2a0c876f18031
52/0400c47b7fe950cac0119f3e0f39f77ea91f48
52/24d3a5dee327bf2df46d0439e377af58e4e4b7
54/6ad61cfdb3824e53156bc95274f47c52009d87
54/95af5c04ccbe4967c06508a4a30fe6944c3178
57/701dee98362e6576ba16ebb0f05c9b9e6c5c41
58/61ff7dcb74969510aa40908555fdfd43e9a607
59/6cfc19975cea95d3f9af95d3ec3822394d17c3
5c/bad73a40be1ee94eebf156cf3f1945aa3dad8d
5d/9d49249a3f5e6f8a2667ab2ef98bd873ea033f
60/1e442f4370db50da9a9266fb36f1df1855da4b
60/e04cb7f2669b592f1197d087b348f6eca6ff2a
62/151fb4b555eb4c92c1942da6b0717af8ba787a
64/fd88beb2d2d9f73e1a90d63c5e5bac131a540f
65/86726dc4df291efa46b1e2587f52c80a3ddbf6
66/2e2425a4c465e97a7dae3a3b7fab0d654ae315
66/babe5b113fb7a4290b198c980240154b392203
67/f28897fa34cf457d8e880b8a60a19bdc771239
67/f6dbb066bdb6658a3ca6f582c9fca2cb8a4b7e
68/bd8cd66f30a076bd6e9f67e9ab51fcca2a4e1b
68/e1d1c671c6161d8e2c149e748ef92bb5cfa665
68/fc05bece2383b55c77ece5900b5f4e4c40ba62
69/d6c2a2fbd139aba6359a9ccbfc0fe6efcdd690
6b/d2133f11f05075526130cb2a97c810b11bcb5e
6b/d2e279447bd40bd32b1a438dfd52a6fe2cf14b
6c/131adc529e2d3a59b7034ced7f99f169598411
6c/616feca94f10bf561251a17c16b7db4b1dbdde
6c/7461a7db47fab144addf95b814379832f4230c
6d/6c8808dfa5be2487402591dded1ad67d908a85
70/3dc5647be0fa24abf8ac8d5e9faed118ea31e6
70/e91c0fd3c8a7c524c051b8e8531c8286523915
72/80e9c59bbfcf7288d0df9636df54527880ee79
73/939a765953cbb48cb8cb1df6ccd062919eded1
74/c28b460bc1f4fc488ae27c0c767c90088ddbcb
74/deae17ac1eecf64f405e05e8e14e0dd6b30543
75/331eaadf68c823f6bc36873b625be470fdb9da
75/337f6597d6a984ce72b370db7ac08b11115954
76/1dedb54cfa4a530d2a8b6f0108b3630536d51c
79/64a617c4a2d1bb45850b48f774fc57b28fea5b
7a/0703d54958925e09013e04bd35cd19a078a90b
7a/a80f07beae9a2f0b8ccd703c32de6744fd051e
7b/21836a584eb1ee8ffecafa2d2ba02109ea2273
7d/815ea015cd551ab5de80879760defb47acea6c
7e/41915dad67d1585d33b56abf2c129432fcf426
7f/78a61938b36a24fd4431a12b22e3dd26702757
81/1322f632d38d635a20a148bb4c5f98b8c31d8c
81/83a1e8450e209464100603f2a9a0b8e574ca43
82/6d4be181ec8e60d819f4ff350dee4e501a4efa
82/85ee71b3bd8ffe7402db5940ebc2da7234a1c4
84/94e16f2929306d0a205b4a9cf34789ec5b52fe
85/94f94aaed77d8365eef9f0ff37e7da9c05d50c
86/700c1d3f3a0a31f2f954bb4188d398af2181db
86/dcde95eebb062f0ccf716c0d3b70614cdb16a6
88/7ac411f4b1bcc710eb561c61d18e3960e817cf
8a/015ae1ae0dac611406357e7e2b7d3b29b51447
8a/2d13657445f6056804c992cd8b46d1f2d9e08e
8a/788640a312a8bbc5bbd1d35b4fedacbcc0c00a
8a/a7d423d5a3e120d4d8c80980791ec2f209f131
8b/36d47cabd9aa85b7a7673e43c603ce6ba76df6
8c/e581e0bef54e004db3bc40b2f1079d24efdb96
8d/7f0f041fa3cb769b4f5f7ab8dea329e031971d
8d/b5bd40cac5f2043a94733d67313e392b5d9dc6
8e/50afaa02fd9bd744f061730cb8eedef4997d5d
8e/c3d3b6b7ee56e23a709f47db60f8561a9698ed
8f/ef91e52599676addb79aba4224c2c0eb8601a3
8f/f04a0672b445210fcb364650d74111c2fd82f5
8f/f5663227734a920cf085f0e0b76d5db14172f4
90/a84eeab5e3ce60421da43a623db6540b688a62
93/28a88723298c70ca14eaaa241613c9574e8b44
93/5152afbc3b4f67bb8d9ccd01b601c89a48e69e
94/1e1bccbf627604ca6af86ad3541dee480aab0e
94/2d87c0b27dd02c55b0112dab49b9be254473d2
94/955c5cd7e5662c6ab40c323ecdfac458c47435
96/3df12cc741f3004f8870a52fc5877bf9ca6013
96/7dd7f09c2f55dfb393c021ab6000a283cf068e
96/939443f19f5d8926e78e906c965b418d4c46d5
96/d5867ce179d5146ed9163e8eba2acabab83122
97/4217f2644a6e6fe401523c4f459f7c3689f9dd
99/decb49e0f56074881831727b906117a326be85
99/f6460ce4758ef60eff7abf0366f7bbfc9a8206
9a/492e74e1d2afda3d4043b8b9968a29c3c13bcc
9b/f30d1676260b8fc8bf519a4af4bc628402e95a
9e/4729bfc0f6b9b5aee0d630bafc299a19fdedf7
9e/aacc50711e24a8d7fb5734444338752cc979a5
9e/ca7d34b36ad5bfcd80ff2ac0b0b9a8fae850c6
9e/f8c372f29f8131739dc8eeab08f4323c54c47a
a2/0d16b51cc9287469c4a2f246acb5f0c21fc098
a2/16dcf6b46f5260b6cfff5721847e010c681e40
a3/60d5a1639d70627543138385781dbee95812c8
a4/d7fcdbcbac2799f0e87a5654df1e4c12345282
a6/f7090037e529277612903dde135889721b8d24
a7/01072f88f0fec15902916cbce38f3549cac0e6
a7/94f10e293f1434fe75766203a47d7e3d4d8c1d
a7/b062b1589ea7e3385124521c2d4751b44b0a4b
a8/60edaf1326a590c32dd4ddf4ea754b8ef5be34
ab/2db5d6e0a134ba2693c7cb74d0f41a95dbf5f3
ac/11791a26f4a82c2d1e2b068c5d9be6564aa2d1
ad/788402e4b81bd4f0fc8d3beba876ac30f2e801
ad/b50ff206b638bb35775e4d8134314a4b669ee0
ae/6bddbb17144c925e1dd30b156fd014e4a5af5e
af/e58fc3dc97f83b97fc5cc4c0bcdc8a2923a536
b3/5c8895207c15e1d8d64ade08db059efd46d634
b3/a6e1262d902a183b6810d77969091aeaa8605c
b4/0c02d0c9d21ad75a00143d3eecb1aae1683c25
b4/a7e9c293e3b1160418b9c2652bdcd028e75742
b8/03a8226968f1f155ebabff1429026ba58ecf94
ba/000ce7dfaa53436a12fcb6f32cb730bc999c58
ba/c54e6b25f59ad97e0be4e6fcda6e53dca6607d
ba/e7d71c1c40d6670a1dfc290c7aba2deea204b6
bb/78195e8b2beb0c006980fb5c6e7e2641524167
bc/4c742dc1b8d1f09af2c510b3dfd730a99e6a8c
bf/a45c5b38c41145cb203209f5bc3dc16599a5e3
c1/06288c0595c7f2acb761e8fcdb39dd3fec3b6f
c1/a639c2cd71f92376aba8b0cdfb7eb42fff1f54
c1/c44c75783ebaad6ce903072e5b14af8f444bd8
c2/1b7a79d2b2746f946b0f5be42fd3e3b59d4544
c2/5b912bd08de3cefe1a673f2f2ca3016d1c1258
c2/9802df7ad706dff5dc666219b1b15e53db20fb
c3/348a7184dbff866f4c5f2f9a82deaa6f93763b
c3/bce4b541feff853989c57fd2dc42c9f99e5f21
c5/b7b50e501d98c810248b15cad01e4f8c3d00d8
c6/1ad84c67d08df0fd04c00b62de24091c9b7383
c7/2685d485e402e73f8cd1cae86797c8eecc8d20
c8/7dbe3c22f24fdf0e49cfaa43508cd524c494f0
c9/3aa29c5e69c1f8c67d2b33f0b5a330d1788526
ca/d27fba7ca666bbd050e21373ad07c0a71b10bc
cd/6aef36b96ac7dbbd94a30646d2cfe45ee8c620
ce/5e3a94a1b9a8e2bb3ea69bc6276ff80b753db3
cf/056ec152b13f4a4eafa61f1499b9beaec3f2c6
cf/b2d40d0416c7b0b60db8199e1b79f640093f72
cf/f68c1b7ed135ab19f2b95c318dc6357ddfdaa2
d0/a377c848e3a37146acd4a8a9b891a5152a9d48
d1/4356539993fb4c70ff4f4deb91eb9097740832
d1/46fd69423d2f3b505d145e67afe5aca02dfe09
d1/7af66ed98bd2bd2e18daa94c6689773993770c
d1/9a07455999d2ab16493ec101e0dbc825206007
d1/b856326cd5454fac386a758ed8c8918f66ba26
d2/5789d47eb4c16b85bf9e39d9d2369a0d855d92
d2/9e6b7e73240371022068cdec11d2d45cc0fc1a
d2/df6c6b7335d4a71baa92177cb78cb13a71bd6c
d3/07d48abf7d014f2adf792ab48e95dd77b3fd66
d4/a19a929357505d72d64fc595a543b2215c39d4
d5/6359cf0df8b4541ccbcad8e0c0a44f822eccf7
d6/1ac6b65471750febac7d69bca2475ad7f39617
d6/1f3c9d16964b53d020e8c21f9ecf7d791fd314
d6/88dc5b7b307160fe01c92bc80fd608bafa923f
d6/e2c3490a50f68c0599b1bfad824631648bfe57
d7/3e59672de81d623318c96702bafe79ca3b01b9
d7/5fa8b23e1610b8f3a1ab1d43e4e6bbe9848d99
d7/944f2f885b1e976e1fd1c0b30b6c172bb52466
d8/425743f77600e4165b653f22ae6fd38027d2b4
d8/5974bb6248f39e51abd6d00737edd6256ee103
da/865c12818c8ef15fc031f832d4399997476a64
db/c93987a2f41d29e7d9ce170c4a66f31ba21a2b
dd/336f1f082af04276827925fc2ad27560e584f4
dd/a5e2303dc0efb1ce21091ac9609ce05f95ca11
dd/f7332ecf611c9ea9b21b96c61b9508c8630258
e0/2dcc2a7fc0426363d2380175ca08cd564bfa1e
e0/59ccd2bf35dbc599e5ce5d39674d926445fc3e
e0/851358fb6b4703f23d74ef964bc4491bec7ab9
e0/9816883b166284284a2848821c7787a74b8170
e2/09a0d469e26a06ce87bb3bbc3429a911e94879
e2/7052bb2c8bb2fd16e0d235c24ca5aad3270e38
e3/640f4f8c0e046c3cd59acdd41e9fbbee959579
e5/4161d6eb21566f231627f845a14c312482ed8a
e5/ce71a5e89216984d0334e19f0b86ee734b2419
e6/405b88cddb9dfa524a7372b58e615bf4cdc730
e6/83dd479d771604c993c307404be2aa9ac45b7d
e7/f1a6cd9114a0ef87ba8fb5e0ff89d05796e059
e9/4fa527e4420309ff4e420897749f95cb552444
e9/cc8b7606e0f912773c1c6aa425319858643ae1
ea/c6e96d764b0c25841dcea3cf4f77b7f889f215
eb/11d8290f638dc8b3b4da8b4a56bb7f5192d80c
eb/91b96510d8485576da96507503e779dece1777
eb/ac41b793d2de79fc57bf0e2215785122c6fbfb
eb/f639d1f0d2f8350a8f8efe5fce50f9387d900e
ec/11fc9e3653f03f1c82ab32ceca3fe90c89a169
ec/55ada1019c2cd250bec8af82e999356d32c713
ee/79ede3b931d2796f1d48176d4859b4dde8add5
ee/e7846fd37a3b6a89d1248e46c9bbc770bfea28
ef/004cfa88883bb87e030b6196934dd90e3548d2
ef/3d66358c62d9f97f72b96ea6b9848414fa8101
ef/8596ac1ab699d85f0de0a3f9be55b2c9876078
ef/cec8d750faa2610959fc2fb4bfd8fc095031ef
ef/f8361a8dab5eb9b5532706575896f3953c3da8
f0/ad20627099424af1d5c762cc2e6975fedc4325
f1/d588e48db9e3d4239673d5030b47b08f849eea
f3/d4332f46fb8d6a96f6cace0fe55fd3a7062258
f3/e3510e3dc4a81d486bd077cb68e2dbb843553e
f4/8cff0f2465f3ea3ad67d6a477c9dafe09b971a
f4/b273648f727cd5f0f92bd3c5cdd67cfed10892
f4/f9a1dc653674c0f7c877dda961925b1515e053
f5/4ef3b60b96982e057642bfcff04ed29caf1207
f5/bf3719d5450931e3979d1b9b140618fe042e22
f7/1f7801a7ff5b40d6e346cd7ddeb492d1d83224
f8/18a85408d9343660a7403290cd483de65f28fe
f8/469687aceb346b06adb42f065dfd586013636d
f8/b4f860379fcc1e6256494d4931ff46ea5852de
f8/fea46bf5bb6034aa77d9c8c8c55953bd694594
fa/37685cddf33cbf37404cb5314ea362557da4c5
fa/e1e08aeadada773d1eb10851e985c808cdf655
fb/209c09b61273835f23b39ce0d07171ab872311
fb/480ccedc5dd98024c22a41e717fcb0ae7fca67
fe/4314bf42a6930ab23ad01b86ba887257ccb576
fe/9977c6f7294face7e7987f2c53bd016d035089
ok 10 - notes tree still has fanout after merge (m)
expecting success of 3311.11 'introduce conflicting changes (y -> w)':
git update-ref refs/notes/w refs/notes/y &&
git config core.notesRef refs/notes/w &&
git notes add -f -m "other notes for commit1" commit1 &&
git notes add -f -m "other notes for commit3" commit3 &&
git notes add -f -m "other notes for commit4" commit4 &&
git notes remove commit5 &&
verify_notes w commit5
Overwriting existing notes for object ef004cfa88883bb87e030b6196934dd90e3548d2
Overwriting existing notes for object e0851358fb6b4703f23d74ef964bc4491bec7ab9
Overwriting existing notes for object 157e8cc0aeac5befb302d276f2e706112bf6e413
Removing note for object commit5
ok 11 - introduce conflicting changes (y -> w)
expecting success of 3311.12 'successful merge using "ours" strategy (z => w)':
git update-ref refs/notes/m refs/notes/w &&
git config core.notesRef refs/notes/m &&
git notes merge -s ours z &&
verify_notes m commit5 &&
# w/x/y/z unchanged
verify_notes w commit5 &&
verify_notes x commit5 &&
verify_notes y commit5 &&
verify_notes z commit5
Using local notes for 157e8cc0aeac5befb302d276f2e706112bf6e413
Using local notes for e0851358fb6b4703f23d74ef964bc4491bec7ab9
ok 12 - successful merge using "ours" strategy (z => w)
expecting success of 3311.13 'notes tree still has fanout after merge (m)': verify_fanout m
00/59a2ff8988844dd700659efccfd6743632f608
00/f8b74df8cda7203edb38223fe6e88ccf9e4867
02/96deddcaab6e784e59aa39dd1a8d20aefd16b7
02/e82a8dbc4055adb9de6a9659582c396e5a405c
03/0053ed24c57da4943b57df551d320cda39d301
04/fa40d6837978ceac40e98a0477254b79ff6109
05/a2ed5d9c61c6cf4ba308a0e07cac2a429aff65
06/a01ff41646bc048a05917f15e10fee340f767c
06/c14dad0e5fd835685f33ad970d094a43e1cedc
06/e1bb3951a38f7376405b778091cd7eadec203c
09/9a5404b8f2c60ab4b2a7cf1ebc9cdd69fd1fa9
0a/9e6cecb44350f1408a06cd59686b5cb1fa4d79
0c/9e3b6f605491b12a1cde5ec246115233f0f5fd
0e/77e9a284277632ab6590d1f9b0f86d399c461e
0e/7bc46a7af0b651a90cd01852eefac5d764dbc1
0f/63b6e81d3b18fb134161f627844e9e5a2d942a
0f/d39fd6ef715bb3a0b6c163199e572a7daa7af2
0f/dfaad743779a13fea86b5092855460a1d063fe
11/4fc5a9d7890b4a2d5ec8276dda69e37e5e616c
11/768aa383e7caa89f5a859593052eda5782f73c
11/906a39ecfe8796cae0e0853f06c2c335868843
12/5a36192dc2255282d7d1800dec2a340d236a9b
12/907a70732802196c1a0ca807a108eaa29adec5
13/42db3bf0da6aed591bc732c1746073ff06b0f3
15/7e8cc0aeac5befb302d276f2e706112bf6e413
15/b9d90d3c3c6f73deacc4d9c171752b6b0d581f
17/7c1b213fa7ebafc44c50a935e6c176b79360df
18/9334c4b88d99963170854583fc084397152338
19/8490da44fc075db7c29686ed3d75f9eced094a
19/eab2791c316642c620b2494c2dce003beee3d4
1a/50d1559b52e47799dce956a3ef59427b529e48
1a/98e69358bfe77335598c444880178786f250f3
1b/09302a3d79221b5923891bbdecdf6bf5c32dc4
1c/256bbec2954ce4bbd3aa1ec894b00619c87d59
1c/ec8d2b2103afe07295972d513c3f4abc898607
1d/22d9f08076b2a7fc11d1df4fbf5dbb1bc5f77f
1e/1532b6aee517f7d4fbfbc9635d18a10b12fde2
1f/4329544f45b3a5ed56c5a1aca07b22a4999fbb
1f/7c2e169ef55c9e168464bfe083076dbfb6690f
1f/80b24e9c4875cbd559fb8d9434de1850c52c7e
21/eb95433c63f657f4feb61b78b91ed2fe53574c
22/66ca4aaa709bb00bf269087d8e13a54042a93d
22/a8913746147a11a5828aa70482fa6fc1fff2a1
23/6aa09ca3248e4bcde6ed9780fe1e0e17f4e62c
23/c51031b7b5ff34b5cd75bdae5a21bb8dc387ae
23/e92f35ff959ee71439822b19c93027ce677bc8
24/f5d4d513327acad4f00462fe39bc96ed9aec9f
28/fca858f4bdf40159e4fa5a63846b0aceb7431a
29/38a35e6813c7205e7ad62ee37e2a6cc9d36a1f
2b/a7acefc08f3462eb12453a8bb5521544905334
2c/75f53ac534a324324b1ff15cefcd70e7afa646
2d/65622d1ffee087504b1cf59a6d6bdbb9552760
2d/9e37898a0e742a0163855935118ab9af5951a8
2d/c1daa14d2d350677e34ef5fe76509f6e55063d
2d/d18e98a3cc782944a568636289c160d81fd5a1
30/45340fd90419dd2f5690d1c4d8633c70248bd9
32/011ba8b26d0e39c354091b5d18b640bdaa9ec0
32/39026a8940b414239faf0d77e274112d68d96d
32/5dab4afdab3a8b7e7b3691f9e5623d72e6ba95
32/67715033f21dbf69f361ad1f2373e78065949d
34/40ffcbed4ba8626e99d1fd5de37486e336c4fa
35/56cd79d6de9c14ac5e790317e96b48cf28a6e5
35/e40ca1583f193dfb98af23e284a80de6fb7484
36/63d047011bfa8f85a3503c9f54deb1a09d5adf
37/e9a73943fb52b3af6afd3eaa0901992a63cfff
38/07896e9e661a2e84151e396d31fd34796d1f6f
39/65ddde0fd33b440db683e8802fe0ebcb64094c
39/916af9733548bdbf3c7899a97969fdc1ef2e99
39/afd70fce5e8eb6d92a041f1339d96655f2b0f6
39/c5f743e3dc9758a4ac40bfee0fa1d1dcfda822
3b/64761fbc713b657deb969b9855343c0d7eaa2f
3c/066e203e841ea3c7efc4be6d87b5f719704acb
3c/e86c1beb71106283a293ac353ce61ab3096736
3e/c22ce4f6c24d44b2a0a1410a39d1218c184b50
3f/28341a483b5f2d01ffdee0cc680f79f3f7e571
40/b1ffbbe7a0ddad705c9897a8548a62e1f4876a
41/a3870799c63de3688b300bdbaaaa6355ff24fb
42/a4892a296f36eadfceb9d264f6e600703bf688
43/15150561c443e54ab895a121e3c59ee39ff170
43/da7a31eba4b4d3108e782c779cdf94b6bec116
44/e3b4af0aa9e1af2f6db328754f45ac7726948c
46/4aeb5723c1062fc6ad55e3205f956e8a3ef3c5
46/59a8862a02c5227f122d894c2a001eca0d84f9
47/dd87a8e555bd925c86bc96989593e08968b7b1
48/14470a784d66e0318a74ab08ea7202fc3fd4cc
4a/39c901540457bb249c18a4f94a8a0e59f0e6d1
4b/6059c8f1c9b70b70cfcfb4614f49b3c922ca6e
4b/87d5e91601208385a412a90deedaf14279452f
4b/ba369e6095f2c452c4d09f1358acdeaafeae76
4c/236aea851217323502e86ecc922143018837b0
4d/f312eda5f4fe7f8f4a2d9d9ca7b8d0c1fa64f5
4d/f5539d13cfe269d6558fbe78b1329b361b9590
4f/9fd239f6237bbe9dc0cc0949bc09ba2e0a71de
51/7516b737a8c858f54b5ce20ccdf922a9376cfa
51/ce3b9fc8560b53c1e3881e94b2a0c876f18031
52/0400c47b7fe950cac0119f3e0f39f77ea91f48
52/24d3a5dee327bf2df46d0439e377af58e4e4b7
54/6ad61cfdb3824e53156bc95274f47c52009d87
54/95af5c04ccbe4967c06508a4a30fe6944c3178
57/701dee98362e6576ba16ebb0f05c9b9e6c5c41
58/61ff7dcb74969510aa40908555fdfd43e9a607
59/6cfc19975cea95d3f9af95d3ec3822394d17c3
5c/bad73a40be1ee94eebf156cf3f1945aa3dad8d
5d/9d49249a3f5e6f8a2667ab2ef98bd873ea033f
60/1e442f4370db50da9a9266fb36f1df1855da4b
60/e04cb7f2669b592f1197d087b348f6eca6ff2a
62/151fb4b555eb4c92c1942da6b0717af8ba787a
64/fd88beb2d2d9f73e1a90d63c5e5bac131a540f
65/86726dc4df291efa46b1e2587f52c80a3ddbf6
66/2e2425a4c465e97a7dae3a3b7fab0d654ae315
66/babe5b113fb7a4290b198c980240154b392203
67/f28897fa34cf457d8e880b8a60a19bdc771239
67/f6dbb066bdb6658a3ca6f582c9fca2cb8a4b7e
68/bd8cd66f30a076bd6e9f67e9ab51fcca2a4e1b
68/e1d1c671c6161d8e2c149e748ef92bb5cfa665
68/fc05bece2383b55c77ece5900b5f4e4c40ba62
69/d6c2a2fbd139aba6359a9ccbfc0fe6efcdd690
6b/d2133f11f05075526130cb2a97c810b11bcb5e
6b/d2e279447bd40bd32b1a438dfd52a6fe2cf14b
6c/131adc529e2d3a59b7034ced7f99f169598411
6c/616feca94f10bf561251a17c16b7db4b1dbdde
6c/7461a7db47fab144addf95b814379832f4230c
6d/6c8808dfa5be2487402591dded1ad67d908a85
70/3dc5647be0fa24abf8ac8d5e9faed118ea31e6
70/e91c0fd3c8a7c524c051b8e8531c8286523915
72/80e9c59bbfcf7288d0df9636df54527880ee79
73/939a765953cbb48cb8cb1df6ccd062919eded1
74/c28b460bc1f4fc488ae27c0c767c90088ddbcb
74/deae17ac1eecf64f405e05e8e14e0dd6b30543
75/331eaadf68c823f6bc36873b625be470fdb9da
75/337f6597d6a984ce72b370db7ac08b11115954
76/1dedb54cfa4a530d2a8b6f0108b3630536d51c
79/64a617c4a2d1bb45850b48f774fc57b28fea5b
7a/0703d54958925e09013e04bd35cd19a078a90b
7a/a80f07beae9a2f0b8ccd703c32de6744fd051e
7b/21836a584eb1ee8ffecafa2d2ba02109ea2273
7d/815ea015cd551ab5de80879760defb47acea6c
7e/41915dad67d1585d33b56abf2c129432fcf426
7f/78a61938b36a24fd4431a12b22e3dd26702757
81/1322f632d38d635a20a148bb4c5f98b8c31d8c
81/83a1e8450e209464100603f2a9a0b8e574ca43
82/6d4be181ec8e60d819f4ff350dee4e501a4efa
82/85ee71b3bd8ffe7402db5940ebc2da7234a1c4
84/94e16f2929306d0a205b4a9cf34789ec5b52fe
85/94f94aaed77d8365eef9f0ff37e7da9c05d50c
86/700c1d3f3a0a31f2f954bb4188d398af2181db
86/dcde95eebb062f0ccf716c0d3b70614cdb16a6
88/7ac411f4b1bcc710eb561c61d18e3960e817cf
8a/015ae1ae0dac611406357e7e2b7d3b29b51447
8a/2d13657445f6056804c992cd8b46d1f2d9e08e
8a/788640a312a8bbc5bbd1d35b4fedacbcc0c00a
8a/a7d423d5a3e120d4d8c80980791ec2f209f131
8b/36d47cabd9aa85b7a7673e43c603ce6ba76df6
8c/e581e0bef54e004db3bc40b2f1079d24efdb96
8d/7f0f041fa3cb769b4f5f7ab8dea329e031971d
8d/b5bd40cac5f2043a94733d67313e392b5d9dc6
8e/50afaa02fd9bd744f061730cb8eedef4997d5d
8e/c3d3b6b7ee56e23a709f47db60f8561a9698ed
8f/ef91e52599676addb79aba4224c2c0eb8601a3
8f/f04a0672b445210fcb364650d74111c2fd82f5
8f/f5663227734a920cf085f0e0b76d5db14172f4
90/a84eeab5e3ce60421da43a623db6540b688a62
93/28a88723298c70ca14eaaa241613c9574e8b44
93/5152afbc3b4f67bb8d9ccd01b601c89a48e69e
94/1e1bccbf627604ca6af86ad3541dee480aab0e
94/2d87c0b27dd02c55b0112dab49b9be254473d2
94/955c5cd7e5662c6ab40c323ecdfac458c47435
96/3df12cc741f3004f8870a52fc5877bf9ca6013
96/7dd7f09c2f55dfb393c021ab6000a283cf068e
96/939443f19f5d8926e78e906c965b418d4c46d5
96/d5867ce179d5146ed9163e8eba2acabab83122
97/4217f2644a6e6fe401523c4f459f7c3689f9dd
99/decb49e0f56074881831727b906117a326be85
99/f6460ce4758ef60eff7abf0366f7bbfc9a8206
9a/492e74e1d2afda3d4043b8b9968a29c3c13bcc
9b/f30d1676260b8fc8bf519a4af4bc628402e95a
9e/4729bfc0f6b9b5aee0d630bafc299a19fdedf7
9e/aacc50711e24a8d7fb5734444338752cc979a5
9e/ca7d34b36ad5bfcd80ff2ac0b0b9a8fae850c6
9e/f8c372f29f8131739dc8eeab08f4323c54c47a
a2/0d16b51cc9287469c4a2f246acb5f0c21fc098
a2/16dcf6b46f5260b6cfff5721847e010c681e40
a3/60d5a1639d70627543138385781dbee95812c8
a4/d7fcdbcbac2799f0e87a5654df1e4c12345282
a6/f7090037e529277612903dde135889721b8d24
a7/01072f88f0fec15902916cbce38f3549cac0e6
a7/94f10e293f1434fe75766203a47d7e3d4d8c1d
a7/b062b1589ea7e3385124521c2d4751b44b0a4b
a8/60edaf1326a590c32dd4ddf4ea754b8ef5be34
ab/2db5d6e0a134ba2693c7cb74d0f41a95dbf5f3
ac/11791a26f4a82c2d1e2b068c5d9be6564aa2d1
ad/788402e4b81bd4f0fc8d3beba876ac30f2e801
ad/b50ff206b638bb35775e4d8134314a4b669ee0
ae/6bddbb17144c925e1dd30b156fd014e4a5af5e
af/e58fc3dc97f83b97fc5cc4c0bcdc8a2923a536
b3/5c8895207c15e1d8d64ade08db059efd46d634
b3/a6e1262d902a183b6810d77969091aeaa8605c
b4/0c02d0c9d21ad75a00143d3eecb1aae1683c25
b4/a7e9c293e3b1160418b9c2652bdcd028e75742
b8/03a8226968f1f155ebabff1429026ba58ecf94
ba/000ce7dfaa53436a12fcb6f32cb730bc999c58
ba/c54e6b25f59ad97e0be4e6fcda6e53dca6607d
ba/e7d71c1c40d6670a1dfc290c7aba2deea204b6
bb/78195e8b2beb0c006980fb5c6e7e2641524167
bc/4c742dc1b8d1f09af2c510b3dfd730a99e6a8c
bf/a45c5b38c41145cb203209f5bc3dc16599a5e3
c1/06288c0595c7f2acb761e8fcdb39dd3fec3b6f
c1/a639c2cd71f92376aba8b0cdfb7eb42fff1f54
c1/c44c75783ebaad6ce903072e5b14af8f444bd8
c2/1b7a79d2b2746f946b0f5be42fd3e3b59d4544
c2/5b912bd08de3cefe1a673f2f2ca3016d1c1258
c2/9802df7ad706dff5dc666219b1b15e53db20fb
c3/348a7184dbff866f4c5f2f9a82deaa6f93763b
c3/bce4b541feff853989c57fd2dc42c9f99e5f21
c5/b7b50e501d98c810248b15cad01e4f8c3d00d8
c6/1ad84c67d08df0fd04c00b62de24091c9b7383
c7/2685d485e402e73f8cd1cae86797c8eecc8d20
c8/7dbe3c22f24fdf0e49cfaa43508cd524c494f0
c9/3aa29c5e69c1f8c67d2b33f0b5a330d1788526
ca/d27fba7ca666bbd050e21373ad07c0a71b10bc
cd/6aef36b96ac7dbbd94a30646d2cfe45ee8c620
ce/5e3a94a1b9a8e2bb3ea69bc6276ff80b753db3
cf/056ec152b13f4a4eafa61f1499b9beaec3f2c6
cf/b2d40d0416c7b0b60db8199e1b79f640093f72
cf/f68c1b7ed135ab19f2b95c318dc6357ddfdaa2
d0/a377c848e3a37146acd4a8a9b891a5152a9d48
d1/4356539993fb4c70ff4f4deb91eb9097740832
d1/46fd69423d2f3b505d145e67afe5aca02dfe09
d1/7af66ed98bd2bd2e18daa94c6689773993770c
d1/9a07455999d2ab16493ec101e0dbc825206007
d1/b856326cd5454fac386a758ed8c8918f66ba26
d2/5789d47eb4c16b85bf9e39d9d2369a0d855d92
d2/9e6b7e73240371022068cdec11d2d45cc0fc1a
d2/df6c6b7335d4a71baa92177cb78cb13a71bd6c
d3/07d48abf7d014f2adf792ab48e95dd77b3fd66
d4/a19a929357505d72d64fc595a543b2215c39d4
d5/6359cf0df8b4541ccbcad8e0c0a44f822eccf7
d6/1ac6b65471750febac7d69bca2475ad7f39617
d6/1f3c9d16964b53d020e8c21f9ecf7d791fd314
d6/88dc5b7b307160fe01c92bc80fd608bafa923f
d6/e2c3490a50f68c0599b1bfad824631648bfe57
d7/3e59672de81d623318c96702bafe79ca3b01b9
d7/5fa8b23e1610b8f3a1ab1d43e4e6bbe9848d99
d7/944f2f885b1e976e1fd1c0b30b6c172bb52466
d8/425743f77600e4165b653f22ae6fd38027d2b4
d8/5974bb6248f39e51abd6d00737edd6256ee103
da/865c12818c8ef15fc031f832d4399997476a64
db/c93987a2f41d29e7d9ce170c4a66f31ba21a2b
dd/336f1f082af04276827925fc2ad27560e584f4
dd/a5e2303dc0efb1ce21091ac9609ce05f95ca11
dd/f7332ecf611c9ea9b21b96c61b9508c8630258
e0/2dcc2a7fc0426363d2380175ca08cd564bfa1e
e0/59ccd2bf35dbc599e5ce5d39674d926445fc3e
e0/851358fb6b4703f23d74ef964bc4491bec7ab9
e0/9816883b166284284a2848821c7787a74b8170
e2/09a0d469e26a06ce87bb3bbc3429a911e94879
e2/7052bb2c8bb2fd16e0d235c24ca5aad3270e38
e3/640f4f8c0e046c3cd59acdd41e9fbbee959579
e5/4161d6eb21566f231627f845a14c312482ed8a
e5/ce71a5e89216984d0334e19f0b86ee734b2419
e6/405b88cddb9dfa524a7372b58e615bf4cdc730
e6/83dd479d771604c993c307404be2aa9ac45b7d
e7/f1a6cd9114a0ef87ba8fb5e0ff89d05796e059
e9/4fa527e4420309ff4e420897749f95cb552444
e9/cc8b7606e0f912773c1c6aa425319858643ae1
ea/c6e96d764b0c25841dcea3cf4f77b7f889f215
eb/11d8290f638dc8b3b4da8b4a56bb7f5192d80c
eb/91b96510d8485576da96507503e779dece1777
eb/ac41b793d2de79fc57bf0e2215785122c6fbfb
eb/f639d1f0d2f8350a8f8efe5fce50f9387d900e
ec/11fc9e3653f03f1c82ab32ceca3fe90c89a169
ec/55ada1019c2cd250bec8af82e999356d32c713
ee/79ede3b931d2796f1d48176d4859b4dde8add5
ee/e7846fd37a3b6a89d1248e46c9bbc770bfea28
ef/004cfa88883bb87e030b6196934dd90e3548d2
ef/3d66358c62d9f97f72b96ea6b9848414fa8101
ef/8596ac1ab699d85f0de0a3f9be55b2c9876078
ef/cec8d750faa2610959fc2fb4bfd8fc095031ef
ef/f8361a8dab5eb9b5532706575896f3953c3da8
f0/ad20627099424af1d5c762cc2e6975fedc4325
f1/d588e48db9e3d4239673d5030b47b08f849eea
f3/d4332f46fb8d6a96f6cace0fe55fd3a7062258
f3/e3510e3dc4a81d486bd077cb68e2dbb843553e
f4/8cff0f2465f3ea3ad67d6a477c9dafe09b971a
f4/b273648f727cd5f0f92bd3c5cdd67cfed10892
f4/f9a1dc653674c0f7c877dda961925b1515e053
f5/4ef3b60b96982e057642bfcff04ed29caf1207
f5/bf3719d5450931e3979d1b9b140618fe042e22
f7/1f7801a7ff5b40d6e346cd7ddeb492d1d83224
f8/18a85408d9343660a7403290cd483de65f28fe
f8/469687aceb346b06adb42f065dfd586013636d
f8/b4f860379fcc1e6256494d4931ff46ea5852de
f8/fea46bf5bb6034aa77d9c8c8c55953bd694594
fa/37685cddf33cbf37404cb5314ea362557da4c5
fa/e1e08aeadada773d1eb10851e985c808cdf655
fb/209c09b61273835f23b39ce0d07171ab872311
fb/480ccedc5dd98024c22a41e717fcb0ae7fca67
fe/4314bf42a6930ab23ad01b86ba887257ccb576
fe/9977c6f7294face7e7987f2c53bd016d035089
ok 13 - notes tree still has fanout after merge (m)
expecting success of 3311.14 'successful merge using "theirs" strategy (z => w)':
git update-ref refs/notes/m refs/notes/w &&
git notes merge -s theirs z &&
verify_notes m commit5 &&
# w/x/y/z unchanged
verify_notes w commit5 &&
verify_notes x commit5 &&
verify_notes y commit5 &&
verify_notes z commit5
Using remote notes for 157e8cc0aeac5befb302d276f2e706112bf6e413
Using remote notes for e0851358fb6b4703f23d74ef964bc4491bec7ab9
ok 14 - successful merge using "theirs" strategy (z => w)
expecting success of 3311.15 'notes tree still has fanout after merge (m)': verify_fanout m
00/59a2ff8988844dd700659efccfd6743632f608
00/f8b74df8cda7203edb38223fe6e88ccf9e4867
02/96deddcaab6e784e59aa39dd1a8d20aefd16b7
02/e82a8dbc4055adb9de6a9659582c396e5a405c
03/0053ed24c57da4943b57df551d320cda39d301
04/fa40d6837978ceac40e98a0477254b79ff6109
05/a2ed5d9c61c6cf4ba308a0e07cac2a429aff65
06/a01ff41646bc048a05917f15e10fee340f767c
06/c14dad0e5fd835685f33ad970d094a43e1cedc
06/e1bb3951a38f7376405b778091cd7eadec203c
09/9a5404b8f2c60ab4b2a7cf1ebc9cdd69fd1fa9
0a/9e6cecb44350f1408a06cd59686b5cb1fa4d79
0c/9e3b6f605491b12a1cde5ec246115233f0f5fd
0e/77e9a284277632ab6590d1f9b0f86d399c461e
0e/7bc46a7af0b651a90cd01852eefac5d764dbc1
0f/63b6e81d3b18fb134161f627844e9e5a2d942a
0f/d39fd6ef715bb3a0b6c163199e572a7daa7af2
0f/dfaad743779a13fea86b5092855460a1d063fe
11/4fc5a9d7890b4a2d5ec8276dda69e37e5e616c
11/768aa383e7caa89f5a859593052eda5782f73c
11/906a39ecfe8796cae0e0853f06c2c335868843
12/5a36192dc2255282d7d1800dec2a340d236a9b
12/907a70732802196c1a0ca807a108eaa29adec5
13/42db3bf0da6aed591bc732c1746073ff06b0f3
15/b9d90d3c3c6f73deacc4d9c171752b6b0d581f
17/7c1b213fa7ebafc44c50a935e6c176b79360df
18/9334c4b88d99963170854583fc084397152338
19/8490da44fc075db7c29686ed3d75f9eced094a
19/eab2791c316642c620b2494c2dce003beee3d4
1a/50d1559b52e47799dce956a3ef59427b529e48
1a/98e69358bfe77335598c444880178786f250f3
1b/09302a3d79221b5923891bbdecdf6bf5c32dc4
1c/256bbec2954ce4bbd3aa1ec894b00619c87d59
1c/ec8d2b2103afe07295972d513c3f4abc898607
1d/22d9f08076b2a7fc11d1df4fbf5dbb1bc5f77f
1e/1532b6aee517f7d4fbfbc9635d18a10b12fde2
1f/4329544f45b3a5ed56c5a1aca07b22a4999fbb
1f/7c2e169ef55c9e168464bfe083076dbfb6690f
1f/80b24e9c4875cbd559fb8d9434de1850c52c7e
21/eb95433c63f657f4feb61b78b91ed2fe53574c
22/66ca4aaa709bb00bf269087d8e13a54042a93d
22/a8913746147a11a5828aa70482fa6fc1fff2a1
23/6aa09ca3248e4bcde6ed9780fe1e0e17f4e62c
23/c51031b7b5ff34b5cd75bdae5a21bb8dc387ae
23/e92f35ff959ee71439822b19c93027ce677bc8
24/f5d4d513327acad4f00462fe39bc96ed9aec9f
28/fca858f4bdf40159e4fa5a63846b0aceb7431a
29/38a35e6813c7205e7ad62ee37e2a6cc9d36a1f
2b/a7acefc08f3462eb12453a8bb5521544905334
2c/75f53ac534a324324b1ff15cefcd70e7afa646
2d/65622d1ffee087504b1cf59a6d6bdbb9552760
2d/9e37898a0e742a0163855935118ab9af5951a8
2d/c1daa14d2d350677e34ef5fe76509f6e55063d
2d/d18e98a3cc782944a568636289c160d81fd5a1
30/45340fd90419dd2f5690d1c4d8633c70248bd9
32/011ba8b26d0e39c354091b5d18b640bdaa9ec0
32/39026a8940b414239faf0d77e274112d68d96d
32/5dab4afdab3a8b7e7b3691f9e5623d72e6ba95
32/67715033f21dbf69f361ad1f2373e78065949d
34/40ffcbed4ba8626e99d1fd5de37486e336c4fa
35/56cd79d6de9c14ac5e790317e96b48cf28a6e5
35/e40ca1583f193dfb98af23e284a80de6fb7484
36/63d047011bfa8f85a3503c9f54deb1a09d5adf
37/e9a73943fb52b3af6afd3eaa0901992a63cfff
38/07896e9e661a2e84151e396d31fd34796d1f6f
39/65ddde0fd33b440db683e8802fe0ebcb64094c
39/916af9733548bdbf3c7899a97969fdc1ef2e99
39/afd70fce5e8eb6d92a041f1339d96655f2b0f6
39/c5f743e3dc9758a4ac40bfee0fa1d1dcfda822
3b/64761fbc713b657deb969b9855343c0d7eaa2f
3c/066e203e841ea3c7efc4be6d87b5f719704acb
3c/e86c1beb71106283a293ac353ce61ab3096736
3e/c22ce4f6c24d44b2a0a1410a39d1218c184b50
3f/28341a483b5f2d01ffdee0cc680f79f3f7e571
40/b1ffbbe7a0ddad705c9897a8548a62e1f4876a
41/a3870799c63de3688b300bdbaaaa6355ff24fb
42/a4892a296f36eadfceb9d264f6e600703bf688
43/15150561c443e54ab895a121e3c59ee39ff170
43/da7a31eba4b4d3108e782c779cdf94b6bec116
44/e3b4af0aa9e1af2f6db328754f45ac7726948c
46/4aeb5723c1062fc6ad55e3205f956e8a3ef3c5
46/59a8862a02c5227f122d894c2a001eca0d84f9
47/dd87a8e555bd925c86bc96989593e08968b7b1
48/14470a784d66e0318a74ab08ea7202fc3fd4cc
4a/39c901540457bb249c18a4f94a8a0e59f0e6d1
4b/6059c8f1c9b70b70cfcfb4614f49b3c922ca6e
4b/87d5e91601208385a412a90deedaf14279452f
4b/ba369e6095f2c452c4d09f1358acdeaafeae76
4c/236aea851217323502e86ecc922143018837b0
4d/f312eda5f4fe7f8f4a2d9d9ca7b8d0c1fa64f5
4d/f5539d13cfe269d6558fbe78b1329b361b9590
4f/9fd239f6237bbe9dc0cc0949bc09ba2e0a71de
51/7516b737a8c858f54b5ce20ccdf922a9376cfa
51/ce3b9fc8560b53c1e3881e94b2a0c876f18031
52/0400c47b7fe950cac0119f3e0f39f77ea91f48
52/24d3a5dee327bf2df46d0439e377af58e4e4b7
54/6ad61cfdb3824e53156bc95274f47c52009d87
54/95af5c04ccbe4967c06508a4a30fe6944c3178
57/701dee98362e6576ba16ebb0f05c9b9e6c5c41
58/61ff7dcb74969510aa40908555fdfd43e9a607
59/6cfc19975cea95d3f9af95d3ec3822394d17c3
5c/bad73a40be1ee94eebf156cf3f1945aa3dad8d
5d/9d49249a3f5e6f8a2667ab2ef98bd873ea033f
60/1e442f4370db50da9a9266fb36f1df1855da4b
60/e04cb7f2669b592f1197d087b348f6eca6ff2a
62/151fb4b555eb4c92c1942da6b0717af8ba787a
64/fd88beb2d2d9f73e1a90d63c5e5bac131a540f
65/86726dc4df291efa46b1e2587f52c80a3ddbf6
66/2e2425a4c465e97a7dae3a3b7fab0d654ae315
66/babe5b113fb7a4290b198c980240154b392203
67/f28897fa34cf457d8e880b8a60a19bdc771239
67/f6dbb066bdb6658a3ca6f582c9fca2cb8a4b7e
68/bd8cd66f30a076bd6e9f67e9ab51fcca2a4e1b
68/e1d1c671c6161d8e2c149e748ef92bb5cfa665
68/fc05bece2383b55c77ece5900b5f4e4c40ba62
69/d6c2a2fbd139aba6359a9ccbfc0fe6efcdd690
6b/d2133f11f05075526130cb2a97c810b11bcb5e
6b/d2e279447bd40bd32b1a438dfd52a6fe2cf14b
6c/131adc529e2d3a59b7034ced7f99f169598411
6c/616feca94f10bf561251a17c16b7db4b1dbdde
6c/7461a7db47fab144addf95b814379832f4230c
6d/6c8808dfa5be2487402591dded1ad67d908a85
70/3dc5647be0fa24abf8ac8d5e9faed118ea31e6
70/e91c0fd3c8a7c524c051b8e8531c8286523915
72/80e9c59bbfcf7288d0df9636df54527880ee79
73/939a765953cbb48cb8cb1df6ccd062919eded1
74/c28b460bc1f4fc488ae27c0c767c90088ddbcb
74/deae17ac1eecf64f405e05e8e14e0dd6b30543
75/331eaadf68c823f6bc36873b625be470fdb9da
75/337f6597d6a984ce72b370db7ac08b11115954
76/1dedb54cfa4a530d2a8b6f0108b3630536d51c
79/64a617c4a2d1bb45850b48f774fc57b28fea5b
7a/0703d54958925e09013e04bd35cd19a078a90b
7a/a80f07beae9a2f0b8ccd703c32de6744fd051e
7b/21836a584eb1ee8ffecafa2d2ba02109ea2273
7d/815ea015cd551ab5de80879760defb47acea6c
7e/41915dad67d1585d33b56abf2c129432fcf426
7f/78a61938b36a24fd4431a12b22e3dd26702757
81/1322f632d38d635a20a148bb4c5f98b8c31d8c
81/83a1e8450e209464100603f2a9a0b8e574ca43
82/6d4be181ec8e60d819f4ff350dee4e501a4efa
82/85ee71b3bd8ffe7402db5940ebc2da7234a1c4
84/94e16f2929306d0a205b4a9cf34789ec5b52fe
85/94f94aaed77d8365eef9f0ff37e7da9c05d50c
86/700c1d3f3a0a31f2f954bb4188d398af2181db
86/dcde95eebb062f0ccf716c0d3b70614cdb16a6
88/7ac411f4b1bcc710eb561c61d18e3960e817cf
8a/015ae1ae0dac611406357e7e2b7d3b29b51447
8a/2d13657445f6056804c992cd8b46d1f2d9e08e
8a/788640a312a8bbc5bbd1d35b4fedacbcc0c00a
8a/a7d423d5a3e120d4d8c80980791ec2f209f131
8b/36d47cabd9aa85b7a7673e43c603ce6ba76df6
8c/e581e0bef54e004db3bc40b2f1079d24efdb96
8d/7f0f041fa3cb769b4f5f7ab8dea329e031971d
8d/b5bd40cac5f2043a94733d67313e392b5d9dc6
8e/50afaa02fd9bd744f061730cb8eedef4997d5d
8e/c3d3b6b7ee56e23a709f47db60f8561a9698ed
8f/ef91e52599676addb79aba4224c2c0eb8601a3
8f/f04a0672b445210fcb364650d74111c2fd82f5
8f/f5663227734a920cf085f0e0b76d5db14172f4
90/a84eeab5e3ce60421da43a623db6540b688a62
93/28a88723298c70ca14eaaa241613c9574e8b44
93/5152afbc3b4f67bb8d9ccd01b601c89a48e69e
94/1e1bccbf627604ca6af86ad3541dee480aab0e
94/2d87c0b27dd02c55b0112dab49b9be254473d2
94/955c5cd7e5662c6ab40c323ecdfac458c47435
96/3df12cc741f3004f8870a52fc5877bf9ca6013
96/7dd7f09c2f55dfb393c021ab6000a283cf068e
96/939443f19f5d8926e78e906c965b418d4c46d5
96/d5867ce179d5146ed9163e8eba2acabab83122
97/4217f2644a6e6fe401523c4f459f7c3689f9dd
99/decb49e0f56074881831727b906117a326be85
99/f6460ce4758ef60eff7abf0366f7bbfc9a8206
9a/492e74e1d2afda3d4043b8b9968a29c3c13bcc
9b/f30d1676260b8fc8bf519a4af4bc628402e95a
9e/4729bfc0f6b9b5aee0d630bafc299a19fdedf7
9e/aacc50711e24a8d7fb5734444338752cc979a5
9e/ca7d34b36ad5bfcd80ff2ac0b0b9a8fae850c6
9e/f8c372f29f8131739dc8eeab08f4323c54c47a
a2/0d16b51cc9287469c4a2f246acb5f0c21fc098
a2/16dcf6b46f5260b6cfff5721847e010c681e40
a3/60d5a1639d70627543138385781dbee95812c8
a4/d7fcdbcbac2799f0e87a5654df1e4c12345282
a6/f7090037e529277612903dde135889721b8d24
a7/01072f88f0fec15902916cbce38f3549cac0e6
a7/94f10e293f1434fe75766203a47d7e3d4d8c1d
a7/b062b1589ea7e3385124521c2d4751b44b0a4b
a8/60edaf1326a590c32dd4ddf4ea754b8ef5be34
ab/2db5d6e0a134ba2693c7cb74d0f41a95dbf5f3
ac/11791a26f4a82c2d1e2b068c5d9be6564aa2d1
ad/788402e4b81bd4f0fc8d3beba876ac30f2e801
ad/b50ff206b638bb35775e4d8134314a4b669ee0
ae/6bddbb17144c925e1dd30b156fd014e4a5af5e
af/e58fc3dc97f83b97fc5cc4c0bcdc8a2923a536
b3/5c8895207c15e1d8d64ade08db059efd46d634
b3/a6e1262d902a183b6810d77969091aeaa8605c
b4/0c02d0c9d21ad75a00143d3eecb1aae1683c25
b4/a7e9c293e3b1160418b9c2652bdcd028e75742
b8/03a8226968f1f155ebabff1429026ba58ecf94
ba/000ce7dfaa53436a12fcb6f32cb730bc999c58
ba/c54e6b25f59ad97e0be4e6fcda6e53dca6607d
ba/e7d71c1c40d6670a1dfc290c7aba2deea204b6
bb/78195e8b2beb0c006980fb5c6e7e2641524167
bc/4c742dc1b8d1f09af2c510b3dfd730a99e6a8c
bf/a45c5b38c41145cb203209f5bc3dc16599a5e3
c1/06288c0595c7f2acb761e8fcdb39dd3fec3b6f
c1/a639c2cd71f92376aba8b0cdfb7eb42fff1f54
c1/c44c75783ebaad6ce903072e5b14af8f444bd8
c2/1b7a79d2b2746f946b0f5be42fd3e3b59d4544
c2/5b912bd08de3cefe1a673f2f2ca3016d1c1258
c2/9802df7ad706dff5dc666219b1b15e53db20fb
c3/348a7184dbff866f4c5f2f9a82deaa6f93763b
c3/bce4b541feff853989c57fd2dc42c9f99e5f21
c5/b7b50e501d98c810248b15cad01e4f8c3d00d8
c6/1ad84c67d08df0fd04c00b62de24091c9b7383
c7/2685d485e402e73f8cd1cae86797c8eecc8d20
c8/7dbe3c22f24fdf0e49cfaa43508cd524c494f0
c9/3aa29c5e69c1f8c67d2b33f0b5a330d1788526
ca/d27fba7ca666bbd050e21373ad07c0a71b10bc
cd/6aef36b96ac7dbbd94a30646d2cfe45ee8c620
ce/5e3a94a1b9a8e2bb3ea69bc6276ff80b753db3
cf/056ec152b13f4a4eafa61f1499b9beaec3f2c6
cf/b2d40d0416c7b0b60db8199e1b79f640093f72
cf/f68c1b7ed135ab19f2b95c318dc6357ddfdaa2
d0/a377c848e3a37146acd4a8a9b891a5152a9d48
d1/4356539993fb4c70ff4f4deb91eb9097740832
d1/46fd69423d2f3b505d145e67afe5aca02dfe09
d1/7af66ed98bd2bd2e18daa94c6689773993770c
d1/9a07455999d2ab16493ec101e0dbc825206007
d1/b856326cd5454fac386a758ed8c8918f66ba26
d2/5789d47eb4c16b85bf9e39d9d2369a0d855d92
d2/9e6b7e73240371022068cdec11d2d45cc0fc1a
d2/df6c6b7335d4a71baa92177cb78cb13a71bd6c
d3/07d48abf7d014f2adf792ab48e95dd77b3fd66
d4/a19a929357505d72d64fc595a543b2215c39d4
d5/6359cf0df8b4541ccbcad8e0c0a44f822eccf7
d6/1ac6b65471750febac7d69bca2475ad7f39617
d6/1f3c9d16964b53d020e8c21f9ecf7d791fd314
d6/88dc5b7b307160fe01c92bc80fd608bafa923f
d6/e2c3490a50f68c0599b1bfad824631648bfe57
d7/3e59672de81d623318c96702bafe79ca3b01b9
d7/5fa8b23e1610b8f3a1ab1d43e4e6bbe9848d99
d7/944f2f885b1e976e1fd1c0b30b6c172bb52466
d8/425743f77600e4165b653f22ae6fd38027d2b4
d8/5974bb6248f39e51abd6d00737edd6256ee103
da/865c12818c8ef15fc031f832d4399997476a64
db/c93987a2f41d29e7d9ce170c4a66f31ba21a2b
dd/336f1f082af04276827925fc2ad27560e584f4
dd/a5e2303dc0efb1ce21091ac9609ce05f95ca11
dd/f7332ecf611c9ea9b21b96c61b9508c8630258
e0/2dcc2a7fc0426363d2380175ca08cd564bfa1e
e0/59ccd2bf35dbc599e5ce5d39674d926445fc3e
e0/851358fb6b4703f23d74ef964bc4491bec7ab9
e0/9816883b166284284a2848821c7787a74b8170
e2/09a0d469e26a06ce87bb3bbc3429a911e94879
e2/7052bb2c8bb2fd16e0d235c24ca5aad3270e38
e3/640f4f8c0e046c3cd59acdd41e9fbbee959579
e5/4161d6eb21566f231627f845a14c312482ed8a
e5/ce71a5e89216984d0334e19f0b86ee734b2419
e6/405b88cddb9dfa524a7372b58e615bf4cdc730
e6/83dd479d771604c993c307404be2aa9ac45b7d
e7/f1a6cd9114a0ef87ba8fb5e0ff89d05796e059
e9/4fa527e4420309ff4e420897749f95cb552444
e9/cc8b7606e0f912773c1c6aa425319858643ae1
ea/c6e96d764b0c25841dcea3cf4f77b7f889f215
eb/11d8290f638dc8b3b4da8b4a56bb7f5192d80c
eb/91b96510d8485576da96507503e779dece1777
eb/ac41b793d2de79fc57bf0e2215785122c6fbfb
eb/f639d1f0d2f8350a8f8efe5fce50f9387d900e
ec/11fc9e3653f03f1c82ab32ceca3fe90c89a169
ec/55ada1019c2cd250bec8af82e999356d32c713
ee/79ede3b931d2796f1d48176d4859b4dde8add5
ee/e7846fd37a3b6a89d1248e46c9bbc770bfea28
ef/004cfa88883bb87e030b6196934dd90e3548d2
ef/3d66358c62d9f97f72b96ea6b9848414fa8101
ef/8596ac1ab699d85f0de0a3f9be55b2c9876078
ef/cec8d750faa2610959fc2fb4bfd8fc095031ef
ef/f8361a8dab5eb9b5532706575896f3953c3da8
f0/ad20627099424af1d5c762cc2e6975fedc4325
f1/d588e48db9e3d4239673d5030b47b08f849eea
f3/d4332f46fb8d6a96f6cace0fe55fd3a7062258
f3/e3510e3dc4a81d486bd077cb68e2dbb843553e
f4/8cff0f2465f3ea3ad67d6a477c9dafe09b971a
f4/b273648f727cd5f0f92bd3c5cdd67cfed10892
f4/f9a1dc653674c0f7c877dda961925b1515e053
f5/4ef3b60b96982e057642bfcff04ed29caf1207
f5/bf3719d5450931e3979d1b9b140618fe042e22
f7/1f7801a7ff5b40d6e346cd7ddeb492d1d83224
f8/18a85408d9343660a7403290cd483de65f28fe
f8/469687aceb346b06adb42f065dfd586013636d
f8/b4f860379fcc1e6256494d4931ff46ea5852de
f8/fea46bf5bb6034aa77d9c8c8c55953bd694594
fa/37685cddf33cbf37404cb5314ea362557da4c5
fa/e1e08aeadada773d1eb10851e985c808cdf655
fb/209c09b61273835f23b39ce0d07171ab872311
fb/480ccedc5dd98024c22a41e717fcb0ae7fca67
fe/4314bf42a6930ab23ad01b86ba887257ccb576
fe/9977c6f7294face7e7987f2c53bd016d035089
ok 15 - notes tree still has fanout after merge (m)
expecting success of 3311.16 'successful merge using "union" strategy (z => w)':
git update-ref refs/notes/m refs/notes/w &&
git notes merge -s union z &&
verify_notes m commit5 &&
# w/x/y/z unchanged
verify_notes w commit5 &&
verify_notes x commit5 &&
verify_notes y commit5 &&
verify_notes z commit5
Concatenating local and remote notes for 157e8cc0aeac5befb302d276f2e706112bf6e413
Concatenating local and remote notes for e0851358fb6b4703f23d74ef964bc4491bec7ab9
ok 16 - successful merge using "union" strategy (z => w)
expecting success of 3311.17 'notes tree still has fanout after merge (m)': verify_fanout m
00/59a2ff8988844dd700659efccfd6743632f608
00/f8b74df8cda7203edb38223fe6e88ccf9e4867
02/96deddcaab6e784e59aa39dd1a8d20aefd16b7
02/e82a8dbc4055adb9de6a9659582c396e5a405c
03/0053ed24c57da4943b57df551d320cda39d301
04/fa40d6837978ceac40e98a0477254b79ff6109
05/a2ed5d9c61c6cf4ba308a0e07cac2a429aff65
06/a01ff41646bc048a05917f15e10fee340f767c
06/c14dad0e5fd835685f33ad970d094a43e1cedc
06/e1bb3951a38f7376405b778091cd7eadec203c
09/9a5404b8f2c60ab4b2a7cf1ebc9cdd69fd1fa9
0a/9e6cecb44350f1408a06cd59686b5cb1fa4d79
0c/9e3b6f605491b12a1cde5ec246115233f0f5fd
0e/77e9a284277632ab6590d1f9b0f86d399c461e
0e/7bc46a7af0b651a90cd01852eefac5d764dbc1
0f/63b6e81d3b18fb134161f627844e9e5a2d942a
0f/d39fd6ef715bb3a0b6c163199e572a7daa7af2
0f/dfaad743779a13fea86b5092855460a1d063fe
11/4fc5a9d7890b4a2d5ec8276dda69e37e5e616c
11/768aa383e7caa89f5a859593052eda5782f73c
11/906a39ecfe8796cae0e0853f06c2c335868843
12/5a36192dc2255282d7d1800dec2a340d236a9b
12/907a70732802196c1a0ca807a108eaa29adec5
13/42db3bf0da6aed591bc732c1746073ff06b0f3
15/7e8cc0aeac5befb302d276f2e706112bf6e413
15/b9d90d3c3c6f73deacc4d9c171752b6b0d581f
17/7c1b213fa7ebafc44c50a935e6c176b79360df
18/9334c4b88d99963170854583fc084397152338
19/8490da44fc075db7c29686ed3d75f9eced094a
19/eab2791c316642c620b2494c2dce003beee3d4
1a/50d1559b52e47799dce956a3ef59427b529e48
1a/98e69358bfe77335598c444880178786f250f3
1b/09302a3d79221b5923891bbdecdf6bf5c32dc4
1c/256bbec2954ce4bbd3aa1ec894b00619c87d59
1c/ec8d2b2103afe07295972d513c3f4abc898607
1d/22d9f08076b2a7fc11d1df4fbf5dbb1bc5f77f
1e/1532b6aee517f7d4fbfbc9635d18a10b12fde2
1f/4329544f45b3a5ed56c5a1aca07b22a4999fbb
1f/7c2e169ef55c9e168464bfe083076dbfb6690f
1f/80b24e9c4875cbd559fb8d9434de1850c52c7e
21/eb95433c63f657f4feb61b78b91ed2fe53574c
22/66ca4aaa709bb00bf269087d8e13a54042a93d
22/a8913746147a11a5828aa70482fa6fc1fff2a1
23/6aa09ca3248e4bcde6ed9780fe1e0e17f4e62c
23/c51031b7b5ff34b5cd75bdae5a21bb8dc387ae
23/e92f35ff959ee71439822b19c93027ce677bc8
24/f5d4d513327acad4f00462fe39bc96ed9aec9f
28/fca858f4bdf40159e4fa5a63846b0aceb7431a
29/38a35e6813c7205e7ad62ee37e2a6cc9d36a1f
2b/a7acefc08f3462eb12453a8bb5521544905334
2c/75f53ac534a324324b1ff15cefcd70e7afa646
2d/65622d1ffee087504b1cf59a6d6bdbb9552760
2d/9e37898a0e742a0163855935118ab9af5951a8
2d/c1daa14d2d350677e34ef5fe76509f6e55063d
2d/d18e98a3cc782944a568636289c160d81fd5a1
30/45340fd90419dd2f5690d1c4d8633c70248bd9
32/011ba8b26d0e39c354091b5d18b640bdaa9ec0
32/39026a8940b414239faf0d77e274112d68d96d
32/5dab4afdab3a8b7e7b3691f9e5623d72e6ba95
32/67715033f21dbf69f361ad1f2373e78065949d
34/40ffcbed4ba8626e99d1fd5de37486e336c4fa
35/56cd79d6de9c14ac5e790317e96b48cf28a6e5
35/e40ca1583f193dfb98af23e284a80de6fb7484
36/63d047011bfa8f85a3503c9f54deb1a09d5adf
37/e9a73943fb52b3af6afd3eaa0901992a63cfff
38/07896e9e661a2e84151e396d31fd34796d1f6f
39/65ddde0fd33b440db683e8802fe0ebcb64094c
39/916af9733548bdbf3c7899a97969fdc1ef2e99
39/afd70fce5e8eb6d92a041f1339d96655f2b0f6
39/c5f743e3dc9758a4ac40bfee0fa1d1dcfda822
3b/64761fbc713b657deb969b9855343c0d7eaa2f
3c/066e203e841ea3c7efc4be6d87b5f719704acb
3c/e86c1beb71106283a293ac353ce61ab3096736
3e/c22ce4f6c24d44b2a0a1410a39d1218c184b50
3f/28341a483b5f2d01ffdee0cc680f79f3f7e571
40/b1ffbbe7a0ddad705c9897a8548a62e1f4876a
41/a3870799c63de3688b300bdbaaaa6355ff24fb
42/a4892a296f36eadfceb9d264f6e600703bf688
43/15150561c443e54ab895a121e3c59ee39ff170
43/da7a31eba4b4d3108e782c779cdf94b6bec116
44/e3b4af0aa9e1af2f6db328754f45ac7726948c
46/4aeb5723c1062fc6ad55e3205f956e8a3ef3c5
46/59a8862a02c5227f122d894c2a001eca0d84f9
47/dd87a8e555bd925c86bc96989593e08968b7b1
48/14470a784d66e0318a74ab08ea7202fc3fd4cc
4a/39c901540457bb249c18a4f94a8a0e59f0e6d1
4b/6059c8f1c9b70b70cfcfb4614f49b3c922ca6e
4b/87d5e91601208385a412a90deedaf14279452f
4b/ba369e6095f2c452c4d09f1358acdeaafeae76
4c/236aea851217323502e86ecc922143018837b0
4d/f312eda5f4fe7f8f4a2d9d9ca7b8d0c1fa64f5
4d/f5539d13cfe269d6558fbe78b1329b361b9590
4f/9fd239f6237bbe9dc0cc0949bc09ba2e0a71de
51/7516b737a8c858f54b5ce20ccdf922a9376cfa
51/ce3b9fc8560b53c1e3881e94b2a0c876f18031
52/0400c47b7fe950cac0119f3e0f39f77ea91f48
52/24d3a5dee327bf2df46d0439e377af58e4e4b7
54/6ad61cfdb3824e53156bc95274f47c52009d87
54/95af5c04ccbe4967c06508a4a30fe6944c3178
57/701dee98362e6576ba16ebb0f05c9b9e6c5c41
58/61ff7dcb74969510aa40908555fdfd43e9a607
59/6cfc19975cea95d3f9af95d3ec3822394d17c3
5c/bad73a40be1ee94eebf156cf3f1945aa3dad8d
5d/9d49249a3f5e6f8a2667ab2ef98bd873ea033f
60/1e442f4370db50da9a9266fb36f1df1855da4b
60/e04cb7f2669b592f1197d087b348f6eca6ff2a
62/151fb4b555eb4c92c1942da6b0717af8ba787a
64/fd88beb2d2d9f73e1a90d63c5e5bac131a540f
65/86726dc4df291efa46b1e2587f52c80a3ddbf6
66/2e2425a4c465e97a7dae3a3b7fab0d654ae315
66/babe5b113fb7a4290b198c980240154b392203
67/f28897fa34cf457d8e880b8a60a19bdc771239
67/f6dbb066bdb6658a3ca6f582c9fca2cb8a4b7e
68/bd8cd66f30a076bd6e9f67e9ab51fcca2a4e1b
68/e1d1c671c6161d8e2c149e748ef92bb5cfa665
68/fc05bece2383b55c77ece5900b5f4e4c40ba62
69/d6c2a2fbd139aba6359a9ccbfc0fe6efcdd690
6b/d2133f11f05075526130cb2a97c810b11bcb5e
6b/d2e279447bd40bd32b1a438dfd52a6fe2cf14b
6c/131adc529e2d3a59b7034ced7f99f169598411
6c/616feca94f10bf561251a17c16b7db4b1dbdde
6c/7461a7db47fab144addf95b814379832f4230c
6d/6c8808dfa5be2487402591dded1ad67d908a85
70/3dc5647be0fa24abf8ac8d5e9faed118ea31e6
70/e91c0fd3c8a7c524c051b8e8531c8286523915
72/80e9c59bbfcf7288d0df9636df54527880ee79
73/939a765953cbb48cb8cb1df6ccd062919eded1
74/c28b460bc1f4fc488ae27c0c767c90088ddbcb
74/deae17ac1eecf64f405e05e8e14e0dd6b30543
75/331eaadf68c823f6bc36873b625be470fdb9da
75/337f6597d6a984ce72b370db7ac08b11115954
76/1dedb54cfa4a530d2a8b6f0108b3630536d51c
79/64a617c4a2d1bb45850b48f774fc57b28fea5b
7a/0703d54958925e09013e04bd35cd19a078a90b
7a/a80f07beae9a2f0b8ccd703c32de6744fd051e
7b/21836a584eb1ee8ffecafa2d2ba02109ea2273
7d/815ea015cd551ab5de80879760defb47acea6c
7e/41915dad67d1585d33b56abf2c129432fcf426
7f/78a61938b36a24fd4431a12b22e3dd26702757
81/1322f632d38d635a20a148bb4c5f98b8c31d8c
81/83a1e8450e209464100603f2a9a0b8e574ca43
82/6d4be181ec8e60d819f4ff350dee4e501a4efa
82/85ee71b3bd8ffe7402db5940ebc2da7234a1c4
84/94e16f2929306d0a205b4a9cf34789ec5b52fe
85/94f94aaed77d8365eef9f0ff37e7da9c05d50c
86/700c1d3f3a0a31f2f954bb4188d398af2181db
86/dcde95eebb062f0ccf716c0d3b70614cdb16a6
88/7ac411f4b1bcc710eb561c61d18e3960e817cf
8a/015ae1ae0dac611406357e7e2b7d3b29b51447
8a/2d13657445f6056804c992cd8b46d1f2d9e08e
8a/788640a312a8bbc5bbd1d35b4fedacbcc0c00a
8a/a7d423d5a3e120d4d8c80980791ec2f209f131
8b/36d47cabd9aa85b7a7673e43c603ce6ba76df6
8c/e581e0bef54e004db3bc40b2f1079d24efdb96
8d/7f0f041fa3cb769b4f5f7ab8dea329e031971d
8d/b5bd40cac5f2043a94733d67313e392b5d9dc6
8e/50afaa02fd9bd744f061730cb8eedef4997d5d
8e/c3d3b6b7ee56e23a709f47db60f8561a9698ed
8f/ef91e52599676addb79aba4224c2c0eb8601a3
8f/f04a0672b445210fcb364650d74111c2fd82f5
8f/f5663227734a920cf085f0e0b76d5db14172f4
90/a84eeab5e3ce60421da43a623db6540b688a62
93/28a88723298c70ca14eaaa241613c9574e8b44
93/5152afbc3b4f67bb8d9ccd01b601c89a48e69e
94/1e1bccbf627604ca6af86ad3541dee480aab0e
94/2d87c0b27dd02c55b0112dab49b9be254473d2
94/955c5cd7e5662c6ab40c323ecdfac458c47435
96/3df12cc741f3004f8870a52fc5877bf9ca6013
96/7dd7f09c2f55dfb393c021ab6000a283cf068e
96/939443f19f5d8926e78e906c965b418d4c46d5
96/d5867ce179d5146ed9163e8eba2acabab83122
97/4217f2644a6e6fe401523c4f459f7c3689f9dd
99/decb49e0f56074881831727b906117a326be85
99/f6460ce4758ef60eff7abf0366f7bbfc9a8206
9a/492e74e1d2afda3d4043b8b9968a29c3c13bcc
9b/f30d1676260b8fc8bf519a4af4bc628402e95a
9e/4729bfc0f6b9b5aee0d630bafc299a19fdedf7
9e/aacc50711e24a8d7fb5734444338752cc979a5
9e/ca7d34b36ad5bfcd80ff2ac0b0b9a8fae850c6
9e/f8c372f29f8131739dc8eeab08f4323c54c47a
a2/0d16b51cc9287469c4a2f246acb5f0c21fc098
a2/16dcf6b46f5260b6cfff5721847e010c681e40
a3/60d5a1639d70627543138385781dbee95812c8
a4/d7fcdbcbac2799f0e87a5654df1e4c12345282
a6/f7090037e529277612903dde135889721b8d24
a7/01072f88f0fec15902916cbce38f3549cac0e6
a7/94f10e293f1434fe75766203a47d7e3d4d8c1d
a7/b062b1589ea7e3385124521c2d4751b44b0a4b
a8/60edaf1326a590c32dd4ddf4ea754b8ef5be34
ab/2db5d6e0a134ba2693c7cb74d0f41a95dbf5f3
ac/11791a26f4a82c2d1e2b068c5d9be6564aa2d1
ad/788402e4b81bd4f0fc8d3beba876ac30f2e801
ad/b50ff206b638bb35775e4d8134314a4b669ee0
ae/6bddbb17144c925e1dd30b156fd014e4a5af5e
af/e58fc3dc97f83b97fc5cc4c0bcdc8a2923a536
b3/5c8895207c15e1d8d64ade08db059efd46d634
b3/a6e1262d902a183b6810d77969091aeaa8605c
b4/0c02d0c9d21ad75a00143d3eecb1aae1683c25
b4/a7e9c293e3b1160418b9c2652bdcd028e75742
b8/03a8226968f1f155ebabff1429026ba58ecf94
ba/000ce7dfaa53436a12fcb6f32cb730bc999c58
ba/c54e6b25f59ad97e0be4e6fcda6e53dca6607d
ba/e7d71c1c40d6670a1dfc290c7aba2deea204b6
bb/78195e8b2beb0c006980fb5c6e7e2641524167
bc/4c742dc1b8d1f09af2c510b3dfd730a99e6a8c
bf/a45c5b38c41145cb203209f5bc3dc16599a5e3
c1/06288c0595c7f2acb761e8fcdb39dd3fec3b6f
c1/a639c2cd71f92376aba8b0cdfb7eb42fff1f54
c1/c44c75783ebaad6ce903072e5b14af8f444bd8
c2/1b7a79d2b2746f946b0f5be42fd3e3b59d4544
c2/5b912bd08de3cefe1a673f2f2ca3016d1c1258
c2/9802df7ad706dff5dc666219b1b15e53db20fb
c3/348a7184dbff866f4c5f2f9a82deaa6f93763b
c3/bce4b541feff853989c57fd2dc42c9f99e5f21
c5/b7b50e501d98c810248b15cad01e4f8c3d00d8
c6/1ad84c67d08df0fd04c00b62de24091c9b7383
c7/2685d485e402e73f8cd1cae86797c8eecc8d20
c8/7dbe3c22f24fdf0e49cfaa43508cd524c494f0
c9/3aa29c5e69c1f8c67d2b33f0b5a330d1788526
ca/d27fba7ca666bbd050e21373ad07c0a71b10bc
cd/6aef36b96ac7dbbd94a30646d2cfe45ee8c620
ce/5e3a94a1b9a8e2bb3ea69bc6276ff80b753db3
cf/056ec152b13f4a4eafa61f1499b9beaec3f2c6
cf/b2d40d0416c7b0b60db8199e1b79f640093f72
cf/f68c1b7ed135ab19f2b95c318dc6357ddfdaa2
d0/a377c848e3a37146acd4a8a9b891a5152a9d48
d1/4356539993fb4c70ff4f4deb91eb9097740832
d1/46fd69423d2f3b505d145e67afe5aca02dfe09
d1/7af66ed98bd2bd2e18daa94c6689773993770c
d1/9a07455999d2ab16493ec101e0dbc825206007
d1/b856326cd5454fac386a758ed8c8918f66ba26
d2/5789d47eb4c16b85bf9e39d9d2369a0d855d92
d2/9e6b7e73240371022068cdec11d2d45cc0fc1a
d2/df6c6b7335d4a71baa92177cb78cb13a71bd6c
d3/07d48abf7d014f2adf792ab48e95dd77b3fd66
d4/a19a929357505d72d64fc595a543b2215c39d4
d5/6359cf0df8b4541ccbcad8e0c0a44f822eccf7
d6/1ac6b65471750febac7d69bca2475ad7f39617
d6/1f3c9d16964b53d020e8c21f9ecf7d791fd314
d6/88dc5b7b307160fe01c92bc80fd608bafa923f
d6/e2c3490a50f68c0599b1bfad824631648bfe57
d7/3e59672de81d623318c96702bafe79ca3b01b9
d7/5fa8b23e1610b8f3a1ab1d43e4e6bbe9848d99
d7/944f2f885b1e976e1fd1c0b30b6c172bb52466
d8/425743f77600e4165b653f22ae6fd38027d2b4
d8/5974bb6248f39e51abd6d00737edd6256ee103
da/865c12818c8ef15fc031f832d4399997476a64
db/c93987a2f41d29e7d9ce170c4a66f31ba21a2b
dd/336f1f082af04276827925fc2ad27560e584f4
dd/a5e2303dc0efb1ce21091ac9609ce05f95ca11
dd/f7332ecf611c9ea9b21b96c61b9508c8630258
e0/2dcc2a7fc0426363d2380175ca08cd564bfa1e
e0/59ccd2bf35dbc599e5ce5d39674d926445fc3e
e0/851358fb6b4703f23d74ef964bc4491bec7ab9
e0/9816883b166284284a2848821c7787a74b8170
e2/09a0d469e26a06ce87bb3bbc3429a911e94879
e2/7052bb2c8bb2fd16e0d235c24ca5aad3270e38
e3/640f4f8c0e046c3cd59acdd41e9fbbee959579
e5/4161d6eb21566f231627f845a14c312482ed8a
e5/ce71a5e89216984d0334e19f0b86ee734b2419
e6/405b88cddb9dfa524a7372b58e615bf4cdc730
e6/83dd479d771604c993c307404be2aa9ac45b7d
e7/f1a6cd9114a0ef87ba8fb5e0ff89d05796e059
e9/4fa527e4420309ff4e420897749f95cb552444
e9/cc8b7606e0f912773c1c6aa425319858643ae1
ea/c6e96d764b0c25841dcea3cf4f77b7f889f215
eb/11d8290f638dc8b3b4da8b4a56bb7f5192d80c
eb/91b96510d8485576da96507503e779dece1777
eb/ac41b793d2de79fc57bf0e2215785122c6fbfb
eb/f639d1f0d2f8350a8f8efe5fce50f9387d900e
ec/11fc9e3653f03f1c82ab32ceca3fe90c89a169
ec/55ada1019c2cd250bec8af82e999356d32c713
ee/79ede3b931d2796f1d48176d4859b4dde8add5
ee/e7846fd37a3b6a89d1248e46c9bbc770bfea28
ef/004cfa88883bb87e030b6196934dd90e3548d2
ef/3d66358c62d9f97f72b96ea6b9848414fa8101
ef/8596ac1ab699d85f0de0a3f9be55b2c9876078
ef/cec8d750faa2610959fc2fb4bfd8fc095031ef
ef/f8361a8dab5eb9b5532706575896f3953c3da8
f0/ad20627099424af1d5c762cc2e6975fedc4325
f1/d588e48db9e3d4239673d5030b47b08f849eea
f3/d4332f46fb8d6a96f6cace0fe55fd3a7062258
f3/e3510e3dc4a81d486bd077cb68e2dbb843553e
f4/8cff0f2465f3ea3ad67d6a477c9dafe09b971a
f4/b273648f727cd5f0f92bd3c5cdd67cfed10892
f4/f9a1dc653674c0f7c877dda961925b1515e053
f5/4ef3b60b96982e057642bfcff04ed29caf1207
f5/bf3719d5450931e3979d1b9b140618fe042e22
f7/1f7801a7ff5b40d6e346cd7ddeb492d1d83224
f8/18a85408d9343660a7403290cd483de65f28fe
f8/469687aceb346b06adb42f065dfd586013636d
f8/b4f860379fcc1e6256494d4931ff46ea5852de
f8/fea46bf5bb6034aa77d9c8c8c55953bd694594
fa/37685cddf33cbf37404cb5314ea362557da4c5
fa/e1e08aeadada773d1eb10851e985c808cdf655
fb/209c09b61273835f23b39ce0d07171ab872311
fb/480ccedc5dd98024c22a41e717fcb0ae7fca67
fe/4314bf42a6930ab23ad01b86ba887257ccb576
fe/9977c6f7294face7e7987f2c53bd016d035089
ok 17 - notes tree still has fanout after merge (m)
expecting success of 3311.18 'successful merge using "cat_sort_uniq" strategy (z => w)':
git update-ref refs/notes/m refs/notes/w &&
git notes merge -s cat_sort_uniq z &&
verify_notes m commit5 &&
# w/x/y/z unchanged
verify_notes w commit5 &&
verify_notes x commit5 &&
verify_notes y commit5 &&
verify_notes z commit5
Concatenating unique lines in local and remote notes for 157e8cc0aeac5befb302d276f2e706112bf6e413
Concatenating unique lines in local and remote notes for e0851358fb6b4703f23d74ef964bc4491bec7ab9
ok 18 - successful merge using "cat_sort_uniq" strategy (z => w)
expecting success of 3311.19 'notes tree still has fanout after merge (m)': verify_fanout m
00/59a2ff8988844dd700659efccfd6743632f608
00/f8b74df8cda7203edb38223fe6e88ccf9e4867
02/96deddcaab6e784e59aa39dd1a8d20aefd16b7
02/e82a8dbc4055adb9de6a9659582c396e5a405c
03/0053ed24c57da4943b57df551d320cda39d301
04/fa40d6837978ceac40e98a0477254b79ff6109
05/a2ed5d9c61c6cf4ba308a0e07cac2a429aff65
06/a01ff41646bc048a05917f15e10fee340f767c
06/c14dad0e5fd835685f33ad970d094a43e1cedc
06/e1bb3951a38f7376405b778091cd7eadec203c
09/9a5404b8f2c60ab4b2a7cf1ebc9cdd69fd1fa9
0a/9e6cecb44350f1408a06cd59686b5cb1fa4d79
0c/9e3b6f605491b12a1cde5ec246115233f0f5fd
0e/77e9a284277632ab6590d1f9b0f86d399c461e
0e/7bc46a7af0b651a90cd01852eefac5d764dbc1
0f/63b6e81d3b18fb134161f627844e9e5a2d942a
0f/d39fd6ef715bb3a0b6c163199e572a7daa7af2
0f/dfaad743779a13fea86b5092855460a1d063fe
11/4fc5a9d7890b4a2d5ec8276dda69e37e5e616c
11/768aa383e7caa89f5a859593052eda5782f73c
11/906a39ecfe8796cae0e0853f06c2c335868843
12/5a36192dc2255282d7d1800dec2a340d236a9b
12/907a70732802196c1a0ca807a108eaa29adec5
13/42db3bf0da6aed591bc732c1746073ff06b0f3
15/7e8cc0aeac5befb302d276f2e706112bf6e413
15/b9d90d3c3c6f73deacc4d9c171752b6b0d581f
17/7c1b213fa7ebafc44c50a935e6c176b79360df
18/9334c4b88d99963170854583fc084397152338
19/8490da44fc075db7c29686ed3d75f9eced094a
19/eab2791c316642c620b2494c2dce003beee3d4
1a/50d1559b52e47799dce956a3ef59427b529e48
1a/98e69358bfe77335598c444880178786f250f3
1b/09302a3d79221b5923891bbdecdf6bf5c32dc4
1c/256bbec2954ce4bbd3aa1ec894b00619c87d59
1c/ec8d2b2103afe07295972d513c3f4abc898607
1d/22d9f08076b2a7fc11d1df4fbf5dbb1bc5f77f
1e/1532b6aee517f7d4fbfbc9635d18a10b12fde2
1f/4329544f45b3a5ed56c5a1aca07b22a4999fbb
1f/7c2e169ef55c9e168464bfe083076dbfb6690f
1f/80b24e9c4875cbd559fb8d9434de1850c52c7e
21/eb95433c63f657f4feb61b78b91ed2fe53574c
22/66ca4aaa709bb00bf269087d8e13a54042a93d
22/a8913746147a11a5828aa70482fa6fc1fff2a1
23/6aa09ca3248e4bcde6ed9780fe1e0e17f4e62c
23/c51031b7b5ff34b5cd75bdae5a21bb8dc387ae
23/e92f35ff959ee71439822b19c93027ce677bc8
24/f5d4d513327acad4f00462fe39bc96ed9aec9f
28/fca858f4bdf40159e4fa5a63846b0aceb7431a
29/38a35e6813c7205e7ad62ee37e2a6cc9d36a1f
2b/a7acefc08f3462eb12453a8bb5521544905334
2c/75f53ac534a324324b1ff15cefcd70e7afa646
2d/65622d1ffee087504b1cf59a6d6bdbb9552760
2d/9e37898a0e742a0163855935118ab9af5951a8
2d/c1daa14d2d350677e34ef5fe76509f6e55063d
2d/d18e98a3cc782944a568636289c160d81fd5a1
30/45340fd90419dd2f5690d1c4d8633c70248bd9
32/011ba8b26d0e39c354091b5d18b640bdaa9ec0
32/39026a8940b414239faf0d77e274112d68d96d
32/5dab4afdab3a8b7e7b3691f9e5623d72e6ba95
32/67715033f21dbf69f361ad1f2373e78065949d
34/40ffcbed4ba8626e99d1fd5de37486e336c4fa
35/56cd79d6de9c14ac5e790317e96b48cf28a6e5
35/e40ca1583f193dfb98af23e284a80de6fb7484
36/63d047011bfa8f85a3503c9f54deb1a09d5adf
37/e9a73943fb52b3af6afd3eaa0901992a63cfff
38/07896e9e661a2e84151e396d31fd34796d1f6f
39/65ddde0fd33b440db683e8802fe0ebcb64094c
39/916af9733548bdbf3c7899a97969fdc1ef2e99
39/afd70fce5e8eb6d92a041f1339d96655f2b0f6
39/c5f743e3dc9758a4ac40bfee0fa1d1dcfda822
3b/64761fbc713b657deb969b9855343c0d7eaa2f
3c/066e203e841ea3c7efc4be6d87b5f719704acb
3c/e86c1beb71106283a293ac353ce61ab3096736
3e/c22ce4f6c24d44b2a0a1410a39d1218c184b50
3f/28341a483b5f2d01ffdee0cc680f79f3f7e571
40/b1ffbbe7a0ddad705c9897a8548a62e1f4876a
41/a3870799c63de3688b300bdbaaaa6355ff24fb
42/a4892a296f36eadfceb9d264f6e600703bf688
43/15150561c443e54ab895a121e3c59ee39ff170
43/da7a31eba4b4d3108e782c779cdf94b6bec116
44/e3b4af0aa9e1af2f6db328754f45ac7726948c
46/4aeb5723c1062fc6ad55e3205f956e8a3ef3c5
46/59a8862a02c5227f122d894c2a001eca0d84f9
47/dd87a8e555bd925c86bc96989593e08968b7b1
48/14470a784d66e0318a74ab08ea7202fc3fd4cc
4a/39c901540457bb249c18a4f94a8a0e59f0e6d1
4b/6059c8f1c9b70b70cfcfb4614f49b3c922ca6e
4b/87d5e91601208385a412a90deedaf14279452f
4b/ba369e6095f2c452c4d09f1358acdeaafeae76
4c/236aea851217323502e86ecc922143018837b0
4d/f312eda5f4fe7f8f4a2d9d9ca7b8d0c1fa64f5
4d/f5539d13cfe269d6558fbe78b1329b361b9590
4f/9fd239f6237bbe9dc0cc0949bc09ba2e0a71de
51/7516b737a8c858f54b5ce20ccdf922a9376cfa
51/ce3b9fc8560b53c1e3881e94b2a0c876f18031
52/0400c47b7fe950cac0119f3e0f39f77ea91f48
52/24d3a5dee327bf2df46d0439e377af58e4e4b7
54/6ad61cfdb3824e53156bc95274f47c52009d87
54/95af5c04ccbe4967c06508a4a30fe6944c3178
57/701dee98362e6576ba16ebb0f05c9b9e6c5c41
58/61ff7dcb74969510aa40908555fdfd43e9a607
59/6cfc19975cea95d3f9af95d3ec3822394d17c3
5c/bad73a40be1ee94eebf156cf3f1945aa3dad8d
5d/9d49249a3f5e6f8a2667ab2ef98bd873ea033f
60/1e442f4370db50da9a9266fb36f1df1855da4b
60/e04cb7f2669b592f1197d087b348f6eca6ff2a
62/151fb4b555eb4c92c1942da6b0717af8ba787a
64/fd88beb2d2d9f73e1a90d63c5e5bac131a540f
65/86726dc4df291efa46b1e2587f52c80a3ddbf6
66/2e2425a4c465e97a7dae3a3b7fab0d654ae315
66/babe5b113fb7a4290b198c980240154b392203
67/f28897fa34cf457d8e880b8a60a19bdc771239
67/f6dbb066bdb6658a3ca6f582c9fca2cb8a4b7e
68/bd8cd66f30a076bd6e9f67e9ab51fcca2a4e1b
68/e1d1c671c6161d8e2c149e748ef92bb5cfa665
68/fc05bece2383b55c77ece5900b5f4e4c40ba62
69/d6c2a2fbd139aba6359a9ccbfc0fe6efcdd690
6b/d2133f11f05075526130cb2a97c810b11bcb5e
6b/d2e279447bd40bd32b1a438dfd52a6fe2cf14b
6c/131adc529e2d3a59b7034ced7f99f169598411
6c/616feca94f10bf561251a17c16b7db4b1dbdde
6c/7461a7db47fab144addf95b814379832f4230c
6d/6c8808dfa5be2487402591dded1ad67d908a85
70/3dc5647be0fa24abf8ac8d5e9faed118ea31e6
70/e91c0fd3c8a7c524c051b8e8531c8286523915
72/80e9c59bbfcf7288d0df9636df54527880ee79
73/939a765953cbb48cb8cb1df6ccd062919eded1
74/c28b460bc1f4fc488ae27c0c767c90088ddbcb
74/deae17ac1eecf64f405e05e8e14e0dd6b30543
75/331eaadf68c823f6bc36873b625be470fdb9da
75/337f6597d6a984ce72b370db7ac08b11115954
76/1dedb54cfa4a530d2a8b6f0108b3630536d51c
79/64a617c4a2d1bb45850b48f774fc57b28fea5b
7a/0703d54958925e09013e04bd35cd19a078a90b
7a/a80f07beae9a2f0b8ccd703c32de6744fd051e
7b/21836a584eb1ee8ffecafa2d2ba02109ea2273
7d/815ea015cd551ab5de80879760defb47acea6c
7e/41915dad67d1585d33b56abf2c129432fcf426
7f/78a61938b36a24fd4431a12b22e3dd26702757
81/1322f632d38d635a20a148bb4c5f98b8c31d8c
81/83a1e8450e209464100603f2a9a0b8e574ca43
82/6d4be181ec8e60d819f4ff350dee4e501a4efa
82/85ee71b3bd8ffe7402db5940ebc2da7234a1c4
84/94e16f2929306d0a205b4a9cf34789ec5b52fe
85/94f94aaed77d8365eef9f0ff37e7da9c05d50c
86/700c1d3f3a0a31f2f954bb4188d398af2181db
86/dcde95eebb062f0ccf716c0d3b70614cdb16a6
88/7ac411f4b1bcc710eb561c61d18e3960e817cf
8a/015ae1ae0dac611406357e7e2b7d3b29b51447
8a/2d13657445f6056804c992cd8b46d1f2d9e08e
8a/788640a312a8bbc5bbd1d35b4fedacbcc0c00a
8a/a7d423d5a3e120d4d8c80980791ec2f209f131
8b/36d47cabd9aa85b7a7673e43c603ce6ba76df6
8c/e581e0bef54e004db3bc40b2f1079d24efdb96
8d/7f0f041fa3cb769b4f5f7ab8dea329e031971d
8d/b5bd40cac5f2043a94733d67313e392b5d9dc6
8e/50afaa02fd9bd744f061730cb8eedef4997d5d
8e/c3d3b6b7ee56e23a709f47db60f8561a9698ed
8f/ef91e52599676addb79aba4224c2c0eb8601a3
8f/f04a0672b445210fcb364650d74111c2fd82f5
8f/f5663227734a920cf085f0e0b76d5db14172f4
90/a84eeab5e3ce60421da43a623db6540b688a62
93/28a88723298c70ca14eaaa241613c9574e8b44
93/5152afbc3b4f67bb8d9ccd01b601c89a48e69e
94/1e1bccbf627604ca6af86ad3541dee480aab0e
94/2d87c0b27dd02c55b0112dab49b9be254473d2
94/955c5cd7e5662c6ab40c323ecdfac458c47435
96/3df12cc741f3004f8870a52fc5877bf9ca6013
96/7dd7f09c2f55dfb393c021ab6000a283cf068e
96/939443f19f5d8926e78e906c965b418d4c46d5
96/d5867ce179d5146ed9163e8eba2acabab83122
97/4217f2644a6e6fe401523c4f459f7c3689f9dd
99/decb49e0f56074881831727b906117a326be85
99/f6460ce4758ef60eff7abf0366f7bbfc9a8206
9a/492e74e1d2afda3d4043b8b9968a29c3c13bcc
9b/f30d1676260b8fc8bf519a4af4bc628402e95a
9e/4729bfc0f6b9b5aee0d630bafc299a19fdedf7
9e/aacc50711e24a8d7fb5734444338752cc979a5
9e/ca7d34b36ad5bfcd80ff2ac0b0b9a8fae850c6
9e/f8c372f29f8131739dc8eeab08f4323c54c47a
a2/0d16b51cc9287469c4a2f246acb5f0c21fc098
a2/16dcf6b46f5260b6cfff5721847e010c681e40
a3/60d5a1639d70627543138385781dbee95812c8
a4/d7fcdbcbac2799f0e87a5654df1e4c12345282
a6/f7090037e529277612903dde135889721b8d24
a7/01072f88f0fec15902916cbce38f3549cac0e6
a7/94f10e293f1434fe75766203a47d7e3d4d8c1d
a7/b062b1589ea7e3385124521c2d4751b44b0a4b
a8/60edaf1326a590c32dd4ddf4ea754b8ef5be34
ab/2db5d6e0a134ba2693c7cb74d0f41a95dbf5f3
ac/11791a26f4a82c2d1e2b068c5d9be6564aa2d1
ad/788402e4b81bd4f0fc8d3beba876ac30f2e801
ad/b50ff206b638bb35775e4d8134314a4b669ee0
ae/6bddbb17144c925e1dd30b156fd014e4a5af5e
af/e58fc3dc97f83b97fc5cc4c0bcdc8a2923a536
b3/5c8895207c15e1d8d64ade08db059efd46d634
b3/a6e1262d902a183b6810d77969091aeaa8605c
b4/0c02d0c9d21ad75a00143d3eecb1aae1683c25
b4/a7e9c293e3b1160418b9c2652bdcd028e75742
b8/03a8226968f1f155ebabff1429026ba58ecf94
ba/000ce7dfaa53436a12fcb6f32cb730bc999c58
ba/c54e6b25f59ad97e0be4e6fcda6e53dca6607d
ba/e7d71c1c40d6670a1dfc290c7aba2deea204b6
bb/78195e8b2beb0c006980fb5c6e7e2641524167
bc/4c742dc1b8d1f09af2c510b3dfd730a99e6a8c
bf/a45c5b38c41145cb203209f5bc3dc16599a5e3
c1/06288c0595c7f2acb761e8fcdb39dd3fec3b6f
c1/a639c2cd71f92376aba8b0cdfb7eb42fff1f54
c1/c44c75783ebaad6ce903072e5b14af8f444bd8
c2/1b7a79d2b2746f946b0f5be42fd3e3b59d4544
c2/5b912bd08de3cefe1a673f2f2ca3016d1c1258
c2/9802df7ad706dff5dc666219b1b15e53db20fb
c3/348a7184dbff866f4c5f2f9a82deaa6f93763b
c3/bce4b541feff853989c57fd2dc42c9f99e5f21
c5/b7b50e501d98c810248b15cad01e4f8c3d00d8
c6/1ad84c67d08df0fd04c00b62de24091c9b7383
c7/2685d485e402e73f8cd1cae86797c8eecc8d20
c8/7dbe3c22f24fdf0e49cfaa43508cd524c494f0
c9/3aa29c5e69c1f8c67d2b33f0b5a330d1788526
ca/d27fba7ca666bbd050e21373ad07c0a71b10bc
cd/6aef36b96ac7dbbd94a30646d2cfe45ee8c620
ce/5e3a94a1b9a8e2bb3ea69bc6276ff80b753db3
cf/056ec152b13f4a4eafa61f1499b9beaec3f2c6
cf/b2d40d0416c7b0b60db8199e1b79f640093f72
cf/f68c1b7ed135ab19f2b95c318dc6357ddfdaa2
d0/a377c848e3a37146acd4a8a9b891a5152a9d48
d1/4356539993fb4c70ff4f4deb91eb9097740832
d1/46fd69423d2f3b505d145e67afe5aca02dfe09
d1/7af66ed98bd2bd2e18daa94c6689773993770c
d1/9a07455999d2ab16493ec101e0dbc825206007
d1/b856326cd5454fac386a758ed8c8918f66ba26
d2/5789d47eb4c16b85bf9e39d9d2369a0d855d92
d2/9e6b7e73240371022068cdec11d2d45cc0fc1a
d2/df6c6b7335d4a71baa92177cb78cb13a71bd6c
d3/07d48abf7d014f2adf792ab48e95dd77b3fd66
d4/a19a929357505d72d64fc595a543b2215c39d4
d5/6359cf0df8b4541ccbcad8e0c0a44f822eccf7
d6/1ac6b65471750febac7d69bca2475ad7f39617
d6/1f3c9d16964b53d020e8c21f9ecf7d791fd314
d6/88dc5b7b307160fe01c92bc80fd608bafa923f
d6/e2c3490a50f68c0599b1bfad824631648bfe57
d7/3e59672de81d623318c96702bafe79ca3b01b9
d7/5fa8b23e1610b8f3a1ab1d43e4e6bbe9848d99
d7/944f2f885b1e976e1fd1c0b30b6c172bb52466
d8/425743f77600e4165b653f22ae6fd38027d2b4
d8/5974bb6248f39e51abd6d00737edd6256ee103
da/865c12818c8ef15fc031f832d4399997476a64
db/c93987a2f41d29e7d9ce170c4a66f31ba21a2b
dd/336f1f082af04276827925fc2ad27560e584f4
dd/a5e2303dc0efb1ce21091ac9609ce05f95ca11
dd/f7332ecf611c9ea9b21b96c61b9508c8630258
e0/2dcc2a7fc0426363d2380175ca08cd564bfa1e
e0/59ccd2bf35dbc599e5ce5d39674d926445fc3e
e0/851358fb6b4703f23d74ef964bc4491bec7ab9
e0/9816883b166284284a2848821c7787a74b8170
e2/09a0d469e26a06ce87bb3bbc3429a911e94879
e2/7052bb2c8bb2fd16e0d235c24ca5aad3270e38
e3/640f4f8c0e046c3cd59acdd41e9fbbee959579
e5/4161d6eb21566f231627f845a14c312482ed8a
e5/ce71a5e89216984d0334e19f0b86ee734b2419
e6/405b88cddb9dfa524a7372b58e615bf4cdc730
e6/83dd479d771604c993c307404be2aa9ac45b7d
e7/f1a6cd9114a0ef87ba8fb5e0ff89d05796e059
e9/4fa527e4420309ff4e420897749f95cb552444
e9/cc8b7606e0f912773c1c6aa425319858643ae1
ea/c6e96d764b0c25841dcea3cf4f77b7f889f215
eb/11d8290f638dc8b3b4da8b4a56bb7f5192d80c
eb/91b96510d8485576da96507503e779dece1777
eb/ac41b793d2de79fc57bf0e2215785122c6fbfb
eb/f639d1f0d2f8350a8f8efe5fce50f9387d900e
ec/11fc9e3653f03f1c82ab32ceca3fe90c89a169
ec/55ada1019c2cd250bec8af82e999356d32c713
ee/79ede3b931d2796f1d48176d4859b4dde8add5
ee/e7846fd37a3b6a89d1248e46c9bbc770bfea28
ef/004cfa88883bb87e030b6196934dd90e3548d2
ef/3d66358c62d9f97f72b96ea6b9848414fa8101
ef/8596ac1ab699d85f0de0a3f9be55b2c9876078
ef/cec8d750faa2610959fc2fb4bfd8fc095031ef
ef/f8361a8dab5eb9b5532706575896f3953c3da8
f0/ad20627099424af1d5c762cc2e6975fedc4325
f1/d588e48db9e3d4239673d5030b47b08f849eea
f3/d4332f46fb8d6a96f6cace0fe55fd3a7062258
f3/e3510e3dc4a81d486bd077cb68e2dbb843553e
f4/8cff0f2465f3ea3ad67d6a477c9dafe09b971a
f4/b273648f727cd5f0f92bd3c5cdd67cfed10892
f4/f9a1dc653674c0f7c877dda961925b1515e053
f5/4ef3b60b96982e057642bfcff04ed29caf1207
f5/bf3719d5450931e3979d1b9b140618fe042e22
f7/1f7801a7ff5b40d6e346cd7ddeb492d1d83224
f8/18a85408d9343660a7403290cd483de65f28fe
f8/469687aceb346b06adb42f065dfd586013636d
f8/b4f860379fcc1e6256494d4931ff46ea5852de
f8/fea46bf5bb6034aa77d9c8c8c55953bd694594
fa/37685cddf33cbf37404cb5314ea362557da4c5
fa/e1e08aeadada773d1eb10851e985c808cdf655
fb/209c09b61273835f23b39ce0d07171ab872311
fb/480ccedc5dd98024c22a41e717fcb0ae7fca67
fe/4314bf42a6930ab23ad01b86ba887257ccb576
fe/9977c6f7294face7e7987f2c53bd016d035089
ok 19 - notes tree still has fanout after merge (m)
expecting success of 3311.20 'fails to merge using "manual" strategy (z => w)':
git update-ref refs/notes/m refs/notes/w &&
test_must_fail git notes merge z
Automatic notes merge failed. Fix conflicts in .git/NOTES_MERGE_WORKTREE and commit the result with 'git notes merge --commit', or abort the merge with 'git notes merge --abort'.
Auto-merging notes for 157e8cc0aeac5befb302d276f2e706112bf6e413
CONFLICT (delete/modify): Notes for object 157e8cc0aeac5befb302d276f2e706112bf6e413 deleted in refs/notes/z and modified in refs/notes/m. Version from refs/notes/m left in tree.
Auto-merging notes for e0851358fb6b4703f23d74ef964bc4491bec7ab9
CONFLICT (content): Merge conflict in notes for object e0851358fb6b4703f23d74ef964bc4491bec7ab9
ok 20 - fails to merge using "manual" strategy (z => w)
expecting success of 3311.21 'notes tree still has fanout after merge (m)': verify_fanout m
00/59a2ff8988844dd700659efccfd6743632f608
00/f8b74df8cda7203edb38223fe6e88ccf9e4867
02/96deddcaab6e784e59aa39dd1a8d20aefd16b7
02/e82a8dbc4055adb9de6a9659582c396e5a405c
03/0053ed24c57da4943b57df551d320cda39d301
04/fa40d6837978ceac40e98a0477254b79ff6109
05/a2ed5d9c61c6cf4ba308a0e07cac2a429aff65
06/a01ff41646bc048a05917f15e10fee340f767c
06/c14dad0e5fd835685f33ad970d094a43e1cedc
06/e1bb3951a38f7376405b778091cd7eadec203c
09/9a5404b8f2c60ab4b2a7cf1ebc9cdd69fd1fa9
0a/9e6cecb44350f1408a06cd59686b5cb1fa4d79
0c/9e3b6f605491b12a1cde5ec246115233f0f5fd
0e/77e9a284277632ab6590d1f9b0f86d399c461e
0e/7bc46a7af0b651a90cd01852eefac5d764dbc1
0f/63b6e81d3b18fb134161f627844e9e5a2d942a
0f/d39fd6ef715bb3a0b6c163199e572a7daa7af2
0f/dfaad743779a13fea86b5092855460a1d063fe
11/4fc5a9d7890b4a2d5ec8276dda69e37e5e616c
11/768aa383e7caa89f5a859593052eda5782f73c
11/906a39ecfe8796cae0e0853f06c2c335868843
12/5a36192dc2255282d7d1800dec2a340d236a9b
12/907a70732802196c1a0ca807a108eaa29adec5
13/42db3bf0da6aed591bc732c1746073ff06b0f3
15/7e8cc0aeac5befb302d276f2e706112bf6e413
15/b9d90d3c3c6f73deacc4d9c171752b6b0d581f
17/7c1b213fa7ebafc44c50a935e6c176b79360df
18/9334c4b88d99963170854583fc084397152338
19/8490da44fc075db7c29686ed3d75f9eced094a
19/eab2791c316642c620b2494c2dce003beee3d4
1a/50d1559b52e47799dce956a3ef59427b529e48
1a/98e69358bfe77335598c444880178786f250f3
1b/09302a3d79221b5923891bbdecdf6bf5c32dc4
1c/256bbec2954ce4bbd3aa1ec894b00619c87d59
1c/ec8d2b2103afe07295972d513c3f4abc898607
1d/22d9f08076b2a7fc11d1df4fbf5dbb1bc5f77f
1e/1532b6aee517f7d4fbfbc9635d18a10b12fde2
1f/4329544f45b3a5ed56c5a1aca07b22a4999fbb
1f/7c2e169ef55c9e168464bfe083076dbfb6690f
1f/80b24e9c4875cbd559fb8d9434de1850c52c7e
21/eb95433c63f657f4feb61b78b91ed2fe53574c
22/66ca4aaa709bb00bf269087d8e13a54042a93d
22/a8913746147a11a5828aa70482fa6fc1fff2a1
23/6aa09ca3248e4bcde6ed9780fe1e0e17f4e62c
23/c51031b7b5ff34b5cd75bdae5a21bb8dc387ae
23/e92f35ff959ee71439822b19c93027ce677bc8
24/f5d4d513327acad4f00462fe39bc96ed9aec9f
28/fca858f4bdf40159e4fa5a63846b0aceb7431a
29/38a35e6813c7205e7ad62ee37e2a6cc9d36a1f
2b/a7acefc08f3462eb12453a8bb5521544905334
2c/75f53ac534a324324b1ff15cefcd70e7afa646
2d/65622d1ffee087504b1cf59a6d6bdbb9552760
2d/9e37898a0e742a0163855935118ab9af5951a8
2d/c1daa14d2d350677e34ef5fe76509f6e55063d
2d/d18e98a3cc782944a568636289c160d81fd5a1
30/45340fd90419dd2f5690d1c4d8633c70248bd9
32/011ba8b26d0e39c354091b5d18b640bdaa9ec0
32/39026a8940b414239faf0d77e274112d68d96d
32/5dab4afdab3a8b7e7b3691f9e5623d72e6ba95
32/67715033f21dbf69f361ad1f2373e78065949d
34/40ffcbed4ba8626e99d1fd5de37486e336c4fa
35/56cd79d6de9c14ac5e790317e96b48cf28a6e5
35/e40ca1583f193dfb98af23e284a80de6fb7484
36/63d047011bfa8f85a3503c9f54deb1a09d5adf
37/e9a73943fb52b3af6afd3eaa0901992a63cfff
38/07896e9e661a2e84151e396d31fd34796d1f6f
39/65ddde0fd33b440db683e8802fe0ebcb64094c
39/916af9733548bdbf3c7899a97969fdc1ef2e99
39/afd70fce5e8eb6d92a041f1339d96655f2b0f6
39/c5f743e3dc9758a4ac40bfee0fa1d1dcfda822
3b/64761fbc713b657deb969b9855343c0d7eaa2f
3c/066e203e841ea3c7efc4be6d87b5f719704acb
3c/e86c1beb71106283a293ac353ce61ab3096736
3e/c22ce4f6c24d44b2a0a1410a39d1218c184b50
3f/28341a483b5f2d01ffdee0cc680f79f3f7e571
40/b1ffbbe7a0ddad705c9897a8548a62e1f4876a
41/a3870799c63de3688b300bdbaaaa6355ff24fb
42/a4892a296f36eadfceb9d264f6e600703bf688
43/15150561c443e54ab895a121e3c59ee39ff170
43/da7a31eba4b4d3108e782c779cdf94b6bec116
44/e3b4af0aa9e1af2f6db328754f45ac7726948c
46/4aeb5723c1062fc6ad55e3205f956e8a3ef3c5
46/59a8862a02c5227f122d894c2a001eca0d84f9
47/dd87a8e555bd925c86bc96989593e08968b7b1
48/14470a784d66e0318a74ab08ea7202fc3fd4cc
4a/39c901540457bb249c18a4f94a8a0e59f0e6d1
4b/6059c8f1c9b70b70cfcfb4614f49b3c922ca6e
4b/87d5e91601208385a412a90deedaf14279452f
4b/ba369e6095f2c452c4d09f1358acdeaafeae76
4c/236aea851217323502e86ecc922143018837b0
4d/f312eda5f4fe7f8f4a2d9d9ca7b8d0c1fa64f5
4d/f5539d13cfe269d6558fbe78b1329b361b9590
4f/9fd239f6237bbe9dc0cc0949bc09ba2e0a71de
51/7516b737a8c858f54b5ce20ccdf922a9376cfa
51/ce3b9fc8560b53c1e3881e94b2a0c876f18031
52/0400c47b7fe950cac0119f3e0f39f77ea91f48
52/24d3a5dee327bf2df46d0439e377af58e4e4b7
54/6ad61cfdb3824e53156bc95274f47c52009d87
54/95af5c04ccbe4967c06508a4a30fe6944c3178
57/701dee98362e6576ba16ebb0f05c9b9e6c5c41
58/61ff7dcb74969510aa40908555fdfd43e9a607
59/6cfc19975cea95d3f9af95d3ec3822394d17c3
5c/bad73a40be1ee94eebf156cf3f1945aa3dad8d
5d/9d49249a3f5e6f8a2667ab2ef98bd873ea033f
60/1e442f4370db50da9a9266fb36f1df1855da4b
60/e04cb7f2669b592f1197d087b348f6eca6ff2a
62/151fb4b555eb4c92c1942da6b0717af8ba787a
64/fd88beb2d2d9f73e1a90d63c5e5bac131a540f
65/86726dc4df291efa46b1e2587f52c80a3ddbf6
66/2e2425a4c465e97a7dae3a3b7fab0d654ae315
66/babe5b113fb7a4290b198c980240154b392203
67/f28897fa34cf457d8e880b8a60a19bdc771239
67/f6dbb066bdb6658a3ca6f582c9fca2cb8a4b7e
68/bd8cd66f30a076bd6e9f67e9ab51fcca2a4e1b
68/e1d1c671c6161d8e2c149e748ef92bb5cfa665
68/fc05bece2383b55c77ece5900b5f4e4c40ba62
69/d6c2a2fbd139aba6359a9ccbfc0fe6efcdd690
6b/d2133f11f05075526130cb2a97c810b11bcb5e
6b/d2e279447bd40bd32b1a438dfd52a6fe2cf14b
6c/131adc529e2d3a59b7034ced7f99f169598411
6c/616feca94f10bf561251a17c16b7db4b1dbdde
6c/7461a7db47fab144addf95b814379832f4230c
6d/6c8808dfa5be2487402591dded1ad67d908a85
70/3dc5647be0fa24abf8ac8d5e9faed118ea31e6
70/e91c0fd3c8a7c524c051b8e8531c8286523915
72/80e9c59bbfcf7288d0df9636df54527880ee79
73/939a765953cbb48cb8cb1df6ccd062919eded1
74/c28b460bc1f4fc488ae27c0c767c90088ddbcb
74/deae17ac1eecf64f405e05e8e14e0dd6b30543
75/331eaadf68c823f6bc36873b625be470fdb9da
75/337f6597d6a984ce72b370db7ac08b11115954
76/1dedb54cfa4a530d2a8b6f0108b3630536d51c
79/64a617c4a2d1bb45850b48f774fc57b28fea5b
7a/0703d54958925e09013e04bd35cd19a078a90b
7a/a80f07beae9a2f0b8ccd703c32de6744fd051e
7b/21836a584eb1ee8ffecafa2d2ba02109ea2273
7d/815ea015cd551ab5de80879760defb47acea6c
7e/41915dad67d1585d33b56abf2c129432fcf426
7f/78a61938b36a24fd4431a12b22e3dd26702757
81/1322f632d38d635a20a148bb4c5f98b8c31d8c
81/83a1e8450e209464100603f2a9a0b8e574ca43
82/6d4be181ec8e60d819f4ff350dee4e501a4efa
82/85ee71b3bd8ffe7402db5940ebc2da7234a1c4
84/94e16f2929306d0a205b4a9cf34789ec5b52fe
85/94f94aaed77d8365eef9f0ff37e7da9c05d50c
86/700c1d3f3a0a31f2f954bb4188d398af2181db
86/dcde95eebb062f0ccf716c0d3b70614cdb16a6
88/7ac411f4b1bcc710eb561c61d18e3960e817cf
8a/015ae1ae0dac611406357e7e2b7d3b29b51447
8a/2d13657445f6056804c992cd8b46d1f2d9e08e
8a/788640a312a8bbc5bbd1d35b4fedacbcc0c00a
8a/a7d423d5a3e120d4d8c80980791ec2f209f131
8b/36d47cabd9aa85b7a7673e43c603ce6ba76df6
8c/e581e0bef54e004db3bc40b2f1079d24efdb96
8d/7f0f041fa3cb769b4f5f7ab8dea329e031971d
8d/b5bd40cac5f2043a94733d67313e392b5d9dc6
8e/50afaa02fd9bd744f061730cb8eedef4997d5d
8e/c3d3b6b7ee56e23a709f47db60f8561a9698ed
8f/ef91e52599676addb79aba4224c2c0eb8601a3
8f/f04a0672b445210fcb364650d74111c2fd82f5
8f/f5663227734a920cf085f0e0b76d5db14172f4
90/a84eeab5e3ce60421da43a623db6540b688a62
93/28a88723298c70ca14eaaa241613c9574e8b44
93/5152afbc3b4f67bb8d9ccd01b601c89a48e69e
94/1e1bccbf627604ca6af86ad3541dee480aab0e
94/2d87c0b27dd02c55b0112dab49b9be254473d2
94/955c5cd7e5662c6ab40c323ecdfac458c47435
96/3df12cc741f3004f8870a52fc5877bf9ca6013
96/7dd7f09c2f55dfb393c021ab6000a283cf068e
96/939443f19f5d8926e78e906c965b418d4c46d5
96/d5867ce179d5146ed9163e8eba2acabab83122
97/4217f2644a6e6fe401523c4f459f7c3689f9dd
99/decb49e0f56074881831727b906117a326be85
99/f6460ce4758ef60eff7abf0366f7bbfc9a8206
9a/492e74e1d2afda3d4043b8b9968a29c3c13bcc
9b/f30d1676260b8fc8bf519a4af4bc628402e95a
9e/4729bfc0f6b9b5aee0d630bafc299a19fdedf7
9e/aacc50711e24a8d7fb5734444338752cc979a5
9e/ca7d34b36ad5bfcd80ff2ac0b0b9a8fae850c6
9e/f8c372f29f8131739dc8eeab08f4323c54c47a
a2/0d16b51cc9287469c4a2f246acb5f0c21fc098
a2/16dcf6b46f5260b6cfff5721847e010c681e40
a3/60d5a1639d70627543138385781dbee95812c8
a4/d7fcdbcbac2799f0e87a5654df1e4c12345282
a6/f7090037e529277612903dde135889721b8d24
a7/01072f88f0fec15902916cbce38f3549cac0e6
a7/94f10e293f1434fe75766203a47d7e3d4d8c1d
a7/b062b1589ea7e3385124521c2d4751b44b0a4b
a8/60edaf1326a590c32dd4ddf4ea754b8ef5be34
ab/2db5d6e0a134ba2693c7cb74d0f41a95dbf5f3
ac/11791a26f4a82c2d1e2b068c5d9be6564aa2d1
ad/788402e4b81bd4f0fc8d3beba876ac30f2e801
ad/b50ff206b638bb35775e4d8134314a4b669ee0
ae/6bddbb17144c925e1dd30b156fd014e4a5af5e
af/e58fc3dc97f83b97fc5cc4c0bcdc8a2923a536
b3/5c8895207c15e1d8d64ade08db059efd46d634
b3/a6e1262d902a183b6810d77969091aeaa8605c
b4/0c02d0c9d21ad75a00143d3eecb1aae1683c25
b4/a7e9c293e3b1160418b9c2652bdcd028e75742
b8/03a8226968f1f155ebabff1429026ba58ecf94
ba/000ce7dfaa53436a12fcb6f32cb730bc999c58
ba/c54e6b25f59ad97e0be4e6fcda6e53dca6607d
ba/e7d71c1c40d6670a1dfc290c7aba2deea204b6
bb/78195e8b2beb0c006980fb5c6e7e2641524167
bc/4c742dc1b8d1f09af2c510b3dfd730a99e6a8c
bf/a45c5b38c41145cb203209f5bc3dc16599a5e3
c1/06288c0595c7f2acb761e8fcdb39dd3fec3b6f
c1/a639c2cd71f92376aba8b0cdfb7eb42fff1f54
c1/c44c75783ebaad6ce903072e5b14af8f444bd8
c2/1b7a79d2b2746f946b0f5be42fd3e3b59d4544
c2/5b912bd08de3cefe1a673f2f2ca3016d1c1258
c2/9802df7ad706dff5dc666219b1b15e53db20fb
c3/348a7184dbff866f4c5f2f9a82deaa6f93763b
c3/bce4b541feff853989c57fd2dc42c9f99e5f21
c5/b7b50e501d98c810248b15cad01e4f8c3d00d8
c6/1ad84c67d08df0fd04c00b62de24091c9b7383
c7/2685d485e402e73f8cd1cae86797c8eecc8d20
c8/7dbe3c22f24fdf0e49cfaa43508cd524c494f0
c9/3aa29c5e69c1f8c67d2b33f0b5a330d1788526
ca/d27fba7ca666bbd050e21373ad07c0a71b10bc
cd/6aef36b96ac7dbbd94a30646d2cfe45ee8c620
ce/5e3a94a1b9a8e2bb3ea69bc6276ff80b753db3
cf/056ec152b13f4a4eafa61f1499b9beaec3f2c6
cf/b2d40d0416c7b0b60db8199e1b79f640093f72
cf/f68c1b7ed135ab19f2b95c318dc6357ddfdaa2
d0/a377c848e3a37146acd4a8a9b891a5152a9d48
d1/4356539993fb4c70ff4f4deb91eb9097740832
d1/46fd69423d2f3b505d145e67afe5aca02dfe09
d1/7af66ed98bd2bd2e18daa94c6689773993770c
d1/9a07455999d2ab16493ec101e0dbc825206007
d1/b856326cd5454fac386a758ed8c8918f66ba26
d2/5789d47eb4c16b85bf9e39d9d2369a0d855d92
d2/9e6b7e73240371022068cdec11d2d45cc0fc1a
d2/df6c6b7335d4a71baa92177cb78cb13a71bd6c
d3/07d48abf7d014f2adf792ab48e95dd77b3fd66
d4/a19a929357505d72d64fc595a543b2215c39d4
d5/6359cf0df8b4541ccbcad8e0c0a44f822eccf7
d6/1ac6b65471750febac7d69bca2475ad7f39617
d6/1f3c9d16964b53d020e8c21f9ecf7d791fd314
d6/88dc5b7b307160fe01c92bc80fd608bafa923f
d6/e2c3490a50f68c0599b1bfad824631648bfe57
d7/3e59672de81d623318c96702bafe79ca3b01b9
d7/5fa8b23e1610b8f3a1ab1d43e4e6bbe9848d99
d7/944f2f885b1e976e1fd1c0b30b6c172bb52466
d8/425743f77600e4165b653f22ae6fd38027d2b4
d8/5974bb6248f39e51abd6d00737edd6256ee103
da/865c12818c8ef15fc031f832d4399997476a64
db/c93987a2f41d29e7d9ce170c4a66f31ba21a2b
dd/336f1f082af04276827925fc2ad27560e584f4
dd/a5e2303dc0efb1ce21091ac9609ce05f95ca11
dd/f7332ecf611c9ea9b21b96c61b9508c8630258
e0/2dcc2a7fc0426363d2380175ca08cd564bfa1e
e0/59ccd2bf35dbc599e5ce5d39674d926445fc3e
e0/851358fb6b4703f23d74ef964bc4491bec7ab9
e0/9816883b166284284a2848821c7787a74b8170
e2/09a0d469e26a06ce87bb3bbc3429a911e94879
e2/7052bb2c8bb2fd16e0d235c24ca5aad3270e38
e3/640f4f8c0e046c3cd59acdd41e9fbbee959579
e5/4161d6eb21566f231627f845a14c312482ed8a
e5/ce71a5e89216984d0334e19f0b86ee734b2419
e6/405b88cddb9dfa524a7372b58e615bf4cdc730
e6/83dd479d771604c993c307404be2aa9ac45b7d
e7/f1a6cd9114a0ef87ba8fb5e0ff89d05796e059
e9/4fa527e4420309ff4e420897749f95cb552444
e9/cc8b7606e0f912773c1c6aa425319858643ae1
ea/c6e96d764b0c25841dcea3cf4f77b7f889f215
eb/11d8290f638dc8b3b4da8b4a56bb7f5192d80c
eb/91b96510d8485576da96507503e779dece1777
eb/ac41b793d2de79fc57bf0e2215785122c6fbfb
eb/f639d1f0d2f8350a8f8efe5fce50f9387d900e
ec/11fc9e3653f03f1c82ab32ceca3fe90c89a169
ec/55ada1019c2cd250bec8af82e999356d32c713
ee/79ede3b931d2796f1d48176d4859b4dde8add5
ee/e7846fd37a3b6a89d1248e46c9bbc770bfea28
ef/004cfa88883bb87e030b6196934dd90e3548d2
ef/3d66358c62d9f97f72b96ea6b9848414fa8101
ef/8596ac1ab699d85f0de0a3f9be55b2c9876078
ef/cec8d750faa2610959fc2fb4bfd8fc095031ef
ef/f8361a8dab5eb9b5532706575896f3953c3da8
f0/ad20627099424af1d5c762cc2e6975fedc4325
f1/d588e48db9e3d4239673d5030b47b08f849eea
f3/d4332f46fb8d6a96f6cace0fe55fd3a7062258
f3/e3510e3dc4a81d486bd077cb68e2dbb843553e
f4/8cff0f2465f3ea3ad67d6a477c9dafe09b971a
f4/b273648f727cd5f0f92bd3c5cdd67cfed10892
f4/f9a1dc653674c0f7c877dda961925b1515e053
f5/4ef3b60b96982e057642bfcff04ed29caf1207
f5/bf3719d5450931e3979d1b9b140618fe042e22
f7/1f7801a7ff5b40d6e346cd7ddeb492d1d83224
f8/18a85408d9343660a7403290cd483de65f28fe
f8/469687aceb346b06adb42f065dfd586013636d
f8/b4f860379fcc1e6256494d4931ff46ea5852de
f8/fea46bf5bb6034aa77d9c8c8c55953bd694594
fa/37685cddf33cbf37404cb5314ea362557da4c5
fa/e1e08aeadada773d1eb10851e985c808cdf655
fb/209c09b61273835f23b39ce0d07171ab872311
fb/480ccedc5dd98024c22a41e717fcb0ae7fca67
fe/4314bf42a6930ab23ad01b86ba887257ccb576
fe/9977c6f7294face7e7987f2c53bd016d035089
ok 21 - notes tree still has fanout after merge (m)
expecting success of 3311.22 'verify conflict entries (with no fanout)':
ls .git/NOTES_MERGE_WORKTREE >output_conflicts &&
test_cmp expect_conflicts output_conflicts &&
( for f in $(cat expect_conflicts); do
test_cmp "expect_conflict_$f" ".git/NOTES_MERGE_WORKTREE/$f" ||
exit 1
done ) &&
# Verify that current notes tree (pre-merge) has not changed (m == w)
test "$(git rev-parse refs/notes/m)" = "$(git rev-parse refs/notes/w)"
ok 22 - verify conflict entries (with no fanout)
expecting success of 3311.23 'resolve and finalize merge (z => w)':
cat >.git/NOTES_MERGE_WORKTREE/$commit_sha3 <<EOF &&
other notes for commit3
appended notes for commit3
EOF
git notes merge --commit &&
verify_notes m commit5 &&
# w/x/y/z unchanged
verify_notes w commit5 &&
verify_notes x commit5 &&
verify_notes y commit5 &&
verify_notes z commit5
ok 23 - resolve and finalize merge (z => w)
expecting success of 3311.24 'notes tree still has fanout after merge (m)': verify_fanout m
00/59a2ff8988844dd700659efccfd6743632f608
00/f8b74df8cda7203edb38223fe6e88ccf9e4867
02/96deddcaab6e784e59aa39dd1a8d20aefd16b7
02/e82a8dbc4055adb9de6a9659582c396e5a405c
03/0053ed24c57da4943b57df551d320cda39d301
04/fa40d6837978ceac40e98a0477254b79ff6109
05/a2ed5d9c61c6cf4ba308a0e07cac2a429aff65
06/a01ff41646bc048a05917f15e10fee340f767c
06/c14dad0e5fd835685f33ad970d094a43e1cedc
06/e1bb3951a38f7376405b778091cd7eadec203c
09/9a5404b8f2c60ab4b2a7cf1ebc9cdd69fd1fa9
0a/9e6cecb44350f1408a06cd59686b5cb1fa4d79
0c/9e3b6f605491b12a1cde5ec246115233f0f5fd
0e/77e9a284277632ab6590d1f9b0f86d399c461e
0e/7bc46a7af0b651a90cd01852eefac5d764dbc1
0f/63b6e81d3b18fb134161f627844e9e5a2d942a
0f/d39fd6ef715bb3a0b6c163199e572a7daa7af2
0f/dfaad743779a13fea86b5092855460a1d063fe
11/4fc5a9d7890b4a2d5ec8276dda69e37e5e616c
11/768aa383e7caa89f5a859593052eda5782f73c
11/906a39ecfe8796cae0e0853f06c2c335868843
12/5a36192dc2255282d7d1800dec2a340d236a9b
12/907a70732802196c1a0ca807a108eaa29adec5
13/42db3bf0da6aed591bc732c1746073ff06b0f3
15/7e8cc0aeac5befb302d276f2e706112bf6e413
15/b9d90d3c3c6f73deacc4d9c171752b6b0d581f
17/7c1b213fa7ebafc44c50a935e6c176b79360df
18/9334c4b88d99963170854583fc084397152338
19/8490da44fc075db7c29686ed3d75f9eced094a
19/eab2791c316642c620b2494c2dce003beee3d4
1a/50d1559b52e47799dce956a3ef59427b529e48
1a/98e69358bfe77335598c444880178786f250f3
1b/09302a3d79221b5923891bbdecdf6bf5c32dc4
1c/256bbec2954ce4bbd3aa1ec894b00619c87d59
1c/ec8d2b2103afe07295972d513c3f4abc898607
1d/22d9f08076b2a7fc11d1df4fbf5dbb1bc5f77f
1e/1532b6aee517f7d4fbfbc9635d18a10b12fde2
1f/4329544f45b3a5ed56c5a1aca07b22a4999fbb
1f/7c2e169ef55c9e168464bfe083076dbfb6690f
1f/80b24e9c4875cbd559fb8d9434de1850c52c7e
21/eb95433c63f657f4feb61b78b91ed2fe53574c
22/66ca4aaa709bb00bf269087d8e13a54042a93d
22/a8913746147a11a5828aa70482fa6fc1fff2a1
23/6aa09ca3248e4bcde6ed9780fe1e0e17f4e62c
23/c51031b7b5ff34b5cd75bdae5a21bb8dc387ae
23/e92f35ff959ee71439822b19c93027ce677bc8
24/f5d4d513327acad4f00462fe39bc96ed9aec9f
28/fca858f4bdf40159e4fa5a63846b0aceb7431a
29/38a35e6813c7205e7ad62ee37e2a6cc9d36a1f
2b/a7acefc08f3462eb12453a8bb5521544905334
2c/75f53ac534a324324b1ff15cefcd70e7afa646
2d/65622d1ffee087504b1cf59a6d6bdbb9552760
2d/9e37898a0e742a0163855935118ab9af5951a8
2d/c1daa14d2d350677e34ef5fe76509f6e55063d
2d/d18e98a3cc782944a568636289c160d81fd5a1
30/45340fd90419dd2f5690d1c4d8633c70248bd9
32/011ba8b26d0e39c354091b5d18b640bdaa9ec0
32/39026a8940b414239faf0d77e274112d68d96d
32/5dab4afdab3a8b7e7b3691f9e5623d72e6ba95
32/67715033f21dbf69f361ad1f2373e78065949d
34/40ffcbed4ba8626e99d1fd5de37486e336c4fa
35/56cd79d6de9c14ac5e790317e96b48cf28a6e5
35/e40ca1583f193dfb98af23e284a80de6fb7484
36/63d047011bfa8f85a3503c9f54deb1a09d5adf
37/e9a73943fb52b3af6afd3eaa0901992a63cfff
38/07896e9e661a2e84151e396d31fd34796d1f6f
39/65ddde0fd33b440db683e8802fe0ebcb64094c
39/916af9733548bdbf3c7899a97969fdc1ef2e99
39/afd70fce5e8eb6d92a041f1339d96655f2b0f6
39/c5f743e3dc9758a4ac40bfee0fa1d1dcfda822
3b/64761fbc713b657deb969b9855343c0d7eaa2f
3c/066e203e841ea3c7efc4be6d87b5f719704acb
3c/e86c1beb71106283a293ac353ce61ab3096736
3e/c22ce4f6c24d44b2a0a1410a39d1218c184b50
3f/28341a483b5f2d01ffdee0cc680f79f3f7e571
40/b1ffbbe7a0ddad705c9897a8548a62e1f4876a
41/a3870799c63de3688b300bdbaaaa6355ff24fb
42/a4892a296f36eadfceb9d264f6e600703bf688
43/15150561c443e54ab895a121e3c59ee39ff170
43/da7a31eba4b4d3108e782c779cdf94b6bec116
44/e3b4af0aa9e1af2f6db328754f45ac7726948c
46/4aeb5723c1062fc6ad55e3205f956e8a3ef3c5
46/59a8862a02c5227f122d894c2a001eca0d84f9
47/dd87a8e555bd925c86bc96989593e08968b7b1
48/14470a784d66e0318a74ab08ea7202fc3fd4cc
4a/39c901540457bb249c18a4f94a8a0e59f0e6d1
4b/6059c8f1c9b70b70cfcfb4614f49b3c922ca6e
4b/87d5e91601208385a412a90deedaf14279452f
4b/ba369e6095f2c452c4d09f1358acdeaafeae76
4c/236aea851217323502e86ecc922143018837b0
4d/f312eda5f4fe7f8f4a2d9d9ca7b8d0c1fa64f5
4d/f5539d13cfe269d6558fbe78b1329b361b9590
4f/9fd239f6237bbe9dc0cc0949bc09ba2e0a71de
51/7516b737a8c858f54b5ce20ccdf922a9376cfa
51/ce3b9fc8560b53c1e3881e94b2a0c876f18031
52/0400c47b7fe950cac0119f3e0f39f77ea91f48
52/24d3a5dee327bf2df46d0439e377af58e4e4b7
54/6ad61cfdb3824e53156bc95274f47c52009d87
54/95af5c04ccbe4967c06508a4a30fe6944c3178
57/701dee98362e6576ba16ebb0f05c9b9e6c5c41
58/61ff7dcb74969510aa40908555fdfd43e9a607
59/6cfc19975cea95d3f9af95d3ec3822394d17c3
5c/bad73a40be1ee94eebf156cf3f1945aa3dad8d
5d/9d49249a3f5e6f8a2667ab2ef98bd873ea033f
60/1e442f4370db50da9a9266fb36f1df1855da4b
60/e04cb7f2669b592f1197d087b348f6eca6ff2a
62/151fb4b555eb4c92c1942da6b0717af8ba787a
64/fd88beb2d2d9f73e1a90d63c5e5bac131a540f
65/86726dc4df291efa46b1e2587f52c80a3ddbf6
66/2e2425a4c465e97a7dae3a3b7fab0d654ae315
66/babe5b113fb7a4290b198c980240154b392203
67/f28897fa34cf457d8e880b8a60a19bdc771239
67/f6dbb066bdb6658a3ca6f582c9fca2cb8a4b7e
68/bd8cd66f30a076bd6e9f67e9ab51fcca2a4e1b
68/e1d1c671c6161d8e2c149e748ef92bb5cfa665
68/fc05bece2383b55c77ece5900b5f4e4c40ba62
69/d6c2a2fbd139aba6359a9ccbfc0fe6efcdd690
6b/d2133f11f05075526130cb2a97c810b11bcb5e
6b/d2e279447bd40bd32b1a438dfd52a6fe2cf14b
6c/131adc529e2d3a59b7034ced7f99f169598411
6c/616feca94f10bf561251a17c16b7db4b1dbdde
6c/7461a7db47fab144addf95b814379832f4230c
6d/6c8808dfa5be2487402591dded1ad67d908a85
70/3dc5647be0fa24abf8ac8d5e9faed118ea31e6
70/e91c0fd3c8a7c524c051b8e8531c8286523915
72/80e9c59bbfcf7288d0df9636df54527880ee79
73/939a765953cbb48cb8cb1df6ccd062919eded1
74/c28b460bc1f4fc488ae27c0c767c90088ddbcb
74/deae17ac1eecf64f405e05e8e14e0dd6b30543
75/331eaadf68c823f6bc36873b625be470fdb9da
75/337f6597d6a984ce72b370db7ac08b11115954
76/1dedb54cfa4a530d2a8b6f0108b3630536d51c
79/64a617c4a2d1bb45850b48f774fc57b28fea5b
7a/0703d54958925e09013e04bd35cd19a078a90b
7a/a80f07beae9a2f0b8ccd703c32de6744fd051e
7b/21836a584eb1ee8ffecafa2d2ba02109ea2273
7d/815ea015cd551ab5de80879760defb47acea6c
7e/41915dad67d1585d33b56abf2c129432fcf426
7f/78a61938b36a24fd4431a12b22e3dd26702757
81/1322f632d38d635a20a148bb4c5f98b8c31d8c
81/83a1e8450e209464100603f2a9a0b8e574ca43
82/6d4be181ec8e60d819f4ff350dee4e501a4efa
82/85ee71b3bd8ffe7402db5940ebc2da7234a1c4
84/94e16f2929306d0a205b4a9cf34789ec5b52fe
85/94f94aaed77d8365eef9f0ff37e7da9c05d50c
86/700c1d3f3a0a31f2f954bb4188d398af2181db
86/dcde95eebb062f0ccf716c0d3b70614cdb16a6
88/7ac411f4b1bcc710eb561c61d18e3960e817cf
8a/015ae1ae0dac611406357e7e2b7d3b29b51447
8a/2d13657445f6056804c992cd8b46d1f2d9e08e
8a/788640a312a8bbc5bbd1d35b4fedacbcc0c00a
8a/a7d423d5a3e120d4d8c80980791ec2f209f131
8b/36d47cabd9aa85b7a7673e43c603ce6ba76df6
8c/e581e0bef54e004db3bc40b2f1079d24efdb96
8d/7f0f041fa3cb769b4f5f7ab8dea329e031971d
8d/b5bd40cac5f2043a94733d67313e392b5d9dc6
8e/50afaa02fd9bd744f061730cb8eedef4997d5d
8e/c3d3b6b7ee56e23a709f47db60f8561a9698ed
8f/ef91e52599676addb79aba4224c2c0eb8601a3
8f/f04a0672b445210fcb364650d74111c2fd82f5
8f/f5663227734a920cf085f0e0b76d5db14172f4
90/a84eeab5e3ce60421da43a623db6540b688a62
93/28a88723298c70ca14eaaa241613c9574e8b44
93/5152afbc3b4f67bb8d9ccd01b601c89a48e69e
94/1e1bccbf627604ca6af86ad3541dee480aab0e
94/2d87c0b27dd02c55b0112dab49b9be254473d2
94/955c5cd7e5662c6ab40c323ecdfac458c47435
96/3df12cc741f3004f8870a52fc5877bf9ca6013
96/7dd7f09c2f55dfb393c021ab6000a283cf068e
96/939443f19f5d8926e78e906c965b418d4c46d5
96/d5867ce179d5146ed9163e8eba2acabab83122
97/4217f2644a6e6fe401523c4f459f7c3689f9dd
99/decb49e0f56074881831727b906117a326be85
99/f6460ce4758ef60eff7abf0366f7bbfc9a8206
9a/492e74e1d2afda3d4043b8b9968a29c3c13bcc
9b/f30d1676260b8fc8bf519a4af4bc628402e95a
9e/4729bfc0f6b9b5aee0d630bafc299a19fdedf7
9e/aacc50711e24a8d7fb5734444338752cc979a5
9e/ca7d34b36ad5bfcd80ff2ac0b0b9a8fae850c6
9e/f8c372f29f8131739dc8eeab08f4323c54c47a
a2/0d16b51cc9287469c4a2f246acb5f0c21fc098
a2/16dcf6b46f5260b6cfff5721847e010c681e40
a3/60d5a1639d70627543138385781dbee95812c8
a4/d7fcdbcbac2799f0e87a5654df1e4c12345282
a6/f7090037e529277612903dde135889721b8d24
a7/01072f88f0fec15902916cbce38f3549cac0e6
a7/94f10e293f1434fe75766203a47d7e3d4d8c1d
a7/b062b1589ea7e3385124521c2d4751b44b0a4b
a8/60edaf1326a590c32dd4ddf4ea754b8ef5be34
ab/2db5d6e0a134ba2693c7cb74d0f41a95dbf5f3
ac/11791a26f4a82c2d1e2b068c5d9be6564aa2d1
ad/788402e4b81bd4f0fc8d3beba876ac30f2e801
ad/b50ff206b638bb35775e4d8134314a4b669ee0
ae/6bddbb17144c925e1dd30b156fd014e4a5af5e
af/e58fc3dc97f83b97fc5cc4c0bcdc8a2923a536
b3/5c8895207c15e1d8d64ade08db059efd46d634
b3/a6e1262d902a183b6810d77969091aeaa8605c
b4/0c02d0c9d21ad75a00143d3eecb1aae1683c25
b4/a7e9c293e3b1160418b9c2652bdcd028e75742
b8/03a8226968f1f155ebabff1429026ba58ecf94
ba/000ce7dfaa53436a12fcb6f32cb730bc999c58
ba/c54e6b25f59ad97e0be4e6fcda6e53dca6607d
ba/e7d71c1c40d6670a1dfc290c7aba2deea204b6
bb/78195e8b2beb0c006980fb5c6e7e2641524167
bc/4c742dc1b8d1f09af2c510b3dfd730a99e6a8c
bf/a45c5b38c41145cb203209f5bc3dc16599a5e3
c1/06288c0595c7f2acb761e8fcdb39dd3fec3b6f
c1/a639c2cd71f92376aba8b0cdfb7eb42fff1f54
c1/c44c75783ebaad6ce903072e5b14af8f444bd8
c2/1b7a79d2b2746f946b0f5be42fd3e3b59d4544
c2/5b912bd08de3cefe1a673f2f2ca3016d1c1258
c2/9802df7ad706dff5dc666219b1b15e53db20fb
c3/348a7184dbff866f4c5f2f9a82deaa6f93763b
c3/bce4b541feff853989c57fd2dc42c9f99e5f21
c5/b7b50e501d98c810248b15cad01e4f8c3d00d8
c6/1ad84c67d08df0fd04c00b62de24091c9b7383
c7/2685d485e402e73f8cd1cae86797c8eecc8d20
c8/7dbe3c22f24fdf0e49cfaa43508cd524c494f0
c9/3aa29c5e69c1f8c67d2b33f0b5a330d1788526
ca/d27fba7ca666bbd050e21373ad07c0a71b10bc
cd/6aef36b96ac7dbbd94a30646d2cfe45ee8c620
ce/5e3a94a1b9a8e2bb3ea69bc6276ff80b753db3
cf/056ec152b13f4a4eafa61f1499b9beaec3f2c6
cf/b2d40d0416c7b0b60db8199e1b79f640093f72
cf/f68c1b7ed135ab19f2b95c318dc6357ddfdaa2
d0/a377c848e3a37146acd4a8a9b891a5152a9d48
d1/4356539993fb4c70ff4f4deb91eb9097740832
d1/46fd69423d2f3b505d145e67afe5aca02dfe09
d1/7af66ed98bd2bd2e18daa94c6689773993770c
d1/9a07455999d2ab16493ec101e0dbc825206007
d1/b856326cd5454fac386a758ed8c8918f66ba26
d2/5789d47eb4c16b85bf9e39d9d2369a0d855d92
d2/9e6b7e73240371022068cdec11d2d45cc0fc1a
d2/df6c6b7335d4a71baa92177cb78cb13a71bd6c
d3/07d48abf7d014f2adf792ab48e95dd77b3fd66
d4/a19a929357505d72d64fc595a543b2215c39d4
d5/6359cf0df8b4541ccbcad8e0c0a44f822eccf7
d6/1ac6b65471750febac7d69bca2475ad7f39617
d6/1f3c9d16964b53d020e8c21f9ecf7d791fd314
d6/88dc5b7b307160fe01c92bc80fd608bafa923f
d6/e2c3490a50f68c0599b1bfad824631648bfe57
d7/3e59672de81d623318c96702bafe79ca3b01b9
d7/5fa8b23e1610b8f3a1ab1d43e4e6bbe9848d99
d7/944f2f885b1e976e1fd1c0b30b6c172bb52466
d8/425743f77600e4165b653f22ae6fd38027d2b4
d8/5974bb6248f39e51abd6d00737edd6256ee103
da/865c12818c8ef15fc031f832d4399997476a64
db/c93987a2f41d29e7d9ce170c4a66f31ba21a2b
dd/336f1f082af04276827925fc2ad27560e584f4
dd/a5e2303dc0efb1ce21091ac9609ce05f95ca11
dd/f7332ecf611c9ea9b21b96c61b9508c8630258
e0/2dcc2a7fc0426363d2380175ca08cd564bfa1e
e0/59ccd2bf35dbc599e5ce5d39674d926445fc3e
e0/851358fb6b4703f23d74ef964bc4491bec7ab9
e0/9816883b166284284a2848821c7787a74b8170
e2/09a0d469e26a06ce87bb3bbc3429a911e94879
e2/7052bb2c8bb2fd16e0d235c24ca5aad3270e38
e3/640f4f8c0e046c3cd59acdd41e9fbbee959579
e5/4161d6eb21566f231627f845a14c312482ed8a
e5/ce71a5e89216984d0334e19f0b86ee734b2419
e6/405b88cddb9dfa524a7372b58e615bf4cdc730
e6/83dd479d771604c993c307404be2aa9ac45b7d
e7/f1a6cd9114a0ef87ba8fb5e0ff89d05796e059
e9/4fa527e4420309ff4e420897749f95cb552444
e9/cc8b7606e0f912773c1c6aa425319858643ae1
ea/c6e96d764b0c25841dcea3cf4f77b7f889f215
eb/11d8290f638dc8b3b4da8b4a56bb7f5192d80c
eb/91b96510d8485576da96507503e779dece1777
eb/ac41b793d2de79fc57bf0e2215785122c6fbfb
eb/f639d1f0d2f8350a8f8efe5fce50f9387d900e
ec/11fc9e3653f03f1c82ab32ceca3fe90c89a169
ec/55ada1019c2cd250bec8af82e999356d32c713
ee/79ede3b931d2796f1d48176d4859b4dde8add5
ee/e7846fd37a3b6a89d1248e46c9bbc770bfea28
ef/004cfa88883bb87e030b6196934dd90e3548d2
ef/3d66358c62d9f97f72b96ea6b9848414fa8101
ef/8596ac1ab699d85f0de0a3f9be55b2c9876078
ef/cec8d750faa2610959fc2fb4bfd8fc095031ef
ef/f8361a8dab5eb9b5532706575896f3953c3da8
f0/ad20627099424af1d5c762cc2e6975fedc4325
f1/d588e48db9e3d4239673d5030b47b08f849eea
f3/d4332f46fb8d6a96f6cace0fe55fd3a7062258
f3/e3510e3dc4a81d486bd077cb68e2dbb843553e
f4/8cff0f2465f3ea3ad67d6a477c9dafe09b971a
f4/b273648f727cd5f0f92bd3c5cdd67cfed10892
f4/f9a1dc653674c0f7c877dda961925b1515e053
f5/4ef3b60b96982e057642bfcff04ed29caf1207
f5/bf3719d5450931e3979d1b9b140618fe042e22
f7/1f7801a7ff5b40d6e346cd7ddeb492d1d83224
f8/18a85408d9343660a7403290cd483de65f28fe
f8/469687aceb346b06adb42f065dfd586013636d
f8/b4f860379fcc1e6256494d4931ff46ea5852de
f8/fea46bf5bb6034aa77d9c8c8c55953bd694594
fa/37685cddf33cbf37404cb5314ea362557da4c5
fa/e1e08aeadada773d1eb10851e985c808cdf655
fb/209c09b61273835f23b39ce0d07171ab872311
fb/480ccedc5dd98024c22a41e717fcb0ae7fca67
fe/4314bf42a6930ab23ad01b86ba887257ccb576
fe/9977c6f7294face7e7987f2c53bd016d035089
ok 24 - notes tree still has fanout after merge (m)
# passed all 24 test(s)
1..24
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t3405-rebase-malformed.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3405-rebase-malformed/.git/
expecting success of 3405.1 'setup':
>file1 &&
>file2 &&
git add file1 file2 &&
test_tick &&
git commit -m "Initial commit" &&
git branch diff-in-message &&
git branch empty-message-merge &&
git checkout -b multi-line-subject &&
cat F >file2 &&
git add file2 &&
test_tick &&
git commit -F F &&
git cat-file commit HEAD | sed -e "1,/^\$/d" >F0 &&
git checkout diff-in-message &&
echo "commit log message containing a diff" >G &&
echo "" >>G &&
cat G >file2 &&
git add file2 &&
git diff --cached >>G &&
test_tick &&
git commit -F G &&
git cat-file commit HEAD | sed -e "1,/^\$/d" >G0 &&
git checkout empty-message-merge &&
echo file3 >file3 &&
git add file3 &&
git commit --allow-empty-message -m "" &&
git checkout master &&
echo One >file1 &&
test_tick &&
git add file1 &&
git commit -m "Second commit"
[master (root-commit) a8d727e] Initial commit
Author: A U Thor <author@example.com>
2 files changed, 0 insertions(+), 0 deletions(-)
create mode 100644 file1
create mode 100644 file2
Switched to a new branch 'multi-line-subject'
[multi-line-subject 5037af6] This is an example of a commit log message that does not conform to git commit convention.
Author: A U Thor <author@example.com>
1 file changed, 5 insertions(+)
Switched to branch 'diff-in-message'
[diff-in-message 132c17c] commit log message containing a diff
Author: A U Thor <author@example.com>
1 file changed, 2 insertions(+)
Switched to branch 'empty-message-merge'
[empty-message-merge 942c0ff]
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 file3
Switched to branch 'master'
[master d5181bc] Second commit
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
ok 1 - setup
expecting success of 3405.2 'rebase commit with multi-line subject':
git rebase master multi-line-subject &&
git cat-file commit HEAD | sed -e "1,/^\$/d" >F1 &&
test_cmp F0 F1 &&
test_cmp F F0
Rebasing (1/1)
Successfully rebased and updated refs/heads/multi-line-subject.
ok 2 - rebase commit with multi-line subject
expecting success of 3405.3 'rebase commit with diff in message':
git rebase master diff-in-message &&
git cat-file commit HEAD | sed -e "1,/^$/d" >G1 &&
test_cmp G0 G1 &&
test_cmp G G0
Rebasing (1/1)
Successfully rebased and updated refs/heads/diff-in-message.
ok 3 - rebase commit with diff in message
expecting success of 3405.4 'rebase -m commit with empty message':
git rebase -m master empty-message-merge
Rebasing (1/1)
Successfully rebased and updated refs/heads/empty-message-merge.
ok 4 - rebase -m commit with empty message
expecting success of 3405.5 'rebase -i commit with empty message':
git checkout diff-in-message &&
set_fake_editor &&
test_must_fail env FAKE_COMMIT_MESSAGE=" " FAKE_LINES="reword 1" \
git rebase -i HEAD^
Switched to branch 'diff-in-message'
rebase -i script before editing:
pick 87b000b commit log message containing a diff
rebase -i script after editing:
reword 87b000b commit log message containing a diff
Rebasing (1/1)
Aborting commit due to empty commit message.
You can amend the commit now, with
git commit --amend
Once you are satisfied with your changes, run
git rebase --continue
ok 5 - rebase -i commit with empty message
# passed all 5 test(s)
1..5
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t3070-wildmatch.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3070-wildmatch/.git/
checking prerequisite: EXPENSIVE_ON_WINDOWS
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
test_have_prereq EXPENSIVE || test_have_prereq !MINGW,!CYGWIN
)
checking prerequisite: EXPENSIVE
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
test -n "$GIT_TEST_LONG"
)
prerequisite EXPENSIVE not satisfied
prerequisite EXPENSIVE_ON_WINDOWS ok
expecting success of 3070.1 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
ok 1 - cleanup after previous file test
expecting success of 3070.2 'setup match file test for foo':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 2 - setup match file test for foo
expecting success of 3070.3 'wildmatch: match 'foo' 'foo'':
test-tool wildmatch wildmatch 'foo' 'foo'
ok 3 - wildmatch: match 'foo' 'foo'
expecting success of 3070.4 'wildmatch (via ls-files): match 'foo' 'foo'':
printf '%s' 'foo' >expect &&
git --glob-pathspecs ls-files -z -- 'foo' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 4 - wildmatch (via ls-files): match 'foo' 'foo'
expecting success of 3070.5 'iwildmatch: match 'foo' 'foo'':
test-tool wildmatch iwildmatch 'foo' 'foo'
ok 5 - iwildmatch: match 'foo' 'foo'
expecting success of 3070.6 'iwildmatch (via ls-files): match 'foo' 'foo'':
printf '%s' 'foo' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- 'foo' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 6 - iwildmatch (via ls-files): match 'foo' 'foo'
expecting success of 3070.7 'pathmatch: match 'foo' 'foo'':
test-tool wildmatch pathmatch 'foo' 'foo'
ok 7 - pathmatch: match 'foo' 'foo'
expecting success of 3070.8 'pathmatch (via ls-files): match 'foo' 'foo'':
printf '%s' 'foo' >expect &&
git ls-files -z -- 'foo' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 8 - pathmatch (via ls-files): match 'foo' 'foo'
expecting success of 3070.9 'ipathmatch: match 'foo' 'foo'':
test-tool wildmatch ipathmatch 'foo' 'foo'
ok 9 - ipathmatch: match 'foo' 'foo'
expecting success of 3070.10 'ipathmatch (via ls-files): match 'foo' 'foo'':
printf '%s' 'foo' >expect &&
git --icase-pathspecs ls-files -z -- 'foo' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 10 - ipathmatch (via ls-files): match 'foo' 'foo'
expecting success of 3070.11 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
Removing foo
ok 11 - cleanup after previous file test
expecting success of 3070.12 'setup match file test for foo':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 12 - setup match file test for foo
expecting success of 3070.13 'wildmatch: no match 'foo' 'bar'':
test_must_fail test-tool wildmatch wildmatch 'foo' 'bar'
ok 13 - wildmatch: no match 'foo' 'bar'
expecting success of 3070.14 'wildmatch (via ls-files): no match 'bar' 'foo'':
>expect &&
git --glob-pathspecs ls-files -z -- 'bar' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 14 - wildmatch (via ls-files): no match 'bar' 'foo'
expecting success of 3070.15 'iwildmatch: no match 'foo' 'bar'':
test_must_fail test-tool wildmatch iwildmatch 'foo' 'bar'
ok 15 - iwildmatch: no match 'foo' 'bar'
expecting success of 3070.16 'iwildmatch (via ls-files): no match 'bar' 'foo'':
>expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- 'bar' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 16 - iwildmatch (via ls-files): no match 'bar' 'foo'
expecting success of 3070.17 'pathmatch: no match 'foo' 'bar'':
test_must_fail test-tool wildmatch pathmatch 'foo' 'bar'
ok 17 - pathmatch: no match 'foo' 'bar'
expecting success of 3070.18 'pathmatch (via ls-files): no match 'bar' 'foo'':
>expect &&
git ls-files -z -- 'bar' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 18 - pathmatch (via ls-files): no match 'bar' 'foo'
expecting success of 3070.19 'ipathmatch: no match 'foo' 'bar'':
test_must_fail test-tool wildmatch ipathmatch 'foo' 'bar'
ok 19 - ipathmatch: no match 'foo' 'bar'
expecting success of 3070.20 'ipathmatch (via ls-files): no match 'bar' 'foo'':
>expect &&
git --icase-pathspecs ls-files -z -- 'bar' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 20 - ipathmatch (via ls-files): no match 'bar' 'foo'
expecting success of 3070.21 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
Removing foo
ok 21 - cleanup after previous file test
expecting success of 3070.22 'setup match file test for ':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 22 - setup match file test for
expecting success of 3070.23 'wildmatch: match '' ''':
test-tool wildmatch wildmatch '' ''
ok 23 - wildmatch: match '' ''
checking known breakage of 3070.24 'wildmatch (via ls-files): match skip '' ''': false
not ok 24 - wildmatch (via ls-files): match skip '' '' # TODO known breakage
expecting success of 3070.25 'iwildmatch: match '' ''':
test-tool wildmatch iwildmatch '' ''
ok 25 - iwildmatch: match '' ''
checking known breakage of 3070.26 'iwildmatch (via ls-files): match skip '' ''': false
not ok 26 - iwildmatch (via ls-files): match skip '' '' # TODO known breakage
expecting success of 3070.27 'pathmatch: match '' ''':
test-tool wildmatch pathmatch '' ''
ok 27 - pathmatch: match '' ''
checking known breakage of 3070.28 'pathmatch (via ls-files): match skip '' ''': false
not ok 28 - pathmatch (via ls-files): match skip '' '' # TODO known breakage
expecting success of 3070.29 'ipathmatch: match '' ''':
test-tool wildmatch ipathmatch '' ''
ok 29 - ipathmatch: match '' ''
checking known breakage of 3070.30 'ipathmatch (via ls-files): match skip '' ''': false
not ok 30 - ipathmatch (via ls-files): match skip '' '' # TODO known breakage
expecting success of 3070.31 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
ok 31 - cleanup after previous file test
expecting success of 3070.32 'setup match file test for foo':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 32 - setup match file test for foo
expecting success of 3070.33 'wildmatch: match 'foo' '???'':
test-tool wildmatch wildmatch 'foo' '???'
ok 33 - wildmatch: match 'foo' '???'
expecting success of 3070.34 'wildmatch (via ls-files): match '???' 'foo'':
printf '%s' 'foo' >expect &&
git --glob-pathspecs ls-files -z -- '???' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 34 - wildmatch (via ls-files): match '???' 'foo'
expecting success of 3070.35 'iwildmatch: match 'foo' '???'':
test-tool wildmatch iwildmatch 'foo' '???'
ok 35 - iwildmatch: match 'foo' '???'
expecting success of 3070.36 'iwildmatch (via ls-files): match '???' 'foo'':
printf '%s' 'foo' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '???' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 36 - iwildmatch (via ls-files): match '???' 'foo'
expecting success of 3070.37 'pathmatch: match 'foo' '???'':
test-tool wildmatch pathmatch 'foo' '???'
ok 37 - pathmatch: match 'foo' '???'
expecting success of 3070.38 'pathmatch (via ls-files): match '???' 'foo'':
printf '%s' 'foo' >expect &&
git ls-files -z -- '???' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 38 - pathmatch (via ls-files): match '???' 'foo'
expecting success of 3070.39 'ipathmatch: match 'foo' '???'':
test-tool wildmatch ipathmatch 'foo' '???'
ok 39 - ipathmatch: match 'foo' '???'
expecting success of 3070.40 'ipathmatch (via ls-files): match '???' 'foo'':
printf '%s' 'foo' >expect &&
git --icase-pathspecs ls-files -z -- '???' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 40 - ipathmatch (via ls-files): match '???' 'foo'
expecting success of 3070.41 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
Removing foo
ok 41 - cleanup after previous file test
expecting success of 3070.42 'setup match file test for foo':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 42 - setup match file test for foo
expecting success of 3070.43 'wildmatch: no match 'foo' '??'':
test_must_fail test-tool wildmatch wildmatch 'foo' '??'
ok 43 - wildmatch: no match 'foo' '??'
expecting success of 3070.44 'wildmatch (via ls-files): no match '??' 'foo'':
>expect &&
git --glob-pathspecs ls-files -z -- '??' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 44 - wildmatch (via ls-files): no match '??' 'foo'
expecting success of 3070.45 'iwildmatch: no match 'foo' '??'':
test_must_fail test-tool wildmatch iwildmatch 'foo' '??'
ok 45 - iwildmatch: no match 'foo' '??'
expecting success of 3070.46 'iwildmatch (via ls-files): no match '??' 'foo'':
>expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '??' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 46 - iwildmatch (via ls-files): no match '??' 'foo'
expecting success of 3070.47 'pathmatch: no match 'foo' '??'':
test_must_fail test-tool wildmatch pathmatch 'foo' '??'
ok 47 - pathmatch: no match 'foo' '??'
expecting success of 3070.48 'pathmatch (via ls-files): no match '??' 'foo'':
>expect &&
git ls-files -z -- '??' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 48 - pathmatch (via ls-files): no match '??' 'foo'
expecting success of 3070.49 'ipathmatch: no match 'foo' '??'':
test_must_fail test-tool wildmatch ipathmatch 'foo' '??'
ok 49 - ipathmatch: no match 'foo' '??'
expecting success of 3070.50 'ipathmatch (via ls-files): no match '??' 'foo'':
>expect &&
git --icase-pathspecs ls-files -z -- '??' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 50 - ipathmatch (via ls-files): no match '??' 'foo'
expecting success of 3070.51 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
Removing foo
ok 51 - cleanup after previous file test
expecting success of 3070.52 'setup match file test for foo':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 52 - setup match file test for foo
expecting success of 3070.53 'wildmatch: match 'foo' '*'':
test-tool wildmatch wildmatch 'foo' '*'
ok 53 - wildmatch: match 'foo' '*'
expecting success of 3070.54 'wildmatch (via ls-files): match '*' 'foo'':
printf '%s' 'foo' >expect &&
git --glob-pathspecs ls-files -z -- '*' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 54 - wildmatch (via ls-files): match '*' 'foo'
expecting success of 3070.55 'iwildmatch: match 'foo' '*'':
test-tool wildmatch iwildmatch 'foo' '*'
ok 55 - iwildmatch: match 'foo' '*'
expecting success of 3070.56 'iwildmatch (via ls-files): match '*' 'foo'':
printf '%s' 'foo' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '*' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 56 - iwildmatch (via ls-files): match '*' 'foo'
expecting success of 3070.57 'pathmatch: match 'foo' '*'':
test-tool wildmatch pathmatch 'foo' '*'
ok 57 - pathmatch: match 'foo' '*'
expecting success of 3070.58 'pathmatch (via ls-files): match '*' 'foo'':
printf '%s' 'foo' >expect &&
git ls-files -z -- '*' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 58 - pathmatch (via ls-files): match '*' 'foo'
expecting success of 3070.59 'ipathmatch: match 'foo' '*'':
test-tool wildmatch ipathmatch 'foo' '*'
ok 59 - ipathmatch: match 'foo' '*'
expecting success of 3070.60 'ipathmatch (via ls-files): match '*' 'foo'':
printf '%s' 'foo' >expect &&
git --icase-pathspecs ls-files -z -- '*' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 60 - ipathmatch (via ls-files): match '*' 'foo'
expecting success of 3070.61 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
Removing foo
ok 61 - cleanup after previous file test
expecting success of 3070.62 'setup match file test for foo':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 62 - setup match file test for foo
expecting success of 3070.63 'wildmatch: match 'foo' 'f*'':
test-tool wildmatch wildmatch 'foo' 'f*'
ok 63 - wildmatch: match 'foo' 'f*'
expecting success of 3070.64 'wildmatch (via ls-files): match 'f*' 'foo'':
printf '%s' 'foo' >expect &&
git --glob-pathspecs ls-files -z -- 'f*' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 64 - wildmatch (via ls-files): match 'f*' 'foo'
expecting success of 3070.65 'iwildmatch: match 'foo' 'f*'':
test-tool wildmatch iwildmatch 'foo' 'f*'
ok 65 - iwildmatch: match 'foo' 'f*'
expecting success of 3070.66 'iwildmatch (via ls-files): match 'f*' 'foo'':
printf '%s' 'foo' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- 'f*' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 66 - iwildmatch (via ls-files): match 'f*' 'foo'
expecting success of 3070.67 'pathmatch: match 'foo' 'f*'':
test-tool wildmatch pathmatch 'foo' 'f*'
ok 67 - pathmatch: match 'foo' 'f*'
expecting success of 3070.68 'pathmatch (via ls-files): match 'f*' 'foo'':
printf '%s' 'foo' >expect &&
git ls-files -z -- 'f*' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 68 - pathmatch (via ls-files): match 'f*' 'foo'
expecting success of 3070.69 'ipathmatch: match 'foo' 'f*'':
test-tool wildmatch ipathmatch 'foo' 'f*'
ok 69 - ipathmatch: match 'foo' 'f*'
expecting success of 3070.70 'ipathmatch (via ls-files): match 'f*' 'foo'':
printf '%s' 'foo' >expect &&
git --icase-pathspecs ls-files -z -- 'f*' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 70 - ipathmatch (via ls-files): match 'f*' 'foo'
expecting success of 3070.71 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
Removing foo
ok 71 - cleanup after previous file test
expecting success of 3070.72 'setup match file test for foo':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 72 - setup match file test for foo
expecting success of 3070.73 'wildmatch: no match 'foo' '*f'':
test_must_fail test-tool wildmatch wildmatch 'foo' '*f'
ok 73 - wildmatch: no match 'foo' '*f'
expecting success of 3070.74 'wildmatch (via ls-files): no match '*f' 'foo'':
>expect &&
git --glob-pathspecs ls-files -z -- '*f' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 74 - wildmatch (via ls-files): no match '*f' 'foo'
expecting success of 3070.75 'iwildmatch: no match 'foo' '*f'':
test_must_fail test-tool wildmatch iwildmatch 'foo' '*f'
ok 75 - iwildmatch: no match 'foo' '*f'
expecting success of 3070.76 'iwildmatch (via ls-files): no match '*f' 'foo'':
>expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '*f' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 76 - iwildmatch (via ls-files): no match '*f' 'foo'
expecting success of 3070.77 'pathmatch: no match 'foo' '*f'':
test_must_fail test-tool wildmatch pathmatch 'foo' '*f'
ok 77 - pathmatch: no match 'foo' '*f'
expecting success of 3070.78 'pathmatch (via ls-files): no match '*f' 'foo'':
>expect &&
git ls-files -z -- '*f' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 78 - pathmatch (via ls-files): no match '*f' 'foo'
expecting success of 3070.79 'ipathmatch: no match 'foo' '*f'':
test_must_fail test-tool wildmatch ipathmatch 'foo' '*f'
ok 79 - ipathmatch: no match 'foo' '*f'
expecting success of 3070.80 'ipathmatch (via ls-files): no match '*f' 'foo'':
>expect &&
git --icase-pathspecs ls-files -z -- '*f' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 80 - ipathmatch (via ls-files): no match '*f' 'foo'
expecting success of 3070.81 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
Removing foo
ok 81 - cleanup after previous file test
expecting success of 3070.82 'setup match file test for foo':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 82 - setup match file test for foo
expecting success of 3070.83 'wildmatch: match 'foo' '*foo*'':
test-tool wildmatch wildmatch 'foo' '*foo*'
ok 83 - wildmatch: match 'foo' '*foo*'
expecting success of 3070.84 'wildmatch (via ls-files): match '*foo*' 'foo'':
printf '%s' 'foo' >expect &&
git --glob-pathspecs ls-files -z -- '*foo*' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 84 - wildmatch (via ls-files): match '*foo*' 'foo'
expecting success of 3070.85 'iwildmatch: match 'foo' '*foo*'':
test-tool wildmatch iwildmatch 'foo' '*foo*'
ok 85 - iwildmatch: match 'foo' '*foo*'
expecting success of 3070.86 'iwildmatch (via ls-files): match '*foo*' 'foo'':
printf '%s' 'foo' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '*foo*' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 86 - iwildmatch (via ls-files): match '*foo*' 'foo'
expecting success of 3070.87 'pathmatch: match 'foo' '*foo*'':
test-tool wildmatch pathmatch 'foo' '*foo*'
ok 87 - pathmatch: match 'foo' '*foo*'
expecting success of 3070.88 'pathmatch (via ls-files): match '*foo*' 'foo'':
printf '%s' 'foo' >expect &&
git ls-files -z -- '*foo*' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 88 - pathmatch (via ls-files): match '*foo*' 'foo'
expecting success of 3070.89 'ipathmatch: match 'foo' '*foo*'':
test-tool wildmatch ipathmatch 'foo' '*foo*'
ok 89 - ipathmatch: match 'foo' '*foo*'
expecting success of 3070.90 'ipathmatch (via ls-files): match '*foo*' 'foo'':
printf '%s' 'foo' >expect &&
git --icase-pathspecs ls-files -z -- '*foo*' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 90 - ipathmatch (via ls-files): match '*foo*' 'foo'
expecting success of 3070.91 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
Removing foo
ok 91 - cleanup after previous file test
expecting success of 3070.92 'setup match file test for foobar':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 92 - setup match file test for foobar
expecting success of 3070.93 'wildmatch: match 'foobar' '*ob*a*r*'':
test-tool wildmatch wildmatch 'foobar' '*ob*a*r*'
ok 93 - wildmatch: match 'foobar' '*ob*a*r*'
expecting success of 3070.94 'wildmatch (via ls-files): match '*ob*a*r*' 'foobar'':
printf '%s' 'foobar' >expect &&
git --glob-pathspecs ls-files -z -- '*ob*a*r*' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 94 - wildmatch (via ls-files): match '*ob*a*r*' 'foobar'
expecting success of 3070.95 'iwildmatch: match 'foobar' '*ob*a*r*'':
test-tool wildmatch iwildmatch 'foobar' '*ob*a*r*'
ok 95 - iwildmatch: match 'foobar' '*ob*a*r*'
expecting success of 3070.96 'iwildmatch (via ls-files): match '*ob*a*r*' 'foobar'':
printf '%s' 'foobar' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '*ob*a*r*' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 96 - iwildmatch (via ls-files): match '*ob*a*r*' 'foobar'
expecting success of 3070.97 'pathmatch: match 'foobar' '*ob*a*r*'':
test-tool wildmatch pathmatch 'foobar' '*ob*a*r*'
ok 97 - pathmatch: match 'foobar' '*ob*a*r*'
expecting success of 3070.98 'pathmatch (via ls-files): match '*ob*a*r*' 'foobar'':
printf '%s' 'foobar' >expect &&
git ls-files -z -- '*ob*a*r*' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 98 - pathmatch (via ls-files): match '*ob*a*r*' 'foobar'
expecting success of 3070.99 'ipathmatch: match 'foobar' '*ob*a*r*'':
test-tool wildmatch ipathmatch 'foobar' '*ob*a*r*'
ok 99 - ipathmatch: match 'foobar' '*ob*a*r*'
expecting success of 3070.100 'ipathmatch (via ls-files): match '*ob*a*r*' 'foobar'':
printf '%s' 'foobar' >expect &&
git --icase-pathspecs ls-files -z -- '*ob*a*r*' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 100 - ipathmatch (via ls-files): match '*ob*a*r*' 'foobar'
expecting success of 3070.101 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
Removing foobar
ok 101 - cleanup after previous file test
expecting success of 3070.102 'setup match file test for aaaaaaabababab':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 102 - setup match file test for aaaaaaabababab
expecting success of 3070.103 'wildmatch: match 'aaaaaaabababab' '*ab'':
test-tool wildmatch wildmatch 'aaaaaaabababab' '*ab'
ok 103 - wildmatch: match 'aaaaaaabababab' '*ab'
expecting success of 3070.104 'wildmatch (via ls-files): match '*ab' 'aaaaaaabababab'':
printf '%s' 'aaaaaaabababab' >expect &&
git --glob-pathspecs ls-files -z -- '*ab' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 104 - wildmatch (via ls-files): match '*ab' 'aaaaaaabababab'
expecting success of 3070.105 'iwildmatch: match 'aaaaaaabababab' '*ab'':
test-tool wildmatch iwildmatch 'aaaaaaabababab' '*ab'
ok 105 - iwildmatch: match 'aaaaaaabababab' '*ab'
expecting success of 3070.106 'iwildmatch (via ls-files): match '*ab' 'aaaaaaabababab'':
printf '%s' 'aaaaaaabababab' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '*ab' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 106 - iwildmatch (via ls-files): match '*ab' 'aaaaaaabababab'
expecting success of 3070.107 'pathmatch: match 'aaaaaaabababab' '*ab'':
test-tool wildmatch pathmatch 'aaaaaaabababab' '*ab'
ok 107 - pathmatch: match 'aaaaaaabababab' '*ab'
expecting success of 3070.108 'pathmatch (via ls-files): match '*ab' 'aaaaaaabababab'':
printf '%s' 'aaaaaaabababab' >expect &&
git ls-files -z -- '*ab' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 108 - pathmatch (via ls-files): match '*ab' 'aaaaaaabababab'
expecting success of 3070.109 'ipathmatch: match 'aaaaaaabababab' '*ab'':
test-tool wildmatch ipathmatch 'aaaaaaabababab' '*ab'
ok 109 - ipathmatch: match 'aaaaaaabababab' '*ab'
expecting success of 3070.110 'ipathmatch (via ls-files): match '*ab' 'aaaaaaabababab'':
printf '%s' 'aaaaaaabababab' >expect &&
git --icase-pathspecs ls-files -z -- '*ab' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 110 - ipathmatch (via ls-files): match '*ab' 'aaaaaaabababab'
expecting success of 3070.111 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing aaaaaaabababab
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 111 - cleanup after previous file test
expecting success of 3070.112 'setup match file test for foo*':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 112 - setup match file test for foo*
expecting success of 3070.113 'wildmatch: match 'foo*' 'foo\*'':
test-tool wildmatch wildmatch 'foo*' 'foo\*'
ok 113 - wildmatch: match 'foo*' 'foo\*'
expecting success of 3070.114 'wildmatch (via ls-files): match 'foo\*' 'foo*'':
printf '%s' 'foo*' >expect &&
git --glob-pathspecs ls-files -z -- 'foo\*' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 114 - wildmatch (via ls-files): match 'foo\*' 'foo*'
expecting success of 3070.115 'iwildmatch: match 'foo*' 'foo\*'':
test-tool wildmatch iwildmatch 'foo*' 'foo\*'
ok 115 - iwildmatch: match 'foo*' 'foo\*'
expecting success of 3070.116 'iwildmatch (via ls-files): match 'foo\*' 'foo*'':
printf '%s' 'foo*' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- 'foo\*' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 116 - iwildmatch (via ls-files): match 'foo\*' 'foo*'
expecting success of 3070.117 'pathmatch: match 'foo*' 'foo\*'':
test-tool wildmatch pathmatch 'foo*' 'foo\*'
ok 117 - pathmatch: match 'foo*' 'foo\*'
expecting success of 3070.118 'pathmatch (via ls-files): match 'foo\*' 'foo*'':
printf '%s' 'foo*' >expect &&
git ls-files -z -- 'foo\*' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 118 - pathmatch (via ls-files): match 'foo\*' 'foo*'
expecting success of 3070.119 'ipathmatch: match 'foo*' 'foo\*'':
test-tool wildmatch ipathmatch 'foo*' 'foo\*'
ok 119 - ipathmatch: match 'foo*' 'foo\*'
expecting success of 3070.120 'ipathmatch (via ls-files): match 'foo\*' 'foo*'':
printf '%s' 'foo*' >expect &&
git --icase-pathspecs ls-files -z -- 'foo\*' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 120 - ipathmatch (via ls-files): match 'foo\*' 'foo*'
expecting success of 3070.121 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
Removing foo*
ok 121 - cleanup after previous file test
expecting success of 3070.122 'setup match file test for foobar':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 122 - setup match file test for foobar
expecting success of 3070.123 'wildmatch: no match 'foobar' 'foo\*bar'':
test_must_fail test-tool wildmatch wildmatch 'foobar' 'foo\*bar'
ok 123 - wildmatch: no match 'foobar' 'foo\*bar'
expecting success of 3070.124 'wildmatch (via ls-files): no match 'foo\*bar' 'foobar'':
>expect &&
git --glob-pathspecs ls-files -z -- 'foo\*bar' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 124 - wildmatch (via ls-files): no match 'foo\*bar' 'foobar'
expecting success of 3070.125 'iwildmatch: no match 'foobar' 'foo\*bar'':
test_must_fail test-tool wildmatch iwildmatch 'foobar' 'foo\*bar'
ok 125 - iwildmatch: no match 'foobar' 'foo\*bar'
expecting success of 3070.126 'iwildmatch (via ls-files): no match 'foo\*bar' 'foobar'':
>expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- 'foo\*bar' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 126 - iwildmatch (via ls-files): no match 'foo\*bar' 'foobar'
expecting success of 3070.127 'pathmatch: no match 'foobar' 'foo\*bar'':
test_must_fail test-tool wildmatch pathmatch 'foobar' 'foo\*bar'
ok 127 - pathmatch: no match 'foobar' 'foo\*bar'
expecting success of 3070.128 'pathmatch (via ls-files): no match 'foo\*bar' 'foobar'':
>expect &&
git ls-files -z -- 'foo\*bar' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 128 - pathmatch (via ls-files): no match 'foo\*bar' 'foobar'
expecting success of 3070.129 'ipathmatch: no match 'foobar' 'foo\*bar'':
test_must_fail test-tool wildmatch ipathmatch 'foobar' 'foo\*bar'
ok 129 - ipathmatch: no match 'foobar' 'foo\*bar'
expecting success of 3070.130 'ipathmatch (via ls-files): no match 'foo\*bar' 'foobar'':
>expect &&
git --icase-pathspecs ls-files -z -- 'foo\*bar' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 130 - ipathmatch (via ls-files): no match 'foo\*bar' 'foobar'
expecting success of 3070.131 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
Removing foobar
ok 131 - cleanup after previous file test
expecting success of 3070.132 'setup match file test for f\oo':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 132 - setup match file test for f\oo
expecting success of 3070.133 'wildmatch: match 'f\oo' 'f\\oo'':
test-tool wildmatch wildmatch 'f\oo' 'f\\oo'
ok 133 - wildmatch: match 'f\oo' 'f\\oo'
expecting success of 3070.134 'wildmatch (via ls-files): match 'f\\oo' 'f\oo'':
printf '%s' 'f\oo' >expect &&
git --glob-pathspecs ls-files -z -- 'f\\oo' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 134 - wildmatch (via ls-files): match 'f\\oo' 'f\oo'
expecting success of 3070.135 'iwildmatch: match 'f\oo' 'f\\oo'':
test-tool wildmatch iwildmatch 'f\oo' 'f\\oo'
ok 135 - iwildmatch: match 'f\oo' 'f\\oo'
expecting success of 3070.136 'iwildmatch (via ls-files): match 'f\\oo' 'f\oo'':
printf '%s' 'f\oo' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- 'f\\oo' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 136 - iwildmatch (via ls-files): match 'f\\oo' 'f\oo'
expecting success of 3070.137 'pathmatch: match 'f\oo' 'f\\oo'':
test-tool wildmatch pathmatch 'f\oo' 'f\\oo'
ok 137 - pathmatch: match 'f\oo' 'f\\oo'
expecting success of 3070.138 'pathmatch (via ls-files): match 'f\\oo' 'f\oo'':
printf '%s' 'f\oo' >expect &&
git ls-files -z -- 'f\\oo' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 138 - pathmatch (via ls-files): match 'f\\oo' 'f\oo'
expecting success of 3070.139 'ipathmatch: match 'f\oo' 'f\\oo'':
test-tool wildmatch ipathmatch 'f\oo' 'f\\oo'
ok 139 - ipathmatch: match 'f\oo' 'f\\oo'
expecting success of 3070.140 'ipathmatch (via ls-files): match 'f\\oo' 'f\oo'':
printf '%s' 'f\oo' >expect &&
git --icase-pathspecs ls-files -z -- 'f\\oo' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 140 - ipathmatch (via ls-files): match 'f\\oo' 'f\oo'
expecting success of 3070.141 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
Removing "f\\oo"
ok 141 - cleanup after previous file test
expecting success of 3070.142 'setup match file test for ball':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 142 - setup match file test for ball
expecting success of 3070.143 'wildmatch: match 'ball' '*[al]?'':
test-tool wildmatch wildmatch 'ball' '*[al]?'
ok 143 - wildmatch: match 'ball' '*[al]?'
expecting success of 3070.144 'wildmatch (via ls-files): match '*[al]?' 'ball'':
printf '%s' 'ball' >expect &&
git --glob-pathspecs ls-files -z -- '*[al]?' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 144 - wildmatch (via ls-files): match '*[al]?' 'ball'
expecting success of 3070.145 'iwildmatch: match 'ball' '*[al]?'':
test-tool wildmatch iwildmatch 'ball' '*[al]?'
ok 145 - iwildmatch: match 'ball' '*[al]?'
expecting success of 3070.146 'iwildmatch (via ls-files): match '*[al]?' 'ball'':
printf '%s' 'ball' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '*[al]?' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 146 - iwildmatch (via ls-files): match '*[al]?' 'ball'
expecting success of 3070.147 'pathmatch: match 'ball' '*[al]?'':
test-tool wildmatch pathmatch 'ball' '*[al]?'
ok 147 - pathmatch: match 'ball' '*[al]?'
expecting success of 3070.148 'pathmatch (via ls-files): match '*[al]?' 'ball'':
printf '%s' 'ball' >expect &&
git ls-files -z -- '*[al]?' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 148 - pathmatch (via ls-files): match '*[al]?' 'ball'
expecting success of 3070.149 'ipathmatch: match 'ball' '*[al]?'':
test-tool wildmatch ipathmatch 'ball' '*[al]?'
ok 149 - ipathmatch: match 'ball' '*[al]?'
expecting success of 3070.150 'ipathmatch (via ls-files): match '*[al]?' 'ball'':
printf '%s' 'ball' >expect &&
git --icase-pathspecs ls-files -z -- '*[al]?' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 150 - ipathmatch (via ls-files): match '*[al]?' 'ball'
expecting success of 3070.151 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing actual
Removing actual.err
Removing actual.raw
Removing ball
Removing expect
ok 151 - cleanup after previous file test
expecting success of 3070.152 'setup match file test for ten':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 152 - setup match file test for ten
expecting success of 3070.153 'wildmatch: no match 'ten' '[ten]'':
test_must_fail test-tool wildmatch wildmatch 'ten' '[ten]'
ok 153 - wildmatch: no match 'ten' '[ten]'
expecting success of 3070.154 'wildmatch (via ls-files): no match '[ten]' 'ten'':
>expect &&
git --glob-pathspecs ls-files -z -- '[ten]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 154 - wildmatch (via ls-files): no match '[ten]' 'ten'
expecting success of 3070.155 'iwildmatch: no match 'ten' '[ten]'':
test_must_fail test-tool wildmatch iwildmatch 'ten' '[ten]'
ok 155 - iwildmatch: no match 'ten' '[ten]'
expecting success of 3070.156 'iwildmatch (via ls-files): no match '[ten]' 'ten'':
>expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '[ten]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 156 - iwildmatch (via ls-files): no match '[ten]' 'ten'
expecting success of 3070.157 'pathmatch: no match 'ten' '[ten]'':
test_must_fail test-tool wildmatch pathmatch 'ten' '[ten]'
ok 157 - pathmatch: no match 'ten' '[ten]'
expecting success of 3070.158 'pathmatch (via ls-files): no match '[ten]' 'ten'':
>expect &&
git ls-files -z -- '[ten]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 158 - pathmatch (via ls-files): no match '[ten]' 'ten'
expecting success of 3070.159 'ipathmatch: no match 'ten' '[ten]'':
test_must_fail test-tool wildmatch ipathmatch 'ten' '[ten]'
ok 159 - ipathmatch: no match 'ten' '[ten]'
expecting success of 3070.160 'ipathmatch (via ls-files): no match '[ten]' 'ten'':
>expect &&
git --icase-pathspecs ls-files -z -- '[ten]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 160 - ipathmatch (via ls-files): no match '[ten]' 'ten'
expecting success of 3070.161 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
Removing ten
ok 161 - cleanup after previous file test
expecting success of 3070.162 'setup match file test for ten':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 162 - setup match file test for ten
expecting success of 3070.163 'wildmatch: match 'ten' '**[!te]'':
test-tool wildmatch wildmatch 'ten' '**[!te]'
ok 163 - wildmatch: match 'ten' '**[!te]'
expecting success of 3070.164 'wildmatch (via ls-files): match '**[!te]' 'ten'':
printf '%s' 'ten' >expect &&
git --glob-pathspecs ls-files -z -- '**[!te]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 164 - wildmatch (via ls-files): match '**[!te]' 'ten'
expecting success of 3070.165 'iwildmatch: match 'ten' '**[!te]'':
test-tool wildmatch iwildmatch 'ten' '**[!te]'
ok 165 - iwildmatch: match 'ten' '**[!te]'
expecting success of 3070.166 'iwildmatch (via ls-files): match '**[!te]' 'ten'':
printf '%s' 'ten' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '**[!te]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 166 - iwildmatch (via ls-files): match '**[!te]' 'ten'
expecting success of 3070.167 'pathmatch: match 'ten' '**[!te]'':
test-tool wildmatch pathmatch 'ten' '**[!te]'
ok 167 - pathmatch: match 'ten' '**[!te]'
expecting success of 3070.168 'pathmatch (via ls-files): match '**[!te]' 'ten'':
printf '%s' 'ten' >expect &&
git ls-files -z -- '**[!te]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 168 - pathmatch (via ls-files): match '**[!te]' 'ten'
expecting success of 3070.169 'ipathmatch: match 'ten' '**[!te]'':
test-tool wildmatch ipathmatch 'ten' '**[!te]'
ok 169 - ipathmatch: match 'ten' '**[!te]'
expecting success of 3070.170 'ipathmatch (via ls-files): match '**[!te]' 'ten'':
printf '%s' 'ten' >expect &&
git --icase-pathspecs ls-files -z -- '**[!te]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 170 - ipathmatch (via ls-files): match '**[!te]' 'ten'
expecting success of 3070.171 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
Removing ten
ok 171 - cleanup after previous file test
expecting success of 3070.172 'setup match file test for ten':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 172 - setup match file test for ten
expecting success of 3070.173 'wildmatch: no match 'ten' '**[!ten]'':
test_must_fail test-tool wildmatch wildmatch 'ten' '**[!ten]'
ok 173 - wildmatch: no match 'ten' '**[!ten]'
expecting success of 3070.174 'wildmatch (via ls-files): no match '**[!ten]' 'ten'':
>expect &&
git --glob-pathspecs ls-files -z -- '**[!ten]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 174 - wildmatch (via ls-files): no match '**[!ten]' 'ten'
expecting success of 3070.175 'iwildmatch: no match 'ten' '**[!ten]'':
test_must_fail test-tool wildmatch iwildmatch 'ten' '**[!ten]'
ok 175 - iwildmatch: no match 'ten' '**[!ten]'
expecting success of 3070.176 'iwildmatch (via ls-files): no match '**[!ten]' 'ten'':
>expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '**[!ten]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 176 - iwildmatch (via ls-files): no match '**[!ten]' 'ten'
expecting success of 3070.177 'pathmatch: no match 'ten' '**[!ten]'':
test_must_fail test-tool wildmatch pathmatch 'ten' '**[!ten]'
ok 177 - pathmatch: no match 'ten' '**[!ten]'
expecting success of 3070.178 'pathmatch (via ls-files): no match '**[!ten]' 'ten'':
>expect &&
git ls-files -z -- '**[!ten]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 178 - pathmatch (via ls-files): no match '**[!ten]' 'ten'
expecting success of 3070.179 'ipathmatch: no match 'ten' '**[!ten]'':
test_must_fail test-tool wildmatch ipathmatch 'ten' '**[!ten]'
ok 179 - ipathmatch: no match 'ten' '**[!ten]'
expecting success of 3070.180 'ipathmatch (via ls-files): no match '**[!ten]' 'ten'':
>expect &&
git --icase-pathspecs ls-files -z -- '**[!ten]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 180 - ipathmatch (via ls-files): no match '**[!ten]' 'ten'
expecting success of 3070.181 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
Removing ten
ok 181 - cleanup after previous file test
expecting success of 3070.182 'setup match file test for ten':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 182 - setup match file test for ten
expecting success of 3070.183 'wildmatch: match 'ten' 't[a-g]n'':
test-tool wildmatch wildmatch 'ten' 't[a-g]n'
ok 183 - wildmatch: match 'ten' 't[a-g]n'
expecting success of 3070.184 'wildmatch (via ls-files): match 't[a-g]n' 'ten'':
printf '%s' 'ten' >expect &&
git --glob-pathspecs ls-files -z -- 't[a-g]n' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 184 - wildmatch (via ls-files): match 't[a-g]n' 'ten'
expecting success of 3070.185 'iwildmatch: match 'ten' 't[a-g]n'':
test-tool wildmatch iwildmatch 'ten' 't[a-g]n'
ok 185 - iwildmatch: match 'ten' 't[a-g]n'
expecting success of 3070.186 'iwildmatch (via ls-files): match 't[a-g]n' 'ten'':
printf '%s' 'ten' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- 't[a-g]n' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 186 - iwildmatch (via ls-files): match 't[a-g]n' 'ten'
expecting success of 3070.187 'pathmatch: match 'ten' 't[a-g]n'':
test-tool wildmatch pathmatch 'ten' 't[a-g]n'
ok 187 - pathmatch: match 'ten' 't[a-g]n'
expecting success of 3070.188 'pathmatch (via ls-files): match 't[a-g]n' 'ten'':
printf '%s' 'ten' >expect &&
git ls-files -z -- 't[a-g]n' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 188 - pathmatch (via ls-files): match 't[a-g]n' 'ten'
expecting success of 3070.189 'ipathmatch: match 'ten' 't[a-g]n'':
test-tool wildmatch ipathmatch 'ten' 't[a-g]n'
ok 189 - ipathmatch: match 'ten' 't[a-g]n'
expecting success of 3070.190 'ipathmatch (via ls-files): match 't[a-g]n' 'ten'':
printf '%s' 'ten' >expect &&
git --icase-pathspecs ls-files -z -- 't[a-g]n' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 190 - ipathmatch (via ls-files): match 't[a-g]n' 'ten'
expecting success of 3070.191 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
Removing ten
ok 191 - cleanup after previous file test
expecting success of 3070.192 'setup match file test for ten':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 192 - setup match file test for ten
expecting success of 3070.193 'wildmatch: no match 'ten' 't[!a-g]n'':
test_must_fail test-tool wildmatch wildmatch 'ten' 't[!a-g]n'
ok 193 - wildmatch: no match 'ten' 't[!a-g]n'
expecting success of 3070.194 'wildmatch (via ls-files): no match 't[!a-g]n' 'ten'':
>expect &&
git --glob-pathspecs ls-files -z -- 't[!a-g]n' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 194 - wildmatch (via ls-files): no match 't[!a-g]n' 'ten'
expecting success of 3070.195 'iwildmatch: no match 'ten' 't[!a-g]n'':
test_must_fail test-tool wildmatch iwildmatch 'ten' 't[!a-g]n'
ok 195 - iwildmatch: no match 'ten' 't[!a-g]n'
expecting success of 3070.196 'iwildmatch (via ls-files): no match 't[!a-g]n' 'ten'':
>expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- 't[!a-g]n' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 196 - iwildmatch (via ls-files): no match 't[!a-g]n' 'ten'
expecting success of 3070.197 'pathmatch: no match 'ten' 't[!a-g]n'':
test_must_fail test-tool wildmatch pathmatch 'ten' 't[!a-g]n'
ok 197 - pathmatch: no match 'ten' 't[!a-g]n'
expecting success of 3070.198 'pathmatch (via ls-files): no match 't[!a-g]n' 'ten'':
>expect &&
git ls-files -z -- 't[!a-g]n' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 198 - pathmatch (via ls-files): no match 't[!a-g]n' 'ten'
expecting success of 3070.199 'ipathmatch: no match 'ten' 't[!a-g]n'':
test_must_fail test-tool wildmatch ipathmatch 'ten' 't[!a-g]n'
ok 199 - ipathmatch: no match 'ten' 't[!a-g]n'
expecting success of 3070.200 'ipathmatch (via ls-files): no match 't[!a-g]n' 'ten'':
>expect &&
git --icase-pathspecs ls-files -z -- 't[!a-g]n' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 200 - ipathmatch (via ls-files): no match 't[!a-g]n' 'ten'
expecting success of 3070.201 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
Removing ten
ok 201 - cleanup after previous file test
expecting success of 3070.202 'setup match file test for ton':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 202 - setup match file test for ton
expecting success of 3070.203 'wildmatch: match 'ton' 't[!a-g]n'':
test-tool wildmatch wildmatch 'ton' 't[!a-g]n'
ok 203 - wildmatch: match 'ton' 't[!a-g]n'
expecting success of 3070.204 'wildmatch (via ls-files): match 't[!a-g]n' 'ton'':
printf '%s' 'ton' >expect &&
git --glob-pathspecs ls-files -z -- 't[!a-g]n' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 204 - wildmatch (via ls-files): match 't[!a-g]n' 'ton'
expecting success of 3070.205 'iwildmatch: match 'ton' 't[!a-g]n'':
test-tool wildmatch iwildmatch 'ton' 't[!a-g]n'
ok 205 - iwildmatch: match 'ton' 't[!a-g]n'
expecting success of 3070.206 'iwildmatch (via ls-files): match 't[!a-g]n' 'ton'':
printf '%s' 'ton' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- 't[!a-g]n' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 206 - iwildmatch (via ls-files): match 't[!a-g]n' 'ton'
expecting success of 3070.207 'pathmatch: match 'ton' 't[!a-g]n'':
test-tool wildmatch pathmatch 'ton' 't[!a-g]n'
ok 207 - pathmatch: match 'ton' 't[!a-g]n'
expecting success of 3070.208 'pathmatch (via ls-files): match 't[!a-g]n' 'ton'':
printf '%s' 'ton' >expect &&
git ls-files -z -- 't[!a-g]n' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 208 - pathmatch (via ls-files): match 't[!a-g]n' 'ton'
expecting success of 3070.209 'ipathmatch: match 'ton' 't[!a-g]n'':
test-tool wildmatch ipathmatch 'ton' 't[!a-g]n'
ok 209 - ipathmatch: match 'ton' 't[!a-g]n'
expecting success of 3070.210 'ipathmatch (via ls-files): match 't[!a-g]n' 'ton'':
printf '%s' 'ton' >expect &&
git --icase-pathspecs ls-files -z -- 't[!a-g]n' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 210 - ipathmatch (via ls-files): match 't[!a-g]n' 'ton'
expecting success of 3070.211 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
Removing ton
ok 211 - cleanup after previous file test
expecting success of 3070.212 'setup match file test for ton':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 212 - setup match file test for ton
expecting success of 3070.213 'wildmatch: match 'ton' 't[^a-g]n'':
test-tool wildmatch wildmatch 'ton' 't[^a-g]n'
ok 213 - wildmatch: match 'ton' 't[^a-g]n'
expecting success of 3070.214 'wildmatch (via ls-files): match 't[^a-g]n' 'ton'':
printf '%s' 'ton' >expect &&
git --glob-pathspecs ls-files -z -- 't[^a-g]n' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 214 - wildmatch (via ls-files): match 't[^a-g]n' 'ton'
expecting success of 3070.215 'iwildmatch: match 'ton' 't[^a-g]n'':
test-tool wildmatch iwildmatch 'ton' 't[^a-g]n'
ok 215 - iwildmatch: match 'ton' 't[^a-g]n'
expecting success of 3070.216 'iwildmatch (via ls-files): match 't[^a-g]n' 'ton'':
printf '%s' 'ton' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- 't[^a-g]n' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 216 - iwildmatch (via ls-files): match 't[^a-g]n' 'ton'
expecting success of 3070.217 'pathmatch: match 'ton' 't[^a-g]n'':
test-tool wildmatch pathmatch 'ton' 't[^a-g]n'
ok 217 - pathmatch: match 'ton' 't[^a-g]n'
expecting success of 3070.218 'pathmatch (via ls-files): match 't[^a-g]n' 'ton'':
printf '%s' 'ton' >expect &&
git ls-files -z -- 't[^a-g]n' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 218 - pathmatch (via ls-files): match 't[^a-g]n' 'ton'
expecting success of 3070.219 'ipathmatch: match 'ton' 't[^a-g]n'':
test-tool wildmatch ipathmatch 'ton' 't[^a-g]n'
ok 219 - ipathmatch: match 'ton' 't[^a-g]n'
expecting success of 3070.220 'ipathmatch (via ls-files): match 't[^a-g]n' 'ton'':
printf '%s' 'ton' >expect &&
git --icase-pathspecs ls-files -z -- 't[^a-g]n' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 220 - ipathmatch (via ls-files): match 't[^a-g]n' 'ton'
expecting success of 3070.221 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
Removing ton
ok 221 - cleanup after previous file test
expecting success of 3070.222 'setup match file test for a]b':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 222 - setup match file test for a]b
expecting success of 3070.223 'wildmatch: match 'a]b' 'a[]]b'':
test-tool wildmatch wildmatch 'a]b' 'a[]]b'
ok 223 - wildmatch: match 'a]b' 'a[]]b'
expecting success of 3070.224 'wildmatch (via ls-files): match 'a[]]b' 'a]b'':
printf '%s' 'a]b' >expect &&
git --glob-pathspecs ls-files -z -- 'a[]]b' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 224 - wildmatch (via ls-files): match 'a[]]b' 'a]b'
expecting success of 3070.225 'iwildmatch: match 'a]b' 'a[]]b'':
test-tool wildmatch iwildmatch 'a]b' 'a[]]b'
ok 225 - iwildmatch: match 'a]b' 'a[]]b'
expecting success of 3070.226 'iwildmatch (via ls-files): match 'a[]]b' 'a]b'':
printf '%s' 'a]b' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- 'a[]]b' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 226 - iwildmatch (via ls-files): match 'a[]]b' 'a]b'
expecting success of 3070.227 'pathmatch: match 'a]b' 'a[]]b'':
test-tool wildmatch pathmatch 'a]b' 'a[]]b'
ok 227 - pathmatch: match 'a]b' 'a[]]b'
expecting success of 3070.228 'pathmatch (via ls-files): match 'a[]]b' 'a]b'':
printf '%s' 'a]b' >expect &&
git ls-files -z -- 'a[]]b' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 228 - pathmatch (via ls-files): match 'a[]]b' 'a]b'
expecting success of 3070.229 'ipathmatch: match 'a]b' 'a[]]b'':
test-tool wildmatch ipathmatch 'a]b' 'a[]]b'
ok 229 - ipathmatch: match 'a]b' 'a[]]b'
expecting success of 3070.230 'ipathmatch (via ls-files): match 'a[]]b' 'a]b'':
printf '%s' 'a]b' >expect &&
git --icase-pathspecs ls-files -z -- 'a[]]b' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 230 - ipathmatch (via ls-files): match 'a[]]b' 'a]b'
expecting success of 3070.231 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing a]b
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 231 - cleanup after previous file test
expecting success of 3070.232 'setup match file test for a-b':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 232 - setup match file test for a-b
expecting success of 3070.233 'wildmatch: match 'a-b' 'a[]-]b'':
test-tool wildmatch wildmatch 'a-b' 'a[]-]b'
ok 233 - wildmatch: match 'a-b' 'a[]-]b'
expecting success of 3070.234 'wildmatch (via ls-files): match 'a[]-]b' 'a-b'':
printf '%s' 'a-b' >expect &&
git --glob-pathspecs ls-files -z -- 'a[]-]b' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 234 - wildmatch (via ls-files): match 'a[]-]b' 'a-b'
expecting success of 3070.235 'iwildmatch: match 'a-b' 'a[]-]b'':
test-tool wildmatch iwildmatch 'a-b' 'a[]-]b'
ok 235 - iwildmatch: match 'a-b' 'a[]-]b'
expecting success of 3070.236 'iwildmatch (via ls-files): match 'a[]-]b' 'a-b'':
printf '%s' 'a-b' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- 'a[]-]b' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 236 - iwildmatch (via ls-files): match 'a[]-]b' 'a-b'
expecting success of 3070.237 'pathmatch: match 'a-b' 'a[]-]b'':
test-tool wildmatch pathmatch 'a-b' 'a[]-]b'
ok 237 - pathmatch: match 'a-b' 'a[]-]b'
expecting success of 3070.238 'pathmatch (via ls-files): match 'a[]-]b' 'a-b'':
printf '%s' 'a-b' >expect &&
git ls-files -z -- 'a[]-]b' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 238 - pathmatch (via ls-files): match 'a[]-]b' 'a-b'
expecting success of 3070.239 'ipathmatch: match 'a-b' 'a[]-]b'':
test-tool wildmatch ipathmatch 'a-b' 'a[]-]b'
ok 239 - ipathmatch: match 'a-b' 'a[]-]b'
expecting success of 3070.240 'ipathmatch (via ls-files): match 'a[]-]b' 'a-b'':
printf '%s' 'a-b' >expect &&
git --icase-pathspecs ls-files -z -- 'a[]-]b' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 240 - ipathmatch (via ls-files): match 'a[]-]b' 'a-b'
expecting success of 3070.241 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing a-b
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 241 - cleanup after previous file test
expecting success of 3070.242 'setup match file test for a]b':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 242 - setup match file test for a]b
expecting success of 3070.243 'wildmatch: match 'a]b' 'a[]-]b'':
test-tool wildmatch wildmatch 'a]b' 'a[]-]b'
ok 243 - wildmatch: match 'a]b' 'a[]-]b'
expecting success of 3070.244 'wildmatch (via ls-files): match 'a[]-]b' 'a]b'':
printf '%s' 'a]b' >expect &&
git --glob-pathspecs ls-files -z -- 'a[]-]b' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 244 - wildmatch (via ls-files): match 'a[]-]b' 'a]b'
expecting success of 3070.245 'iwildmatch: match 'a]b' 'a[]-]b'':
test-tool wildmatch iwildmatch 'a]b' 'a[]-]b'
ok 245 - iwildmatch: match 'a]b' 'a[]-]b'
expecting success of 3070.246 'iwildmatch (via ls-files): match 'a[]-]b' 'a]b'':
printf '%s' 'a]b' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- 'a[]-]b' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 246 - iwildmatch (via ls-files): match 'a[]-]b' 'a]b'
expecting success of 3070.247 'pathmatch: match 'a]b' 'a[]-]b'':
test-tool wildmatch pathmatch 'a]b' 'a[]-]b'
ok 247 - pathmatch: match 'a]b' 'a[]-]b'
expecting success of 3070.248 'pathmatch (via ls-files): match 'a[]-]b' 'a]b'':
printf '%s' 'a]b' >expect &&
git ls-files -z -- 'a[]-]b' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 248 - pathmatch (via ls-files): match 'a[]-]b' 'a]b'
expecting success of 3070.249 'ipathmatch: match 'a]b' 'a[]-]b'':
test-tool wildmatch ipathmatch 'a]b' 'a[]-]b'
ok 249 - ipathmatch: match 'a]b' 'a[]-]b'
expecting success of 3070.250 'ipathmatch (via ls-files): match 'a[]-]b' 'a]b'':
printf '%s' 'a]b' >expect &&
git --icase-pathspecs ls-files -z -- 'a[]-]b' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 250 - ipathmatch (via ls-files): match 'a[]-]b' 'a]b'
expecting success of 3070.251 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing a]b
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 251 - cleanup after previous file test
expecting success of 3070.252 'setup match file test for aab':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 252 - setup match file test for aab
expecting success of 3070.253 'wildmatch: no match 'aab' 'a[]-]b'':
test_must_fail test-tool wildmatch wildmatch 'aab' 'a[]-]b'
ok 253 - wildmatch: no match 'aab' 'a[]-]b'
expecting success of 3070.254 'wildmatch (via ls-files): no match 'a[]-]b' 'aab'':
>expect &&
git --glob-pathspecs ls-files -z -- 'a[]-]b' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 254 - wildmatch (via ls-files): no match 'a[]-]b' 'aab'
expecting success of 3070.255 'iwildmatch: no match 'aab' 'a[]-]b'':
test_must_fail test-tool wildmatch iwildmatch 'aab' 'a[]-]b'
ok 255 - iwildmatch: no match 'aab' 'a[]-]b'
expecting success of 3070.256 'iwildmatch (via ls-files): no match 'a[]-]b' 'aab'':
>expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- 'a[]-]b' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 256 - iwildmatch (via ls-files): no match 'a[]-]b' 'aab'
expecting success of 3070.257 'pathmatch: no match 'aab' 'a[]-]b'':
test_must_fail test-tool wildmatch pathmatch 'aab' 'a[]-]b'
ok 257 - pathmatch: no match 'aab' 'a[]-]b'
expecting success of 3070.258 'pathmatch (via ls-files): no match 'a[]-]b' 'aab'':
>expect &&
git ls-files -z -- 'a[]-]b' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 258 - pathmatch (via ls-files): no match 'a[]-]b' 'aab'
expecting success of 3070.259 'ipathmatch: no match 'aab' 'a[]-]b'':
test_must_fail test-tool wildmatch ipathmatch 'aab' 'a[]-]b'
ok 259 - ipathmatch: no match 'aab' 'a[]-]b'
expecting success of 3070.260 'ipathmatch (via ls-files): no match 'a[]-]b' 'aab'':
>expect &&
git --icase-pathspecs ls-files -z -- 'a[]-]b' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 260 - ipathmatch (via ls-files): no match 'a[]-]b' 'aab'
expecting success of 3070.261 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing aab
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 261 - cleanup after previous file test
expecting success of 3070.262 'setup match file test for aab':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 262 - setup match file test for aab
expecting success of 3070.263 'wildmatch: match 'aab' 'a[]a-]b'':
test-tool wildmatch wildmatch 'aab' 'a[]a-]b'
ok 263 - wildmatch: match 'aab' 'a[]a-]b'
expecting success of 3070.264 'wildmatch (via ls-files): match 'a[]a-]b' 'aab'':
printf '%s' 'aab' >expect &&
git --glob-pathspecs ls-files -z -- 'a[]a-]b' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 264 - wildmatch (via ls-files): match 'a[]a-]b' 'aab'
expecting success of 3070.265 'iwildmatch: match 'aab' 'a[]a-]b'':
test-tool wildmatch iwildmatch 'aab' 'a[]a-]b'
ok 265 - iwildmatch: match 'aab' 'a[]a-]b'
expecting success of 3070.266 'iwildmatch (via ls-files): match 'a[]a-]b' 'aab'':
printf '%s' 'aab' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- 'a[]a-]b' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 266 - iwildmatch (via ls-files): match 'a[]a-]b' 'aab'
expecting success of 3070.267 'pathmatch: match 'aab' 'a[]a-]b'':
test-tool wildmatch pathmatch 'aab' 'a[]a-]b'
ok 267 - pathmatch: match 'aab' 'a[]a-]b'
expecting success of 3070.268 'pathmatch (via ls-files): match 'a[]a-]b' 'aab'':
printf '%s' 'aab' >expect &&
git ls-files -z -- 'a[]a-]b' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 268 - pathmatch (via ls-files): match 'a[]a-]b' 'aab'
expecting success of 3070.269 'ipathmatch: match 'aab' 'a[]a-]b'':
test-tool wildmatch ipathmatch 'aab' 'a[]a-]b'
ok 269 - ipathmatch: match 'aab' 'a[]a-]b'
expecting success of 3070.270 'ipathmatch (via ls-files): match 'a[]a-]b' 'aab'':
printf '%s' 'aab' >expect &&
git --icase-pathspecs ls-files -z -- 'a[]a-]b' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 270 - ipathmatch (via ls-files): match 'a[]a-]b' 'aab'
expecting success of 3070.271 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing aab
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 271 - cleanup after previous file test
expecting success of 3070.272 'setup match file test for ]':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 272 - setup match file test for ]
expecting success of 3070.273 'wildmatch: match ']' ']'':
test-tool wildmatch wildmatch ']' ']'
ok 273 - wildmatch: match ']' ']'
expecting success of 3070.274 'wildmatch (via ls-files): match ']' ']'':
printf '%s' ']' >expect &&
git --glob-pathspecs ls-files -z -- ']' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 274 - wildmatch (via ls-files): match ']' ']'
expecting success of 3070.275 'iwildmatch: match ']' ']'':
test-tool wildmatch iwildmatch ']' ']'
ok 275 - iwildmatch: match ']' ']'
expecting success of 3070.276 'iwildmatch (via ls-files): match ']' ']'':
printf '%s' ']' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- ']' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 276 - iwildmatch (via ls-files): match ']' ']'
expecting success of 3070.277 'pathmatch: match ']' ']'':
test-tool wildmatch pathmatch ']' ']'
ok 277 - pathmatch: match ']' ']'
expecting success of 3070.278 'pathmatch (via ls-files): match ']' ']'':
printf '%s' ']' >expect &&
git ls-files -z -- ']' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 278 - pathmatch (via ls-files): match ']' ']'
expecting success of 3070.279 'ipathmatch: match ']' ']'':
test-tool wildmatch ipathmatch ']' ']'
ok 279 - ipathmatch: match ']' ']'
expecting success of 3070.280 'ipathmatch (via ls-files): match ']' ']'':
printf '%s' ']' >expect &&
git --icase-pathspecs ls-files -z -- ']' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 280 - ipathmatch (via ls-files): match ']' ']'
expecting success of 3070.281 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing ]
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 281 - cleanup after previous file test
expecting success of 3070.282 'setup match file test for foo/baz/bar':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 282 - setup match file test for foo/baz/bar
expecting success of 3070.283 'wildmatch: no match 'foo/baz/bar' 'foo*bar'':
test_must_fail test-tool wildmatch wildmatch 'foo/baz/bar' 'foo*bar'
ok 283 - wildmatch: no match 'foo/baz/bar' 'foo*bar'
expecting success of 3070.284 'wildmatch (via ls-files): no match 'foo*bar' 'foo/baz/bar'':
>expect &&
git --glob-pathspecs ls-files -z -- 'foo*bar' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 284 - wildmatch (via ls-files): no match 'foo*bar' 'foo/baz/bar'
expecting success of 3070.285 'iwildmatch: no match 'foo/baz/bar' 'foo*bar'':
test_must_fail test-tool wildmatch iwildmatch 'foo/baz/bar' 'foo*bar'
ok 285 - iwildmatch: no match 'foo/baz/bar' 'foo*bar'
expecting success of 3070.286 'iwildmatch (via ls-files): no match 'foo*bar' 'foo/baz/bar'':
>expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- 'foo*bar' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 286 - iwildmatch (via ls-files): no match 'foo*bar' 'foo/baz/bar'
expecting success of 3070.287 'pathmatch: match 'foo/baz/bar' 'foo*bar'':
test-tool wildmatch pathmatch 'foo/baz/bar' 'foo*bar'
ok 287 - pathmatch: match 'foo/baz/bar' 'foo*bar'
expecting success of 3070.288 'pathmatch (via ls-files): match 'foo*bar' 'foo/baz/bar'':
printf '%s' 'foo/baz/bar' >expect &&
git ls-files -z -- 'foo*bar' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 288 - pathmatch (via ls-files): match 'foo*bar' 'foo/baz/bar'
expecting success of 3070.289 'ipathmatch: match 'foo/baz/bar' 'foo*bar'':
test-tool wildmatch ipathmatch 'foo/baz/bar' 'foo*bar'
ok 289 - ipathmatch: match 'foo/baz/bar' 'foo*bar'
expecting success of 3070.290 'ipathmatch (via ls-files): match 'foo*bar' 'foo/baz/bar'':
printf '%s' 'foo/baz/bar' >expect &&
git --icase-pathspecs ls-files -z -- 'foo*bar' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 290 - ipathmatch (via ls-files): match 'foo*bar' 'foo/baz/bar'
expecting success of 3070.291 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
Removing foo/
ok 291 - cleanup after previous file test
expecting success of 3070.292 'setup match file test for foo/baz/bar':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 292 - setup match file test for foo/baz/bar
expecting success of 3070.293 'wildmatch: no match 'foo/baz/bar' 'foo**bar'':
test_must_fail test-tool wildmatch wildmatch 'foo/baz/bar' 'foo**bar'
ok 293 - wildmatch: no match 'foo/baz/bar' 'foo**bar'
expecting success of 3070.294 'wildmatch (via ls-files): no match 'foo**bar' 'foo/baz/bar'':
>expect &&
git --glob-pathspecs ls-files -z -- 'foo**bar' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 294 - wildmatch (via ls-files): no match 'foo**bar' 'foo/baz/bar'
expecting success of 3070.295 'iwildmatch: no match 'foo/baz/bar' 'foo**bar'':
test_must_fail test-tool wildmatch iwildmatch 'foo/baz/bar' 'foo**bar'
ok 295 - iwildmatch: no match 'foo/baz/bar' 'foo**bar'
expecting success of 3070.296 'iwildmatch (via ls-files): no match 'foo**bar' 'foo/baz/bar'':
>expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- 'foo**bar' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 296 - iwildmatch (via ls-files): no match 'foo**bar' 'foo/baz/bar'
expecting success of 3070.297 'pathmatch: match 'foo/baz/bar' 'foo**bar'':
test-tool wildmatch pathmatch 'foo/baz/bar' 'foo**bar'
ok 297 - pathmatch: match 'foo/baz/bar' 'foo**bar'
expecting success of 3070.298 'pathmatch (via ls-files): match 'foo**bar' 'foo/baz/bar'':
printf '%s' 'foo/baz/bar' >expect &&
git ls-files -z -- 'foo**bar' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 298 - pathmatch (via ls-files): match 'foo**bar' 'foo/baz/bar'
expecting success of 3070.299 'ipathmatch: match 'foo/baz/bar' 'foo**bar'':
test-tool wildmatch ipathmatch 'foo/baz/bar' 'foo**bar'
ok 299 - ipathmatch: match 'foo/baz/bar' 'foo**bar'
expecting success of 3070.300 'ipathmatch (via ls-files): match 'foo**bar' 'foo/baz/bar'':
printf '%s' 'foo/baz/bar' >expect &&
git --icase-pathspecs ls-files -z -- 'foo**bar' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 300 - ipathmatch (via ls-files): match 'foo**bar' 'foo/baz/bar'
expecting success of 3070.301 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
Removing foo/
ok 301 - cleanup after previous file test
expecting success of 3070.302 'setup match file test for foobazbar':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 302 - setup match file test for foobazbar
expecting success of 3070.303 'wildmatch: match 'foobazbar' 'foo**bar'':
test-tool wildmatch wildmatch 'foobazbar' 'foo**bar'
ok 303 - wildmatch: match 'foobazbar' 'foo**bar'
expecting success of 3070.304 'wildmatch (via ls-files): match 'foo**bar' 'foobazbar'':
printf '%s' 'foobazbar' >expect &&
git --glob-pathspecs ls-files -z -- 'foo**bar' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 304 - wildmatch (via ls-files): match 'foo**bar' 'foobazbar'
expecting success of 3070.305 'iwildmatch: match 'foobazbar' 'foo**bar'':
test-tool wildmatch iwildmatch 'foobazbar' 'foo**bar'
ok 305 - iwildmatch: match 'foobazbar' 'foo**bar'
expecting success of 3070.306 'iwildmatch (via ls-files): match 'foo**bar' 'foobazbar'':
printf '%s' 'foobazbar' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- 'foo**bar' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 306 - iwildmatch (via ls-files): match 'foo**bar' 'foobazbar'
expecting success of 3070.307 'pathmatch: match 'foobazbar' 'foo**bar'':
test-tool wildmatch pathmatch 'foobazbar' 'foo**bar'
ok 307 - pathmatch: match 'foobazbar' 'foo**bar'
expecting success of 3070.308 'pathmatch (via ls-files): match 'foo**bar' 'foobazbar'':
printf '%s' 'foobazbar' >expect &&
git ls-files -z -- 'foo**bar' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 308 - pathmatch (via ls-files): match 'foo**bar' 'foobazbar'
expecting success of 3070.309 'ipathmatch: match 'foobazbar' 'foo**bar'':
test-tool wildmatch ipathmatch 'foobazbar' 'foo**bar'
ok 309 - ipathmatch: match 'foobazbar' 'foo**bar'
expecting success of 3070.310 'ipathmatch (via ls-files): match 'foo**bar' 'foobazbar'':
printf '%s' 'foobazbar' >expect &&
git --icase-pathspecs ls-files -z -- 'foo**bar' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 310 - ipathmatch (via ls-files): match 'foo**bar' 'foobazbar'
expecting success of 3070.311 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
Removing foobazbar
ok 311 - cleanup after previous file test
expecting success of 3070.312 'setup match file test for foo/baz/bar':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 312 - setup match file test for foo/baz/bar
expecting success of 3070.313 'wildmatch: match 'foo/baz/bar' 'foo/**/bar'':
test-tool wildmatch wildmatch 'foo/baz/bar' 'foo/**/bar'
ok 313 - wildmatch: match 'foo/baz/bar' 'foo/**/bar'
expecting success of 3070.314 'wildmatch (via ls-files): match 'foo/**/bar' 'foo/baz/bar'':
printf '%s' 'foo/baz/bar' >expect &&
git --glob-pathspecs ls-files -z -- 'foo/**/bar' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 314 - wildmatch (via ls-files): match 'foo/**/bar' 'foo/baz/bar'
expecting success of 3070.315 'iwildmatch: match 'foo/baz/bar' 'foo/**/bar'':
test-tool wildmatch iwildmatch 'foo/baz/bar' 'foo/**/bar'
ok 315 - iwildmatch: match 'foo/baz/bar' 'foo/**/bar'
expecting success of 3070.316 'iwildmatch (via ls-files): match 'foo/**/bar' 'foo/baz/bar'':
printf '%s' 'foo/baz/bar' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- 'foo/**/bar' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 316 - iwildmatch (via ls-files): match 'foo/**/bar' 'foo/baz/bar'
expecting success of 3070.317 'pathmatch: match 'foo/baz/bar' 'foo/**/bar'':
test-tool wildmatch pathmatch 'foo/baz/bar' 'foo/**/bar'
ok 317 - pathmatch: match 'foo/baz/bar' 'foo/**/bar'
expecting success of 3070.318 'pathmatch (via ls-files): match 'foo/**/bar' 'foo/baz/bar'':
printf '%s' 'foo/baz/bar' >expect &&
git ls-files -z -- 'foo/**/bar' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 318 - pathmatch (via ls-files): match 'foo/**/bar' 'foo/baz/bar'
expecting success of 3070.319 'ipathmatch: match 'foo/baz/bar' 'foo/**/bar'':
test-tool wildmatch ipathmatch 'foo/baz/bar' 'foo/**/bar'
ok 319 - ipathmatch: match 'foo/baz/bar' 'foo/**/bar'
expecting success of 3070.320 'ipathmatch (via ls-files): match 'foo/**/bar' 'foo/baz/bar'':
printf '%s' 'foo/baz/bar' >expect &&
git --icase-pathspecs ls-files -z -- 'foo/**/bar' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 320 - ipathmatch (via ls-files): match 'foo/**/bar' 'foo/baz/bar'
expecting success of 3070.321 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
Removing foo/
ok 321 - cleanup after previous file test
expecting success of 3070.322 'setup match file test for foo/baz/bar':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 322 - setup match file test for foo/baz/bar
expecting success of 3070.323 'wildmatch: match 'foo/baz/bar' 'foo/**/**/bar'':
test-tool wildmatch wildmatch 'foo/baz/bar' 'foo/**/**/bar'
ok 323 - wildmatch: match 'foo/baz/bar' 'foo/**/**/bar'
expecting success of 3070.324 'wildmatch (via ls-files): match 'foo/**/**/bar' 'foo/baz/bar'':
printf '%s' 'foo/baz/bar' >expect &&
git --glob-pathspecs ls-files -z -- 'foo/**/**/bar' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 324 - wildmatch (via ls-files): match 'foo/**/**/bar' 'foo/baz/bar'
expecting success of 3070.325 'iwildmatch: match 'foo/baz/bar' 'foo/**/**/bar'':
test-tool wildmatch iwildmatch 'foo/baz/bar' 'foo/**/**/bar'
ok 325 - iwildmatch: match 'foo/baz/bar' 'foo/**/**/bar'
expecting success of 3070.326 'iwildmatch (via ls-files): match 'foo/**/**/bar' 'foo/baz/bar'':
printf '%s' 'foo/baz/bar' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- 'foo/**/**/bar' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 326 - iwildmatch (via ls-files): match 'foo/**/**/bar' 'foo/baz/bar'
expecting success of 3070.327 'pathmatch: no match 'foo/baz/bar' 'foo/**/**/bar'':
test_must_fail test-tool wildmatch pathmatch 'foo/baz/bar' 'foo/**/**/bar'
ok 327 - pathmatch: no match 'foo/baz/bar' 'foo/**/**/bar'
expecting success of 3070.328 'pathmatch (via ls-files): no match 'foo/**/**/bar' 'foo/baz/bar'':
>expect &&
git ls-files -z -- 'foo/**/**/bar' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 328 - pathmatch (via ls-files): no match 'foo/**/**/bar' 'foo/baz/bar'
expecting success of 3070.329 'ipathmatch: no match 'foo/baz/bar' 'foo/**/**/bar'':
test_must_fail test-tool wildmatch ipathmatch 'foo/baz/bar' 'foo/**/**/bar'
ok 329 - ipathmatch: no match 'foo/baz/bar' 'foo/**/**/bar'
expecting success of 3070.330 'ipathmatch (via ls-files): no match 'foo/**/**/bar' 'foo/baz/bar'':
>expect &&
git --icase-pathspecs ls-files -z -- 'foo/**/**/bar' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 330 - ipathmatch (via ls-files): no match 'foo/**/**/bar' 'foo/baz/bar'
expecting success of 3070.331 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
Removing foo/
ok 331 - cleanup after previous file test
expecting success of 3070.332 'setup match file test for foo/b/a/z/bar':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 332 - setup match file test for foo/b/a/z/bar
expecting success of 3070.333 'wildmatch: match 'foo/b/a/z/bar' 'foo/**/bar'':
test-tool wildmatch wildmatch 'foo/b/a/z/bar' 'foo/**/bar'
ok 333 - wildmatch: match 'foo/b/a/z/bar' 'foo/**/bar'
expecting success of 3070.334 'wildmatch (via ls-files): match 'foo/**/bar' 'foo/b/a/z/bar'':
printf '%s' 'foo/b/a/z/bar' >expect &&
git --glob-pathspecs ls-files -z -- 'foo/**/bar' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 334 - wildmatch (via ls-files): match 'foo/**/bar' 'foo/b/a/z/bar'
expecting success of 3070.335 'iwildmatch: match 'foo/b/a/z/bar' 'foo/**/bar'':
test-tool wildmatch iwildmatch 'foo/b/a/z/bar' 'foo/**/bar'
ok 335 - iwildmatch: match 'foo/b/a/z/bar' 'foo/**/bar'
expecting success of 3070.336 'iwildmatch (via ls-files): match 'foo/**/bar' 'foo/b/a/z/bar'':
printf '%s' 'foo/b/a/z/bar' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- 'foo/**/bar' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 336 - iwildmatch (via ls-files): match 'foo/**/bar' 'foo/b/a/z/bar'
expecting success of 3070.337 'pathmatch: match 'foo/b/a/z/bar' 'foo/**/bar'':
test-tool wildmatch pathmatch 'foo/b/a/z/bar' 'foo/**/bar'
ok 337 - pathmatch: match 'foo/b/a/z/bar' 'foo/**/bar'
expecting success of 3070.338 'pathmatch (via ls-files): match 'foo/**/bar' 'foo/b/a/z/bar'':
printf '%s' 'foo/b/a/z/bar' >expect &&
git ls-files -z -- 'foo/**/bar' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 338 - pathmatch (via ls-files): match 'foo/**/bar' 'foo/b/a/z/bar'
expecting success of 3070.339 'ipathmatch: match 'foo/b/a/z/bar' 'foo/**/bar'':
test-tool wildmatch ipathmatch 'foo/b/a/z/bar' 'foo/**/bar'
ok 339 - ipathmatch: match 'foo/b/a/z/bar' 'foo/**/bar'
expecting success of 3070.340 'ipathmatch (via ls-files): match 'foo/**/bar' 'foo/b/a/z/bar'':
printf '%s' 'foo/b/a/z/bar' >expect &&
git --icase-pathspecs ls-files -z -- 'foo/**/bar' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 340 - ipathmatch (via ls-files): match 'foo/**/bar' 'foo/b/a/z/bar'
expecting success of 3070.341 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
Removing foo/
ok 341 - cleanup after previous file test
expecting success of 3070.342 'setup match file test for foo/b/a/z/bar':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 342 - setup match file test for foo/b/a/z/bar
expecting success of 3070.343 'wildmatch: match 'foo/b/a/z/bar' 'foo/**/**/bar'':
test-tool wildmatch wildmatch 'foo/b/a/z/bar' 'foo/**/**/bar'
ok 343 - wildmatch: match 'foo/b/a/z/bar' 'foo/**/**/bar'
expecting success of 3070.344 'wildmatch (via ls-files): match 'foo/**/**/bar' 'foo/b/a/z/bar'':
printf '%s' 'foo/b/a/z/bar' >expect &&
git --glob-pathspecs ls-files -z -- 'foo/**/**/bar' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 344 - wildmatch (via ls-files): match 'foo/**/**/bar' 'foo/b/a/z/bar'
expecting success of 3070.345 'iwildmatch: match 'foo/b/a/z/bar' 'foo/**/**/bar'':
test-tool wildmatch iwildmatch 'foo/b/a/z/bar' 'foo/**/**/bar'
ok 345 - iwildmatch: match 'foo/b/a/z/bar' 'foo/**/**/bar'
expecting success of 3070.346 'iwildmatch (via ls-files): match 'foo/**/**/bar' 'foo/b/a/z/bar'':
printf '%s' 'foo/b/a/z/bar' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- 'foo/**/**/bar' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 346 - iwildmatch (via ls-files): match 'foo/**/**/bar' 'foo/b/a/z/bar'
expecting success of 3070.347 'pathmatch: match 'foo/b/a/z/bar' 'foo/**/**/bar'':
test-tool wildmatch pathmatch 'foo/b/a/z/bar' 'foo/**/**/bar'
ok 347 - pathmatch: match 'foo/b/a/z/bar' 'foo/**/**/bar'
expecting success of 3070.348 'pathmatch (via ls-files): match 'foo/**/**/bar' 'foo/b/a/z/bar'':
printf '%s' 'foo/b/a/z/bar' >expect &&
git ls-files -z -- 'foo/**/**/bar' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 348 - pathmatch (via ls-files): match 'foo/**/**/bar' 'foo/b/a/z/bar'
expecting success of 3070.349 'ipathmatch: match 'foo/b/a/z/bar' 'foo/**/**/bar'':
test-tool wildmatch ipathmatch 'foo/b/a/z/bar' 'foo/**/**/bar'
ok 349 - ipathmatch: match 'foo/b/a/z/bar' 'foo/**/**/bar'
expecting success of 3070.350 'ipathmatch (via ls-files): match 'foo/**/**/bar' 'foo/b/a/z/bar'':
printf '%s' 'foo/b/a/z/bar' >expect &&
git --icase-pathspecs ls-files -z -- 'foo/**/**/bar' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 350 - ipathmatch (via ls-files): match 'foo/**/**/bar' 'foo/b/a/z/bar'
expecting success of 3070.351 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
Removing foo/
ok 351 - cleanup after previous file test
expecting success of 3070.352 'setup match file test for foo/bar':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 352 - setup match file test for foo/bar
expecting success of 3070.353 'wildmatch: match 'foo/bar' 'foo/**/bar'':
test-tool wildmatch wildmatch 'foo/bar' 'foo/**/bar'
ok 353 - wildmatch: match 'foo/bar' 'foo/**/bar'
expecting success of 3070.354 'wildmatch (via ls-files): match 'foo/**/bar' 'foo/bar'':
printf '%s' 'foo/bar' >expect &&
git --glob-pathspecs ls-files -z -- 'foo/**/bar' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 354 - wildmatch (via ls-files): match 'foo/**/bar' 'foo/bar'
expecting success of 3070.355 'iwildmatch: match 'foo/bar' 'foo/**/bar'':
test-tool wildmatch iwildmatch 'foo/bar' 'foo/**/bar'
ok 355 - iwildmatch: match 'foo/bar' 'foo/**/bar'
expecting success of 3070.356 'iwildmatch (via ls-files): match 'foo/**/bar' 'foo/bar'':
printf '%s' 'foo/bar' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- 'foo/**/bar' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 356 - iwildmatch (via ls-files): match 'foo/**/bar' 'foo/bar'
expecting success of 3070.357 'pathmatch: no match 'foo/bar' 'foo/**/bar'':
test_must_fail test-tool wildmatch pathmatch 'foo/bar' 'foo/**/bar'
ok 357 - pathmatch: no match 'foo/bar' 'foo/**/bar'
expecting success of 3070.358 'pathmatch (via ls-files): no match 'foo/**/bar' 'foo/bar'':
>expect &&
git ls-files -z -- 'foo/**/bar' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 358 - pathmatch (via ls-files): no match 'foo/**/bar' 'foo/bar'
expecting success of 3070.359 'ipathmatch: no match 'foo/bar' 'foo/**/bar'':
test_must_fail test-tool wildmatch ipathmatch 'foo/bar' 'foo/**/bar'
ok 359 - ipathmatch: no match 'foo/bar' 'foo/**/bar'
expecting success of 3070.360 'ipathmatch (via ls-files): no match 'foo/**/bar' 'foo/bar'':
>expect &&
git --icase-pathspecs ls-files -z -- 'foo/**/bar' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 360 - ipathmatch (via ls-files): no match 'foo/**/bar' 'foo/bar'
expecting success of 3070.361 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
Removing foo/
ok 361 - cleanup after previous file test
expecting success of 3070.362 'setup match file test for foo/bar':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 362 - setup match file test for foo/bar
expecting success of 3070.363 'wildmatch: match 'foo/bar' 'foo/**/**/bar'':
test-tool wildmatch wildmatch 'foo/bar' 'foo/**/**/bar'
ok 363 - wildmatch: match 'foo/bar' 'foo/**/**/bar'
expecting success of 3070.364 'wildmatch (via ls-files): match 'foo/**/**/bar' 'foo/bar'':
printf '%s' 'foo/bar' >expect &&
git --glob-pathspecs ls-files -z -- 'foo/**/**/bar' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 364 - wildmatch (via ls-files): match 'foo/**/**/bar' 'foo/bar'
expecting success of 3070.365 'iwildmatch: match 'foo/bar' 'foo/**/**/bar'':
test-tool wildmatch iwildmatch 'foo/bar' 'foo/**/**/bar'
ok 365 - iwildmatch: match 'foo/bar' 'foo/**/**/bar'
expecting success of 3070.366 'iwildmatch (via ls-files): match 'foo/**/**/bar' 'foo/bar'':
printf '%s' 'foo/bar' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- 'foo/**/**/bar' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 366 - iwildmatch (via ls-files): match 'foo/**/**/bar' 'foo/bar'
expecting success of 3070.367 'pathmatch: no match 'foo/bar' 'foo/**/**/bar'':
test_must_fail test-tool wildmatch pathmatch 'foo/bar' 'foo/**/**/bar'
ok 367 - pathmatch: no match 'foo/bar' 'foo/**/**/bar'
expecting success of 3070.368 'pathmatch (via ls-files): no match 'foo/**/**/bar' 'foo/bar'':
>expect &&
git ls-files -z -- 'foo/**/**/bar' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 368 - pathmatch (via ls-files): no match 'foo/**/**/bar' 'foo/bar'
expecting success of 3070.369 'ipathmatch: no match 'foo/bar' 'foo/**/**/bar'':
test_must_fail test-tool wildmatch ipathmatch 'foo/bar' 'foo/**/**/bar'
ok 369 - ipathmatch: no match 'foo/bar' 'foo/**/**/bar'
expecting success of 3070.370 'ipathmatch (via ls-files): no match 'foo/**/**/bar' 'foo/bar'':
>expect &&
git --icase-pathspecs ls-files -z -- 'foo/**/**/bar' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 370 - ipathmatch (via ls-files): no match 'foo/**/**/bar' 'foo/bar'
expecting success of 3070.371 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
Removing foo/
ok 371 - cleanup after previous file test
expecting success of 3070.372 'setup match file test for foo/bar':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 372 - setup match file test for foo/bar
expecting success of 3070.373 'wildmatch: no match 'foo/bar' 'foo?bar'':
test_must_fail test-tool wildmatch wildmatch 'foo/bar' 'foo?bar'
ok 373 - wildmatch: no match 'foo/bar' 'foo?bar'
expecting success of 3070.374 'wildmatch (via ls-files): no match 'foo?bar' 'foo/bar'':
>expect &&
git --glob-pathspecs ls-files -z -- 'foo?bar' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 374 - wildmatch (via ls-files): no match 'foo?bar' 'foo/bar'
expecting success of 3070.375 'iwildmatch: no match 'foo/bar' 'foo?bar'':
test_must_fail test-tool wildmatch iwildmatch 'foo/bar' 'foo?bar'
ok 375 - iwildmatch: no match 'foo/bar' 'foo?bar'
expecting success of 3070.376 'iwildmatch (via ls-files): no match 'foo?bar' 'foo/bar'':
>expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- 'foo?bar' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 376 - iwildmatch (via ls-files): no match 'foo?bar' 'foo/bar'
expecting success of 3070.377 'pathmatch: match 'foo/bar' 'foo?bar'':
test-tool wildmatch pathmatch 'foo/bar' 'foo?bar'
ok 377 - pathmatch: match 'foo/bar' 'foo?bar'
expecting success of 3070.378 'pathmatch (via ls-files): match 'foo?bar' 'foo/bar'':
printf '%s' 'foo/bar' >expect &&
git ls-files -z -- 'foo?bar' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 378 - pathmatch (via ls-files): match 'foo?bar' 'foo/bar'
expecting success of 3070.379 'ipathmatch: match 'foo/bar' 'foo?bar'':
test-tool wildmatch ipathmatch 'foo/bar' 'foo?bar'
ok 379 - ipathmatch: match 'foo/bar' 'foo?bar'
expecting success of 3070.380 'ipathmatch (via ls-files): match 'foo?bar' 'foo/bar'':
printf '%s' 'foo/bar' >expect &&
git --icase-pathspecs ls-files -z -- 'foo?bar' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 380 - ipathmatch (via ls-files): match 'foo?bar' 'foo/bar'
expecting success of 3070.381 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
Removing foo/
ok 381 - cleanup after previous file test
expecting success of 3070.382 'setup match file test for foo/bar':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 382 - setup match file test for foo/bar
expecting success of 3070.383 'wildmatch: no match 'foo/bar' 'foo[/]bar'':
test_must_fail test-tool wildmatch wildmatch 'foo/bar' 'foo[/]bar'
ok 383 - wildmatch: no match 'foo/bar' 'foo[/]bar'
expecting success of 3070.384 'wildmatch (via ls-files): no match 'foo[/]bar' 'foo/bar'':
>expect &&
git --glob-pathspecs ls-files -z -- 'foo[/]bar' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 384 - wildmatch (via ls-files): no match 'foo[/]bar' 'foo/bar'
expecting success of 3070.385 'iwildmatch: no match 'foo/bar' 'foo[/]bar'':
test_must_fail test-tool wildmatch iwildmatch 'foo/bar' 'foo[/]bar'
ok 385 - iwildmatch: no match 'foo/bar' 'foo[/]bar'
expecting success of 3070.386 'iwildmatch (via ls-files): no match 'foo[/]bar' 'foo/bar'':
>expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- 'foo[/]bar' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 386 - iwildmatch (via ls-files): no match 'foo[/]bar' 'foo/bar'
expecting success of 3070.387 'pathmatch: match 'foo/bar' 'foo[/]bar'':
test-tool wildmatch pathmatch 'foo/bar' 'foo[/]bar'
ok 387 - pathmatch: match 'foo/bar' 'foo[/]bar'
expecting success of 3070.388 'pathmatch (via ls-files): match 'foo[/]bar' 'foo/bar'':
printf '%s' 'foo/bar' >expect &&
git ls-files -z -- 'foo[/]bar' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 388 - pathmatch (via ls-files): match 'foo[/]bar' 'foo/bar'
expecting success of 3070.389 'ipathmatch: match 'foo/bar' 'foo[/]bar'':
test-tool wildmatch ipathmatch 'foo/bar' 'foo[/]bar'
ok 389 - ipathmatch: match 'foo/bar' 'foo[/]bar'
expecting success of 3070.390 'ipathmatch (via ls-files): match 'foo[/]bar' 'foo/bar'':
printf '%s' 'foo/bar' >expect &&
git --icase-pathspecs ls-files -z -- 'foo[/]bar' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 390 - ipathmatch (via ls-files): match 'foo[/]bar' 'foo/bar'
expecting success of 3070.391 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
Removing foo/
ok 391 - cleanup after previous file test
expecting success of 3070.392 'setup match file test for foo/bar':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 392 - setup match file test for foo/bar
expecting success of 3070.393 'wildmatch: no match 'foo/bar' 'foo[^a-z]bar'':
test_must_fail test-tool wildmatch wildmatch 'foo/bar' 'foo[^a-z]bar'
ok 393 - wildmatch: no match 'foo/bar' 'foo[^a-z]bar'
expecting success of 3070.394 'wildmatch (via ls-files): no match 'foo[^a-z]bar' 'foo/bar'':
>expect &&
git --glob-pathspecs ls-files -z -- 'foo[^a-z]bar' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 394 - wildmatch (via ls-files): no match 'foo[^a-z]bar' 'foo/bar'
expecting success of 3070.395 'iwildmatch: no match 'foo/bar' 'foo[^a-z]bar'':
test_must_fail test-tool wildmatch iwildmatch 'foo/bar' 'foo[^a-z]bar'
ok 395 - iwildmatch: no match 'foo/bar' 'foo[^a-z]bar'
expecting success of 3070.396 'iwildmatch (via ls-files): no match 'foo[^a-z]bar' 'foo/bar'':
>expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- 'foo[^a-z]bar' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 396 - iwildmatch (via ls-files): no match 'foo[^a-z]bar' 'foo/bar'
expecting success of 3070.397 'pathmatch: match 'foo/bar' 'foo[^a-z]bar'':
test-tool wildmatch pathmatch 'foo/bar' 'foo[^a-z]bar'
ok 397 - pathmatch: match 'foo/bar' 'foo[^a-z]bar'
expecting success of 3070.398 'pathmatch (via ls-files): match 'foo[^a-z]bar' 'foo/bar'':
printf '%s' 'foo/bar' >expect &&
git ls-files -z -- 'foo[^a-z]bar' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 398 - pathmatch (via ls-files): match 'foo[^a-z]bar' 'foo/bar'
expecting success of 3070.399 'ipathmatch: match 'foo/bar' 'foo[^a-z]bar'':
test-tool wildmatch ipathmatch 'foo/bar' 'foo[^a-z]bar'
ok 399 - ipathmatch: match 'foo/bar' 'foo[^a-z]bar'
expecting success of 3070.400 'ipathmatch (via ls-files): match 'foo[^a-z]bar' 'foo/bar'':
printf '%s' 'foo/bar' >expect &&
git --icase-pathspecs ls-files -z -- 'foo[^a-z]bar' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 400 - ipathmatch (via ls-files): match 'foo[^a-z]bar' 'foo/bar'
expecting success of 3070.401 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
Removing foo/
ok 401 - cleanup after previous file test
expecting success of 3070.402 'setup match file test for foo/bar':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 402 - setup match file test for foo/bar
expecting success of 3070.403 'wildmatch: no match 'foo/bar' 'f[^eiu][^eiu][^eiu][^eiu][^eiu]r'':
test_must_fail test-tool wildmatch wildmatch 'foo/bar' 'f[^eiu][^eiu][^eiu][^eiu][^eiu]r'
ok 403 - wildmatch: no match 'foo/bar' 'f[^eiu][^eiu][^eiu][^eiu][^eiu]r'
expecting success of 3070.404 'wildmatch (via ls-files): no match 'f[^eiu][^eiu][^eiu][^eiu][^eiu]r' 'foo/bar'':
>expect &&
git --glob-pathspecs ls-files -z -- 'f[^eiu][^eiu][^eiu][^eiu][^eiu]r' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 404 - wildmatch (via ls-files): no match 'f[^eiu][^eiu][^eiu][^eiu][^eiu]r' 'foo/bar'
expecting success of 3070.405 'iwildmatch: no match 'foo/bar' 'f[^eiu][^eiu][^eiu][^eiu][^eiu]r'':
test_must_fail test-tool wildmatch iwildmatch 'foo/bar' 'f[^eiu][^eiu][^eiu][^eiu][^eiu]r'
ok 405 - iwildmatch: no match 'foo/bar' 'f[^eiu][^eiu][^eiu][^eiu][^eiu]r'
expecting success of 3070.406 'iwildmatch (via ls-files): no match 'f[^eiu][^eiu][^eiu][^eiu][^eiu]r' 'foo/bar'':
>expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- 'f[^eiu][^eiu][^eiu][^eiu][^eiu]r' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 406 - iwildmatch (via ls-files): no match 'f[^eiu][^eiu][^eiu][^eiu][^eiu]r' 'foo/bar'
expecting success of 3070.407 'pathmatch: match 'foo/bar' 'f[^eiu][^eiu][^eiu][^eiu][^eiu]r'':
test-tool wildmatch pathmatch 'foo/bar' 'f[^eiu][^eiu][^eiu][^eiu][^eiu]r'
ok 407 - pathmatch: match 'foo/bar' 'f[^eiu][^eiu][^eiu][^eiu][^eiu]r'
expecting success of 3070.408 'pathmatch (via ls-files): match 'f[^eiu][^eiu][^eiu][^eiu][^eiu]r' 'foo/bar'':
printf '%s' 'foo/bar' >expect &&
git ls-files -z -- 'f[^eiu][^eiu][^eiu][^eiu][^eiu]r' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 408 - pathmatch (via ls-files): match 'f[^eiu][^eiu][^eiu][^eiu][^eiu]r' 'foo/bar'
expecting success of 3070.409 'ipathmatch: match 'foo/bar' 'f[^eiu][^eiu][^eiu][^eiu][^eiu]r'':
test-tool wildmatch ipathmatch 'foo/bar' 'f[^eiu][^eiu][^eiu][^eiu][^eiu]r'
ok 409 - ipathmatch: match 'foo/bar' 'f[^eiu][^eiu][^eiu][^eiu][^eiu]r'
expecting success of 3070.410 'ipathmatch (via ls-files): match 'f[^eiu][^eiu][^eiu][^eiu][^eiu]r' 'foo/bar'':
printf '%s' 'foo/bar' >expect &&
git --icase-pathspecs ls-files -z -- 'f[^eiu][^eiu][^eiu][^eiu][^eiu]r' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 410 - ipathmatch (via ls-files): match 'f[^eiu][^eiu][^eiu][^eiu][^eiu]r' 'foo/bar'
expecting success of 3070.411 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
Removing foo/
ok 411 - cleanup after previous file test
expecting success of 3070.412 'setup match file test for foo-bar':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 412 - setup match file test for foo-bar
expecting success of 3070.413 'wildmatch: match 'foo-bar' 'f[^eiu][^eiu][^eiu][^eiu][^eiu]r'':
test-tool wildmatch wildmatch 'foo-bar' 'f[^eiu][^eiu][^eiu][^eiu][^eiu]r'
ok 413 - wildmatch: match 'foo-bar' 'f[^eiu][^eiu][^eiu][^eiu][^eiu]r'
expecting success of 3070.414 'wildmatch (via ls-files): match 'f[^eiu][^eiu][^eiu][^eiu][^eiu]r' 'foo-bar'':
printf '%s' 'foo-bar' >expect &&
git --glob-pathspecs ls-files -z -- 'f[^eiu][^eiu][^eiu][^eiu][^eiu]r' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 414 - wildmatch (via ls-files): match 'f[^eiu][^eiu][^eiu][^eiu][^eiu]r' 'foo-bar'
expecting success of 3070.415 'iwildmatch: match 'foo-bar' 'f[^eiu][^eiu][^eiu][^eiu][^eiu]r'':
test-tool wildmatch iwildmatch 'foo-bar' 'f[^eiu][^eiu][^eiu][^eiu][^eiu]r'
ok 415 - iwildmatch: match 'foo-bar' 'f[^eiu][^eiu][^eiu][^eiu][^eiu]r'
expecting success of 3070.416 'iwildmatch (via ls-files): match 'f[^eiu][^eiu][^eiu][^eiu][^eiu]r' 'foo-bar'':
printf '%s' 'foo-bar' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- 'f[^eiu][^eiu][^eiu][^eiu][^eiu]r' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 416 - iwildmatch (via ls-files): match 'f[^eiu][^eiu][^eiu][^eiu][^eiu]r' 'foo-bar'
expecting success of 3070.417 'pathmatch: match 'foo-bar' 'f[^eiu][^eiu][^eiu][^eiu][^eiu]r'':
test-tool wildmatch pathmatch 'foo-bar' 'f[^eiu][^eiu][^eiu][^eiu][^eiu]r'
ok 417 - pathmatch: match 'foo-bar' 'f[^eiu][^eiu][^eiu][^eiu][^eiu]r'
expecting success of 3070.418 'pathmatch (via ls-files): match 'f[^eiu][^eiu][^eiu][^eiu][^eiu]r' 'foo-bar'':
printf '%s' 'foo-bar' >expect &&
git ls-files -z -- 'f[^eiu][^eiu][^eiu][^eiu][^eiu]r' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 418 - pathmatch (via ls-files): match 'f[^eiu][^eiu][^eiu][^eiu][^eiu]r' 'foo-bar'
expecting success of 3070.419 'ipathmatch: match 'foo-bar' 'f[^eiu][^eiu][^eiu][^eiu][^eiu]r'':
test-tool wildmatch ipathmatch 'foo-bar' 'f[^eiu][^eiu][^eiu][^eiu][^eiu]r'
ok 419 - ipathmatch: match 'foo-bar' 'f[^eiu][^eiu][^eiu][^eiu][^eiu]r'
expecting success of 3070.420 'ipathmatch (via ls-files): match 'f[^eiu][^eiu][^eiu][^eiu][^eiu]r' 'foo-bar'':
printf '%s' 'foo-bar' >expect &&
git --icase-pathspecs ls-files -z -- 'f[^eiu][^eiu][^eiu][^eiu][^eiu]r' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 420 - ipathmatch (via ls-files): match 'f[^eiu][^eiu][^eiu][^eiu][^eiu]r' 'foo-bar'
expecting success of 3070.421 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
Removing foo-bar
ok 421 - cleanup after previous file test
expecting success of 3070.422 'setup match file test for foo':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 422 - setup match file test for foo
expecting success of 3070.423 'wildmatch: match 'foo' '**/foo'':
test-tool wildmatch wildmatch 'foo' '**/foo'
ok 423 - wildmatch: match 'foo' '**/foo'
expecting success of 3070.424 'wildmatch (via ls-files): match '**/foo' 'foo'':
printf '%s' 'foo' >expect &&
git --glob-pathspecs ls-files -z -- '**/foo' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 424 - wildmatch (via ls-files): match '**/foo' 'foo'
expecting success of 3070.425 'iwildmatch: match 'foo' '**/foo'':
test-tool wildmatch iwildmatch 'foo' '**/foo'
ok 425 - iwildmatch: match 'foo' '**/foo'
expecting success of 3070.426 'iwildmatch (via ls-files): match '**/foo' 'foo'':
printf '%s' 'foo' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '**/foo' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 426 - iwildmatch (via ls-files): match '**/foo' 'foo'
expecting success of 3070.427 'pathmatch: no match 'foo' '**/foo'':
test_must_fail test-tool wildmatch pathmatch 'foo' '**/foo'
ok 427 - pathmatch: no match 'foo' '**/foo'
expecting success of 3070.428 'pathmatch (via ls-files): no match '**/foo' 'foo'':
>expect &&
git ls-files -z -- '**/foo' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 428 - pathmatch (via ls-files): no match '**/foo' 'foo'
expecting success of 3070.429 'ipathmatch: no match 'foo' '**/foo'':
test_must_fail test-tool wildmatch ipathmatch 'foo' '**/foo'
ok 429 - ipathmatch: no match 'foo' '**/foo'
expecting success of 3070.430 'ipathmatch (via ls-files): no match '**/foo' 'foo'':
>expect &&
git --icase-pathspecs ls-files -z -- '**/foo' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 430 - ipathmatch (via ls-files): no match '**/foo' 'foo'
expecting success of 3070.431 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
Removing foo
ok 431 - cleanup after previous file test
expecting success of 3070.432 'setup match file test for XXX/foo':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 432 - setup match file test for XXX/foo
expecting success of 3070.433 'wildmatch: match 'XXX/foo' '**/foo'':
test-tool wildmatch wildmatch 'XXX/foo' '**/foo'
ok 433 - wildmatch: match 'XXX/foo' '**/foo'
expecting success of 3070.434 'wildmatch (via ls-files): match '**/foo' 'XXX/foo'':
printf '%s' 'XXX/foo' >expect &&
git --glob-pathspecs ls-files -z -- '**/foo' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 434 - wildmatch (via ls-files): match '**/foo' 'XXX/foo'
expecting success of 3070.435 'iwildmatch: match 'XXX/foo' '**/foo'':
test-tool wildmatch iwildmatch 'XXX/foo' '**/foo'
ok 435 - iwildmatch: match 'XXX/foo' '**/foo'
expecting success of 3070.436 'iwildmatch (via ls-files): match '**/foo' 'XXX/foo'':
printf '%s' 'XXX/foo' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '**/foo' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 436 - iwildmatch (via ls-files): match '**/foo' 'XXX/foo'
expecting success of 3070.437 'pathmatch: match 'XXX/foo' '**/foo'':
test-tool wildmatch pathmatch 'XXX/foo' '**/foo'
ok 437 - pathmatch: match 'XXX/foo' '**/foo'
expecting success of 3070.438 'pathmatch (via ls-files): match '**/foo' 'XXX/foo'':
printf '%s' 'XXX/foo' >expect &&
git ls-files -z -- '**/foo' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 438 - pathmatch (via ls-files): match '**/foo' 'XXX/foo'
expecting success of 3070.439 'ipathmatch: match 'XXX/foo' '**/foo'':
test-tool wildmatch ipathmatch 'XXX/foo' '**/foo'
ok 439 - ipathmatch: match 'XXX/foo' '**/foo'
expecting success of 3070.440 'ipathmatch (via ls-files): match '**/foo' 'XXX/foo'':
printf '%s' 'XXX/foo' >expect &&
git --icase-pathspecs ls-files -z -- '**/foo' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 440 - ipathmatch (via ls-files): match '**/foo' 'XXX/foo'
expecting success of 3070.441 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing XXX/
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 441 - cleanup after previous file test
expecting success of 3070.442 'setup match file test for bar/baz/foo':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 442 - setup match file test for bar/baz/foo
expecting success of 3070.443 'wildmatch: match 'bar/baz/foo' '**/foo'':
test-tool wildmatch wildmatch 'bar/baz/foo' '**/foo'
ok 443 - wildmatch: match 'bar/baz/foo' '**/foo'
expecting success of 3070.444 'wildmatch (via ls-files): match '**/foo' 'bar/baz/foo'':
printf '%s' 'bar/baz/foo' >expect &&
git --glob-pathspecs ls-files -z -- '**/foo' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 444 - wildmatch (via ls-files): match '**/foo' 'bar/baz/foo'
expecting success of 3070.445 'iwildmatch: match 'bar/baz/foo' '**/foo'':
test-tool wildmatch iwildmatch 'bar/baz/foo' '**/foo'
ok 445 - iwildmatch: match 'bar/baz/foo' '**/foo'
expecting success of 3070.446 'iwildmatch (via ls-files): match '**/foo' 'bar/baz/foo'':
printf '%s' 'bar/baz/foo' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '**/foo' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 446 - iwildmatch (via ls-files): match '**/foo' 'bar/baz/foo'
expecting success of 3070.447 'pathmatch: match 'bar/baz/foo' '**/foo'':
test-tool wildmatch pathmatch 'bar/baz/foo' '**/foo'
ok 447 - pathmatch: match 'bar/baz/foo' '**/foo'
expecting success of 3070.448 'pathmatch (via ls-files): match '**/foo' 'bar/baz/foo'':
printf '%s' 'bar/baz/foo' >expect &&
git ls-files -z -- '**/foo' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 448 - pathmatch (via ls-files): match '**/foo' 'bar/baz/foo'
expecting success of 3070.449 'ipathmatch: match 'bar/baz/foo' '**/foo'':
test-tool wildmatch ipathmatch 'bar/baz/foo' '**/foo'
ok 449 - ipathmatch: match 'bar/baz/foo' '**/foo'
expecting success of 3070.450 'ipathmatch (via ls-files): match '**/foo' 'bar/baz/foo'':
printf '%s' 'bar/baz/foo' >expect &&
git --icase-pathspecs ls-files -z -- '**/foo' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 450 - ipathmatch (via ls-files): match '**/foo' 'bar/baz/foo'
expecting success of 3070.451 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing actual
Removing actual.err
Removing actual.raw
Removing bar/
Removing expect
ok 451 - cleanup after previous file test
expecting success of 3070.452 'setup match file test for bar/baz/foo':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 452 - setup match file test for bar/baz/foo
expecting success of 3070.453 'wildmatch: no match 'bar/baz/foo' '*/foo'':
test_must_fail test-tool wildmatch wildmatch 'bar/baz/foo' '*/foo'
ok 453 - wildmatch: no match 'bar/baz/foo' '*/foo'
expecting success of 3070.454 'wildmatch (via ls-files): no match '*/foo' 'bar/baz/foo'':
>expect &&
git --glob-pathspecs ls-files -z -- '*/foo' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 454 - wildmatch (via ls-files): no match '*/foo' 'bar/baz/foo'
expecting success of 3070.455 'iwildmatch: no match 'bar/baz/foo' '*/foo'':
test_must_fail test-tool wildmatch iwildmatch 'bar/baz/foo' '*/foo'
ok 455 - iwildmatch: no match 'bar/baz/foo' '*/foo'
expecting success of 3070.456 'iwildmatch (via ls-files): no match '*/foo' 'bar/baz/foo'':
>expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '*/foo' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 456 - iwildmatch (via ls-files): no match '*/foo' 'bar/baz/foo'
expecting success of 3070.457 'pathmatch: match 'bar/baz/foo' '*/foo'':
test-tool wildmatch pathmatch 'bar/baz/foo' '*/foo'
ok 457 - pathmatch: match 'bar/baz/foo' '*/foo'
expecting success of 3070.458 'pathmatch (via ls-files): match '*/foo' 'bar/baz/foo'':
printf '%s' 'bar/baz/foo' >expect &&
git ls-files -z -- '*/foo' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 458 - pathmatch (via ls-files): match '*/foo' 'bar/baz/foo'
expecting success of 3070.459 'ipathmatch: match 'bar/baz/foo' '*/foo'':
test-tool wildmatch ipathmatch 'bar/baz/foo' '*/foo'
ok 459 - ipathmatch: match 'bar/baz/foo' '*/foo'
expecting success of 3070.460 'ipathmatch (via ls-files): match '*/foo' 'bar/baz/foo'':
printf '%s' 'bar/baz/foo' >expect &&
git --icase-pathspecs ls-files -z -- '*/foo' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 460 - ipathmatch (via ls-files): match '*/foo' 'bar/baz/foo'
expecting success of 3070.461 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing actual
Removing actual.err
Removing actual.raw
Removing bar/
Removing expect
ok 461 - cleanup after previous file test
expecting success of 3070.462 'setup match file test for foo/bar/baz':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 462 - setup match file test for foo/bar/baz
expecting success of 3070.463 'wildmatch: no match 'foo/bar/baz' '**/bar*'':
test_must_fail test-tool wildmatch wildmatch 'foo/bar/baz' '**/bar*'
ok 463 - wildmatch: no match 'foo/bar/baz' '**/bar*'
expecting success of 3070.464 'wildmatch (via ls-files): no match '**/bar*' 'foo/bar/baz'':
>expect &&
git --glob-pathspecs ls-files -z -- '**/bar*' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 464 - wildmatch (via ls-files): no match '**/bar*' 'foo/bar/baz'
expecting success of 3070.465 'iwildmatch: no match 'foo/bar/baz' '**/bar*'':
test_must_fail test-tool wildmatch iwildmatch 'foo/bar/baz' '**/bar*'
ok 465 - iwildmatch: no match 'foo/bar/baz' '**/bar*'
expecting success of 3070.466 'iwildmatch (via ls-files): no match '**/bar*' 'foo/bar/baz'':
>expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '**/bar*' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 466 - iwildmatch (via ls-files): no match '**/bar*' 'foo/bar/baz'
expecting success of 3070.467 'pathmatch: match 'foo/bar/baz' '**/bar*'':
test-tool wildmatch pathmatch 'foo/bar/baz' '**/bar*'
ok 467 - pathmatch: match 'foo/bar/baz' '**/bar*'
expecting success of 3070.468 'pathmatch (via ls-files): match '**/bar*' 'foo/bar/baz'':
printf '%s' 'foo/bar/baz' >expect &&
git ls-files -z -- '**/bar*' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 468 - pathmatch (via ls-files): match '**/bar*' 'foo/bar/baz'
expecting success of 3070.469 'ipathmatch: match 'foo/bar/baz' '**/bar*'':
test-tool wildmatch ipathmatch 'foo/bar/baz' '**/bar*'
ok 469 - ipathmatch: match 'foo/bar/baz' '**/bar*'
expecting success of 3070.470 'ipathmatch (via ls-files): match '**/bar*' 'foo/bar/baz'':
printf '%s' 'foo/bar/baz' >expect &&
git --icase-pathspecs ls-files -z -- '**/bar*' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 470 - ipathmatch (via ls-files): match '**/bar*' 'foo/bar/baz'
expecting success of 3070.471 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
Removing foo/
ok 471 - cleanup after previous file test
expecting success of 3070.472 'setup match file test for deep/foo/bar/baz':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 472 - setup match file test for deep/foo/bar/baz
expecting success of 3070.473 'wildmatch: match 'deep/foo/bar/baz' '**/bar/*'':
test-tool wildmatch wildmatch 'deep/foo/bar/baz' '**/bar/*'
ok 473 - wildmatch: match 'deep/foo/bar/baz' '**/bar/*'
expecting success of 3070.474 'wildmatch (via ls-files): match '**/bar/*' 'deep/foo/bar/baz'':
printf '%s' 'deep/foo/bar/baz' >expect &&
git --glob-pathspecs ls-files -z -- '**/bar/*' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 474 - wildmatch (via ls-files): match '**/bar/*' 'deep/foo/bar/baz'
expecting success of 3070.475 'iwildmatch: match 'deep/foo/bar/baz' '**/bar/*'':
test-tool wildmatch iwildmatch 'deep/foo/bar/baz' '**/bar/*'
ok 475 - iwildmatch: match 'deep/foo/bar/baz' '**/bar/*'
expecting success of 3070.476 'iwildmatch (via ls-files): match '**/bar/*' 'deep/foo/bar/baz'':
printf '%s' 'deep/foo/bar/baz' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '**/bar/*' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 476 - iwildmatch (via ls-files): match '**/bar/*' 'deep/foo/bar/baz'
expecting success of 3070.477 'pathmatch: match 'deep/foo/bar/baz' '**/bar/*'':
test-tool wildmatch pathmatch 'deep/foo/bar/baz' '**/bar/*'
ok 477 - pathmatch: match 'deep/foo/bar/baz' '**/bar/*'
expecting success of 3070.478 'pathmatch (via ls-files): match '**/bar/*' 'deep/foo/bar/baz'':
printf '%s' 'deep/foo/bar/baz' >expect &&
git ls-files -z -- '**/bar/*' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 478 - pathmatch (via ls-files): match '**/bar/*' 'deep/foo/bar/baz'
expecting success of 3070.479 'ipathmatch: match 'deep/foo/bar/baz' '**/bar/*'':
test-tool wildmatch ipathmatch 'deep/foo/bar/baz' '**/bar/*'
ok 479 - ipathmatch: match 'deep/foo/bar/baz' '**/bar/*'
expecting success of 3070.480 'ipathmatch (via ls-files): match '**/bar/*' 'deep/foo/bar/baz'':
printf '%s' 'deep/foo/bar/baz' >expect &&
git --icase-pathspecs ls-files -z -- '**/bar/*' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 480 - ipathmatch (via ls-files): match '**/bar/*' 'deep/foo/bar/baz'
expecting success of 3070.481 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing actual
Removing actual.err
Removing actual.raw
Removing deep/
Removing expect
ok 481 - cleanup after previous file test
expecting success of 3070.482 'setup match file test for deep/foo/bar/baz/':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 482 - setup match file test for deep/foo/bar/baz/
expecting success of 3070.483 'wildmatch: no match 'deep/foo/bar/baz/' '**/bar/*'':
test_must_fail test-tool wildmatch wildmatch 'deep/foo/bar/baz/' '**/bar/*'
ok 483 - wildmatch: no match 'deep/foo/bar/baz/' '**/bar/*'
checking known breakage of 3070.484 'wildmatch (via ls-files): no match skip '**/bar/*' 'deep/foo/bar/baz/'': false
not ok 484 - wildmatch (via ls-files): no match skip '**/bar/*' 'deep/foo/bar/baz/' # TODO known breakage
expecting success of 3070.485 'iwildmatch: no match 'deep/foo/bar/baz/' '**/bar/*'':
test_must_fail test-tool wildmatch iwildmatch 'deep/foo/bar/baz/' '**/bar/*'
ok 485 - iwildmatch: no match 'deep/foo/bar/baz/' '**/bar/*'
checking known breakage of 3070.486 'iwildmatch (via ls-files): no match skip '**/bar/*' 'deep/foo/bar/baz/'': false
not ok 486 - iwildmatch (via ls-files): no match skip '**/bar/*' 'deep/foo/bar/baz/' # TODO known breakage
expecting success of 3070.487 'pathmatch: match 'deep/foo/bar/baz/' '**/bar/*'':
test-tool wildmatch pathmatch 'deep/foo/bar/baz/' '**/bar/*'
ok 487 - pathmatch: match 'deep/foo/bar/baz/' '**/bar/*'
checking known breakage of 3070.488 'pathmatch (via ls-files): match skip '**/bar/*' 'deep/foo/bar/baz/'': false
not ok 488 - pathmatch (via ls-files): match skip '**/bar/*' 'deep/foo/bar/baz/' # TODO known breakage
expecting success of 3070.489 'ipathmatch: match 'deep/foo/bar/baz/' '**/bar/*'':
test-tool wildmatch ipathmatch 'deep/foo/bar/baz/' '**/bar/*'
ok 489 - ipathmatch: match 'deep/foo/bar/baz/' '**/bar/*'
checking known breakage of 3070.490 'ipathmatch (via ls-files): match skip '**/bar/*' 'deep/foo/bar/baz/'': false
not ok 490 - ipathmatch (via ls-files): match skip '**/bar/*' 'deep/foo/bar/baz/' # TODO known breakage
expecting success of 3070.491 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
ok 491 - cleanup after previous file test
expecting success of 3070.492 'setup match file test for deep/foo/bar/baz/':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 492 - setup match file test for deep/foo/bar/baz/
expecting success of 3070.493 'wildmatch: match 'deep/foo/bar/baz/' '**/bar/**'':
test-tool wildmatch wildmatch 'deep/foo/bar/baz/' '**/bar/**'
ok 493 - wildmatch: match 'deep/foo/bar/baz/' '**/bar/**'
checking known breakage of 3070.494 'wildmatch (via ls-files): match skip '**/bar/**' 'deep/foo/bar/baz/'': false
not ok 494 - wildmatch (via ls-files): match skip '**/bar/**' 'deep/foo/bar/baz/' # TODO known breakage
expecting success of 3070.495 'iwildmatch: match 'deep/foo/bar/baz/' '**/bar/**'':
test-tool wildmatch iwildmatch 'deep/foo/bar/baz/' '**/bar/**'
ok 495 - iwildmatch: match 'deep/foo/bar/baz/' '**/bar/**'
checking known breakage of 3070.496 'iwildmatch (via ls-files): match skip '**/bar/**' 'deep/foo/bar/baz/'': false
not ok 496 - iwildmatch (via ls-files): match skip '**/bar/**' 'deep/foo/bar/baz/' # TODO known breakage
expecting success of 3070.497 'pathmatch: match 'deep/foo/bar/baz/' '**/bar/**'':
test-tool wildmatch pathmatch 'deep/foo/bar/baz/' '**/bar/**'
ok 497 - pathmatch: match 'deep/foo/bar/baz/' '**/bar/**'
checking known breakage of 3070.498 'pathmatch (via ls-files): match skip '**/bar/**' 'deep/foo/bar/baz/'': false
not ok 498 - pathmatch (via ls-files): match skip '**/bar/**' 'deep/foo/bar/baz/' # TODO known breakage
expecting success of 3070.499 'ipathmatch: match 'deep/foo/bar/baz/' '**/bar/**'':
test-tool wildmatch ipathmatch 'deep/foo/bar/baz/' '**/bar/**'
ok 499 - ipathmatch: match 'deep/foo/bar/baz/' '**/bar/**'
checking known breakage of 3070.500 'ipathmatch (via ls-files): match skip '**/bar/**' 'deep/foo/bar/baz/'': false
not ok 500 - ipathmatch (via ls-files): match skip '**/bar/**' 'deep/foo/bar/baz/' # TODO known breakage
expecting success of 3070.501 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
ok 501 - cleanup after previous file test
expecting success of 3070.502 'setup match file test for deep/foo/bar':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 502 - setup match file test for deep/foo/bar
expecting success of 3070.503 'wildmatch: no match 'deep/foo/bar' '**/bar/*'':
test_must_fail test-tool wildmatch wildmatch 'deep/foo/bar' '**/bar/*'
ok 503 - wildmatch: no match 'deep/foo/bar' '**/bar/*'
expecting success of 3070.504 'wildmatch (via ls-files): no match '**/bar/*' 'deep/foo/bar'':
>expect &&
git --glob-pathspecs ls-files -z -- '**/bar/*' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 504 - wildmatch (via ls-files): no match '**/bar/*' 'deep/foo/bar'
expecting success of 3070.505 'iwildmatch: no match 'deep/foo/bar' '**/bar/*'':
test_must_fail test-tool wildmatch iwildmatch 'deep/foo/bar' '**/bar/*'
ok 505 - iwildmatch: no match 'deep/foo/bar' '**/bar/*'
expecting success of 3070.506 'iwildmatch (via ls-files): no match '**/bar/*' 'deep/foo/bar'':
>expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '**/bar/*' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 506 - iwildmatch (via ls-files): no match '**/bar/*' 'deep/foo/bar'
expecting success of 3070.507 'pathmatch: no match 'deep/foo/bar' '**/bar/*'':
test_must_fail test-tool wildmatch pathmatch 'deep/foo/bar' '**/bar/*'
ok 507 - pathmatch: no match 'deep/foo/bar' '**/bar/*'
expecting success of 3070.508 'pathmatch (via ls-files): no match '**/bar/*' 'deep/foo/bar'':
>expect &&
git ls-files -z -- '**/bar/*' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 508 - pathmatch (via ls-files): no match '**/bar/*' 'deep/foo/bar'
expecting success of 3070.509 'ipathmatch: no match 'deep/foo/bar' '**/bar/*'':
test_must_fail test-tool wildmatch ipathmatch 'deep/foo/bar' '**/bar/*'
ok 509 - ipathmatch: no match 'deep/foo/bar' '**/bar/*'
expecting success of 3070.510 'ipathmatch (via ls-files): no match '**/bar/*' 'deep/foo/bar'':
>expect &&
git --icase-pathspecs ls-files -z -- '**/bar/*' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 510 - ipathmatch (via ls-files): no match '**/bar/*' 'deep/foo/bar'
expecting success of 3070.511 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing actual
Removing actual.err
Removing actual.raw
Removing deep/
Removing expect
ok 511 - cleanup after previous file test
expecting success of 3070.512 'setup match file test for deep/foo/bar/':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 512 - setup match file test for deep/foo/bar/
expecting success of 3070.513 'wildmatch: match 'deep/foo/bar/' '**/bar/**'':
test-tool wildmatch wildmatch 'deep/foo/bar/' '**/bar/**'
ok 513 - wildmatch: match 'deep/foo/bar/' '**/bar/**'
checking known breakage of 3070.514 'wildmatch (via ls-files): match skip '**/bar/**' 'deep/foo/bar/'': false
not ok 514 - wildmatch (via ls-files): match skip '**/bar/**' 'deep/foo/bar/' # TODO known breakage
expecting success of 3070.515 'iwildmatch: match 'deep/foo/bar/' '**/bar/**'':
test-tool wildmatch iwildmatch 'deep/foo/bar/' '**/bar/**'
ok 515 - iwildmatch: match 'deep/foo/bar/' '**/bar/**'
checking known breakage of 3070.516 'iwildmatch (via ls-files): match skip '**/bar/**' 'deep/foo/bar/'': false
not ok 516 - iwildmatch (via ls-files): match skip '**/bar/**' 'deep/foo/bar/' # TODO known breakage
expecting success of 3070.517 'pathmatch: match 'deep/foo/bar/' '**/bar/**'':
test-tool wildmatch pathmatch 'deep/foo/bar/' '**/bar/**'
ok 517 - pathmatch: match 'deep/foo/bar/' '**/bar/**'
checking known breakage of 3070.518 'pathmatch (via ls-files): match skip '**/bar/**' 'deep/foo/bar/'': false
not ok 518 - pathmatch (via ls-files): match skip '**/bar/**' 'deep/foo/bar/' # TODO known breakage
expecting success of 3070.519 'ipathmatch: match 'deep/foo/bar/' '**/bar/**'':
test-tool wildmatch ipathmatch 'deep/foo/bar/' '**/bar/**'
ok 519 - ipathmatch: match 'deep/foo/bar/' '**/bar/**'
checking known breakage of 3070.520 'ipathmatch (via ls-files): match skip '**/bar/**' 'deep/foo/bar/'': false
not ok 520 - ipathmatch (via ls-files): match skip '**/bar/**' 'deep/foo/bar/' # TODO known breakage
expecting success of 3070.521 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
ok 521 - cleanup after previous file test
expecting success of 3070.522 'setup match file test for foo/bar/baz':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 522 - setup match file test for foo/bar/baz
expecting success of 3070.523 'wildmatch: no match 'foo/bar/baz' '**/bar**'':
test_must_fail test-tool wildmatch wildmatch 'foo/bar/baz' '**/bar**'
ok 523 - wildmatch: no match 'foo/bar/baz' '**/bar**'
expecting success of 3070.524 'wildmatch (via ls-files): no match '**/bar**' 'foo/bar/baz'':
>expect &&
git --glob-pathspecs ls-files -z -- '**/bar**' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 524 - wildmatch (via ls-files): no match '**/bar**' 'foo/bar/baz'
expecting success of 3070.525 'iwildmatch: no match 'foo/bar/baz' '**/bar**'':
test_must_fail test-tool wildmatch iwildmatch 'foo/bar/baz' '**/bar**'
ok 525 - iwildmatch: no match 'foo/bar/baz' '**/bar**'
expecting success of 3070.526 'iwildmatch (via ls-files): no match '**/bar**' 'foo/bar/baz'':
>expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '**/bar**' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 526 - iwildmatch (via ls-files): no match '**/bar**' 'foo/bar/baz'
expecting success of 3070.527 'pathmatch: match 'foo/bar/baz' '**/bar**'':
test-tool wildmatch pathmatch 'foo/bar/baz' '**/bar**'
ok 527 - pathmatch: match 'foo/bar/baz' '**/bar**'
expecting success of 3070.528 'pathmatch (via ls-files): match '**/bar**' 'foo/bar/baz'':
printf '%s' 'foo/bar/baz' >expect &&
git ls-files -z -- '**/bar**' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 528 - pathmatch (via ls-files): match '**/bar**' 'foo/bar/baz'
expecting success of 3070.529 'ipathmatch: match 'foo/bar/baz' '**/bar**'':
test-tool wildmatch ipathmatch 'foo/bar/baz' '**/bar**'
ok 529 - ipathmatch: match 'foo/bar/baz' '**/bar**'
expecting success of 3070.530 'ipathmatch (via ls-files): match '**/bar**' 'foo/bar/baz'':
printf '%s' 'foo/bar/baz' >expect &&
git --icase-pathspecs ls-files -z -- '**/bar**' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 530 - ipathmatch (via ls-files): match '**/bar**' 'foo/bar/baz'
expecting success of 3070.531 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
Removing foo/
ok 531 - cleanup after previous file test
expecting success of 3070.532 'setup match file test for foo/bar/baz/x':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 532 - setup match file test for foo/bar/baz/x
expecting success of 3070.533 'wildmatch: match 'foo/bar/baz/x' '*/bar/**'':
test-tool wildmatch wildmatch 'foo/bar/baz/x' '*/bar/**'
ok 533 - wildmatch: match 'foo/bar/baz/x' '*/bar/**'
expecting success of 3070.534 'wildmatch (via ls-files): match '*/bar/**' 'foo/bar/baz/x'':
printf '%s' 'foo/bar/baz/x' >expect &&
git --glob-pathspecs ls-files -z -- '*/bar/**' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 534 - wildmatch (via ls-files): match '*/bar/**' 'foo/bar/baz/x'
expecting success of 3070.535 'iwildmatch: match 'foo/bar/baz/x' '*/bar/**'':
test-tool wildmatch iwildmatch 'foo/bar/baz/x' '*/bar/**'
ok 535 - iwildmatch: match 'foo/bar/baz/x' '*/bar/**'
expecting success of 3070.536 'iwildmatch (via ls-files): match '*/bar/**' 'foo/bar/baz/x'':
printf '%s' 'foo/bar/baz/x' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '*/bar/**' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 536 - iwildmatch (via ls-files): match '*/bar/**' 'foo/bar/baz/x'
expecting success of 3070.537 'pathmatch: match 'foo/bar/baz/x' '*/bar/**'':
test-tool wildmatch pathmatch 'foo/bar/baz/x' '*/bar/**'
ok 537 - pathmatch: match 'foo/bar/baz/x' '*/bar/**'
expecting success of 3070.538 'pathmatch (via ls-files): match '*/bar/**' 'foo/bar/baz/x'':
printf '%s' 'foo/bar/baz/x' >expect &&
git ls-files -z -- '*/bar/**' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 538 - pathmatch (via ls-files): match '*/bar/**' 'foo/bar/baz/x'
expecting success of 3070.539 'ipathmatch: match 'foo/bar/baz/x' '*/bar/**'':
test-tool wildmatch ipathmatch 'foo/bar/baz/x' '*/bar/**'
ok 539 - ipathmatch: match 'foo/bar/baz/x' '*/bar/**'
expecting success of 3070.540 'ipathmatch (via ls-files): match '*/bar/**' 'foo/bar/baz/x'':
printf '%s' 'foo/bar/baz/x' >expect &&
git --icase-pathspecs ls-files -z -- '*/bar/**' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 540 - ipathmatch (via ls-files): match '*/bar/**' 'foo/bar/baz/x'
expecting success of 3070.541 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
Removing foo/
ok 541 - cleanup after previous file test
expecting success of 3070.542 'setup match file test for deep/foo/bar/baz/x':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 542 - setup match file test for deep/foo/bar/baz/x
expecting success of 3070.543 'wildmatch: no match 'deep/foo/bar/baz/x' '*/bar/**'':
test_must_fail test-tool wildmatch wildmatch 'deep/foo/bar/baz/x' '*/bar/**'
ok 543 - wildmatch: no match 'deep/foo/bar/baz/x' '*/bar/**'
expecting success of 3070.544 'wildmatch (via ls-files): no match '*/bar/**' 'deep/foo/bar/baz/x'':
>expect &&
git --glob-pathspecs ls-files -z -- '*/bar/**' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 544 - wildmatch (via ls-files): no match '*/bar/**' 'deep/foo/bar/baz/x'
expecting success of 3070.545 'iwildmatch: no match 'deep/foo/bar/baz/x' '*/bar/**'':
test_must_fail test-tool wildmatch iwildmatch 'deep/foo/bar/baz/x' '*/bar/**'
ok 545 - iwildmatch: no match 'deep/foo/bar/baz/x' '*/bar/**'
expecting success of 3070.546 'iwildmatch (via ls-files): no match '*/bar/**' 'deep/foo/bar/baz/x'':
>expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '*/bar/**' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 546 - iwildmatch (via ls-files): no match '*/bar/**' 'deep/foo/bar/baz/x'
expecting success of 3070.547 'pathmatch: match 'deep/foo/bar/baz/x' '*/bar/**'':
test-tool wildmatch pathmatch 'deep/foo/bar/baz/x' '*/bar/**'
ok 547 - pathmatch: match 'deep/foo/bar/baz/x' '*/bar/**'
expecting success of 3070.548 'pathmatch (via ls-files): match '*/bar/**' 'deep/foo/bar/baz/x'':
printf '%s' 'deep/foo/bar/baz/x' >expect &&
git ls-files -z -- '*/bar/**' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 548 - pathmatch (via ls-files): match '*/bar/**' 'deep/foo/bar/baz/x'
expecting success of 3070.549 'ipathmatch: match 'deep/foo/bar/baz/x' '*/bar/**'':
test-tool wildmatch ipathmatch 'deep/foo/bar/baz/x' '*/bar/**'
ok 549 - ipathmatch: match 'deep/foo/bar/baz/x' '*/bar/**'
expecting success of 3070.550 'ipathmatch (via ls-files): match '*/bar/**' 'deep/foo/bar/baz/x'':
printf '%s' 'deep/foo/bar/baz/x' >expect &&
git --icase-pathspecs ls-files -z -- '*/bar/**' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 550 - ipathmatch (via ls-files): match '*/bar/**' 'deep/foo/bar/baz/x'
expecting success of 3070.551 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing actual
Removing actual.err
Removing actual.raw
Removing deep/
Removing expect
ok 551 - cleanup after previous file test
expecting success of 3070.552 'setup match file test for deep/foo/bar/baz/x':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 552 - setup match file test for deep/foo/bar/baz/x
expecting success of 3070.553 'wildmatch: match 'deep/foo/bar/baz/x' '**/bar/*/*'':
test-tool wildmatch wildmatch 'deep/foo/bar/baz/x' '**/bar/*/*'
ok 553 - wildmatch: match 'deep/foo/bar/baz/x' '**/bar/*/*'
expecting success of 3070.554 'wildmatch (via ls-files): match '**/bar/*/*' 'deep/foo/bar/baz/x'':
printf '%s' 'deep/foo/bar/baz/x' >expect &&
git --glob-pathspecs ls-files -z -- '**/bar/*/*' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 554 - wildmatch (via ls-files): match '**/bar/*/*' 'deep/foo/bar/baz/x'
expecting success of 3070.555 'iwildmatch: match 'deep/foo/bar/baz/x' '**/bar/*/*'':
test-tool wildmatch iwildmatch 'deep/foo/bar/baz/x' '**/bar/*/*'
ok 555 - iwildmatch: match 'deep/foo/bar/baz/x' '**/bar/*/*'
expecting success of 3070.556 'iwildmatch (via ls-files): match '**/bar/*/*' 'deep/foo/bar/baz/x'':
printf '%s' 'deep/foo/bar/baz/x' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '**/bar/*/*' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 556 - iwildmatch (via ls-files): match '**/bar/*/*' 'deep/foo/bar/baz/x'
expecting success of 3070.557 'pathmatch: match 'deep/foo/bar/baz/x' '**/bar/*/*'':
test-tool wildmatch pathmatch 'deep/foo/bar/baz/x' '**/bar/*/*'
ok 557 - pathmatch: match 'deep/foo/bar/baz/x' '**/bar/*/*'
expecting success of 3070.558 'pathmatch (via ls-files): match '**/bar/*/*' 'deep/foo/bar/baz/x'':
printf '%s' 'deep/foo/bar/baz/x' >expect &&
git ls-files -z -- '**/bar/*/*' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 558 - pathmatch (via ls-files): match '**/bar/*/*' 'deep/foo/bar/baz/x'
expecting success of 3070.559 'ipathmatch: match 'deep/foo/bar/baz/x' '**/bar/*/*'':
test-tool wildmatch ipathmatch 'deep/foo/bar/baz/x' '**/bar/*/*'
ok 559 - ipathmatch: match 'deep/foo/bar/baz/x' '**/bar/*/*'
expecting success of 3070.560 'ipathmatch (via ls-files): match '**/bar/*/*' 'deep/foo/bar/baz/x'':
printf '%s' 'deep/foo/bar/baz/x' >expect &&
git --icase-pathspecs ls-files -z -- '**/bar/*/*' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 560 - ipathmatch (via ls-files): match '**/bar/*/*' 'deep/foo/bar/baz/x'
expecting success of 3070.561 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing actual
Removing actual.err
Removing actual.raw
Removing deep/
Removing expect
ok 561 - cleanup after previous file test
expecting success of 3070.562 'setup match file test for acrt':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 562 - setup match file test for acrt
expecting success of 3070.563 'wildmatch: no match 'acrt' 'a[c-c]st'':
test_must_fail test-tool wildmatch wildmatch 'acrt' 'a[c-c]st'
ok 563 - wildmatch: no match 'acrt' 'a[c-c]st'
expecting success of 3070.564 'wildmatch (via ls-files): no match 'a[c-c]st' 'acrt'':
>expect &&
git --glob-pathspecs ls-files -z -- 'a[c-c]st' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 564 - wildmatch (via ls-files): no match 'a[c-c]st' 'acrt'
expecting success of 3070.565 'iwildmatch: no match 'acrt' 'a[c-c]st'':
test_must_fail test-tool wildmatch iwildmatch 'acrt' 'a[c-c]st'
ok 565 - iwildmatch: no match 'acrt' 'a[c-c]st'
expecting success of 3070.566 'iwildmatch (via ls-files): no match 'a[c-c]st' 'acrt'':
>expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- 'a[c-c]st' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 566 - iwildmatch (via ls-files): no match 'a[c-c]st' 'acrt'
expecting success of 3070.567 'pathmatch: no match 'acrt' 'a[c-c]st'':
test_must_fail test-tool wildmatch pathmatch 'acrt' 'a[c-c]st'
ok 567 - pathmatch: no match 'acrt' 'a[c-c]st'
expecting success of 3070.568 'pathmatch (via ls-files): no match 'a[c-c]st' 'acrt'':
>expect &&
git ls-files -z -- 'a[c-c]st' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 568 - pathmatch (via ls-files): no match 'a[c-c]st' 'acrt'
expecting success of 3070.569 'ipathmatch: no match 'acrt' 'a[c-c]st'':
test_must_fail test-tool wildmatch ipathmatch 'acrt' 'a[c-c]st'
ok 569 - ipathmatch: no match 'acrt' 'a[c-c]st'
expecting success of 3070.570 'ipathmatch (via ls-files): no match 'a[c-c]st' 'acrt'':
>expect &&
git --icase-pathspecs ls-files -z -- 'a[c-c]st' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 570 - ipathmatch (via ls-files): no match 'a[c-c]st' 'acrt'
expecting success of 3070.571 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing acrt
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 571 - cleanup after previous file test
expecting success of 3070.572 'setup match file test for acrt':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 572 - setup match file test for acrt
expecting success of 3070.573 'wildmatch: match 'acrt' 'a[c-c]rt'':
test-tool wildmatch wildmatch 'acrt' 'a[c-c]rt'
ok 573 - wildmatch: match 'acrt' 'a[c-c]rt'
expecting success of 3070.574 'wildmatch (via ls-files): match 'a[c-c]rt' 'acrt'':
printf '%s' 'acrt' >expect &&
git --glob-pathspecs ls-files -z -- 'a[c-c]rt' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 574 - wildmatch (via ls-files): match 'a[c-c]rt' 'acrt'
expecting success of 3070.575 'iwildmatch: match 'acrt' 'a[c-c]rt'':
test-tool wildmatch iwildmatch 'acrt' 'a[c-c]rt'
ok 575 - iwildmatch: match 'acrt' 'a[c-c]rt'
expecting success of 3070.576 'iwildmatch (via ls-files): match 'a[c-c]rt' 'acrt'':
printf '%s' 'acrt' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- 'a[c-c]rt' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 576 - iwildmatch (via ls-files): match 'a[c-c]rt' 'acrt'
expecting success of 3070.577 'pathmatch: match 'acrt' 'a[c-c]rt'':
test-tool wildmatch pathmatch 'acrt' 'a[c-c]rt'
ok 577 - pathmatch: match 'acrt' 'a[c-c]rt'
expecting success of 3070.578 'pathmatch (via ls-files): match 'a[c-c]rt' 'acrt'':
printf '%s' 'acrt' >expect &&
git ls-files -z -- 'a[c-c]rt' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 578 - pathmatch (via ls-files): match 'a[c-c]rt' 'acrt'
expecting success of 3070.579 'ipathmatch: match 'acrt' 'a[c-c]rt'':
test-tool wildmatch ipathmatch 'acrt' 'a[c-c]rt'
ok 579 - ipathmatch: match 'acrt' 'a[c-c]rt'
expecting success of 3070.580 'ipathmatch (via ls-files): match 'a[c-c]rt' 'acrt'':
printf '%s' 'acrt' >expect &&
git --icase-pathspecs ls-files -z -- 'a[c-c]rt' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 580 - ipathmatch (via ls-files): match 'a[c-c]rt' 'acrt'
expecting success of 3070.581 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing acrt
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 581 - cleanup after previous file test
expecting success of 3070.582 'setup match file test for ]':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 582 - setup match file test for ]
expecting success of 3070.583 'wildmatch: no match ']' '[!]-]'':
test_must_fail test-tool wildmatch wildmatch ']' '[!]-]'
ok 583 - wildmatch: no match ']' '[!]-]'
expecting success of 3070.584 'wildmatch (via ls-files): no match '[!]-]' ']'':
>expect &&
git --glob-pathspecs ls-files -z -- '[!]-]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 584 - wildmatch (via ls-files): no match '[!]-]' ']'
expecting success of 3070.585 'iwildmatch: no match ']' '[!]-]'':
test_must_fail test-tool wildmatch iwildmatch ']' '[!]-]'
ok 585 - iwildmatch: no match ']' '[!]-]'
expecting success of 3070.586 'iwildmatch (via ls-files): no match '[!]-]' ']'':
>expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '[!]-]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 586 - iwildmatch (via ls-files): no match '[!]-]' ']'
expecting success of 3070.587 'pathmatch: no match ']' '[!]-]'':
test_must_fail test-tool wildmatch pathmatch ']' '[!]-]'
ok 587 - pathmatch: no match ']' '[!]-]'
expecting success of 3070.588 'pathmatch (via ls-files): no match '[!]-]' ']'':
>expect &&
git ls-files -z -- '[!]-]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 588 - pathmatch (via ls-files): no match '[!]-]' ']'
expecting success of 3070.589 'ipathmatch: no match ']' '[!]-]'':
test_must_fail test-tool wildmatch ipathmatch ']' '[!]-]'
ok 589 - ipathmatch: no match ']' '[!]-]'
expecting success of 3070.590 'ipathmatch (via ls-files): no match '[!]-]' ']'':
>expect &&
git --icase-pathspecs ls-files -z -- '[!]-]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 590 - ipathmatch (via ls-files): no match '[!]-]' ']'
expecting success of 3070.591 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing ]
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 591 - cleanup after previous file test
expecting success of 3070.592 'setup match file test for a':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 592 - setup match file test for a
expecting success of 3070.593 'wildmatch: match 'a' '[!]-]'':
test-tool wildmatch wildmatch 'a' '[!]-]'
ok 593 - wildmatch: match 'a' '[!]-]'
expecting success of 3070.594 'wildmatch (via ls-files): match '[!]-]' 'a'':
printf '%s' 'a' >expect &&
git --glob-pathspecs ls-files -z -- '[!]-]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 594 - wildmatch (via ls-files): match '[!]-]' 'a'
expecting success of 3070.595 'iwildmatch: match 'a' '[!]-]'':
test-tool wildmatch iwildmatch 'a' '[!]-]'
ok 595 - iwildmatch: match 'a' '[!]-]'
expecting success of 3070.596 'iwildmatch (via ls-files): match '[!]-]' 'a'':
printf '%s' 'a' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '[!]-]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 596 - iwildmatch (via ls-files): match '[!]-]' 'a'
expecting success of 3070.597 'pathmatch: match 'a' '[!]-]'':
test-tool wildmatch pathmatch 'a' '[!]-]'
ok 597 - pathmatch: match 'a' '[!]-]'
expecting success of 3070.598 'pathmatch (via ls-files): match '[!]-]' 'a'':
printf '%s' 'a' >expect &&
git ls-files -z -- '[!]-]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 598 - pathmatch (via ls-files): match '[!]-]' 'a'
expecting success of 3070.599 'ipathmatch: match 'a' '[!]-]'':
test-tool wildmatch ipathmatch 'a' '[!]-]'
ok 599 - ipathmatch: match 'a' '[!]-]'
expecting success of 3070.600 'ipathmatch (via ls-files): match '[!]-]' 'a'':
printf '%s' 'a' >expect &&
git --icase-pathspecs ls-files -z -- '[!]-]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 600 - ipathmatch (via ls-files): match '[!]-]' 'a'
expecting success of 3070.601 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing a
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 601 - cleanup after previous file test
expecting success of 3070.602 'setup match file test for ':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 602 - setup match file test for
expecting success of 3070.603 'wildmatch: no match '' '\'':
test_must_fail test-tool wildmatch wildmatch '' '\'
ok 603 - wildmatch: no match '' '\'
checking known breakage of 3070.604 'wildmatch (via ls-files): no match skip '\' ''': false
not ok 604 - wildmatch (via ls-files): no match skip '\' '' # TODO known breakage
expecting success of 3070.605 'iwildmatch: no match '' '\'':
test_must_fail test-tool wildmatch iwildmatch '' '\'
ok 605 - iwildmatch: no match '' '\'
checking known breakage of 3070.606 'iwildmatch (via ls-files): no match skip '\' ''': false
not ok 606 - iwildmatch (via ls-files): no match skip '\' '' # TODO known breakage
expecting success of 3070.607 'pathmatch: no match '' '\'':
test_must_fail test-tool wildmatch pathmatch '' '\'
ok 607 - pathmatch: no match '' '\'
checking known breakage of 3070.608 'pathmatch (via ls-files): no match skip '\' ''': false
not ok 608 - pathmatch (via ls-files): no match skip '\' '' # TODO known breakage
expecting success of 3070.609 'ipathmatch: no match '' '\'':
test_must_fail test-tool wildmatch ipathmatch '' '\'
ok 609 - ipathmatch: no match '' '\'
checking known breakage of 3070.610 'ipathmatch (via ls-files): no match skip '\' ''': false
not ok 610 - ipathmatch (via ls-files): no match skip '\' '' # TODO known breakage
expecting success of 3070.611 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
ok 611 - cleanup after previous file test
expecting success of 3070.612 'setup match file test for \':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 612 - setup match file test for \
expecting success of 3070.613 'wildmatch: no match '\' '\'':
test_must_fail test-tool wildmatch wildmatch '\' '\'
ok 613 - wildmatch: no match '\' '\'
expecting success of 3070.614 'wildmatch (via ls-files): match '\' '\'':
printf '%s' '\' >expect &&
git --glob-pathspecs ls-files -z -- '\' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 614 - wildmatch (via ls-files): match '\' '\'
expecting success of 3070.615 'iwildmatch: no match '\' '\'':
test_must_fail test-tool wildmatch iwildmatch '\' '\'
ok 615 - iwildmatch: no match '\' '\'
expecting success of 3070.616 'iwildmatch (via ls-files): match '\' '\'':
printf '%s' '\' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '\' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 616 - iwildmatch (via ls-files): match '\' '\'
expecting success of 3070.617 'pathmatch: no match '\' '\'':
test_must_fail test-tool wildmatch pathmatch '\' '\'
ok 617 - pathmatch: no match '\' '\'
expecting success of 3070.618 'pathmatch (via ls-files): match '\' '\'':
printf '%s' '\' >expect &&
git ls-files -z -- '\' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 618 - pathmatch (via ls-files): match '\' '\'
expecting success of 3070.619 'ipathmatch: no match '\' '\'':
test_must_fail test-tool wildmatch ipathmatch '\' '\'
ok 619 - ipathmatch: no match '\' '\'
expecting success of 3070.620 'ipathmatch (via ls-files): match '\' '\'':
printf '%s' '\' >expect &&
git --icase-pathspecs ls-files -z -- '\' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 620 - ipathmatch (via ls-files): match '\' '\'
expecting success of 3070.621 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing "\\"
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 621 - cleanup after previous file test
expecting success of 3070.622 'setup match file test for XXX/\':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 622 - setup match file test for XXX/\
expecting success of 3070.623 'wildmatch: no match 'XXX/\' '*/\'':
test_must_fail test-tool wildmatch wildmatch 'XXX/\' '*/\'
ok 623 - wildmatch: no match 'XXX/\' '*/\'
expecting success of 3070.624 'wildmatch (via ls-files): no match '*/\' 'XXX/\'':
>expect &&
git --glob-pathspecs ls-files -z -- '*/\' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 624 - wildmatch (via ls-files): no match '*/\' 'XXX/\'
expecting success of 3070.625 'iwildmatch: no match 'XXX/\' '*/\'':
test_must_fail test-tool wildmatch iwildmatch 'XXX/\' '*/\'
ok 625 - iwildmatch: no match 'XXX/\' '*/\'
expecting success of 3070.626 'iwildmatch (via ls-files): no match '*/\' 'XXX/\'':
>expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '*/\' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 626 - iwildmatch (via ls-files): no match '*/\' 'XXX/\'
expecting success of 3070.627 'pathmatch: no match 'XXX/\' '*/\'':
test_must_fail test-tool wildmatch pathmatch 'XXX/\' '*/\'
ok 627 - pathmatch: no match 'XXX/\' '*/\'
expecting success of 3070.628 'pathmatch (via ls-files): no match '*/\' 'XXX/\'':
>expect &&
git ls-files -z -- '*/\' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 628 - pathmatch (via ls-files): no match '*/\' 'XXX/\'
expecting success of 3070.629 'ipathmatch: no match 'XXX/\' '*/\'':
test_must_fail test-tool wildmatch ipathmatch 'XXX/\' '*/\'
ok 629 - ipathmatch: no match 'XXX/\' '*/\'
expecting success of 3070.630 'ipathmatch (via ls-files): no match '*/\' 'XXX/\'':
>expect &&
git --icase-pathspecs ls-files -z -- '*/\' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 630 - ipathmatch (via ls-files): no match '*/\' 'XXX/\'
expecting success of 3070.631 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing XXX/
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 631 - cleanup after previous file test
expecting success of 3070.632 'setup match file test for XXX/\':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 632 - setup match file test for XXX/\
expecting success of 3070.633 'wildmatch: match 'XXX/\' '*/\\'':
test-tool wildmatch wildmatch 'XXX/\' '*/\\'
ok 633 - wildmatch: match 'XXX/\' '*/\\'
expecting success of 3070.634 'wildmatch (via ls-files): match '*/\\' 'XXX/\'':
printf '%s' 'XXX/\' >expect &&
git --glob-pathspecs ls-files -z -- '*/\\' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 634 - wildmatch (via ls-files): match '*/\\' 'XXX/\'
expecting success of 3070.635 'iwildmatch: match 'XXX/\' '*/\\'':
test-tool wildmatch iwildmatch 'XXX/\' '*/\\'
ok 635 - iwildmatch: match 'XXX/\' '*/\\'
expecting success of 3070.636 'iwildmatch (via ls-files): match '*/\\' 'XXX/\'':
printf '%s' 'XXX/\' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '*/\\' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 636 - iwildmatch (via ls-files): match '*/\\' 'XXX/\'
expecting success of 3070.637 'pathmatch: match 'XXX/\' '*/\\'':
test-tool wildmatch pathmatch 'XXX/\' '*/\\'
ok 637 - pathmatch: match 'XXX/\' '*/\\'
expecting success of 3070.638 'pathmatch (via ls-files): match '*/\\' 'XXX/\'':
printf '%s' 'XXX/\' >expect &&
git ls-files -z -- '*/\\' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 638 - pathmatch (via ls-files): match '*/\\' 'XXX/\'
expecting success of 3070.639 'ipathmatch: match 'XXX/\' '*/\\'':
test-tool wildmatch ipathmatch 'XXX/\' '*/\\'
ok 639 - ipathmatch: match 'XXX/\' '*/\\'
expecting success of 3070.640 'ipathmatch (via ls-files): match '*/\\' 'XXX/\'':
printf '%s' 'XXX/\' >expect &&
git --icase-pathspecs ls-files -z -- '*/\\' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 640 - ipathmatch (via ls-files): match '*/\\' 'XXX/\'
expecting success of 3070.641 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing XXX/
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 641 - cleanup after previous file test
expecting success of 3070.642 'setup match file test for foo':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 642 - setup match file test for foo
expecting success of 3070.643 'wildmatch: match 'foo' 'foo'':
test-tool wildmatch wildmatch 'foo' 'foo'
ok 643 - wildmatch: match 'foo' 'foo'
expecting success of 3070.644 'wildmatch (via ls-files): match 'foo' 'foo'':
printf '%s' 'foo' >expect &&
git --glob-pathspecs ls-files -z -- 'foo' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 644 - wildmatch (via ls-files): match 'foo' 'foo'
expecting success of 3070.645 'iwildmatch: match 'foo' 'foo'':
test-tool wildmatch iwildmatch 'foo' 'foo'
ok 645 - iwildmatch: match 'foo' 'foo'
expecting success of 3070.646 'iwildmatch (via ls-files): match 'foo' 'foo'':
printf '%s' 'foo' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- 'foo' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 646 - iwildmatch (via ls-files): match 'foo' 'foo'
expecting success of 3070.647 'pathmatch: match 'foo' 'foo'':
test-tool wildmatch pathmatch 'foo' 'foo'
ok 647 - pathmatch: match 'foo' 'foo'
expecting success of 3070.648 'pathmatch (via ls-files): match 'foo' 'foo'':
printf '%s' 'foo' >expect &&
git ls-files -z -- 'foo' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 648 - pathmatch (via ls-files): match 'foo' 'foo'
expecting success of 3070.649 'ipathmatch: match 'foo' 'foo'':
test-tool wildmatch ipathmatch 'foo' 'foo'
ok 649 - ipathmatch: match 'foo' 'foo'
expecting success of 3070.650 'ipathmatch (via ls-files): match 'foo' 'foo'':
printf '%s' 'foo' >expect &&
git --icase-pathspecs ls-files -z -- 'foo' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 650 - ipathmatch (via ls-files): match 'foo' 'foo'
expecting success of 3070.651 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
Removing foo
ok 651 - cleanup after previous file test
expecting success of 3070.652 'setup match file test for @foo':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 652 - setup match file test for @foo
expecting success of 3070.653 'wildmatch: match '@foo' '@foo'':
test-tool wildmatch wildmatch '@foo' '@foo'
ok 653 - wildmatch: match '@foo' '@foo'
expecting success of 3070.654 'wildmatch (via ls-files): match '@foo' '@foo'':
printf '%s' '@foo' >expect &&
git --glob-pathspecs ls-files -z -- '@foo' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 654 - wildmatch (via ls-files): match '@foo' '@foo'
expecting success of 3070.655 'iwildmatch: match '@foo' '@foo'':
test-tool wildmatch iwildmatch '@foo' '@foo'
ok 655 - iwildmatch: match '@foo' '@foo'
expecting success of 3070.656 'iwildmatch (via ls-files): match '@foo' '@foo'':
printf '%s' '@foo' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '@foo' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 656 - iwildmatch (via ls-files): match '@foo' '@foo'
expecting success of 3070.657 'pathmatch: match '@foo' '@foo'':
test-tool wildmatch pathmatch '@foo' '@foo'
ok 657 - pathmatch: match '@foo' '@foo'
expecting success of 3070.658 'pathmatch (via ls-files): match '@foo' '@foo'':
printf '%s' '@foo' >expect &&
git ls-files -z -- '@foo' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 658 - pathmatch (via ls-files): match '@foo' '@foo'
expecting success of 3070.659 'ipathmatch: match '@foo' '@foo'':
test-tool wildmatch ipathmatch '@foo' '@foo'
ok 659 - ipathmatch: match '@foo' '@foo'
expecting success of 3070.660 'ipathmatch (via ls-files): match '@foo' '@foo'':
printf '%s' '@foo' >expect &&
git --icase-pathspecs ls-files -z -- '@foo' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 660 - ipathmatch (via ls-files): match '@foo' '@foo'
expecting success of 3070.661 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing @foo
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 661 - cleanup after previous file test
expecting success of 3070.662 'setup match file test for foo':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 662 - setup match file test for foo
expecting success of 3070.663 'wildmatch: no match 'foo' '@foo'':
test_must_fail test-tool wildmatch wildmatch 'foo' '@foo'
ok 663 - wildmatch: no match 'foo' '@foo'
expecting success of 3070.664 'wildmatch (via ls-files): no match '@foo' 'foo'':
>expect &&
git --glob-pathspecs ls-files -z -- '@foo' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 664 - wildmatch (via ls-files): no match '@foo' 'foo'
expecting success of 3070.665 'iwildmatch: no match 'foo' '@foo'':
test_must_fail test-tool wildmatch iwildmatch 'foo' '@foo'
ok 665 - iwildmatch: no match 'foo' '@foo'
expecting success of 3070.666 'iwildmatch (via ls-files): no match '@foo' 'foo'':
>expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '@foo' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 666 - iwildmatch (via ls-files): no match '@foo' 'foo'
expecting success of 3070.667 'pathmatch: no match 'foo' '@foo'':
test_must_fail test-tool wildmatch pathmatch 'foo' '@foo'
ok 667 - pathmatch: no match 'foo' '@foo'
expecting success of 3070.668 'pathmatch (via ls-files): no match '@foo' 'foo'':
>expect &&
git ls-files -z -- '@foo' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 668 - pathmatch (via ls-files): no match '@foo' 'foo'
expecting success of 3070.669 'ipathmatch: no match 'foo' '@foo'':
test_must_fail test-tool wildmatch ipathmatch 'foo' '@foo'
ok 669 - ipathmatch: no match 'foo' '@foo'
expecting success of 3070.670 'ipathmatch (via ls-files): no match '@foo' 'foo'':
>expect &&
git --icase-pathspecs ls-files -z -- '@foo' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 670 - ipathmatch (via ls-files): no match '@foo' 'foo'
expecting success of 3070.671 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
Removing foo
ok 671 - cleanup after previous file test
expecting success of 3070.672 'setup match file test for [ab]':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 672 - setup match file test for [ab]
expecting success of 3070.673 'wildmatch: match '[ab]' '\[ab]'':
test-tool wildmatch wildmatch '[ab]' '\[ab]'
ok 673 - wildmatch: match '[ab]' '\[ab]'
expecting success of 3070.674 'wildmatch (via ls-files): match '\[ab]' '[ab]'':
printf '%s' '[ab]' >expect &&
git --glob-pathspecs ls-files -z -- '\[ab]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 674 - wildmatch (via ls-files): match '\[ab]' '[ab]'
expecting success of 3070.675 'iwildmatch: match '[ab]' '\[ab]'':
test-tool wildmatch iwildmatch '[ab]' '\[ab]'
ok 675 - iwildmatch: match '[ab]' '\[ab]'
expecting success of 3070.676 'iwildmatch (via ls-files): match '\[ab]' '[ab]'':
printf '%s' '[ab]' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '\[ab]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 676 - iwildmatch (via ls-files): match '\[ab]' '[ab]'
expecting success of 3070.677 'pathmatch: match '[ab]' '\[ab]'':
test-tool wildmatch pathmatch '[ab]' '\[ab]'
ok 677 - pathmatch: match '[ab]' '\[ab]'
expecting success of 3070.678 'pathmatch (via ls-files): match '\[ab]' '[ab]'':
printf '%s' '[ab]' >expect &&
git ls-files -z -- '\[ab]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 678 - pathmatch (via ls-files): match '\[ab]' '[ab]'
expecting success of 3070.679 'ipathmatch: match '[ab]' '\[ab]'':
test-tool wildmatch ipathmatch '[ab]' '\[ab]'
ok 679 - ipathmatch: match '[ab]' '\[ab]'
expecting success of 3070.680 'ipathmatch (via ls-files): match '\[ab]' '[ab]'':
printf '%s' '[ab]' >expect &&
git --icase-pathspecs ls-files -z -- '\[ab]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 680 - ipathmatch (via ls-files): match '\[ab]' '[ab]'
expecting success of 3070.681 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing [ab]
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 681 - cleanup after previous file test
expecting success of 3070.682 'setup match file test for [ab]':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 682 - setup match file test for [ab]
expecting success of 3070.683 'wildmatch: match '[ab]' '[[]ab]'':
test-tool wildmatch wildmatch '[ab]' '[[]ab]'
ok 683 - wildmatch: match '[ab]' '[[]ab]'
expecting success of 3070.684 'wildmatch (via ls-files): match '[[]ab]' '[ab]'':
printf '%s' '[ab]' >expect &&
git --glob-pathspecs ls-files -z -- '[[]ab]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 684 - wildmatch (via ls-files): match '[[]ab]' '[ab]'
expecting success of 3070.685 'iwildmatch: match '[ab]' '[[]ab]'':
test-tool wildmatch iwildmatch '[ab]' '[[]ab]'
ok 685 - iwildmatch: match '[ab]' '[[]ab]'
expecting success of 3070.686 'iwildmatch (via ls-files): match '[[]ab]' '[ab]'':
printf '%s' '[ab]' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '[[]ab]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 686 - iwildmatch (via ls-files): match '[[]ab]' '[ab]'
expecting success of 3070.687 'pathmatch: match '[ab]' '[[]ab]'':
test-tool wildmatch pathmatch '[ab]' '[[]ab]'
ok 687 - pathmatch: match '[ab]' '[[]ab]'
expecting success of 3070.688 'pathmatch (via ls-files): match '[[]ab]' '[ab]'':
printf '%s' '[ab]' >expect &&
git ls-files -z -- '[[]ab]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 688 - pathmatch (via ls-files): match '[[]ab]' '[ab]'
expecting success of 3070.689 'ipathmatch: match '[ab]' '[[]ab]'':
test-tool wildmatch ipathmatch '[ab]' '[[]ab]'
ok 689 - ipathmatch: match '[ab]' '[[]ab]'
expecting success of 3070.690 'ipathmatch (via ls-files): match '[[]ab]' '[ab]'':
printf '%s' '[ab]' >expect &&
git --icase-pathspecs ls-files -z -- '[[]ab]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 690 - ipathmatch (via ls-files): match '[[]ab]' '[ab]'
expecting success of 3070.691 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing [ab]
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 691 - cleanup after previous file test
expecting success of 3070.692 'setup match file test for [ab]':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 692 - setup match file test for [ab]
expecting success of 3070.693 'wildmatch: match '[ab]' '[[:]ab]'':
test-tool wildmatch wildmatch '[ab]' '[[:]ab]'
ok 693 - wildmatch: match '[ab]' '[[:]ab]'
expecting success of 3070.694 'wildmatch (via ls-files): match '[[:]ab]' '[ab]'':
printf '%s' '[ab]' >expect &&
git --glob-pathspecs ls-files -z -- '[[:]ab]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 694 - wildmatch (via ls-files): match '[[:]ab]' '[ab]'
expecting success of 3070.695 'iwildmatch: match '[ab]' '[[:]ab]'':
test-tool wildmatch iwildmatch '[ab]' '[[:]ab]'
ok 695 - iwildmatch: match '[ab]' '[[:]ab]'
expecting success of 3070.696 'iwildmatch (via ls-files): match '[[:]ab]' '[ab]'':
printf '%s' '[ab]' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '[[:]ab]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 696 - iwildmatch (via ls-files): match '[[:]ab]' '[ab]'
expecting success of 3070.697 'pathmatch: match '[ab]' '[[:]ab]'':
test-tool wildmatch pathmatch '[ab]' '[[:]ab]'
ok 697 - pathmatch: match '[ab]' '[[:]ab]'
expecting success of 3070.698 'pathmatch (via ls-files): match '[[:]ab]' '[ab]'':
printf '%s' '[ab]' >expect &&
git ls-files -z -- '[[:]ab]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 698 - pathmatch (via ls-files): match '[[:]ab]' '[ab]'
expecting success of 3070.699 'ipathmatch: match '[ab]' '[[:]ab]'':
test-tool wildmatch ipathmatch '[ab]' '[[:]ab]'
ok 699 - ipathmatch: match '[ab]' '[[:]ab]'
expecting success of 3070.700 'ipathmatch (via ls-files): match '[[:]ab]' '[ab]'':
printf '%s' '[ab]' >expect &&
git --icase-pathspecs ls-files -z -- '[[:]ab]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 700 - ipathmatch (via ls-files): match '[[:]ab]' '[ab]'
expecting success of 3070.701 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing [ab]
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 701 - cleanup after previous file test
expecting success of 3070.702 'setup match file test for [ab]':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 702 - setup match file test for [ab]
expecting success of 3070.703 'wildmatch: no match '[ab]' '[[::]ab]'':
test_must_fail test-tool wildmatch wildmatch '[ab]' '[[::]ab]'
ok 703 - wildmatch: no match '[ab]' '[[::]ab]'
expecting success of 3070.704 'wildmatch (via ls-files): no match '[[::]ab]' '[ab]'':
>expect &&
git --glob-pathspecs ls-files -z -- '[[::]ab]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 704 - wildmatch (via ls-files): no match '[[::]ab]' '[ab]'
expecting success of 3070.705 'iwildmatch: no match '[ab]' '[[::]ab]'':
test_must_fail test-tool wildmatch iwildmatch '[ab]' '[[::]ab]'
ok 705 - iwildmatch: no match '[ab]' '[[::]ab]'
expecting success of 3070.706 'iwildmatch (via ls-files): no match '[[::]ab]' '[ab]'':
>expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '[[::]ab]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 706 - iwildmatch (via ls-files): no match '[[::]ab]' '[ab]'
expecting success of 3070.707 'pathmatch: no match '[ab]' '[[::]ab]'':
test_must_fail test-tool wildmatch pathmatch '[ab]' '[[::]ab]'
ok 707 - pathmatch: no match '[ab]' '[[::]ab]'
expecting success of 3070.708 'pathmatch (via ls-files): no match '[[::]ab]' '[ab]'':
>expect &&
git ls-files -z -- '[[::]ab]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 708 - pathmatch (via ls-files): no match '[[::]ab]' '[ab]'
expecting success of 3070.709 'ipathmatch: no match '[ab]' '[[::]ab]'':
test_must_fail test-tool wildmatch ipathmatch '[ab]' '[[::]ab]'
ok 709 - ipathmatch: no match '[ab]' '[[::]ab]'
expecting success of 3070.710 'ipathmatch (via ls-files): no match '[[::]ab]' '[ab]'':
>expect &&
git --icase-pathspecs ls-files -z -- '[[::]ab]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 710 - ipathmatch (via ls-files): no match '[[::]ab]' '[ab]'
expecting success of 3070.711 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing [ab]
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 711 - cleanup after previous file test
expecting success of 3070.712 'setup match file test for [ab]':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 712 - setup match file test for [ab]
expecting success of 3070.713 'wildmatch: match '[ab]' '[[:digit]ab]'':
test-tool wildmatch wildmatch '[ab]' '[[:digit]ab]'
ok 713 - wildmatch: match '[ab]' '[[:digit]ab]'
expecting success of 3070.714 'wildmatch (via ls-files): match '[[:digit]ab]' '[ab]'':
printf '%s' '[ab]' >expect &&
git --glob-pathspecs ls-files -z -- '[[:digit]ab]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 714 - wildmatch (via ls-files): match '[[:digit]ab]' '[ab]'
expecting success of 3070.715 'iwildmatch: match '[ab]' '[[:digit]ab]'':
test-tool wildmatch iwildmatch '[ab]' '[[:digit]ab]'
ok 715 - iwildmatch: match '[ab]' '[[:digit]ab]'
expecting success of 3070.716 'iwildmatch (via ls-files): match '[[:digit]ab]' '[ab]'':
printf '%s' '[ab]' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '[[:digit]ab]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 716 - iwildmatch (via ls-files): match '[[:digit]ab]' '[ab]'
expecting success of 3070.717 'pathmatch: match '[ab]' '[[:digit]ab]'':
test-tool wildmatch pathmatch '[ab]' '[[:digit]ab]'
ok 717 - pathmatch: match '[ab]' '[[:digit]ab]'
expecting success of 3070.718 'pathmatch (via ls-files): match '[[:digit]ab]' '[ab]'':
printf '%s' '[ab]' >expect &&
git ls-files -z -- '[[:digit]ab]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 718 - pathmatch (via ls-files): match '[[:digit]ab]' '[ab]'
expecting success of 3070.719 'ipathmatch: match '[ab]' '[[:digit]ab]'':
test-tool wildmatch ipathmatch '[ab]' '[[:digit]ab]'
ok 719 - ipathmatch: match '[ab]' '[[:digit]ab]'
expecting success of 3070.720 'ipathmatch (via ls-files): match '[[:digit]ab]' '[ab]'':
printf '%s' '[ab]' >expect &&
git --icase-pathspecs ls-files -z -- '[[:digit]ab]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 720 - ipathmatch (via ls-files): match '[[:digit]ab]' '[ab]'
expecting success of 3070.721 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing [ab]
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 721 - cleanup after previous file test
expecting success of 3070.722 'setup match file test for [ab]':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 722 - setup match file test for [ab]
expecting success of 3070.723 'wildmatch: match '[ab]' '[\[:]ab]'':
test-tool wildmatch wildmatch '[ab]' '[\[:]ab]'
ok 723 - wildmatch: match '[ab]' '[\[:]ab]'
expecting success of 3070.724 'wildmatch (via ls-files): match '[\[:]ab]' '[ab]'':
printf '%s' '[ab]' >expect &&
git --glob-pathspecs ls-files -z -- '[\[:]ab]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 724 - wildmatch (via ls-files): match '[\[:]ab]' '[ab]'
expecting success of 3070.725 'iwildmatch: match '[ab]' '[\[:]ab]'':
test-tool wildmatch iwildmatch '[ab]' '[\[:]ab]'
ok 725 - iwildmatch: match '[ab]' '[\[:]ab]'
expecting success of 3070.726 'iwildmatch (via ls-files): match '[\[:]ab]' '[ab]'':
printf '%s' '[ab]' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '[\[:]ab]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 726 - iwildmatch (via ls-files): match '[\[:]ab]' '[ab]'
expecting success of 3070.727 'pathmatch: match '[ab]' '[\[:]ab]'':
test-tool wildmatch pathmatch '[ab]' '[\[:]ab]'
ok 727 - pathmatch: match '[ab]' '[\[:]ab]'
expecting success of 3070.728 'pathmatch (via ls-files): match '[\[:]ab]' '[ab]'':
printf '%s' '[ab]' >expect &&
git ls-files -z -- '[\[:]ab]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 728 - pathmatch (via ls-files): match '[\[:]ab]' '[ab]'
expecting success of 3070.729 'ipathmatch: match '[ab]' '[\[:]ab]'':
test-tool wildmatch ipathmatch '[ab]' '[\[:]ab]'
ok 729 - ipathmatch: match '[ab]' '[\[:]ab]'
expecting success of 3070.730 'ipathmatch (via ls-files): match '[\[:]ab]' '[ab]'':
printf '%s' '[ab]' >expect &&
git --icase-pathspecs ls-files -z -- '[\[:]ab]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 730 - ipathmatch (via ls-files): match '[\[:]ab]' '[ab]'
expecting success of 3070.731 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing [ab]
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 731 - cleanup after previous file test
expecting success of 3070.732 'setup match file test for ?a?b':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 732 - setup match file test for ?a?b
expecting success of 3070.733 'wildmatch: match '?a?b' '\??\?b'':
test-tool wildmatch wildmatch '?a?b' '\??\?b'
ok 733 - wildmatch: match '?a?b' '\??\?b'
expecting success of 3070.734 'wildmatch (via ls-files): match '\??\?b' '?a?b'':
printf '%s' '?a?b' >expect &&
git --glob-pathspecs ls-files -z -- '\??\?b' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 734 - wildmatch (via ls-files): match '\??\?b' '?a?b'
expecting success of 3070.735 'iwildmatch: match '?a?b' '\??\?b'':
test-tool wildmatch iwildmatch '?a?b' '\??\?b'
ok 735 - iwildmatch: match '?a?b' '\??\?b'
expecting success of 3070.736 'iwildmatch (via ls-files): match '\??\?b' '?a?b'':
printf '%s' '?a?b' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '\??\?b' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 736 - iwildmatch (via ls-files): match '\??\?b' '?a?b'
expecting success of 3070.737 'pathmatch: match '?a?b' '\??\?b'':
test-tool wildmatch pathmatch '?a?b' '\??\?b'
ok 737 - pathmatch: match '?a?b' '\??\?b'
expecting success of 3070.738 'pathmatch (via ls-files): match '\??\?b' '?a?b'':
printf '%s' '?a?b' >expect &&
git ls-files -z -- '\??\?b' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 738 - pathmatch (via ls-files): match '\??\?b' '?a?b'
expecting success of 3070.739 'ipathmatch: match '?a?b' '\??\?b'':
test-tool wildmatch ipathmatch '?a?b' '\??\?b'
ok 739 - ipathmatch: match '?a?b' '\??\?b'
expecting success of 3070.740 'ipathmatch (via ls-files): match '\??\?b' '?a?b'':
printf '%s' '?a?b' >expect &&
git --icase-pathspecs ls-files -z -- '\??\?b' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 740 - ipathmatch (via ls-files): match '\??\?b' '?a?b'
expecting success of 3070.741 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing ?a?b
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 741 - cleanup after previous file test
expecting success of 3070.742 'setup match file test for abc':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 742 - setup match file test for abc
expecting success of 3070.743 'wildmatch: match 'abc' '\a\b\c'':
test-tool wildmatch wildmatch 'abc' '\a\b\c'
ok 743 - wildmatch: match 'abc' '\a\b\c'
expecting success of 3070.744 'wildmatch (via ls-files): match '\a\b\c' 'abc'':
printf '%s' 'abc' >expect &&
git --glob-pathspecs ls-files -z -- '\a\b\c' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 744 - wildmatch (via ls-files): match '\a\b\c' 'abc'
expecting success of 3070.745 'iwildmatch: match 'abc' '\a\b\c'':
test-tool wildmatch iwildmatch 'abc' '\a\b\c'
ok 745 - iwildmatch: match 'abc' '\a\b\c'
expecting success of 3070.746 'iwildmatch (via ls-files): match '\a\b\c' 'abc'':
printf '%s' 'abc' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '\a\b\c' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 746 - iwildmatch (via ls-files): match '\a\b\c' 'abc'
expecting success of 3070.747 'pathmatch: match 'abc' '\a\b\c'':
test-tool wildmatch pathmatch 'abc' '\a\b\c'
ok 747 - pathmatch: match 'abc' '\a\b\c'
expecting success of 3070.748 'pathmatch (via ls-files): match '\a\b\c' 'abc'':
printf '%s' 'abc' >expect &&
git ls-files -z -- '\a\b\c' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 748 - pathmatch (via ls-files): match '\a\b\c' 'abc'
expecting success of 3070.749 'ipathmatch: match 'abc' '\a\b\c'':
test-tool wildmatch ipathmatch 'abc' '\a\b\c'
ok 749 - ipathmatch: match 'abc' '\a\b\c'
expecting success of 3070.750 'ipathmatch (via ls-files): match '\a\b\c' 'abc'':
printf '%s' 'abc' >expect &&
git --icase-pathspecs ls-files -z -- '\a\b\c' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 750 - ipathmatch (via ls-files): match '\a\b\c' 'abc'
expecting success of 3070.751 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing abc
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 751 - cleanup after previous file test
expecting success of 3070.752 'setup match file test for foo':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 752 - setup match file test for foo
expecting success of 3070.753 'wildmatch: no match 'foo' ''':
test_must_fail test-tool wildmatch wildmatch 'foo' ''
ok 753 - wildmatch: no match 'foo' ''
expecting success of 3070.754 'wildmatch (via ls-files): match dies on '' 'foo'':
printf '%s' 'foo' >expect &&
test_must_fail git --glob-pathspecs ls-files -z -- ''
fatal: empty string is not a valid pathspec. please use . instead if you meant to match all paths
ok 754 - wildmatch (via ls-files): match dies on '' 'foo'
expecting success of 3070.755 'iwildmatch: no match 'foo' ''':
test_must_fail test-tool wildmatch iwildmatch 'foo' ''
ok 755 - iwildmatch: no match 'foo' ''
expecting success of 3070.756 'iwildmatch (via ls-files): match dies on '' 'foo'':
printf '%s' 'foo' >expect &&
test_must_fail git --glob-pathspecs --icase-pathspecs ls-files -z -- ''
fatal: empty string is not a valid pathspec. please use . instead if you meant to match all paths
ok 756 - iwildmatch (via ls-files): match dies on '' 'foo'
expecting success of 3070.757 'pathmatch: no match 'foo' ''':
test_must_fail test-tool wildmatch pathmatch 'foo' ''
ok 757 - pathmatch: no match 'foo' ''
expecting success of 3070.758 'pathmatch (via ls-files): match dies on '' 'foo'':
printf '%s' 'foo' >expect &&
test_must_fail git ls-files -z -- ''
fatal: empty string is not a valid pathspec. please use . instead if you meant to match all paths
ok 758 - pathmatch (via ls-files): match dies on '' 'foo'
expecting success of 3070.759 'ipathmatch: no match 'foo' ''':
test_must_fail test-tool wildmatch ipathmatch 'foo' ''
ok 759 - ipathmatch: no match 'foo' ''
expecting success of 3070.760 'ipathmatch (via ls-files): match dies on '' 'foo'':
printf '%s' 'foo' >expect &&
test_must_fail git --icase-pathspecs ls-files -z -- ''
fatal: empty string is not a valid pathspec. please use . instead if you meant to match all paths
ok 760 - ipathmatch (via ls-files): match dies on '' 'foo'
expecting success of 3070.761 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing expect
Removing foo
ok 761 - cleanup after previous file test
expecting success of 3070.762 'setup match file test for foo/bar/baz/to':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 762 - setup match file test for foo/bar/baz/to
expecting success of 3070.763 'wildmatch: match 'foo/bar/baz/to' '**/t[o]'':
test-tool wildmatch wildmatch 'foo/bar/baz/to' '**/t[o]'
ok 763 - wildmatch: match 'foo/bar/baz/to' '**/t[o]'
expecting success of 3070.764 'wildmatch (via ls-files): match '**/t[o]' 'foo/bar/baz/to'':
printf '%s' 'foo/bar/baz/to' >expect &&
git --glob-pathspecs ls-files -z -- '**/t[o]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 764 - wildmatch (via ls-files): match '**/t[o]' 'foo/bar/baz/to'
expecting success of 3070.765 'iwildmatch: match 'foo/bar/baz/to' '**/t[o]'':
test-tool wildmatch iwildmatch 'foo/bar/baz/to' '**/t[o]'
ok 765 - iwildmatch: match 'foo/bar/baz/to' '**/t[o]'
expecting success of 3070.766 'iwildmatch (via ls-files): match '**/t[o]' 'foo/bar/baz/to'':
printf '%s' 'foo/bar/baz/to' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '**/t[o]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 766 - iwildmatch (via ls-files): match '**/t[o]' 'foo/bar/baz/to'
expecting success of 3070.767 'pathmatch: match 'foo/bar/baz/to' '**/t[o]'':
test-tool wildmatch pathmatch 'foo/bar/baz/to' '**/t[o]'
ok 767 - pathmatch: match 'foo/bar/baz/to' '**/t[o]'
expecting success of 3070.768 'pathmatch (via ls-files): match '**/t[o]' 'foo/bar/baz/to'':
printf '%s' 'foo/bar/baz/to' >expect &&
git ls-files -z -- '**/t[o]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 768 - pathmatch (via ls-files): match '**/t[o]' 'foo/bar/baz/to'
expecting success of 3070.769 'ipathmatch: match 'foo/bar/baz/to' '**/t[o]'':
test-tool wildmatch ipathmatch 'foo/bar/baz/to' '**/t[o]'
ok 769 - ipathmatch: match 'foo/bar/baz/to' '**/t[o]'
expecting success of 3070.770 'ipathmatch (via ls-files): match '**/t[o]' 'foo/bar/baz/to'':
printf '%s' 'foo/bar/baz/to' >expect &&
git --icase-pathspecs ls-files -z -- '**/t[o]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 770 - ipathmatch (via ls-files): match '**/t[o]' 'foo/bar/baz/to'
expecting success of 3070.771 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
Removing foo/
ok 771 - cleanup after previous file test
expecting success of 3070.772 'setup match file test for a1B':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 772 - setup match file test for a1B
expecting success of 3070.773 'wildmatch: match 'a1B' '[[:alpha:]][[:digit:]][[:upper:]]'':
test-tool wildmatch wildmatch 'a1B' '[[:alpha:]][[:digit:]][[:upper:]]'
ok 773 - wildmatch: match 'a1B' '[[:alpha:]][[:digit:]][[:upper:]]'
expecting success of 3070.774 'wildmatch (via ls-files): match '[[:alpha:]][[:digit:]][[:upper:]]' 'a1B'':
printf '%s' 'a1B' >expect &&
git --glob-pathspecs ls-files -z -- '[[:alpha:]][[:digit:]][[:upper:]]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 774 - wildmatch (via ls-files): match '[[:alpha:]][[:digit:]][[:upper:]]' 'a1B'
expecting success of 3070.775 'iwildmatch: match 'a1B' '[[:alpha:]][[:digit:]][[:upper:]]'':
test-tool wildmatch iwildmatch 'a1B' '[[:alpha:]][[:digit:]][[:upper:]]'
ok 775 - iwildmatch: match 'a1B' '[[:alpha:]][[:digit:]][[:upper:]]'
expecting success of 3070.776 'iwildmatch (via ls-files): match '[[:alpha:]][[:digit:]][[:upper:]]' 'a1B'':
printf '%s' 'a1B' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '[[:alpha:]][[:digit:]][[:upper:]]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 776 - iwildmatch (via ls-files): match '[[:alpha:]][[:digit:]][[:upper:]]' 'a1B'
expecting success of 3070.777 'pathmatch: match 'a1B' '[[:alpha:]][[:digit:]][[:upper:]]'':
test-tool wildmatch pathmatch 'a1B' '[[:alpha:]][[:digit:]][[:upper:]]'
ok 777 - pathmatch: match 'a1B' '[[:alpha:]][[:digit:]][[:upper:]]'
expecting success of 3070.778 'pathmatch (via ls-files): match '[[:alpha:]][[:digit:]][[:upper:]]' 'a1B'':
printf '%s' 'a1B' >expect &&
git ls-files -z -- '[[:alpha:]][[:digit:]][[:upper:]]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 778 - pathmatch (via ls-files): match '[[:alpha:]][[:digit:]][[:upper:]]' 'a1B'
expecting success of 3070.779 'ipathmatch: match 'a1B' '[[:alpha:]][[:digit:]][[:upper:]]'':
test-tool wildmatch ipathmatch 'a1B' '[[:alpha:]][[:digit:]][[:upper:]]'
ok 779 - ipathmatch: match 'a1B' '[[:alpha:]][[:digit:]][[:upper:]]'
expecting success of 3070.780 'ipathmatch (via ls-files): match '[[:alpha:]][[:digit:]][[:upper:]]' 'a1B'':
printf '%s' 'a1B' >expect &&
git --icase-pathspecs ls-files -z -- '[[:alpha:]][[:digit:]][[:upper:]]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 780 - ipathmatch (via ls-files): match '[[:alpha:]][[:digit:]][[:upper:]]' 'a1B'
expecting success of 3070.781 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing a1B
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 781 - cleanup after previous file test
expecting success of 3070.782 'setup match file test for a':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 782 - setup match file test for a
expecting success of 3070.783 'wildmatch: no match 'a' '[[:digit:][:upper:][:space:]]'':
test_must_fail test-tool wildmatch wildmatch 'a' '[[:digit:][:upper:][:space:]]'
ok 783 - wildmatch: no match 'a' '[[:digit:][:upper:][:space:]]'
expecting success of 3070.784 'wildmatch (via ls-files): no match '[[:digit:][:upper:][:space:]]' 'a'':
>expect &&
git --glob-pathspecs ls-files -z -- '[[:digit:][:upper:][:space:]]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 784 - wildmatch (via ls-files): no match '[[:digit:][:upper:][:space:]]' 'a'
expecting success of 3070.785 'iwildmatch: match 'a' '[[:digit:][:upper:][:space:]]'':
test-tool wildmatch iwildmatch 'a' '[[:digit:][:upper:][:space:]]'
ok 785 - iwildmatch: match 'a' '[[:digit:][:upper:][:space:]]'
expecting success of 3070.786 'iwildmatch (via ls-files): match '[[:digit:][:upper:][:space:]]' 'a'':
printf '%s' 'a' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '[[:digit:][:upper:][:space:]]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 786 - iwildmatch (via ls-files): match '[[:digit:][:upper:][:space:]]' 'a'
expecting success of 3070.787 'pathmatch: no match 'a' '[[:digit:][:upper:][:space:]]'':
test_must_fail test-tool wildmatch pathmatch 'a' '[[:digit:][:upper:][:space:]]'
ok 787 - pathmatch: no match 'a' '[[:digit:][:upper:][:space:]]'
expecting success of 3070.788 'pathmatch (via ls-files): no match '[[:digit:][:upper:][:space:]]' 'a'':
>expect &&
git ls-files -z -- '[[:digit:][:upper:][:space:]]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 788 - pathmatch (via ls-files): no match '[[:digit:][:upper:][:space:]]' 'a'
expecting success of 3070.789 'ipathmatch: match 'a' '[[:digit:][:upper:][:space:]]'':
test-tool wildmatch ipathmatch 'a' '[[:digit:][:upper:][:space:]]'
ok 789 - ipathmatch: match 'a' '[[:digit:][:upper:][:space:]]'
expecting success of 3070.790 'ipathmatch (via ls-files): match '[[:digit:][:upper:][:space:]]' 'a'':
printf '%s' 'a' >expect &&
git --icase-pathspecs ls-files -z -- '[[:digit:][:upper:][:space:]]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 790 - ipathmatch (via ls-files): match '[[:digit:][:upper:][:space:]]' 'a'
expecting success of 3070.791 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing a
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 791 - cleanup after previous file test
expecting success of 3070.792 'setup match file test for A':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 792 - setup match file test for A
expecting success of 3070.793 'wildmatch: match 'A' '[[:digit:][:upper:][:space:]]'':
test-tool wildmatch wildmatch 'A' '[[:digit:][:upper:][:space:]]'
ok 793 - wildmatch: match 'A' '[[:digit:][:upper:][:space:]]'
expecting success of 3070.794 'wildmatch (via ls-files): match '[[:digit:][:upper:][:space:]]' 'A'':
printf '%s' 'A' >expect &&
git --glob-pathspecs ls-files -z -- '[[:digit:][:upper:][:space:]]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 794 - wildmatch (via ls-files): match '[[:digit:][:upper:][:space:]]' 'A'
expecting success of 3070.795 'iwildmatch: match 'A' '[[:digit:][:upper:][:space:]]'':
test-tool wildmatch iwildmatch 'A' '[[:digit:][:upper:][:space:]]'
ok 795 - iwildmatch: match 'A' '[[:digit:][:upper:][:space:]]'
expecting success of 3070.796 'iwildmatch (via ls-files): match '[[:digit:][:upper:][:space:]]' 'A'':
printf '%s' 'A' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '[[:digit:][:upper:][:space:]]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 796 - iwildmatch (via ls-files): match '[[:digit:][:upper:][:space:]]' 'A'
expecting success of 3070.797 'pathmatch: match 'A' '[[:digit:][:upper:][:space:]]'':
test-tool wildmatch pathmatch 'A' '[[:digit:][:upper:][:space:]]'
ok 797 - pathmatch: match 'A' '[[:digit:][:upper:][:space:]]'
expecting success of 3070.798 'pathmatch (via ls-files): match '[[:digit:][:upper:][:space:]]' 'A'':
printf '%s' 'A' >expect &&
git ls-files -z -- '[[:digit:][:upper:][:space:]]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 798 - pathmatch (via ls-files): match '[[:digit:][:upper:][:space:]]' 'A'
expecting success of 3070.799 'ipathmatch: match 'A' '[[:digit:][:upper:][:space:]]'':
test-tool wildmatch ipathmatch 'A' '[[:digit:][:upper:][:space:]]'
ok 799 - ipathmatch: match 'A' '[[:digit:][:upper:][:space:]]'
expecting success of 3070.800 'ipathmatch (via ls-files): match '[[:digit:][:upper:][:space:]]' 'A'':
printf '%s' 'A' >expect &&
git --icase-pathspecs ls-files -z -- '[[:digit:][:upper:][:space:]]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 800 - ipathmatch (via ls-files): match '[[:digit:][:upper:][:space:]]' 'A'
expecting success of 3070.801 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing A
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 801 - cleanup after previous file test
expecting success of 3070.802 'setup match file test for 1':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 802 - setup match file test for 1
expecting success of 3070.803 'wildmatch: match '1' '[[:digit:][:upper:][:space:]]'':
test-tool wildmatch wildmatch '1' '[[:digit:][:upper:][:space:]]'
ok 803 - wildmatch: match '1' '[[:digit:][:upper:][:space:]]'
expecting success of 3070.804 'wildmatch (via ls-files): match '[[:digit:][:upper:][:space:]]' '1'':
printf '%s' '1' >expect &&
git --glob-pathspecs ls-files -z -- '[[:digit:][:upper:][:space:]]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 804 - wildmatch (via ls-files): match '[[:digit:][:upper:][:space:]]' '1'
expecting success of 3070.805 'iwildmatch: match '1' '[[:digit:][:upper:][:space:]]'':
test-tool wildmatch iwildmatch '1' '[[:digit:][:upper:][:space:]]'
ok 805 - iwildmatch: match '1' '[[:digit:][:upper:][:space:]]'
expecting success of 3070.806 'iwildmatch (via ls-files): match '[[:digit:][:upper:][:space:]]' '1'':
printf '%s' '1' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '[[:digit:][:upper:][:space:]]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 806 - iwildmatch (via ls-files): match '[[:digit:][:upper:][:space:]]' '1'
expecting success of 3070.807 'pathmatch: match '1' '[[:digit:][:upper:][:space:]]'':
test-tool wildmatch pathmatch '1' '[[:digit:][:upper:][:space:]]'
ok 807 - pathmatch: match '1' '[[:digit:][:upper:][:space:]]'
expecting success of 3070.808 'pathmatch (via ls-files): match '[[:digit:][:upper:][:space:]]' '1'':
printf '%s' '1' >expect &&
git ls-files -z -- '[[:digit:][:upper:][:space:]]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 808 - pathmatch (via ls-files): match '[[:digit:][:upper:][:space:]]' '1'
expecting success of 3070.809 'ipathmatch: match '1' '[[:digit:][:upper:][:space:]]'':
test-tool wildmatch ipathmatch '1' '[[:digit:][:upper:][:space:]]'
ok 809 - ipathmatch: match '1' '[[:digit:][:upper:][:space:]]'
expecting success of 3070.810 'ipathmatch (via ls-files): match '[[:digit:][:upper:][:space:]]' '1'':
printf '%s' '1' >expect &&
git --icase-pathspecs ls-files -z -- '[[:digit:][:upper:][:space:]]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 810 - ipathmatch (via ls-files): match '[[:digit:][:upper:][:space:]]' '1'
expecting success of 3070.811 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing 1
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 811 - cleanup after previous file test
expecting success of 3070.812 'setup match file test for 1':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 812 - setup match file test for 1
expecting success of 3070.813 'wildmatch: no match '1' '[[:digit:][:upper:][:spaci:]]'':
test_must_fail test-tool wildmatch wildmatch '1' '[[:digit:][:upper:][:spaci:]]'
ok 813 - wildmatch: no match '1' '[[:digit:][:upper:][:spaci:]]'
expecting success of 3070.814 'wildmatch (via ls-files): no match '[[:digit:][:upper:][:spaci:]]' '1'':
>expect &&
git --glob-pathspecs ls-files -z -- '[[:digit:][:upper:][:spaci:]]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 814 - wildmatch (via ls-files): no match '[[:digit:][:upper:][:spaci:]]' '1'
expecting success of 3070.815 'iwildmatch: no match '1' '[[:digit:][:upper:][:spaci:]]'':
test_must_fail test-tool wildmatch iwildmatch '1' '[[:digit:][:upper:][:spaci:]]'
ok 815 - iwildmatch: no match '1' '[[:digit:][:upper:][:spaci:]]'
expecting success of 3070.816 'iwildmatch (via ls-files): no match '[[:digit:][:upper:][:spaci:]]' '1'':
>expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '[[:digit:][:upper:][:spaci:]]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 816 - iwildmatch (via ls-files): no match '[[:digit:][:upper:][:spaci:]]' '1'
expecting success of 3070.817 'pathmatch: no match '1' '[[:digit:][:upper:][:spaci:]]'':
test_must_fail test-tool wildmatch pathmatch '1' '[[:digit:][:upper:][:spaci:]]'
ok 817 - pathmatch: no match '1' '[[:digit:][:upper:][:spaci:]]'
expecting success of 3070.818 'pathmatch (via ls-files): no match '[[:digit:][:upper:][:spaci:]]' '1'':
>expect &&
git ls-files -z -- '[[:digit:][:upper:][:spaci:]]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 818 - pathmatch (via ls-files): no match '[[:digit:][:upper:][:spaci:]]' '1'
expecting success of 3070.819 'ipathmatch: no match '1' '[[:digit:][:upper:][:spaci:]]'':
test_must_fail test-tool wildmatch ipathmatch '1' '[[:digit:][:upper:][:spaci:]]'
ok 819 - ipathmatch: no match '1' '[[:digit:][:upper:][:spaci:]]'
expecting success of 3070.820 'ipathmatch (via ls-files): no match '[[:digit:][:upper:][:spaci:]]' '1'':
>expect &&
git --icase-pathspecs ls-files -z -- '[[:digit:][:upper:][:spaci:]]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 820 - ipathmatch (via ls-files): no match '[[:digit:][:upper:][:spaci:]]' '1'
expecting success of 3070.821 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing 1
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 821 - cleanup after previous file test
expecting success of 3070.822 'setup match file test for ':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 822 - setup match file test for
expecting success of 3070.823 'wildmatch: match ' ' '[[:digit:][:upper:][:space:]]'':
test-tool wildmatch wildmatch ' ' '[[:digit:][:upper:][:space:]]'
ok 823 - wildmatch: match ' ' '[[:digit:][:upper:][:space:]]'
expecting success of 3070.824 'wildmatch (via ls-files): match '[[:digit:][:upper:][:space:]]' ' '':
printf '%s' ' ' >expect &&
git --glob-pathspecs ls-files -z -- '[[:digit:][:upper:][:space:]]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 824 - wildmatch (via ls-files): match '[[:digit:][:upper:][:space:]]' ' '
expecting success of 3070.825 'iwildmatch: match ' ' '[[:digit:][:upper:][:space:]]'':
test-tool wildmatch iwildmatch ' ' '[[:digit:][:upper:][:space:]]'
ok 825 - iwildmatch: match ' ' '[[:digit:][:upper:][:space:]]'
expecting success of 3070.826 'iwildmatch (via ls-files): match '[[:digit:][:upper:][:space:]]' ' '':
printf '%s' ' ' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '[[:digit:][:upper:][:space:]]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 826 - iwildmatch (via ls-files): match '[[:digit:][:upper:][:space:]]' ' '
expecting success of 3070.827 'pathmatch: match ' ' '[[:digit:][:upper:][:space:]]'':
test-tool wildmatch pathmatch ' ' '[[:digit:][:upper:][:space:]]'
ok 827 - pathmatch: match ' ' '[[:digit:][:upper:][:space:]]'
expecting success of 3070.828 'pathmatch (via ls-files): match '[[:digit:][:upper:][:space:]]' ' '':
printf '%s' ' ' >expect &&
git ls-files -z -- '[[:digit:][:upper:][:space:]]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 828 - pathmatch (via ls-files): match '[[:digit:][:upper:][:space:]]' ' '
expecting success of 3070.829 'ipathmatch: match ' ' '[[:digit:][:upper:][:space:]]'':
test-tool wildmatch ipathmatch ' ' '[[:digit:][:upper:][:space:]]'
ok 829 - ipathmatch: match ' ' '[[:digit:][:upper:][:space:]]'
expecting success of 3070.830 'ipathmatch (via ls-files): match '[[:digit:][:upper:][:space:]]' ' '':
printf '%s' ' ' >expect &&
git --icase-pathspecs ls-files -z -- '[[:digit:][:upper:][:space:]]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 830 - ipathmatch (via ls-files): match '[[:digit:][:upper:][:space:]]' ' '
expecting success of 3070.831 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 831 - cleanup after previous file test
expecting success of 3070.832 'setup match file test for .':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 832 - setup match file test for .
expecting success of 3070.833 'wildmatch: no match '.' '[[:digit:][:upper:][:space:]]'':
test_must_fail test-tool wildmatch wildmatch '.' '[[:digit:][:upper:][:space:]]'
ok 833 - wildmatch: no match '.' '[[:digit:][:upper:][:space:]]'
checking known breakage of 3070.834 'wildmatch (via ls-files): no match skip '[[:digit:][:upper:][:space:]]' '.'': false
not ok 834 - wildmatch (via ls-files): no match skip '[[:digit:][:upper:][:space:]]' '.' # TODO known breakage
expecting success of 3070.835 'iwildmatch: no match '.' '[[:digit:][:upper:][:space:]]'':
test_must_fail test-tool wildmatch iwildmatch '.' '[[:digit:][:upper:][:space:]]'
ok 835 - iwildmatch: no match '.' '[[:digit:][:upper:][:space:]]'
checking known breakage of 3070.836 'iwildmatch (via ls-files): no match skip '[[:digit:][:upper:][:space:]]' '.'': false
not ok 836 - iwildmatch (via ls-files): no match skip '[[:digit:][:upper:][:space:]]' '.' # TODO known breakage
expecting success of 3070.837 'pathmatch: no match '.' '[[:digit:][:upper:][:space:]]'':
test_must_fail test-tool wildmatch pathmatch '.' '[[:digit:][:upper:][:space:]]'
ok 837 - pathmatch: no match '.' '[[:digit:][:upper:][:space:]]'
checking known breakage of 3070.838 'pathmatch (via ls-files): no match skip '[[:digit:][:upper:][:space:]]' '.'': false
not ok 838 - pathmatch (via ls-files): no match skip '[[:digit:][:upper:][:space:]]' '.' # TODO known breakage
expecting success of 3070.839 'ipathmatch: no match '.' '[[:digit:][:upper:][:space:]]'':
test_must_fail test-tool wildmatch ipathmatch '.' '[[:digit:][:upper:][:space:]]'
ok 839 - ipathmatch: no match '.' '[[:digit:][:upper:][:space:]]'
checking known breakage of 3070.840 'ipathmatch (via ls-files): no match skip '[[:digit:][:upper:][:space:]]' '.'': false
not ok 840 - ipathmatch (via ls-files): no match skip '[[:digit:][:upper:][:space:]]' '.' # TODO known breakage
expecting success of 3070.841 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
ok 841 - cleanup after previous file test
expecting success of 3070.842 'setup match file test for .':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 842 - setup match file test for .
expecting success of 3070.843 'wildmatch: match '.' '[[:digit:][:punct:][:space:]]'':
test-tool wildmatch wildmatch '.' '[[:digit:][:punct:][:space:]]'
ok 843 - wildmatch: match '.' '[[:digit:][:punct:][:space:]]'
checking known breakage of 3070.844 'wildmatch (via ls-files): match skip '[[:digit:][:punct:][:space:]]' '.'': false
not ok 844 - wildmatch (via ls-files): match skip '[[:digit:][:punct:][:space:]]' '.' # TODO known breakage
expecting success of 3070.845 'iwildmatch: match '.' '[[:digit:][:punct:][:space:]]'':
test-tool wildmatch iwildmatch '.' '[[:digit:][:punct:][:space:]]'
ok 845 - iwildmatch: match '.' '[[:digit:][:punct:][:space:]]'
checking known breakage of 3070.846 'iwildmatch (via ls-files): match skip '[[:digit:][:punct:][:space:]]' '.'': false
not ok 846 - iwildmatch (via ls-files): match skip '[[:digit:][:punct:][:space:]]' '.' # TODO known breakage
expecting success of 3070.847 'pathmatch: match '.' '[[:digit:][:punct:][:space:]]'':
test-tool wildmatch pathmatch '.' '[[:digit:][:punct:][:space:]]'
ok 847 - pathmatch: match '.' '[[:digit:][:punct:][:space:]]'
checking known breakage of 3070.848 'pathmatch (via ls-files): match skip '[[:digit:][:punct:][:space:]]' '.'': false
not ok 848 - pathmatch (via ls-files): match skip '[[:digit:][:punct:][:space:]]' '.' # TODO known breakage
expecting success of 3070.849 'ipathmatch: match '.' '[[:digit:][:punct:][:space:]]'':
test-tool wildmatch ipathmatch '.' '[[:digit:][:punct:][:space:]]'
ok 849 - ipathmatch: match '.' '[[:digit:][:punct:][:space:]]'
checking known breakage of 3070.850 'ipathmatch (via ls-files): match skip '[[:digit:][:punct:][:space:]]' '.'': false
not ok 850 - ipathmatch (via ls-files): match skip '[[:digit:][:punct:][:space:]]' '.' # TODO known breakage
expecting success of 3070.851 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
ok 851 - cleanup after previous file test
expecting success of 3070.852 'setup match file test for 5':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 852 - setup match file test for 5
expecting success of 3070.853 'wildmatch: match '5' '[[:xdigit:]]'':
test-tool wildmatch wildmatch '5' '[[:xdigit:]]'
ok 853 - wildmatch: match '5' '[[:xdigit:]]'
expecting success of 3070.854 'wildmatch (via ls-files): match '[[:xdigit:]]' '5'':
printf '%s' '5' >expect &&
git --glob-pathspecs ls-files -z -- '[[:xdigit:]]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 854 - wildmatch (via ls-files): match '[[:xdigit:]]' '5'
expecting success of 3070.855 'iwildmatch: match '5' '[[:xdigit:]]'':
test-tool wildmatch iwildmatch '5' '[[:xdigit:]]'
ok 855 - iwildmatch: match '5' '[[:xdigit:]]'
expecting success of 3070.856 'iwildmatch (via ls-files): match '[[:xdigit:]]' '5'':
printf '%s' '5' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '[[:xdigit:]]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 856 - iwildmatch (via ls-files): match '[[:xdigit:]]' '5'
expecting success of 3070.857 'pathmatch: match '5' '[[:xdigit:]]'':
test-tool wildmatch pathmatch '5' '[[:xdigit:]]'
ok 857 - pathmatch: match '5' '[[:xdigit:]]'
expecting success of 3070.858 'pathmatch (via ls-files): match '[[:xdigit:]]' '5'':
printf '%s' '5' >expect &&
git ls-files -z -- '[[:xdigit:]]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 858 - pathmatch (via ls-files): match '[[:xdigit:]]' '5'
expecting success of 3070.859 'ipathmatch: match '5' '[[:xdigit:]]'':
test-tool wildmatch ipathmatch '5' '[[:xdigit:]]'
ok 859 - ipathmatch: match '5' '[[:xdigit:]]'
expecting success of 3070.860 'ipathmatch (via ls-files): match '[[:xdigit:]]' '5'':
printf '%s' '5' >expect &&
git --icase-pathspecs ls-files -z -- '[[:xdigit:]]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 860 - ipathmatch (via ls-files): match '[[:xdigit:]]' '5'
expecting success of 3070.861 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing 5
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 861 - cleanup after previous file test
expecting success of 3070.862 'setup match file test for f':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 862 - setup match file test for f
expecting success of 3070.863 'wildmatch: match 'f' '[[:xdigit:]]'':
test-tool wildmatch wildmatch 'f' '[[:xdigit:]]'
ok 863 - wildmatch: match 'f' '[[:xdigit:]]'
expecting success of 3070.864 'wildmatch (via ls-files): match '[[:xdigit:]]' 'f'':
printf '%s' 'f' >expect &&
git --glob-pathspecs ls-files -z -- '[[:xdigit:]]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 864 - wildmatch (via ls-files): match '[[:xdigit:]]' 'f'
expecting success of 3070.865 'iwildmatch: match 'f' '[[:xdigit:]]'':
test-tool wildmatch iwildmatch 'f' '[[:xdigit:]]'
ok 865 - iwildmatch: match 'f' '[[:xdigit:]]'
expecting success of 3070.866 'iwildmatch (via ls-files): match '[[:xdigit:]]' 'f'':
printf '%s' 'f' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '[[:xdigit:]]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 866 - iwildmatch (via ls-files): match '[[:xdigit:]]' 'f'
expecting success of 3070.867 'pathmatch: match 'f' '[[:xdigit:]]'':
test-tool wildmatch pathmatch 'f' '[[:xdigit:]]'
ok 867 - pathmatch: match 'f' '[[:xdigit:]]'
expecting success of 3070.868 'pathmatch (via ls-files): match '[[:xdigit:]]' 'f'':
printf '%s' 'f' >expect &&
git ls-files -z -- '[[:xdigit:]]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 868 - pathmatch (via ls-files): match '[[:xdigit:]]' 'f'
expecting success of 3070.869 'ipathmatch: match 'f' '[[:xdigit:]]'':
test-tool wildmatch ipathmatch 'f' '[[:xdigit:]]'
ok 869 - ipathmatch: match 'f' '[[:xdigit:]]'
expecting success of 3070.870 'ipathmatch (via ls-files): match '[[:xdigit:]]' 'f'':
printf '%s' 'f' >expect &&
git --icase-pathspecs ls-files -z -- '[[:xdigit:]]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 870 - ipathmatch (via ls-files): match '[[:xdigit:]]' 'f'
expecting success of 3070.871 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
Removing f
ok 871 - cleanup after previous file test
expecting success of 3070.872 'setup match file test for D':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 872 - setup match file test for D
expecting success of 3070.873 'wildmatch: match 'D' '[[:xdigit:]]'':
test-tool wildmatch wildmatch 'D' '[[:xdigit:]]'
ok 873 - wildmatch: match 'D' '[[:xdigit:]]'
expecting success of 3070.874 'wildmatch (via ls-files): match '[[:xdigit:]]' 'D'':
printf '%s' 'D' >expect &&
git --glob-pathspecs ls-files -z -- '[[:xdigit:]]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 874 - wildmatch (via ls-files): match '[[:xdigit:]]' 'D'
expecting success of 3070.875 'iwildmatch: match 'D' '[[:xdigit:]]'':
test-tool wildmatch iwildmatch 'D' '[[:xdigit:]]'
ok 875 - iwildmatch: match 'D' '[[:xdigit:]]'
expecting success of 3070.876 'iwildmatch (via ls-files): match '[[:xdigit:]]' 'D'':
printf '%s' 'D' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '[[:xdigit:]]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 876 - iwildmatch (via ls-files): match '[[:xdigit:]]' 'D'
expecting success of 3070.877 'pathmatch: match 'D' '[[:xdigit:]]'':
test-tool wildmatch pathmatch 'D' '[[:xdigit:]]'
ok 877 - pathmatch: match 'D' '[[:xdigit:]]'
expecting success of 3070.878 'pathmatch (via ls-files): match '[[:xdigit:]]' 'D'':
printf '%s' 'D' >expect &&
git ls-files -z -- '[[:xdigit:]]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 878 - pathmatch (via ls-files): match '[[:xdigit:]]' 'D'
expecting success of 3070.879 'ipathmatch: match 'D' '[[:xdigit:]]'':
test-tool wildmatch ipathmatch 'D' '[[:xdigit:]]'
ok 879 - ipathmatch: match 'D' '[[:xdigit:]]'
expecting success of 3070.880 'ipathmatch (via ls-files): match '[[:xdigit:]]' 'D'':
printf '%s' 'D' >expect &&
git --icase-pathspecs ls-files -z -- '[[:xdigit:]]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 880 - ipathmatch (via ls-files): match '[[:xdigit:]]' 'D'
expecting success of 3070.881 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing D
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 881 - cleanup after previous file test
expecting success of 3070.882 'setup match file test for _':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 882 - setup match file test for _
expecting success of 3070.883 'wildmatch: match '_' '[[:alnum:][:alpha:][:blank:][:cntrl:][:digit:][:graph:][:lower:][:print:][:punct:][:space:][:upper:][:xdigit:]]'':
test-tool wildmatch wildmatch '_' '[[:alnum:][:alpha:][:blank:][:cntrl:][:digit:][:graph:][:lower:][:print:][:punct:][:space:][:upper:][:xdigit:]]'
ok 883 - wildmatch: match '_' '[[:alnum:][:alpha:][:blank:][:cntrl:][:digit:][:graph:][:lower:][:print:][:punct:][:space:][:upper:][:xdigit:]]'
expecting success of 3070.884 'wildmatch (via ls-files): match '[[:alnum:][:alpha:][:blank:][:cntrl:][:digit:][:graph:][:lower:][:print:][:punct:][:space:][:upper:][:xdigit:]]' '_'':
printf '%s' '_' >expect &&
git --glob-pathspecs ls-files -z -- '[[:alnum:][:alpha:][:blank:][:cntrl:][:digit:][:graph:][:lower:][:print:][:punct:][:space:][:upper:][:xdigit:]]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 884 - wildmatch (via ls-files): match '[[:alnum:][:alpha:][:blank:][:cntrl:][:digit:][:graph:][:lower:][:print:][:punct:][:space:][:upper:][:xdigit:]]' '_'
expecting success of 3070.885 'iwildmatch: match '_' '[[:alnum:][:alpha:][:blank:][:cntrl:][:digit:][:graph:][:lower:][:print:][:punct:][:space:][:upper:][:xdigit:]]'':
test-tool wildmatch iwildmatch '_' '[[:alnum:][:alpha:][:blank:][:cntrl:][:digit:][:graph:][:lower:][:print:][:punct:][:space:][:upper:][:xdigit:]]'
ok 885 - iwildmatch: match '_' '[[:alnum:][:alpha:][:blank:][:cntrl:][:digit:][:graph:][:lower:][:print:][:punct:][:space:][:upper:][:xdigit:]]'
expecting success of 3070.886 'iwildmatch (via ls-files): match '[[:alnum:][:alpha:][:blank:][:cntrl:][:digit:][:graph:][:lower:][:print:][:punct:][:space:][:upper:][:xdigit:]]' '_'':
printf '%s' '_' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '[[:alnum:][:alpha:][:blank:][:cntrl:][:digit:][:graph:][:lower:][:print:][:punct:][:space:][:upper:][:xdigit:]]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 886 - iwildmatch (via ls-files): match '[[:alnum:][:alpha:][:blank:][:cntrl:][:digit:][:graph:][:lower:][:print:][:punct:][:space:][:upper:][:xdigit:]]' '_'
expecting success of 3070.887 'pathmatch: match '_' '[[:alnum:][:alpha:][:blank:][:cntrl:][:digit:][:graph:][:lower:][:print:][:punct:][:space:][:upper:][:xdigit:]]'':
test-tool wildmatch pathmatch '_' '[[:alnum:][:alpha:][:blank:][:cntrl:][:digit:][:graph:][:lower:][:print:][:punct:][:space:][:upper:][:xdigit:]]'
ok 887 - pathmatch: match '_' '[[:alnum:][:alpha:][:blank:][:cntrl:][:digit:][:graph:][:lower:][:print:][:punct:][:space:][:upper:][:xdigit:]]'
expecting success of 3070.888 'pathmatch (via ls-files): match '[[:alnum:][:alpha:][:blank:][:cntrl:][:digit:][:graph:][:lower:][:print:][:punct:][:space:][:upper:][:xdigit:]]' '_'':
printf '%s' '_' >expect &&
git ls-files -z -- '[[:alnum:][:alpha:][:blank:][:cntrl:][:digit:][:graph:][:lower:][:print:][:punct:][:space:][:upper:][:xdigit:]]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 888 - pathmatch (via ls-files): match '[[:alnum:][:alpha:][:blank:][:cntrl:][:digit:][:graph:][:lower:][:print:][:punct:][:space:][:upper:][:xdigit:]]' '_'
expecting success of 3070.889 'ipathmatch: match '_' '[[:alnum:][:alpha:][:blank:][:cntrl:][:digit:][:graph:][:lower:][:print:][:punct:][:space:][:upper:][:xdigit:]]'':
test-tool wildmatch ipathmatch '_' '[[:alnum:][:alpha:][:blank:][:cntrl:][:digit:][:graph:][:lower:][:print:][:punct:][:space:][:upper:][:xdigit:]]'
ok 889 - ipathmatch: match '_' '[[:alnum:][:alpha:][:blank:][:cntrl:][:digit:][:graph:][:lower:][:print:][:punct:][:space:][:upper:][:xdigit:]]'
expecting success of 3070.890 'ipathmatch (via ls-files): match '[[:alnum:][:alpha:][:blank:][:cntrl:][:digit:][:graph:][:lower:][:print:][:punct:][:space:][:upper:][:xdigit:]]' '_'':
printf '%s' '_' >expect &&
git --icase-pathspecs ls-files -z -- '[[:alnum:][:alpha:][:blank:][:cntrl:][:digit:][:graph:][:lower:][:print:][:punct:][:space:][:upper:][:xdigit:]]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 890 - ipathmatch (via ls-files): match '[[:alnum:][:alpha:][:blank:][:cntrl:][:digit:][:graph:][:lower:][:print:][:punct:][:space:][:upper:][:xdigit:]]' '_'
expecting success of 3070.891 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing _
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 891 - cleanup after previous file test
expecting success of 3070.892 'setup match file test for .':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 892 - setup match file test for .
expecting success of 3070.893 'wildmatch: match '.' '[^[:alnum:][:alpha:][:blank:][:cntrl:][:digit:][:lower:][:space:][:upper:][:xdigit:]]'':
test-tool wildmatch wildmatch '.' '[^[:alnum:][:alpha:][:blank:][:cntrl:][:digit:][:lower:][:space:][:upper:][:xdigit:]]'
ok 893 - wildmatch: match '.' '[^[:alnum:][:alpha:][:blank:][:cntrl:][:digit:][:lower:][:space:][:upper:][:xdigit:]]'
checking known breakage of 3070.894 'wildmatch (via ls-files): match skip '[^[:alnum:][:alpha:][:blank:][:cntrl:][:digit:][:lower:][:space:][:upper:][:xdigit:]]' '.'': false
not ok 894 - wildmatch (via ls-files): match skip '[^[:alnum:][:alpha:][:blank:][:cntrl:][:digit:][:lower:][:space:][:upper:][:xdigit:]]' '.' # TODO known breakage
expecting success of 3070.895 'iwildmatch: match '.' '[^[:alnum:][:alpha:][:blank:][:cntrl:][:digit:][:lower:][:space:][:upper:][:xdigit:]]'':
test-tool wildmatch iwildmatch '.' '[^[:alnum:][:alpha:][:blank:][:cntrl:][:digit:][:lower:][:space:][:upper:][:xdigit:]]'
ok 895 - iwildmatch: match '.' '[^[:alnum:][:alpha:][:blank:][:cntrl:][:digit:][:lower:][:space:][:upper:][:xdigit:]]'
checking known breakage of 3070.896 'iwildmatch (via ls-files): match skip '[^[:alnum:][:alpha:][:blank:][:cntrl:][:digit:][:lower:][:space:][:upper:][:xdigit:]]' '.'': false
not ok 896 - iwildmatch (via ls-files): match skip '[^[:alnum:][:alpha:][:blank:][:cntrl:][:digit:][:lower:][:space:][:upper:][:xdigit:]]' '.' # TODO known breakage
expecting success of 3070.897 'pathmatch: match '.' '[^[:alnum:][:alpha:][:blank:][:cntrl:][:digit:][:lower:][:space:][:upper:][:xdigit:]]'':
test-tool wildmatch pathmatch '.' '[^[:alnum:][:alpha:][:blank:][:cntrl:][:digit:][:lower:][:space:][:upper:][:xdigit:]]'
ok 897 - pathmatch: match '.' '[^[:alnum:][:alpha:][:blank:][:cntrl:][:digit:][:lower:][:space:][:upper:][:xdigit:]]'
checking known breakage of 3070.898 'pathmatch (via ls-files): match skip '[^[:alnum:][:alpha:][:blank:][:cntrl:][:digit:][:lower:][:space:][:upper:][:xdigit:]]' '.'': false
not ok 898 - pathmatch (via ls-files): match skip '[^[:alnum:][:alpha:][:blank:][:cntrl:][:digit:][:lower:][:space:][:upper:][:xdigit:]]' '.' # TODO known breakage
expecting success of 3070.899 'ipathmatch: match '.' '[^[:alnum:][:alpha:][:blank:][:cntrl:][:digit:][:lower:][:space:][:upper:][:xdigit:]]'':
test-tool wildmatch ipathmatch '.' '[^[:alnum:][:alpha:][:blank:][:cntrl:][:digit:][:lower:][:space:][:upper:][:xdigit:]]'
ok 899 - ipathmatch: match '.' '[^[:alnum:][:alpha:][:blank:][:cntrl:][:digit:][:lower:][:space:][:upper:][:xdigit:]]'
checking known breakage of 3070.900 'ipathmatch (via ls-files): match skip '[^[:alnum:][:alpha:][:blank:][:cntrl:][:digit:][:lower:][:space:][:upper:][:xdigit:]]' '.'': false
not ok 900 - ipathmatch (via ls-files): match skip '[^[:alnum:][:alpha:][:blank:][:cntrl:][:digit:][:lower:][:space:][:upper:][:xdigit:]]' '.' # TODO known breakage
expecting success of 3070.901 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
ok 901 - cleanup after previous file test
expecting success of 3070.902 'setup match file test for 5':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 902 - setup match file test for 5
expecting success of 3070.903 'wildmatch: match '5' '[a-c[:digit:]x-z]'':
test-tool wildmatch wildmatch '5' '[a-c[:digit:]x-z]'
ok 903 - wildmatch: match '5' '[a-c[:digit:]x-z]'
expecting success of 3070.904 'wildmatch (via ls-files): match '[a-c[:digit:]x-z]' '5'':
printf '%s' '5' >expect &&
git --glob-pathspecs ls-files -z -- '[a-c[:digit:]x-z]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 904 - wildmatch (via ls-files): match '[a-c[:digit:]x-z]' '5'
expecting success of 3070.905 'iwildmatch: match '5' '[a-c[:digit:]x-z]'':
test-tool wildmatch iwildmatch '5' '[a-c[:digit:]x-z]'
ok 905 - iwildmatch: match '5' '[a-c[:digit:]x-z]'
expecting success of 3070.906 'iwildmatch (via ls-files): match '[a-c[:digit:]x-z]' '5'':
printf '%s' '5' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '[a-c[:digit:]x-z]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 906 - iwildmatch (via ls-files): match '[a-c[:digit:]x-z]' '5'
expecting success of 3070.907 'pathmatch: match '5' '[a-c[:digit:]x-z]'':
test-tool wildmatch pathmatch '5' '[a-c[:digit:]x-z]'
ok 907 - pathmatch: match '5' '[a-c[:digit:]x-z]'
expecting success of 3070.908 'pathmatch (via ls-files): match '[a-c[:digit:]x-z]' '5'':
printf '%s' '5' >expect &&
git ls-files -z -- '[a-c[:digit:]x-z]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 908 - pathmatch (via ls-files): match '[a-c[:digit:]x-z]' '5'
expecting success of 3070.909 'ipathmatch: match '5' '[a-c[:digit:]x-z]'':
test-tool wildmatch ipathmatch '5' '[a-c[:digit:]x-z]'
ok 909 - ipathmatch: match '5' '[a-c[:digit:]x-z]'
expecting success of 3070.910 'ipathmatch (via ls-files): match '[a-c[:digit:]x-z]' '5'':
printf '%s' '5' >expect &&
git --icase-pathspecs ls-files -z -- '[a-c[:digit:]x-z]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 910 - ipathmatch (via ls-files): match '[a-c[:digit:]x-z]' '5'
expecting success of 3070.911 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing 5
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 911 - cleanup after previous file test
expecting success of 3070.912 'setup match file test for b':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 912 - setup match file test for b
expecting success of 3070.913 'wildmatch: match 'b' '[a-c[:digit:]x-z]'':
test-tool wildmatch wildmatch 'b' '[a-c[:digit:]x-z]'
ok 913 - wildmatch: match 'b' '[a-c[:digit:]x-z]'
expecting success of 3070.914 'wildmatch (via ls-files): match '[a-c[:digit:]x-z]' 'b'':
printf '%s' 'b' >expect &&
git --glob-pathspecs ls-files -z -- '[a-c[:digit:]x-z]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 914 - wildmatch (via ls-files): match '[a-c[:digit:]x-z]' 'b'
expecting success of 3070.915 'iwildmatch: match 'b' '[a-c[:digit:]x-z]'':
test-tool wildmatch iwildmatch 'b' '[a-c[:digit:]x-z]'
ok 915 - iwildmatch: match 'b' '[a-c[:digit:]x-z]'
expecting success of 3070.916 'iwildmatch (via ls-files): match '[a-c[:digit:]x-z]' 'b'':
printf '%s' 'b' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '[a-c[:digit:]x-z]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 916 - iwildmatch (via ls-files): match '[a-c[:digit:]x-z]' 'b'
expecting success of 3070.917 'pathmatch: match 'b' '[a-c[:digit:]x-z]'':
test-tool wildmatch pathmatch 'b' '[a-c[:digit:]x-z]'
ok 917 - pathmatch: match 'b' '[a-c[:digit:]x-z]'
expecting success of 3070.918 'pathmatch (via ls-files): match '[a-c[:digit:]x-z]' 'b'':
printf '%s' 'b' >expect &&
git ls-files -z -- '[a-c[:digit:]x-z]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 918 - pathmatch (via ls-files): match '[a-c[:digit:]x-z]' 'b'
expecting success of 3070.919 'ipathmatch: match 'b' '[a-c[:digit:]x-z]'':
test-tool wildmatch ipathmatch 'b' '[a-c[:digit:]x-z]'
ok 919 - ipathmatch: match 'b' '[a-c[:digit:]x-z]'
expecting success of 3070.920 'ipathmatch (via ls-files): match '[a-c[:digit:]x-z]' 'b'':
printf '%s' 'b' >expect &&
git --icase-pathspecs ls-files -z -- '[a-c[:digit:]x-z]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 920 - ipathmatch (via ls-files): match '[a-c[:digit:]x-z]' 'b'
expecting success of 3070.921 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing actual
Removing actual.err
Removing actual.raw
Removing b
Removing expect
ok 921 - cleanup after previous file test
expecting success of 3070.922 'setup match file test for y':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 922 - setup match file test for y
expecting success of 3070.923 'wildmatch: match 'y' '[a-c[:digit:]x-z]'':
test-tool wildmatch wildmatch 'y' '[a-c[:digit:]x-z]'
ok 923 - wildmatch: match 'y' '[a-c[:digit:]x-z]'
expecting success of 3070.924 'wildmatch (via ls-files): match '[a-c[:digit:]x-z]' 'y'':
printf '%s' 'y' >expect &&
git --glob-pathspecs ls-files -z -- '[a-c[:digit:]x-z]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 924 - wildmatch (via ls-files): match '[a-c[:digit:]x-z]' 'y'
expecting success of 3070.925 'iwildmatch: match 'y' '[a-c[:digit:]x-z]'':
test-tool wildmatch iwildmatch 'y' '[a-c[:digit:]x-z]'
ok 925 - iwildmatch: match 'y' '[a-c[:digit:]x-z]'
expecting success of 3070.926 'iwildmatch (via ls-files): match '[a-c[:digit:]x-z]' 'y'':
printf '%s' 'y' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '[a-c[:digit:]x-z]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 926 - iwildmatch (via ls-files): match '[a-c[:digit:]x-z]' 'y'
expecting success of 3070.927 'pathmatch: match 'y' '[a-c[:digit:]x-z]'':
test-tool wildmatch pathmatch 'y' '[a-c[:digit:]x-z]'
ok 927 - pathmatch: match 'y' '[a-c[:digit:]x-z]'
expecting success of 3070.928 'pathmatch (via ls-files): match '[a-c[:digit:]x-z]' 'y'':
printf '%s' 'y' >expect &&
git ls-files -z -- '[a-c[:digit:]x-z]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 928 - pathmatch (via ls-files): match '[a-c[:digit:]x-z]' 'y'
expecting success of 3070.929 'ipathmatch: match 'y' '[a-c[:digit:]x-z]'':
test-tool wildmatch ipathmatch 'y' '[a-c[:digit:]x-z]'
ok 929 - ipathmatch: match 'y' '[a-c[:digit:]x-z]'
expecting success of 3070.930 'ipathmatch (via ls-files): match '[a-c[:digit:]x-z]' 'y'':
printf '%s' 'y' >expect &&
git --icase-pathspecs ls-files -z -- '[a-c[:digit:]x-z]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 930 - ipathmatch (via ls-files): match '[a-c[:digit:]x-z]' 'y'
expecting success of 3070.931 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
Removing y
ok 931 - cleanup after previous file test
expecting success of 3070.932 'setup match file test for q':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 932 - setup match file test for q
expecting success of 3070.933 'wildmatch: no match 'q' '[a-c[:digit:]x-z]'':
test_must_fail test-tool wildmatch wildmatch 'q' '[a-c[:digit:]x-z]'
ok 933 - wildmatch: no match 'q' '[a-c[:digit:]x-z]'
expecting success of 3070.934 'wildmatch (via ls-files): no match '[a-c[:digit:]x-z]' 'q'':
>expect &&
git --glob-pathspecs ls-files -z -- '[a-c[:digit:]x-z]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 934 - wildmatch (via ls-files): no match '[a-c[:digit:]x-z]' 'q'
expecting success of 3070.935 'iwildmatch: no match 'q' '[a-c[:digit:]x-z]'':
test_must_fail test-tool wildmatch iwildmatch 'q' '[a-c[:digit:]x-z]'
ok 935 - iwildmatch: no match 'q' '[a-c[:digit:]x-z]'
expecting success of 3070.936 'iwildmatch (via ls-files): no match '[a-c[:digit:]x-z]' 'q'':
>expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '[a-c[:digit:]x-z]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 936 - iwildmatch (via ls-files): no match '[a-c[:digit:]x-z]' 'q'
expecting success of 3070.937 'pathmatch: no match 'q' '[a-c[:digit:]x-z]'':
test_must_fail test-tool wildmatch pathmatch 'q' '[a-c[:digit:]x-z]'
ok 937 - pathmatch: no match 'q' '[a-c[:digit:]x-z]'
expecting success of 3070.938 'pathmatch (via ls-files): no match '[a-c[:digit:]x-z]' 'q'':
>expect &&
git ls-files -z -- '[a-c[:digit:]x-z]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 938 - pathmatch (via ls-files): no match '[a-c[:digit:]x-z]' 'q'
expecting success of 3070.939 'ipathmatch: no match 'q' '[a-c[:digit:]x-z]'':
test_must_fail test-tool wildmatch ipathmatch 'q' '[a-c[:digit:]x-z]'
ok 939 - ipathmatch: no match 'q' '[a-c[:digit:]x-z]'
expecting success of 3070.940 'ipathmatch (via ls-files): no match '[a-c[:digit:]x-z]' 'q'':
>expect &&
git --icase-pathspecs ls-files -z -- '[a-c[:digit:]x-z]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 940 - ipathmatch (via ls-files): no match '[a-c[:digit:]x-z]' 'q'
expecting success of 3070.941 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
Removing q
ok 941 - cleanup after previous file test
expecting success of 3070.942 'setup match file test for ]':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 942 - setup match file test for ]
expecting success of 3070.943 'wildmatch: match ']' '[\\-^]'':
test-tool wildmatch wildmatch ']' '[\\-^]'
ok 943 - wildmatch: match ']' '[\\-^]'
expecting success of 3070.944 'wildmatch (via ls-files): match '[\\-^]' ']'':
printf '%s' ']' >expect &&
git --glob-pathspecs ls-files -z -- '[\\-^]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 944 - wildmatch (via ls-files): match '[\\-^]' ']'
expecting success of 3070.945 'iwildmatch: match ']' '[\\-^]'':
test-tool wildmatch iwildmatch ']' '[\\-^]'
ok 945 - iwildmatch: match ']' '[\\-^]'
expecting success of 3070.946 'iwildmatch (via ls-files): match '[\\-^]' ']'':
printf '%s' ']' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '[\\-^]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 946 - iwildmatch (via ls-files): match '[\\-^]' ']'
expecting success of 3070.947 'pathmatch: match ']' '[\\-^]'':
test-tool wildmatch pathmatch ']' '[\\-^]'
ok 947 - pathmatch: match ']' '[\\-^]'
expecting success of 3070.948 'pathmatch (via ls-files): match '[\\-^]' ']'':
printf '%s' ']' >expect &&
git ls-files -z -- '[\\-^]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 948 - pathmatch (via ls-files): match '[\\-^]' ']'
expecting success of 3070.949 'ipathmatch: match ']' '[\\-^]'':
test-tool wildmatch ipathmatch ']' '[\\-^]'
ok 949 - ipathmatch: match ']' '[\\-^]'
expecting success of 3070.950 'ipathmatch (via ls-files): match '[\\-^]' ']'':
printf '%s' ']' >expect &&
git --icase-pathspecs ls-files -z -- '[\\-^]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 950 - ipathmatch (via ls-files): match '[\\-^]' ']'
expecting success of 3070.951 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing ]
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 951 - cleanup after previous file test
expecting success of 3070.952 'setup match file test for [':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 952 - setup match file test for [
expecting success of 3070.953 'wildmatch: no match '[' '[\\-^]'':
test_must_fail test-tool wildmatch wildmatch '[' '[\\-^]'
ok 953 - wildmatch: no match '[' '[\\-^]'
expecting success of 3070.954 'wildmatch (via ls-files): no match '[\\-^]' '['':
>expect &&
git --glob-pathspecs ls-files -z -- '[\\-^]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 954 - wildmatch (via ls-files): no match '[\\-^]' '['
expecting success of 3070.955 'iwildmatch: no match '[' '[\\-^]'':
test_must_fail test-tool wildmatch iwildmatch '[' '[\\-^]'
ok 955 - iwildmatch: no match '[' '[\\-^]'
expecting success of 3070.956 'iwildmatch (via ls-files): no match '[\\-^]' '['':
>expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '[\\-^]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 956 - iwildmatch (via ls-files): no match '[\\-^]' '['
expecting success of 3070.957 'pathmatch: no match '[' '[\\-^]'':
test_must_fail test-tool wildmatch pathmatch '[' '[\\-^]'
ok 957 - pathmatch: no match '[' '[\\-^]'
expecting success of 3070.958 'pathmatch (via ls-files): no match '[\\-^]' '['':
>expect &&
git ls-files -z -- '[\\-^]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 958 - pathmatch (via ls-files): no match '[\\-^]' '['
expecting success of 3070.959 'ipathmatch: no match '[' '[\\-^]'':
test_must_fail test-tool wildmatch ipathmatch '[' '[\\-^]'
ok 959 - ipathmatch: no match '[' '[\\-^]'
expecting success of 3070.960 'ipathmatch (via ls-files): no match '[\\-^]' '['':
>expect &&
git --icase-pathspecs ls-files -z -- '[\\-^]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 960 - ipathmatch (via ls-files): no match '[\\-^]' '['
expecting success of 3070.961 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing [
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 961 - cleanup after previous file test
expecting success of 3070.962 'setup match file test for -':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 962 - setup match file test for -
expecting success of 3070.963 'wildmatch: match '-' '[\-_]'':
test-tool wildmatch wildmatch '-' '[\-_]'
ok 963 - wildmatch: match '-' '[\-_]'
expecting success of 3070.964 'wildmatch (via ls-files): match '[\-_]' '-'':
printf '%s' '-' >expect &&
git --glob-pathspecs ls-files -z -- '[\-_]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 964 - wildmatch (via ls-files): match '[\-_]' '-'
expecting success of 3070.965 'iwildmatch: match '-' '[\-_]'':
test-tool wildmatch iwildmatch '-' '[\-_]'
ok 965 - iwildmatch: match '-' '[\-_]'
expecting success of 3070.966 'iwildmatch (via ls-files): match '[\-_]' '-'':
printf '%s' '-' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '[\-_]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 966 - iwildmatch (via ls-files): match '[\-_]' '-'
expecting success of 3070.967 'pathmatch: match '-' '[\-_]'':
test-tool wildmatch pathmatch '-' '[\-_]'
ok 967 - pathmatch: match '-' '[\-_]'
expecting success of 3070.968 'pathmatch (via ls-files): match '[\-_]' '-'':
printf '%s' '-' >expect &&
git ls-files -z -- '[\-_]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 968 - pathmatch (via ls-files): match '[\-_]' '-'
expecting success of 3070.969 'ipathmatch: match '-' '[\-_]'':
test-tool wildmatch ipathmatch '-' '[\-_]'
ok 969 - ipathmatch: match '-' '[\-_]'
expecting success of 3070.970 'ipathmatch (via ls-files): match '[\-_]' '-'':
printf '%s' '-' >expect &&
git --icase-pathspecs ls-files -z -- '[\-_]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 970 - ipathmatch (via ls-files): match '[\-_]' '-'
expecting success of 3070.971 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing -
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 971 - cleanup after previous file test
expecting success of 3070.972 'setup match file test for ]':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 972 - setup match file test for ]
expecting success of 3070.973 'wildmatch: match ']' '[\]]'':
test-tool wildmatch wildmatch ']' '[\]]'
ok 973 - wildmatch: match ']' '[\]]'
expecting success of 3070.974 'wildmatch (via ls-files): match '[\]]' ']'':
printf '%s' ']' >expect &&
git --glob-pathspecs ls-files -z -- '[\]]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 974 - wildmatch (via ls-files): match '[\]]' ']'
expecting success of 3070.975 'iwildmatch: match ']' '[\]]'':
test-tool wildmatch iwildmatch ']' '[\]]'
ok 975 - iwildmatch: match ']' '[\]]'
expecting success of 3070.976 'iwildmatch (via ls-files): match '[\]]' ']'':
printf '%s' ']' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '[\]]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 976 - iwildmatch (via ls-files): match '[\]]' ']'
expecting success of 3070.977 'pathmatch: match ']' '[\]]'':
test-tool wildmatch pathmatch ']' '[\]]'
ok 977 - pathmatch: match ']' '[\]]'
expecting success of 3070.978 'pathmatch (via ls-files): match '[\]]' ']'':
printf '%s' ']' >expect &&
git ls-files -z -- '[\]]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 978 - pathmatch (via ls-files): match '[\]]' ']'
expecting success of 3070.979 'ipathmatch: match ']' '[\]]'':
test-tool wildmatch ipathmatch ']' '[\]]'
ok 979 - ipathmatch: match ']' '[\]]'
expecting success of 3070.980 'ipathmatch (via ls-files): match '[\]]' ']'':
printf '%s' ']' >expect &&
git --icase-pathspecs ls-files -z -- '[\]]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 980 - ipathmatch (via ls-files): match '[\]]' ']'
expecting success of 3070.981 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing ]
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 981 - cleanup after previous file test
expecting success of 3070.982 'setup match file test for \]':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 982 - setup match file test for \]
expecting success of 3070.983 'wildmatch: no match '\]' '[\]]'':
test_must_fail test-tool wildmatch wildmatch '\]' '[\]]'
ok 983 - wildmatch: no match '\]' '[\]]'
expecting success of 3070.984 'wildmatch (via ls-files): no match '[\]]' '\]'':
>expect &&
git --glob-pathspecs ls-files -z -- '[\]]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 984 - wildmatch (via ls-files): no match '[\]]' '\]'
expecting success of 3070.985 'iwildmatch: no match '\]' '[\]]'':
test_must_fail test-tool wildmatch iwildmatch '\]' '[\]]'
ok 985 - iwildmatch: no match '\]' '[\]]'
expecting success of 3070.986 'iwildmatch (via ls-files): no match '[\]]' '\]'':
>expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '[\]]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 986 - iwildmatch (via ls-files): no match '[\]]' '\]'
expecting success of 3070.987 'pathmatch: no match '\]' '[\]]'':
test_must_fail test-tool wildmatch pathmatch '\]' '[\]]'
ok 987 - pathmatch: no match '\]' '[\]]'
expecting success of 3070.988 'pathmatch (via ls-files): no match '[\]]' '\]'':
>expect &&
git ls-files -z -- '[\]]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 988 - pathmatch (via ls-files): no match '[\]]' '\]'
expecting success of 3070.989 'ipathmatch: no match '\]' '[\]]'':
test_must_fail test-tool wildmatch ipathmatch '\]' '[\]]'
ok 989 - ipathmatch: no match '\]' '[\]]'
expecting success of 3070.990 'ipathmatch (via ls-files): no match '[\]]' '\]'':
>expect &&
git --icase-pathspecs ls-files -z -- '[\]]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 990 - ipathmatch (via ls-files): no match '[\]]' '\]'
expecting success of 3070.991 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing "\\]"
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 991 - cleanup after previous file test
expecting success of 3070.992 'setup match file test for \':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 992 - setup match file test for \
expecting success of 3070.993 'wildmatch: no match '\' '[\]]'':
test_must_fail test-tool wildmatch wildmatch '\' '[\]]'
ok 993 - wildmatch: no match '\' '[\]]'
expecting success of 3070.994 'wildmatch (via ls-files): no match '[\]]' '\'':
>expect &&
git --glob-pathspecs ls-files -z -- '[\]]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 994 - wildmatch (via ls-files): no match '[\]]' '\'
expecting success of 3070.995 'iwildmatch: no match '\' '[\]]'':
test_must_fail test-tool wildmatch iwildmatch '\' '[\]]'
ok 995 - iwildmatch: no match '\' '[\]]'
expecting success of 3070.996 'iwildmatch (via ls-files): no match '[\]]' '\'':
>expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '[\]]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 996 - iwildmatch (via ls-files): no match '[\]]' '\'
expecting success of 3070.997 'pathmatch: no match '\' '[\]]'':
test_must_fail test-tool wildmatch pathmatch '\' '[\]]'
ok 997 - pathmatch: no match '\' '[\]]'
expecting success of 3070.998 'pathmatch (via ls-files): no match '[\]]' '\'':
>expect &&
git ls-files -z -- '[\]]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 998 - pathmatch (via ls-files): no match '[\]]' '\'
expecting success of 3070.999 'ipathmatch: no match '\' '[\]]'':
test_must_fail test-tool wildmatch ipathmatch '\' '[\]]'
ok 999 - ipathmatch: no match '\' '[\]]'
expecting success of 3070.1000 'ipathmatch (via ls-files): no match '[\]]' '\'':
>expect &&
git --icase-pathspecs ls-files -z -- '[\]]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1000 - ipathmatch (via ls-files): no match '[\]]' '\'
expecting success of 3070.1001 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing "\\"
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 1001 - cleanup after previous file test
expecting success of 3070.1002 'setup match file test for ab':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 1002 - setup match file test for ab
expecting success of 3070.1003 'wildmatch: no match 'ab' 'a[]b'':
test_must_fail test-tool wildmatch wildmatch 'ab' 'a[]b'
ok 1003 - wildmatch: no match 'ab' 'a[]b'
expecting success of 3070.1004 'wildmatch (via ls-files): no match 'a[]b' 'ab'':
>expect &&
git --glob-pathspecs ls-files -z -- 'a[]b' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1004 - wildmatch (via ls-files): no match 'a[]b' 'ab'
expecting success of 3070.1005 'iwildmatch: no match 'ab' 'a[]b'':
test_must_fail test-tool wildmatch iwildmatch 'ab' 'a[]b'
ok 1005 - iwildmatch: no match 'ab' 'a[]b'
expecting success of 3070.1006 'iwildmatch (via ls-files): no match 'a[]b' 'ab'':
>expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- 'a[]b' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1006 - iwildmatch (via ls-files): no match 'a[]b' 'ab'
expecting success of 3070.1007 'pathmatch: no match 'ab' 'a[]b'':
test_must_fail test-tool wildmatch pathmatch 'ab' 'a[]b'
ok 1007 - pathmatch: no match 'ab' 'a[]b'
expecting success of 3070.1008 'pathmatch (via ls-files): no match 'a[]b' 'ab'':
>expect &&
git ls-files -z -- 'a[]b' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1008 - pathmatch (via ls-files): no match 'a[]b' 'ab'
expecting success of 3070.1009 'ipathmatch: no match 'ab' 'a[]b'':
test_must_fail test-tool wildmatch ipathmatch 'ab' 'a[]b'
ok 1009 - ipathmatch: no match 'ab' 'a[]b'
expecting success of 3070.1010 'ipathmatch (via ls-files): no match 'a[]b' 'ab'':
>expect &&
git --icase-pathspecs ls-files -z -- 'a[]b' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1010 - ipathmatch (via ls-files): no match 'a[]b' 'ab'
expecting success of 3070.1011 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing ab
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 1011 - cleanup after previous file test
expecting success of 3070.1012 'setup match file test for a[]b':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 1012 - setup match file test for a[]b
expecting success of 3070.1013 'wildmatch: no match 'a[]b' 'a[]b'':
test_must_fail test-tool wildmatch wildmatch 'a[]b' 'a[]b'
ok 1013 - wildmatch: no match 'a[]b' 'a[]b'
expecting success of 3070.1014 'wildmatch (via ls-files): match 'a[]b' 'a[]b'':
printf '%s' 'a[]b' >expect &&
git --glob-pathspecs ls-files -z -- 'a[]b' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1014 - wildmatch (via ls-files): match 'a[]b' 'a[]b'
expecting success of 3070.1015 'iwildmatch: no match 'a[]b' 'a[]b'':
test_must_fail test-tool wildmatch iwildmatch 'a[]b' 'a[]b'
ok 1015 - iwildmatch: no match 'a[]b' 'a[]b'
expecting success of 3070.1016 'iwildmatch (via ls-files): match 'a[]b' 'a[]b'':
printf '%s' 'a[]b' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- 'a[]b' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1016 - iwildmatch (via ls-files): match 'a[]b' 'a[]b'
expecting success of 3070.1017 'pathmatch: no match 'a[]b' 'a[]b'':
test_must_fail test-tool wildmatch pathmatch 'a[]b' 'a[]b'
ok 1017 - pathmatch: no match 'a[]b' 'a[]b'
expecting success of 3070.1018 'pathmatch (via ls-files): match 'a[]b' 'a[]b'':
printf '%s' 'a[]b' >expect &&
git ls-files -z -- 'a[]b' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1018 - pathmatch (via ls-files): match 'a[]b' 'a[]b'
expecting success of 3070.1019 'ipathmatch: no match 'a[]b' 'a[]b'':
test_must_fail test-tool wildmatch ipathmatch 'a[]b' 'a[]b'
ok 1019 - ipathmatch: no match 'a[]b' 'a[]b'
expecting success of 3070.1020 'ipathmatch (via ls-files): match 'a[]b' 'a[]b'':
printf '%s' 'a[]b' >expect &&
git --icase-pathspecs ls-files -z -- 'a[]b' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1020 - ipathmatch (via ls-files): match 'a[]b' 'a[]b'
expecting success of 3070.1021 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing a[]b
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 1021 - cleanup after previous file test
expecting success of 3070.1022 'setup match file test for ab[':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 1022 - setup match file test for ab[
expecting success of 3070.1023 'wildmatch: no match 'ab[' 'ab['':
test_must_fail test-tool wildmatch wildmatch 'ab[' 'ab['
ok 1023 - wildmatch: no match 'ab[' 'ab['
expecting success of 3070.1024 'wildmatch (via ls-files): match 'ab[' 'ab['':
printf '%s' 'ab[' >expect &&
git --glob-pathspecs ls-files -z -- 'ab[' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1024 - wildmatch (via ls-files): match 'ab[' 'ab['
expecting success of 3070.1025 'iwildmatch: no match 'ab[' 'ab['':
test_must_fail test-tool wildmatch iwildmatch 'ab[' 'ab['
ok 1025 - iwildmatch: no match 'ab[' 'ab['
expecting success of 3070.1026 'iwildmatch (via ls-files): match 'ab[' 'ab['':
printf '%s' 'ab[' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- 'ab[' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1026 - iwildmatch (via ls-files): match 'ab[' 'ab['
expecting success of 3070.1027 'pathmatch: no match 'ab[' 'ab['':
test_must_fail test-tool wildmatch pathmatch 'ab[' 'ab['
ok 1027 - pathmatch: no match 'ab[' 'ab['
expecting success of 3070.1028 'pathmatch (via ls-files): match 'ab[' 'ab['':
printf '%s' 'ab[' >expect &&
git ls-files -z -- 'ab[' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1028 - pathmatch (via ls-files): match 'ab[' 'ab['
expecting success of 3070.1029 'ipathmatch: no match 'ab[' 'ab['':
test_must_fail test-tool wildmatch ipathmatch 'ab[' 'ab['
ok 1029 - ipathmatch: no match 'ab[' 'ab['
expecting success of 3070.1030 'ipathmatch (via ls-files): match 'ab[' 'ab['':
printf '%s' 'ab[' >expect &&
git --icase-pathspecs ls-files -z -- 'ab[' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1030 - ipathmatch (via ls-files): match 'ab[' 'ab['
expecting success of 3070.1031 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing ab[
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 1031 - cleanup after previous file test
expecting success of 3070.1032 'setup match file test for ab':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 1032 - setup match file test for ab
expecting success of 3070.1033 'wildmatch: no match 'ab' '[!'':
test_must_fail test-tool wildmatch wildmatch 'ab' '[!'
ok 1033 - wildmatch: no match 'ab' '[!'
expecting success of 3070.1034 'wildmatch (via ls-files): no match '[!' 'ab'':
>expect &&
git --glob-pathspecs ls-files -z -- '[!' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1034 - wildmatch (via ls-files): no match '[!' 'ab'
expecting success of 3070.1035 'iwildmatch: no match 'ab' '[!'':
test_must_fail test-tool wildmatch iwildmatch 'ab' '[!'
ok 1035 - iwildmatch: no match 'ab' '[!'
expecting success of 3070.1036 'iwildmatch (via ls-files): no match '[!' 'ab'':
>expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '[!' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1036 - iwildmatch (via ls-files): no match '[!' 'ab'
expecting success of 3070.1037 'pathmatch: no match 'ab' '[!'':
test_must_fail test-tool wildmatch pathmatch 'ab' '[!'
ok 1037 - pathmatch: no match 'ab' '[!'
expecting success of 3070.1038 'pathmatch (via ls-files): no match '[!' 'ab'':
>expect &&
git ls-files -z -- '[!' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1038 - pathmatch (via ls-files): no match '[!' 'ab'
expecting success of 3070.1039 'ipathmatch: no match 'ab' '[!'':
test_must_fail test-tool wildmatch ipathmatch 'ab' '[!'
ok 1039 - ipathmatch: no match 'ab' '[!'
expecting success of 3070.1040 'ipathmatch (via ls-files): no match '[!' 'ab'':
>expect &&
git --icase-pathspecs ls-files -z -- '[!' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1040 - ipathmatch (via ls-files): no match '[!' 'ab'
expecting success of 3070.1041 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing ab
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 1041 - cleanup after previous file test
expecting success of 3070.1042 'setup match file test for ab':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 1042 - setup match file test for ab
expecting success of 3070.1043 'wildmatch: no match 'ab' '[-'':
test_must_fail test-tool wildmatch wildmatch 'ab' '[-'
ok 1043 - wildmatch: no match 'ab' '[-'
expecting success of 3070.1044 'wildmatch (via ls-files): no match '[-' 'ab'':
>expect &&
git --glob-pathspecs ls-files -z -- '[-' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1044 - wildmatch (via ls-files): no match '[-' 'ab'
expecting success of 3070.1045 'iwildmatch: no match 'ab' '[-'':
test_must_fail test-tool wildmatch iwildmatch 'ab' '[-'
ok 1045 - iwildmatch: no match 'ab' '[-'
expecting success of 3070.1046 'iwildmatch (via ls-files): no match '[-' 'ab'':
>expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '[-' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1046 - iwildmatch (via ls-files): no match '[-' 'ab'
expecting success of 3070.1047 'pathmatch: no match 'ab' '[-'':
test_must_fail test-tool wildmatch pathmatch 'ab' '[-'
ok 1047 - pathmatch: no match 'ab' '[-'
expecting success of 3070.1048 'pathmatch (via ls-files): no match '[-' 'ab'':
>expect &&
git ls-files -z -- '[-' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1048 - pathmatch (via ls-files): no match '[-' 'ab'
expecting success of 3070.1049 'ipathmatch: no match 'ab' '[-'':
test_must_fail test-tool wildmatch ipathmatch 'ab' '[-'
ok 1049 - ipathmatch: no match 'ab' '[-'
expecting success of 3070.1050 'ipathmatch (via ls-files): no match '[-' 'ab'':
>expect &&
git --icase-pathspecs ls-files -z -- '[-' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1050 - ipathmatch (via ls-files): no match '[-' 'ab'
expecting success of 3070.1051 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing ab
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 1051 - cleanup after previous file test
expecting success of 3070.1052 'setup match file test for -':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 1052 - setup match file test for -
expecting success of 3070.1053 'wildmatch: match '-' '[-]'':
test-tool wildmatch wildmatch '-' '[-]'
ok 1053 - wildmatch: match '-' '[-]'
expecting success of 3070.1054 'wildmatch (via ls-files): match '[-]' '-'':
printf '%s' '-' >expect &&
git --glob-pathspecs ls-files -z -- '[-]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1054 - wildmatch (via ls-files): match '[-]' '-'
expecting success of 3070.1055 'iwildmatch: match '-' '[-]'':
test-tool wildmatch iwildmatch '-' '[-]'
ok 1055 - iwildmatch: match '-' '[-]'
expecting success of 3070.1056 'iwildmatch (via ls-files): match '[-]' '-'':
printf '%s' '-' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '[-]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1056 - iwildmatch (via ls-files): match '[-]' '-'
expecting success of 3070.1057 'pathmatch: match '-' '[-]'':
test-tool wildmatch pathmatch '-' '[-]'
ok 1057 - pathmatch: match '-' '[-]'
expecting success of 3070.1058 'pathmatch (via ls-files): match '[-]' '-'':
printf '%s' '-' >expect &&
git ls-files -z -- '[-]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1058 - pathmatch (via ls-files): match '[-]' '-'
expecting success of 3070.1059 'ipathmatch: match '-' '[-]'':
test-tool wildmatch ipathmatch '-' '[-]'
ok 1059 - ipathmatch: match '-' '[-]'
expecting success of 3070.1060 'ipathmatch (via ls-files): match '[-]' '-'':
printf '%s' '-' >expect &&
git --icase-pathspecs ls-files -z -- '[-]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1060 - ipathmatch (via ls-files): match '[-]' '-'
expecting success of 3070.1061 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing -
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 1061 - cleanup after previous file test
expecting success of 3070.1062 'setup match file test for -':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 1062 - setup match file test for -
expecting success of 3070.1063 'wildmatch: no match '-' '[a-'':
test_must_fail test-tool wildmatch wildmatch '-' '[a-'
ok 1063 - wildmatch: no match '-' '[a-'
expecting success of 3070.1064 'wildmatch (via ls-files): no match '[a-' '-'':
>expect &&
git --glob-pathspecs ls-files -z -- '[a-' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1064 - wildmatch (via ls-files): no match '[a-' '-'
expecting success of 3070.1065 'iwildmatch: no match '-' '[a-'':
test_must_fail test-tool wildmatch iwildmatch '-' '[a-'
ok 1065 - iwildmatch: no match '-' '[a-'
expecting success of 3070.1066 'iwildmatch (via ls-files): no match '[a-' '-'':
>expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '[a-' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1066 - iwildmatch (via ls-files): no match '[a-' '-'
expecting success of 3070.1067 'pathmatch: no match '-' '[a-'':
test_must_fail test-tool wildmatch pathmatch '-' '[a-'
ok 1067 - pathmatch: no match '-' '[a-'
expecting success of 3070.1068 'pathmatch (via ls-files): no match '[a-' '-'':
>expect &&
git ls-files -z -- '[a-' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1068 - pathmatch (via ls-files): no match '[a-' '-'
expecting success of 3070.1069 'ipathmatch: no match '-' '[a-'':
test_must_fail test-tool wildmatch ipathmatch '-' '[a-'
ok 1069 - ipathmatch: no match '-' '[a-'
expecting success of 3070.1070 'ipathmatch (via ls-files): no match '[a-' '-'':
>expect &&
git --icase-pathspecs ls-files -z -- '[a-' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1070 - ipathmatch (via ls-files): no match '[a-' '-'
expecting success of 3070.1071 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing -
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 1071 - cleanup after previous file test
expecting success of 3070.1072 'setup match file test for -':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 1072 - setup match file test for -
expecting success of 3070.1073 'wildmatch: no match '-' '[!a-'':
test_must_fail test-tool wildmatch wildmatch '-' '[!a-'
ok 1073 - wildmatch: no match '-' '[!a-'
expecting success of 3070.1074 'wildmatch (via ls-files): no match '[!a-' '-'':
>expect &&
git --glob-pathspecs ls-files -z -- '[!a-' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1074 - wildmatch (via ls-files): no match '[!a-' '-'
expecting success of 3070.1075 'iwildmatch: no match '-' '[!a-'':
test_must_fail test-tool wildmatch iwildmatch '-' '[!a-'
ok 1075 - iwildmatch: no match '-' '[!a-'
expecting success of 3070.1076 'iwildmatch (via ls-files): no match '[!a-' '-'':
>expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '[!a-' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1076 - iwildmatch (via ls-files): no match '[!a-' '-'
expecting success of 3070.1077 'pathmatch: no match '-' '[!a-'':
test_must_fail test-tool wildmatch pathmatch '-' '[!a-'
ok 1077 - pathmatch: no match '-' '[!a-'
expecting success of 3070.1078 'pathmatch (via ls-files): no match '[!a-' '-'':
>expect &&
git ls-files -z -- '[!a-' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1078 - pathmatch (via ls-files): no match '[!a-' '-'
expecting success of 3070.1079 'ipathmatch: no match '-' '[!a-'':
test_must_fail test-tool wildmatch ipathmatch '-' '[!a-'
ok 1079 - ipathmatch: no match '-' '[!a-'
expecting success of 3070.1080 'ipathmatch (via ls-files): no match '[!a-' '-'':
>expect &&
git --icase-pathspecs ls-files -z -- '[!a-' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1080 - ipathmatch (via ls-files): no match '[!a-' '-'
expecting success of 3070.1081 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing -
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 1081 - cleanup after previous file test
expecting success of 3070.1082 'setup match file test for -':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 1082 - setup match file test for -
expecting success of 3070.1083 'wildmatch: match '-' '[--A]'':
test-tool wildmatch wildmatch '-' '[--A]'
ok 1083 - wildmatch: match '-' '[--A]'
expecting success of 3070.1084 'wildmatch (via ls-files): match '[--A]' '-'':
printf '%s' '-' >expect &&
git --glob-pathspecs ls-files -z -- '[--A]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1084 - wildmatch (via ls-files): match '[--A]' '-'
expecting success of 3070.1085 'iwildmatch: match '-' '[--A]'':
test-tool wildmatch iwildmatch '-' '[--A]'
ok 1085 - iwildmatch: match '-' '[--A]'
expecting success of 3070.1086 'iwildmatch (via ls-files): match '[--A]' '-'':
printf '%s' '-' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '[--A]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1086 - iwildmatch (via ls-files): match '[--A]' '-'
expecting success of 3070.1087 'pathmatch: match '-' '[--A]'':
test-tool wildmatch pathmatch '-' '[--A]'
ok 1087 - pathmatch: match '-' '[--A]'
expecting success of 3070.1088 'pathmatch (via ls-files): match '[--A]' '-'':
printf '%s' '-' >expect &&
git ls-files -z -- '[--A]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1088 - pathmatch (via ls-files): match '[--A]' '-'
expecting success of 3070.1089 'ipathmatch: match '-' '[--A]'':
test-tool wildmatch ipathmatch '-' '[--A]'
ok 1089 - ipathmatch: match '-' '[--A]'
expecting success of 3070.1090 'ipathmatch (via ls-files): match '[--A]' '-'':
printf '%s' '-' >expect &&
git --icase-pathspecs ls-files -z -- '[--A]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1090 - ipathmatch (via ls-files): match '[--A]' '-'
expecting success of 3070.1091 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing -
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 1091 - cleanup after previous file test
expecting success of 3070.1092 'setup match file test for 5':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 1092 - setup match file test for 5
expecting success of 3070.1093 'wildmatch: match '5' '[--A]'':
test-tool wildmatch wildmatch '5' '[--A]'
ok 1093 - wildmatch: match '5' '[--A]'
expecting success of 3070.1094 'wildmatch (via ls-files): match '[--A]' '5'':
printf '%s' '5' >expect &&
git --glob-pathspecs ls-files -z -- '[--A]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1094 - wildmatch (via ls-files): match '[--A]' '5'
expecting success of 3070.1095 'iwildmatch: match '5' '[--A]'':
test-tool wildmatch iwildmatch '5' '[--A]'
ok 1095 - iwildmatch: match '5' '[--A]'
expecting success of 3070.1096 'iwildmatch (via ls-files): match '[--A]' '5'':
printf '%s' '5' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '[--A]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1096 - iwildmatch (via ls-files): match '[--A]' '5'
expecting success of 3070.1097 'pathmatch: match '5' '[--A]'':
test-tool wildmatch pathmatch '5' '[--A]'
ok 1097 - pathmatch: match '5' '[--A]'
expecting success of 3070.1098 'pathmatch (via ls-files): match '[--A]' '5'':
printf '%s' '5' >expect &&
git ls-files -z -- '[--A]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1098 - pathmatch (via ls-files): match '[--A]' '5'
expecting success of 3070.1099 'ipathmatch: match '5' '[--A]'':
test-tool wildmatch ipathmatch '5' '[--A]'
ok 1099 - ipathmatch: match '5' '[--A]'
expecting success of 3070.1100 'ipathmatch (via ls-files): match '[--A]' '5'':
printf '%s' '5' >expect &&
git --icase-pathspecs ls-files -z -- '[--A]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1100 - ipathmatch (via ls-files): match '[--A]' '5'
expecting success of 3070.1101 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing 5
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 1101 - cleanup after previous file test
expecting success of 3070.1102 'setup match file test for ':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 1102 - setup match file test for
expecting success of 3070.1103 'wildmatch: match ' ' '[ --]'':
test-tool wildmatch wildmatch ' ' '[ --]'
ok 1103 - wildmatch: match ' ' '[ --]'
expecting success of 3070.1104 'wildmatch (via ls-files): match '[ --]' ' '':
printf '%s' ' ' >expect &&
git --glob-pathspecs ls-files -z -- '[ --]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1104 - wildmatch (via ls-files): match '[ --]' ' '
expecting success of 3070.1105 'iwildmatch: match ' ' '[ --]'':
test-tool wildmatch iwildmatch ' ' '[ --]'
ok 1105 - iwildmatch: match ' ' '[ --]'
expecting success of 3070.1106 'iwildmatch (via ls-files): match '[ --]' ' '':
printf '%s' ' ' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '[ --]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1106 - iwildmatch (via ls-files): match '[ --]' ' '
expecting success of 3070.1107 'pathmatch: match ' ' '[ --]'':
test-tool wildmatch pathmatch ' ' '[ --]'
ok 1107 - pathmatch: match ' ' '[ --]'
expecting success of 3070.1108 'pathmatch (via ls-files): match '[ --]' ' '':
printf '%s' ' ' >expect &&
git ls-files -z -- '[ --]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1108 - pathmatch (via ls-files): match '[ --]' ' '
expecting success of 3070.1109 'ipathmatch: match ' ' '[ --]'':
test-tool wildmatch ipathmatch ' ' '[ --]'
ok 1109 - ipathmatch: match ' ' '[ --]'
expecting success of 3070.1110 'ipathmatch (via ls-files): match '[ --]' ' '':
printf '%s' ' ' >expect &&
git --icase-pathspecs ls-files -z -- '[ --]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1110 - ipathmatch (via ls-files): match '[ --]' ' '
expecting success of 3070.1111 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 1111 - cleanup after previous file test
expecting success of 3070.1112 'setup match file test for $':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 1112 - setup match file test for $
expecting success of 3070.1113 'wildmatch: match '$' '[ --]'':
test-tool wildmatch wildmatch '$' '[ --]'
ok 1113 - wildmatch: match '$' '[ --]'
expecting success of 3070.1114 'wildmatch (via ls-files): match '[ --]' '$'':
printf '%s' '$' >expect &&
git --glob-pathspecs ls-files -z -- '[ --]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1114 - wildmatch (via ls-files): match '[ --]' '$'
expecting success of 3070.1115 'iwildmatch: match '$' '[ --]'':
test-tool wildmatch iwildmatch '$' '[ --]'
ok 1115 - iwildmatch: match '$' '[ --]'
expecting success of 3070.1116 'iwildmatch (via ls-files): match '[ --]' '$'':
printf '%s' '$' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '[ --]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1116 - iwildmatch (via ls-files): match '[ --]' '$'
expecting success of 3070.1117 'pathmatch: match '$' '[ --]'':
test-tool wildmatch pathmatch '$' '[ --]'
ok 1117 - pathmatch: match '$' '[ --]'
expecting success of 3070.1118 'pathmatch (via ls-files): match '[ --]' '$'':
printf '%s' '$' >expect &&
git ls-files -z -- '[ --]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1118 - pathmatch (via ls-files): match '[ --]' '$'
expecting success of 3070.1119 'ipathmatch: match '$' '[ --]'':
test-tool wildmatch ipathmatch '$' '[ --]'
ok 1119 - ipathmatch: match '$' '[ --]'
expecting success of 3070.1120 'ipathmatch (via ls-files): match '[ --]' '$'':
printf '%s' '$' >expect &&
git --icase-pathspecs ls-files -z -- '[ --]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1120 - ipathmatch (via ls-files): match '[ --]' '$'
expecting success of 3070.1121 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing $
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 1121 - cleanup after previous file test
expecting success of 3070.1122 'setup match file test for -':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 1122 - setup match file test for -
expecting success of 3070.1123 'wildmatch: match '-' '[ --]'':
test-tool wildmatch wildmatch '-' '[ --]'
ok 1123 - wildmatch: match '-' '[ --]'
expecting success of 3070.1124 'wildmatch (via ls-files): match '[ --]' '-'':
printf '%s' '-' >expect &&
git --glob-pathspecs ls-files -z -- '[ --]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1124 - wildmatch (via ls-files): match '[ --]' '-'
expecting success of 3070.1125 'iwildmatch: match '-' '[ --]'':
test-tool wildmatch iwildmatch '-' '[ --]'
ok 1125 - iwildmatch: match '-' '[ --]'
expecting success of 3070.1126 'iwildmatch (via ls-files): match '[ --]' '-'':
printf '%s' '-' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '[ --]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1126 - iwildmatch (via ls-files): match '[ --]' '-'
expecting success of 3070.1127 'pathmatch: match '-' '[ --]'':
test-tool wildmatch pathmatch '-' '[ --]'
ok 1127 - pathmatch: match '-' '[ --]'
expecting success of 3070.1128 'pathmatch (via ls-files): match '[ --]' '-'':
printf '%s' '-' >expect &&
git ls-files -z -- '[ --]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1128 - pathmatch (via ls-files): match '[ --]' '-'
expecting success of 3070.1129 'ipathmatch: match '-' '[ --]'':
test-tool wildmatch ipathmatch '-' '[ --]'
ok 1129 - ipathmatch: match '-' '[ --]'
expecting success of 3070.1130 'ipathmatch (via ls-files): match '[ --]' '-'':
printf '%s' '-' >expect &&
git --icase-pathspecs ls-files -z -- '[ --]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1130 - ipathmatch (via ls-files): match '[ --]' '-'
expecting success of 3070.1131 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing -
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 1131 - cleanup after previous file test
expecting success of 3070.1132 'setup match file test for 0':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 1132 - setup match file test for 0
expecting success of 3070.1133 'wildmatch: no match '0' '[ --]'':
test_must_fail test-tool wildmatch wildmatch '0' '[ --]'
ok 1133 - wildmatch: no match '0' '[ --]'
expecting success of 3070.1134 'wildmatch (via ls-files): no match '[ --]' '0'':
>expect &&
git --glob-pathspecs ls-files -z -- '[ --]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1134 - wildmatch (via ls-files): no match '[ --]' '0'
expecting success of 3070.1135 'iwildmatch: no match '0' '[ --]'':
test_must_fail test-tool wildmatch iwildmatch '0' '[ --]'
ok 1135 - iwildmatch: no match '0' '[ --]'
expecting success of 3070.1136 'iwildmatch (via ls-files): no match '[ --]' '0'':
>expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '[ --]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1136 - iwildmatch (via ls-files): no match '[ --]' '0'
expecting success of 3070.1137 'pathmatch: no match '0' '[ --]'':
test_must_fail test-tool wildmatch pathmatch '0' '[ --]'
ok 1137 - pathmatch: no match '0' '[ --]'
expecting success of 3070.1138 'pathmatch (via ls-files): no match '[ --]' '0'':
>expect &&
git ls-files -z -- '[ --]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1138 - pathmatch (via ls-files): no match '[ --]' '0'
expecting success of 3070.1139 'ipathmatch: no match '0' '[ --]'':
test_must_fail test-tool wildmatch ipathmatch '0' '[ --]'
ok 1139 - ipathmatch: no match '0' '[ --]'
expecting success of 3070.1140 'ipathmatch (via ls-files): no match '[ --]' '0'':
>expect &&
git --icase-pathspecs ls-files -z -- '[ --]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1140 - ipathmatch (via ls-files): no match '[ --]' '0'
expecting success of 3070.1141 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing 0
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 1141 - cleanup after previous file test
expecting success of 3070.1142 'setup match file test for -':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 1142 - setup match file test for -
expecting success of 3070.1143 'wildmatch: match '-' '[---]'':
test-tool wildmatch wildmatch '-' '[---]'
ok 1143 - wildmatch: match '-' '[---]'
expecting success of 3070.1144 'wildmatch (via ls-files): match '[---]' '-'':
printf '%s' '-' >expect &&
git --glob-pathspecs ls-files -z -- '[---]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1144 - wildmatch (via ls-files): match '[---]' '-'
expecting success of 3070.1145 'iwildmatch: match '-' '[---]'':
test-tool wildmatch iwildmatch '-' '[---]'
ok 1145 - iwildmatch: match '-' '[---]'
expecting success of 3070.1146 'iwildmatch (via ls-files): match '[---]' '-'':
printf '%s' '-' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '[---]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1146 - iwildmatch (via ls-files): match '[---]' '-'
expecting success of 3070.1147 'pathmatch: match '-' '[---]'':
test-tool wildmatch pathmatch '-' '[---]'
ok 1147 - pathmatch: match '-' '[---]'
expecting success of 3070.1148 'pathmatch (via ls-files): match '[---]' '-'':
printf '%s' '-' >expect &&
git ls-files -z -- '[---]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1148 - pathmatch (via ls-files): match '[---]' '-'
expecting success of 3070.1149 'ipathmatch: match '-' '[---]'':
test-tool wildmatch ipathmatch '-' '[---]'
ok 1149 - ipathmatch: match '-' '[---]'
expecting success of 3070.1150 'ipathmatch (via ls-files): match '[---]' '-'':
printf '%s' '-' >expect &&
git --icase-pathspecs ls-files -z -- '[---]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1150 - ipathmatch (via ls-files): match '[---]' '-'
expecting success of 3070.1151 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing -
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 1151 - cleanup after previous file test
expecting success of 3070.1152 'setup match file test for -':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 1152 - setup match file test for -
expecting success of 3070.1153 'wildmatch: match '-' '[------]'':
test-tool wildmatch wildmatch '-' '[------]'
ok 1153 - wildmatch: match '-' '[------]'
expecting success of 3070.1154 'wildmatch (via ls-files): match '[------]' '-'':
printf '%s' '-' >expect &&
git --glob-pathspecs ls-files -z -- '[------]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1154 - wildmatch (via ls-files): match '[------]' '-'
expecting success of 3070.1155 'iwildmatch: match '-' '[------]'':
test-tool wildmatch iwildmatch '-' '[------]'
ok 1155 - iwildmatch: match '-' '[------]'
expecting success of 3070.1156 'iwildmatch (via ls-files): match '[------]' '-'':
printf '%s' '-' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '[------]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1156 - iwildmatch (via ls-files): match '[------]' '-'
expecting success of 3070.1157 'pathmatch: match '-' '[------]'':
test-tool wildmatch pathmatch '-' '[------]'
ok 1157 - pathmatch: match '-' '[------]'
expecting success of 3070.1158 'pathmatch (via ls-files): match '[------]' '-'':
printf '%s' '-' >expect &&
git ls-files -z -- '[------]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1158 - pathmatch (via ls-files): match '[------]' '-'
expecting success of 3070.1159 'ipathmatch: match '-' '[------]'':
test-tool wildmatch ipathmatch '-' '[------]'
ok 1159 - ipathmatch: match '-' '[------]'
expecting success of 3070.1160 'ipathmatch (via ls-files): match '[------]' '-'':
printf '%s' '-' >expect &&
git --icase-pathspecs ls-files -z -- '[------]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1160 - ipathmatch (via ls-files): match '[------]' '-'
expecting success of 3070.1161 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing -
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 1161 - cleanup after previous file test
expecting success of 3070.1162 'setup match file test for j':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 1162 - setup match file test for j
expecting success of 3070.1163 'wildmatch: no match 'j' '[a-e-n]'':
test_must_fail test-tool wildmatch wildmatch 'j' '[a-e-n]'
ok 1163 - wildmatch: no match 'j' '[a-e-n]'
expecting success of 3070.1164 'wildmatch (via ls-files): no match '[a-e-n]' 'j'':
>expect &&
git --glob-pathspecs ls-files -z -- '[a-e-n]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1164 - wildmatch (via ls-files): no match '[a-e-n]' 'j'
expecting success of 3070.1165 'iwildmatch: no match 'j' '[a-e-n]'':
test_must_fail test-tool wildmatch iwildmatch 'j' '[a-e-n]'
ok 1165 - iwildmatch: no match 'j' '[a-e-n]'
expecting success of 3070.1166 'iwildmatch (via ls-files): no match '[a-e-n]' 'j'':
>expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '[a-e-n]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1166 - iwildmatch (via ls-files): no match '[a-e-n]' 'j'
expecting success of 3070.1167 'pathmatch: no match 'j' '[a-e-n]'':
test_must_fail test-tool wildmatch pathmatch 'j' '[a-e-n]'
ok 1167 - pathmatch: no match 'j' '[a-e-n]'
expecting success of 3070.1168 'pathmatch (via ls-files): no match '[a-e-n]' 'j'':
>expect &&
git ls-files -z -- '[a-e-n]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1168 - pathmatch (via ls-files): no match '[a-e-n]' 'j'
expecting success of 3070.1169 'ipathmatch: no match 'j' '[a-e-n]'':
test_must_fail test-tool wildmatch ipathmatch 'j' '[a-e-n]'
ok 1169 - ipathmatch: no match 'j' '[a-e-n]'
expecting success of 3070.1170 'ipathmatch (via ls-files): no match '[a-e-n]' 'j'':
>expect &&
git --icase-pathspecs ls-files -z -- '[a-e-n]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1170 - ipathmatch (via ls-files): no match '[a-e-n]' 'j'
expecting success of 3070.1171 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
Removing j
ok 1171 - cleanup after previous file test
expecting success of 3070.1172 'setup match file test for -':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 1172 - setup match file test for -
expecting success of 3070.1173 'wildmatch: match '-' '[a-e-n]'':
test-tool wildmatch wildmatch '-' '[a-e-n]'
ok 1173 - wildmatch: match '-' '[a-e-n]'
expecting success of 3070.1174 'wildmatch (via ls-files): match '[a-e-n]' '-'':
printf '%s' '-' >expect &&
git --glob-pathspecs ls-files -z -- '[a-e-n]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1174 - wildmatch (via ls-files): match '[a-e-n]' '-'
expecting success of 3070.1175 'iwildmatch: match '-' '[a-e-n]'':
test-tool wildmatch iwildmatch '-' '[a-e-n]'
ok 1175 - iwildmatch: match '-' '[a-e-n]'
expecting success of 3070.1176 'iwildmatch (via ls-files): match '[a-e-n]' '-'':
printf '%s' '-' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '[a-e-n]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1176 - iwildmatch (via ls-files): match '[a-e-n]' '-'
expecting success of 3070.1177 'pathmatch: match '-' '[a-e-n]'':
test-tool wildmatch pathmatch '-' '[a-e-n]'
ok 1177 - pathmatch: match '-' '[a-e-n]'
expecting success of 3070.1178 'pathmatch (via ls-files): match '[a-e-n]' '-'':
printf '%s' '-' >expect &&
git ls-files -z -- '[a-e-n]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1178 - pathmatch (via ls-files): match '[a-e-n]' '-'
expecting success of 3070.1179 'ipathmatch: match '-' '[a-e-n]'':
test-tool wildmatch ipathmatch '-' '[a-e-n]'
ok 1179 - ipathmatch: match '-' '[a-e-n]'
expecting success of 3070.1180 'ipathmatch (via ls-files): match '[a-e-n]' '-'':
printf '%s' '-' >expect &&
git --icase-pathspecs ls-files -z -- '[a-e-n]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1180 - ipathmatch (via ls-files): match '[a-e-n]' '-'
expecting success of 3070.1181 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing -
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 1181 - cleanup after previous file test
expecting success of 3070.1182 'setup match file test for a':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 1182 - setup match file test for a
expecting success of 3070.1183 'wildmatch: match 'a' '[!------]'':
test-tool wildmatch wildmatch 'a' '[!------]'
ok 1183 - wildmatch: match 'a' '[!------]'
expecting success of 3070.1184 'wildmatch (via ls-files): match '[!------]' 'a'':
printf '%s' 'a' >expect &&
git --glob-pathspecs ls-files -z -- '[!------]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1184 - wildmatch (via ls-files): match '[!------]' 'a'
expecting success of 3070.1185 'iwildmatch: match 'a' '[!------]'':
test-tool wildmatch iwildmatch 'a' '[!------]'
ok 1185 - iwildmatch: match 'a' '[!------]'
expecting success of 3070.1186 'iwildmatch (via ls-files): match '[!------]' 'a'':
printf '%s' 'a' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '[!------]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1186 - iwildmatch (via ls-files): match '[!------]' 'a'
expecting success of 3070.1187 'pathmatch: match 'a' '[!------]'':
test-tool wildmatch pathmatch 'a' '[!------]'
ok 1187 - pathmatch: match 'a' '[!------]'
expecting success of 3070.1188 'pathmatch (via ls-files): match '[!------]' 'a'':
printf '%s' 'a' >expect &&
git ls-files -z -- '[!------]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1188 - pathmatch (via ls-files): match '[!------]' 'a'
expecting success of 3070.1189 'ipathmatch: match 'a' '[!------]'':
test-tool wildmatch ipathmatch 'a' '[!------]'
ok 1189 - ipathmatch: match 'a' '[!------]'
expecting success of 3070.1190 'ipathmatch (via ls-files): match '[!------]' 'a'':
printf '%s' 'a' >expect &&
git --icase-pathspecs ls-files -z -- '[!------]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1190 - ipathmatch (via ls-files): match '[!------]' 'a'
expecting success of 3070.1191 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing a
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 1191 - cleanup after previous file test
expecting success of 3070.1192 'setup match file test for [':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 1192 - setup match file test for [
expecting success of 3070.1193 'wildmatch: no match '[' '[]-a]'':
test_must_fail test-tool wildmatch wildmatch '[' '[]-a]'
ok 1193 - wildmatch: no match '[' '[]-a]'
expecting success of 3070.1194 'wildmatch (via ls-files): no match '[]-a]' '['':
>expect &&
git --glob-pathspecs ls-files -z -- '[]-a]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1194 - wildmatch (via ls-files): no match '[]-a]' '['
expecting success of 3070.1195 'iwildmatch: no match '[' '[]-a]'':
test_must_fail test-tool wildmatch iwildmatch '[' '[]-a]'
ok 1195 - iwildmatch: no match '[' '[]-a]'
expecting success of 3070.1196 'iwildmatch (via ls-files): no match '[]-a]' '['':
>expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '[]-a]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1196 - iwildmatch (via ls-files): no match '[]-a]' '['
expecting success of 3070.1197 'pathmatch: no match '[' '[]-a]'':
test_must_fail test-tool wildmatch pathmatch '[' '[]-a]'
ok 1197 - pathmatch: no match '[' '[]-a]'
expecting success of 3070.1198 'pathmatch (via ls-files): no match '[]-a]' '['':
>expect &&
git ls-files -z -- '[]-a]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1198 - pathmatch (via ls-files): no match '[]-a]' '['
expecting success of 3070.1199 'ipathmatch: no match '[' '[]-a]'':
test_must_fail test-tool wildmatch ipathmatch '[' '[]-a]'
ok 1199 - ipathmatch: no match '[' '[]-a]'
expecting success of 3070.1200 'ipathmatch (via ls-files): no match '[]-a]' '['':
>expect &&
git --icase-pathspecs ls-files -z -- '[]-a]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1200 - ipathmatch (via ls-files): no match '[]-a]' '['
expecting success of 3070.1201 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing [
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 1201 - cleanup after previous file test
expecting success of 3070.1202 'setup match file test for ^':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 1202 - setup match file test for ^
expecting success of 3070.1203 'wildmatch: match '^' '[]-a]'':
test-tool wildmatch wildmatch '^' '[]-a]'
ok 1203 - wildmatch: match '^' '[]-a]'
expecting success of 3070.1204 'wildmatch (via ls-files): match '[]-a]' '^'':
printf '%s' '^' >expect &&
git --glob-pathspecs ls-files -z -- '[]-a]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1204 - wildmatch (via ls-files): match '[]-a]' '^'
expecting success of 3070.1205 'iwildmatch: match '^' '[]-a]'':
test-tool wildmatch iwildmatch '^' '[]-a]'
ok 1205 - iwildmatch: match '^' '[]-a]'
expecting success of 3070.1206 'iwildmatch (via ls-files): match '[]-a]' '^'':
printf '%s' '^' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '[]-a]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1206 - iwildmatch (via ls-files): match '[]-a]' '^'
expecting success of 3070.1207 'pathmatch: match '^' '[]-a]'':
test-tool wildmatch pathmatch '^' '[]-a]'
ok 1207 - pathmatch: match '^' '[]-a]'
expecting success of 3070.1208 'pathmatch (via ls-files): match '[]-a]' '^'':
printf '%s' '^' >expect &&
git ls-files -z -- '[]-a]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1208 - pathmatch (via ls-files): match '[]-a]' '^'
expecting success of 3070.1209 'ipathmatch: match '^' '[]-a]'':
test-tool wildmatch ipathmatch '^' '[]-a]'
ok 1209 - ipathmatch: match '^' '[]-a]'
expecting success of 3070.1210 'ipathmatch (via ls-files): match '[]-a]' '^'':
printf '%s' '^' >expect &&
git --icase-pathspecs ls-files -z -- '[]-a]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1210 - ipathmatch (via ls-files): match '[]-a]' '^'
expecting success of 3070.1211 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing ^
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 1211 - cleanup after previous file test
expecting success of 3070.1212 'setup match file test for ^':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 1212 - setup match file test for ^
expecting success of 3070.1213 'wildmatch: no match '^' '[!]-a]'':
test_must_fail test-tool wildmatch wildmatch '^' '[!]-a]'
ok 1213 - wildmatch: no match '^' '[!]-a]'
expecting success of 3070.1214 'wildmatch (via ls-files): no match '[!]-a]' '^'':
>expect &&
git --glob-pathspecs ls-files -z -- '[!]-a]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1214 - wildmatch (via ls-files): no match '[!]-a]' '^'
expecting success of 3070.1215 'iwildmatch: no match '^' '[!]-a]'':
test_must_fail test-tool wildmatch iwildmatch '^' '[!]-a]'
ok 1215 - iwildmatch: no match '^' '[!]-a]'
expecting success of 3070.1216 'iwildmatch (via ls-files): no match '[!]-a]' '^'':
>expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '[!]-a]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1216 - iwildmatch (via ls-files): no match '[!]-a]' '^'
expecting success of 3070.1217 'pathmatch: no match '^' '[!]-a]'':
test_must_fail test-tool wildmatch pathmatch '^' '[!]-a]'
ok 1217 - pathmatch: no match '^' '[!]-a]'
expecting success of 3070.1218 'pathmatch (via ls-files): no match '[!]-a]' '^'':
>expect &&
git ls-files -z -- '[!]-a]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1218 - pathmatch (via ls-files): no match '[!]-a]' '^'
expecting success of 3070.1219 'ipathmatch: no match '^' '[!]-a]'':
test_must_fail test-tool wildmatch ipathmatch '^' '[!]-a]'
ok 1219 - ipathmatch: no match '^' '[!]-a]'
expecting success of 3070.1220 'ipathmatch (via ls-files): no match '[!]-a]' '^'':
>expect &&
git --icase-pathspecs ls-files -z -- '[!]-a]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1220 - ipathmatch (via ls-files): no match '[!]-a]' '^'
expecting success of 3070.1221 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing ^
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 1221 - cleanup after previous file test
expecting success of 3070.1222 'setup match file test for [':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 1222 - setup match file test for [
expecting success of 3070.1223 'wildmatch: match '[' '[!]-a]'':
test-tool wildmatch wildmatch '[' '[!]-a]'
ok 1223 - wildmatch: match '[' '[!]-a]'
expecting success of 3070.1224 'wildmatch (via ls-files): match '[!]-a]' '['':
printf '%s' '[' >expect &&
git --glob-pathspecs ls-files -z -- '[!]-a]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1224 - wildmatch (via ls-files): match '[!]-a]' '['
expecting success of 3070.1225 'iwildmatch: match '[' '[!]-a]'':
test-tool wildmatch iwildmatch '[' '[!]-a]'
ok 1225 - iwildmatch: match '[' '[!]-a]'
expecting success of 3070.1226 'iwildmatch (via ls-files): match '[!]-a]' '['':
printf '%s' '[' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '[!]-a]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1226 - iwildmatch (via ls-files): match '[!]-a]' '['
expecting success of 3070.1227 'pathmatch: match '[' '[!]-a]'':
test-tool wildmatch pathmatch '[' '[!]-a]'
ok 1227 - pathmatch: match '[' '[!]-a]'
expecting success of 3070.1228 'pathmatch (via ls-files): match '[!]-a]' '['':
printf '%s' '[' >expect &&
git ls-files -z -- '[!]-a]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1228 - pathmatch (via ls-files): match '[!]-a]' '['
expecting success of 3070.1229 'ipathmatch: match '[' '[!]-a]'':
test-tool wildmatch ipathmatch '[' '[!]-a]'
ok 1229 - ipathmatch: match '[' '[!]-a]'
expecting success of 3070.1230 'ipathmatch (via ls-files): match '[!]-a]' '['':
printf '%s' '[' >expect &&
git --icase-pathspecs ls-files -z -- '[!]-a]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1230 - ipathmatch (via ls-files): match '[!]-a]' '['
expecting success of 3070.1231 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing [
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 1231 - cleanup after previous file test
expecting success of 3070.1232 'setup match file test for ^':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 1232 - setup match file test for ^
expecting success of 3070.1233 'wildmatch: match '^' '[a^bc]'':
test-tool wildmatch wildmatch '^' '[a^bc]'
ok 1233 - wildmatch: match '^' '[a^bc]'
expecting success of 3070.1234 'wildmatch (via ls-files): match '[a^bc]' '^'':
printf '%s' '^' >expect &&
git --glob-pathspecs ls-files -z -- '[a^bc]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1234 - wildmatch (via ls-files): match '[a^bc]' '^'
expecting success of 3070.1235 'iwildmatch: match '^' '[a^bc]'':
test-tool wildmatch iwildmatch '^' '[a^bc]'
ok 1235 - iwildmatch: match '^' '[a^bc]'
expecting success of 3070.1236 'iwildmatch (via ls-files): match '[a^bc]' '^'':
printf '%s' '^' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '[a^bc]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1236 - iwildmatch (via ls-files): match '[a^bc]' '^'
expecting success of 3070.1237 'pathmatch: match '^' '[a^bc]'':
test-tool wildmatch pathmatch '^' '[a^bc]'
ok 1237 - pathmatch: match '^' '[a^bc]'
expecting success of 3070.1238 'pathmatch (via ls-files): match '[a^bc]' '^'':
printf '%s' '^' >expect &&
git ls-files -z -- '[a^bc]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1238 - pathmatch (via ls-files): match '[a^bc]' '^'
expecting success of 3070.1239 'ipathmatch: match '^' '[a^bc]'':
test-tool wildmatch ipathmatch '^' '[a^bc]'
ok 1239 - ipathmatch: match '^' '[a^bc]'
expecting success of 3070.1240 'ipathmatch (via ls-files): match '[a^bc]' '^'':
printf '%s' '^' >expect &&
git --icase-pathspecs ls-files -z -- '[a^bc]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1240 - ipathmatch (via ls-files): match '[a^bc]' '^'
expecting success of 3070.1241 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing ^
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 1241 - cleanup after previous file test
expecting success of 3070.1242 'setup match file test for -b]':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 1242 - setup match file test for -b]
expecting success of 3070.1243 'wildmatch: match '-b]' '[a-]b]'':
test-tool wildmatch wildmatch '-b]' '[a-]b]'
ok 1243 - wildmatch: match '-b]' '[a-]b]'
expecting success of 3070.1244 'wildmatch (via ls-files): match '[a-]b]' '-b]'':
printf '%s' '-b]' >expect &&
git --glob-pathspecs ls-files -z -- '[a-]b]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1244 - wildmatch (via ls-files): match '[a-]b]' '-b]'
expecting success of 3070.1245 'iwildmatch: match '-b]' '[a-]b]'':
test-tool wildmatch iwildmatch '-b]' '[a-]b]'
ok 1245 - iwildmatch: match '-b]' '[a-]b]'
expecting success of 3070.1246 'iwildmatch (via ls-files): match '[a-]b]' '-b]'':
printf '%s' '-b]' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '[a-]b]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1246 - iwildmatch (via ls-files): match '[a-]b]' '-b]'
expecting success of 3070.1247 'pathmatch: match '-b]' '[a-]b]'':
test-tool wildmatch pathmatch '-b]' '[a-]b]'
ok 1247 - pathmatch: match '-b]' '[a-]b]'
expecting success of 3070.1248 'pathmatch (via ls-files): match '[a-]b]' '-b]'':
printf '%s' '-b]' >expect &&
git ls-files -z -- '[a-]b]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1248 - pathmatch (via ls-files): match '[a-]b]' '-b]'
expecting success of 3070.1249 'ipathmatch: match '-b]' '[a-]b]'':
test-tool wildmatch ipathmatch '-b]' '[a-]b]'
ok 1249 - ipathmatch: match '-b]' '[a-]b]'
expecting success of 3070.1250 'ipathmatch (via ls-files): match '[a-]b]' '-b]'':
printf '%s' '-b]' >expect &&
git --icase-pathspecs ls-files -z -- '[a-]b]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1250 - ipathmatch (via ls-files): match '[a-]b]' '-b]'
expecting success of 3070.1251 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing -b]
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 1251 - cleanup after previous file test
expecting success of 3070.1252 'setup match file test for \':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 1252 - setup match file test for \
expecting success of 3070.1253 'wildmatch: no match '\' '[\]'':
test_must_fail test-tool wildmatch wildmatch '\' '[\]'
ok 1253 - wildmatch: no match '\' '[\]'
expecting success of 3070.1254 'wildmatch (via ls-files): no match '[\]' '\'':
>expect &&
git --glob-pathspecs ls-files -z -- '[\]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1254 - wildmatch (via ls-files): no match '[\]' '\'
expecting success of 3070.1255 'iwildmatch: no match '\' '[\]'':
test_must_fail test-tool wildmatch iwildmatch '\' '[\]'
ok 1255 - iwildmatch: no match '\' '[\]'
expecting success of 3070.1256 'iwildmatch (via ls-files): no match '[\]' '\'':
>expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '[\]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1256 - iwildmatch (via ls-files): no match '[\]' '\'
expecting success of 3070.1257 'pathmatch: no match '\' '[\]'':
test_must_fail test-tool wildmatch pathmatch '\' '[\]'
ok 1257 - pathmatch: no match '\' '[\]'
expecting success of 3070.1258 'pathmatch (via ls-files): no match '[\]' '\'':
>expect &&
git ls-files -z -- '[\]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1258 - pathmatch (via ls-files): no match '[\]' '\'
expecting success of 3070.1259 'ipathmatch: no match '\' '[\]'':
test_must_fail test-tool wildmatch ipathmatch '\' '[\]'
ok 1259 - ipathmatch: no match '\' '[\]'
expecting success of 3070.1260 'ipathmatch (via ls-files): no match '[\]' '\'':
>expect &&
git --icase-pathspecs ls-files -z -- '[\]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1260 - ipathmatch (via ls-files): no match '[\]' '\'
expecting success of 3070.1261 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing "\\"
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 1261 - cleanup after previous file test
expecting success of 3070.1262 'setup match file test for \':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 1262 - setup match file test for \
expecting success of 3070.1263 'wildmatch: match '\' '[\\]'':
test-tool wildmatch wildmatch '\' '[\\]'
ok 1263 - wildmatch: match '\' '[\\]'
expecting success of 3070.1264 'wildmatch (via ls-files): match '[\\]' '\'':
printf '%s' '\' >expect &&
git --glob-pathspecs ls-files -z -- '[\\]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1264 - wildmatch (via ls-files): match '[\\]' '\'
expecting success of 3070.1265 'iwildmatch: match '\' '[\\]'':
test-tool wildmatch iwildmatch '\' '[\\]'
ok 1265 - iwildmatch: match '\' '[\\]'
expecting success of 3070.1266 'iwildmatch (via ls-files): match '[\\]' '\'':
printf '%s' '\' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '[\\]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1266 - iwildmatch (via ls-files): match '[\\]' '\'
expecting success of 3070.1267 'pathmatch: match '\' '[\\]'':
test-tool wildmatch pathmatch '\' '[\\]'
ok 1267 - pathmatch: match '\' '[\\]'
expecting success of 3070.1268 'pathmatch (via ls-files): match '[\\]' '\'':
printf '%s' '\' >expect &&
git ls-files -z -- '[\\]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1268 - pathmatch (via ls-files): match '[\\]' '\'
expecting success of 3070.1269 'ipathmatch: match '\' '[\\]'':
test-tool wildmatch ipathmatch '\' '[\\]'
ok 1269 - ipathmatch: match '\' '[\\]'
expecting success of 3070.1270 'ipathmatch (via ls-files): match '[\\]' '\'':
printf '%s' '\' >expect &&
git --icase-pathspecs ls-files -z -- '[\\]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1270 - ipathmatch (via ls-files): match '[\\]' '\'
expecting success of 3070.1271 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing "\\"
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 1271 - cleanup after previous file test
expecting success of 3070.1272 'setup match file test for \':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 1272 - setup match file test for \
expecting success of 3070.1273 'wildmatch: no match '\' '[!\\]'':
test_must_fail test-tool wildmatch wildmatch '\' '[!\\]'
ok 1273 - wildmatch: no match '\' '[!\\]'
expecting success of 3070.1274 'wildmatch (via ls-files): no match '[!\\]' '\'':
>expect &&
git --glob-pathspecs ls-files -z -- '[!\\]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1274 - wildmatch (via ls-files): no match '[!\\]' '\'
expecting success of 3070.1275 'iwildmatch: no match '\' '[!\\]'':
test_must_fail test-tool wildmatch iwildmatch '\' '[!\\]'
ok 1275 - iwildmatch: no match '\' '[!\\]'
expecting success of 3070.1276 'iwildmatch (via ls-files): no match '[!\\]' '\'':
>expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '[!\\]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1276 - iwildmatch (via ls-files): no match '[!\\]' '\'
expecting success of 3070.1277 'pathmatch: no match '\' '[!\\]'':
test_must_fail test-tool wildmatch pathmatch '\' '[!\\]'
ok 1277 - pathmatch: no match '\' '[!\\]'
expecting success of 3070.1278 'pathmatch (via ls-files): no match '[!\\]' '\'':
>expect &&
git ls-files -z -- '[!\\]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1278 - pathmatch (via ls-files): no match '[!\\]' '\'
expecting success of 3070.1279 'ipathmatch: no match '\' '[!\\]'':
test_must_fail test-tool wildmatch ipathmatch '\' '[!\\]'
ok 1279 - ipathmatch: no match '\' '[!\\]'
expecting success of 3070.1280 'ipathmatch (via ls-files): no match '[!\\]' '\'':
>expect &&
git --icase-pathspecs ls-files -z -- '[!\\]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1280 - ipathmatch (via ls-files): no match '[!\\]' '\'
expecting success of 3070.1281 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing "\\"
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 1281 - cleanup after previous file test
expecting success of 3070.1282 'setup match file test for G':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 1282 - setup match file test for G
expecting success of 3070.1283 'wildmatch: match 'G' '[A-\\]'':
test-tool wildmatch wildmatch 'G' '[A-\\]'
ok 1283 - wildmatch: match 'G' '[A-\\]'
expecting success of 3070.1284 'wildmatch (via ls-files): match '[A-\\]' 'G'':
printf '%s' 'G' >expect &&
git --glob-pathspecs ls-files -z -- '[A-\\]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1284 - wildmatch (via ls-files): match '[A-\\]' 'G'
expecting success of 3070.1285 'iwildmatch: match 'G' '[A-\\]'':
test-tool wildmatch iwildmatch 'G' '[A-\\]'
ok 1285 - iwildmatch: match 'G' '[A-\\]'
expecting success of 3070.1286 'iwildmatch (via ls-files): match '[A-\\]' 'G'':
printf '%s' 'G' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '[A-\\]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1286 - iwildmatch (via ls-files): match '[A-\\]' 'G'
expecting success of 3070.1287 'pathmatch: match 'G' '[A-\\]'':
test-tool wildmatch pathmatch 'G' '[A-\\]'
ok 1287 - pathmatch: match 'G' '[A-\\]'
expecting success of 3070.1288 'pathmatch (via ls-files): match '[A-\\]' 'G'':
printf '%s' 'G' >expect &&
git ls-files -z -- '[A-\\]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1288 - pathmatch (via ls-files): match '[A-\\]' 'G'
expecting success of 3070.1289 'ipathmatch: match 'G' '[A-\\]'':
test-tool wildmatch ipathmatch 'G' '[A-\\]'
ok 1289 - ipathmatch: match 'G' '[A-\\]'
expecting success of 3070.1290 'ipathmatch (via ls-files): match '[A-\\]' 'G'':
printf '%s' 'G' >expect &&
git --icase-pathspecs ls-files -z -- '[A-\\]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1290 - ipathmatch (via ls-files): match '[A-\\]' 'G'
expecting success of 3070.1291 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing G
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 1291 - cleanup after previous file test
expecting success of 3070.1292 'setup match file test for aaabbb':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 1292 - setup match file test for aaabbb
expecting success of 3070.1293 'wildmatch: no match 'aaabbb' 'b*a'':
test_must_fail test-tool wildmatch wildmatch 'aaabbb' 'b*a'
ok 1293 - wildmatch: no match 'aaabbb' 'b*a'
expecting success of 3070.1294 'wildmatch (via ls-files): no match 'b*a' 'aaabbb'':
>expect &&
git --glob-pathspecs ls-files -z -- 'b*a' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1294 - wildmatch (via ls-files): no match 'b*a' 'aaabbb'
expecting success of 3070.1295 'iwildmatch: no match 'aaabbb' 'b*a'':
test_must_fail test-tool wildmatch iwildmatch 'aaabbb' 'b*a'
ok 1295 - iwildmatch: no match 'aaabbb' 'b*a'
expecting success of 3070.1296 'iwildmatch (via ls-files): no match 'b*a' 'aaabbb'':
>expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- 'b*a' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1296 - iwildmatch (via ls-files): no match 'b*a' 'aaabbb'
expecting success of 3070.1297 'pathmatch: no match 'aaabbb' 'b*a'':
test_must_fail test-tool wildmatch pathmatch 'aaabbb' 'b*a'
ok 1297 - pathmatch: no match 'aaabbb' 'b*a'
expecting success of 3070.1298 'pathmatch (via ls-files): no match 'b*a' 'aaabbb'':
>expect &&
git ls-files -z -- 'b*a' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1298 - pathmatch (via ls-files): no match 'b*a' 'aaabbb'
expecting success of 3070.1299 'ipathmatch: no match 'aaabbb' 'b*a'':
test_must_fail test-tool wildmatch ipathmatch 'aaabbb' 'b*a'
ok 1299 - ipathmatch: no match 'aaabbb' 'b*a'
expecting success of 3070.1300 'ipathmatch (via ls-files): no match 'b*a' 'aaabbb'':
>expect &&
git --icase-pathspecs ls-files -z -- 'b*a' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1300 - ipathmatch (via ls-files): no match 'b*a' 'aaabbb'
expecting success of 3070.1301 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing aaabbb
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 1301 - cleanup after previous file test
expecting success of 3070.1302 'setup match file test for aabcaa':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 1302 - setup match file test for aabcaa
expecting success of 3070.1303 'wildmatch: no match 'aabcaa' '*ba*'':
test_must_fail test-tool wildmatch wildmatch 'aabcaa' '*ba*'
ok 1303 - wildmatch: no match 'aabcaa' '*ba*'
expecting success of 3070.1304 'wildmatch (via ls-files): no match '*ba*' 'aabcaa'':
>expect &&
git --glob-pathspecs ls-files -z -- '*ba*' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1304 - wildmatch (via ls-files): no match '*ba*' 'aabcaa'
expecting success of 3070.1305 'iwildmatch: no match 'aabcaa' '*ba*'':
test_must_fail test-tool wildmatch iwildmatch 'aabcaa' '*ba*'
ok 1305 - iwildmatch: no match 'aabcaa' '*ba*'
expecting success of 3070.1306 'iwildmatch (via ls-files): no match '*ba*' 'aabcaa'':
>expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '*ba*' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1306 - iwildmatch (via ls-files): no match '*ba*' 'aabcaa'
expecting success of 3070.1307 'pathmatch: no match 'aabcaa' '*ba*'':
test_must_fail test-tool wildmatch pathmatch 'aabcaa' '*ba*'
ok 1307 - pathmatch: no match 'aabcaa' '*ba*'
expecting success of 3070.1308 'pathmatch (via ls-files): no match '*ba*' 'aabcaa'':
>expect &&
git ls-files -z -- '*ba*' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1308 - pathmatch (via ls-files): no match '*ba*' 'aabcaa'
expecting success of 3070.1309 'ipathmatch: no match 'aabcaa' '*ba*'':
test_must_fail test-tool wildmatch ipathmatch 'aabcaa' '*ba*'
ok 1309 - ipathmatch: no match 'aabcaa' '*ba*'
expecting success of 3070.1310 'ipathmatch (via ls-files): no match '*ba*' 'aabcaa'':
>expect &&
git --icase-pathspecs ls-files -z -- '*ba*' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1310 - ipathmatch (via ls-files): no match '*ba*' 'aabcaa'
expecting success of 3070.1311 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing aabcaa
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 1311 - cleanup after previous file test
expecting success of 3070.1312 'setup match file test for ,':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 1312 - setup match file test for ,
expecting success of 3070.1313 'wildmatch: match ',' '[,]'':
test-tool wildmatch wildmatch ',' '[,]'
ok 1313 - wildmatch: match ',' '[,]'
expecting success of 3070.1314 'wildmatch (via ls-files): match '[,]' ','':
printf '%s' ',' >expect &&
git --glob-pathspecs ls-files -z -- '[,]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1314 - wildmatch (via ls-files): match '[,]' ','
expecting success of 3070.1315 'iwildmatch: match ',' '[,]'':
test-tool wildmatch iwildmatch ',' '[,]'
ok 1315 - iwildmatch: match ',' '[,]'
expecting success of 3070.1316 'iwildmatch (via ls-files): match '[,]' ','':
printf '%s' ',' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '[,]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1316 - iwildmatch (via ls-files): match '[,]' ','
expecting success of 3070.1317 'pathmatch: match ',' '[,]'':
test-tool wildmatch pathmatch ',' '[,]'
ok 1317 - pathmatch: match ',' '[,]'
expecting success of 3070.1318 'pathmatch (via ls-files): match '[,]' ','':
printf '%s' ',' >expect &&
git ls-files -z -- '[,]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1318 - pathmatch (via ls-files): match '[,]' ','
expecting success of 3070.1319 'ipathmatch: match ',' '[,]'':
test-tool wildmatch ipathmatch ',' '[,]'
ok 1319 - ipathmatch: match ',' '[,]'
expecting success of 3070.1320 'ipathmatch (via ls-files): match '[,]' ','':
printf '%s' ',' >expect &&
git --icase-pathspecs ls-files -z -- '[,]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1320 - ipathmatch (via ls-files): match '[,]' ','
expecting success of 3070.1321 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing ,
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 1321 - cleanup after previous file test
expecting success of 3070.1322 'setup match file test for ,':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 1322 - setup match file test for ,
expecting success of 3070.1323 'wildmatch: match ',' '[\\,]'':
test-tool wildmatch wildmatch ',' '[\\,]'
ok 1323 - wildmatch: match ',' '[\\,]'
expecting success of 3070.1324 'wildmatch (via ls-files): match '[\\,]' ','':
printf '%s' ',' >expect &&
git --glob-pathspecs ls-files -z -- '[\\,]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1324 - wildmatch (via ls-files): match '[\\,]' ','
expecting success of 3070.1325 'iwildmatch: match ',' '[\\,]'':
test-tool wildmatch iwildmatch ',' '[\\,]'
ok 1325 - iwildmatch: match ',' '[\\,]'
expecting success of 3070.1326 'iwildmatch (via ls-files): match '[\\,]' ','':
printf '%s' ',' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '[\\,]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1326 - iwildmatch (via ls-files): match '[\\,]' ','
expecting success of 3070.1327 'pathmatch: match ',' '[\\,]'':
test-tool wildmatch pathmatch ',' '[\\,]'
ok 1327 - pathmatch: match ',' '[\\,]'
expecting success of 3070.1328 'pathmatch (via ls-files): match '[\\,]' ','':
printf '%s' ',' >expect &&
git ls-files -z -- '[\\,]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1328 - pathmatch (via ls-files): match '[\\,]' ','
expecting success of 3070.1329 'ipathmatch: match ',' '[\\,]'':
test-tool wildmatch ipathmatch ',' '[\\,]'
ok 1329 - ipathmatch: match ',' '[\\,]'
expecting success of 3070.1330 'ipathmatch (via ls-files): match '[\\,]' ','':
printf '%s' ',' >expect &&
git --icase-pathspecs ls-files -z -- '[\\,]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1330 - ipathmatch (via ls-files): match '[\\,]' ','
expecting success of 3070.1331 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing ,
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 1331 - cleanup after previous file test
expecting success of 3070.1332 'setup match file test for \':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 1332 - setup match file test for \
expecting success of 3070.1333 'wildmatch: match '\' '[\\,]'':
test-tool wildmatch wildmatch '\' '[\\,]'
ok 1333 - wildmatch: match '\' '[\\,]'
expecting success of 3070.1334 'wildmatch (via ls-files): match '[\\,]' '\'':
printf '%s' '\' >expect &&
git --glob-pathspecs ls-files -z -- '[\\,]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1334 - wildmatch (via ls-files): match '[\\,]' '\'
expecting success of 3070.1335 'iwildmatch: match '\' '[\\,]'':
test-tool wildmatch iwildmatch '\' '[\\,]'
ok 1335 - iwildmatch: match '\' '[\\,]'
expecting success of 3070.1336 'iwildmatch (via ls-files): match '[\\,]' '\'':
printf '%s' '\' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '[\\,]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1336 - iwildmatch (via ls-files): match '[\\,]' '\'
expecting success of 3070.1337 'pathmatch: match '\' '[\\,]'':
test-tool wildmatch pathmatch '\' '[\\,]'
ok 1337 - pathmatch: match '\' '[\\,]'
expecting success of 3070.1338 'pathmatch (via ls-files): match '[\\,]' '\'':
printf '%s' '\' >expect &&
git ls-files -z -- '[\\,]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1338 - pathmatch (via ls-files): match '[\\,]' '\'
expecting success of 3070.1339 'ipathmatch: match '\' '[\\,]'':
test-tool wildmatch ipathmatch '\' '[\\,]'
ok 1339 - ipathmatch: match '\' '[\\,]'
expecting success of 3070.1340 'ipathmatch (via ls-files): match '[\\,]' '\'':
printf '%s' '\' >expect &&
git --icase-pathspecs ls-files -z -- '[\\,]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1340 - ipathmatch (via ls-files): match '[\\,]' '\'
expecting success of 3070.1341 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing "\\"
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 1341 - cleanup after previous file test
expecting success of 3070.1342 'setup match file test for -':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 1342 - setup match file test for -
expecting success of 3070.1343 'wildmatch: match '-' '[,-.]'':
test-tool wildmatch wildmatch '-' '[,-.]'
ok 1343 - wildmatch: match '-' '[,-.]'
expecting success of 3070.1344 'wildmatch (via ls-files): match '[,-.]' '-'':
printf '%s' '-' >expect &&
git --glob-pathspecs ls-files -z -- '[,-.]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1344 - wildmatch (via ls-files): match '[,-.]' '-'
expecting success of 3070.1345 'iwildmatch: match '-' '[,-.]'':
test-tool wildmatch iwildmatch '-' '[,-.]'
ok 1345 - iwildmatch: match '-' '[,-.]'
expecting success of 3070.1346 'iwildmatch (via ls-files): match '[,-.]' '-'':
printf '%s' '-' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '[,-.]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1346 - iwildmatch (via ls-files): match '[,-.]' '-'
expecting success of 3070.1347 'pathmatch: match '-' '[,-.]'':
test-tool wildmatch pathmatch '-' '[,-.]'
ok 1347 - pathmatch: match '-' '[,-.]'
expecting success of 3070.1348 'pathmatch (via ls-files): match '[,-.]' '-'':
printf '%s' '-' >expect &&
git ls-files -z -- '[,-.]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1348 - pathmatch (via ls-files): match '[,-.]' '-'
expecting success of 3070.1349 'ipathmatch: match '-' '[,-.]'':
test-tool wildmatch ipathmatch '-' '[,-.]'
ok 1349 - ipathmatch: match '-' '[,-.]'
expecting success of 3070.1350 'ipathmatch (via ls-files): match '[,-.]' '-'':
printf '%s' '-' >expect &&
git --icase-pathspecs ls-files -z -- '[,-.]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1350 - ipathmatch (via ls-files): match '[,-.]' '-'
expecting success of 3070.1351 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing -
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 1351 - cleanup after previous file test
expecting success of 3070.1352 'setup match file test for +':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 1352 - setup match file test for +
expecting success of 3070.1353 'wildmatch: no match '+' '[,-.]'':
test_must_fail test-tool wildmatch wildmatch '+' '[,-.]'
ok 1353 - wildmatch: no match '+' '[,-.]'
expecting success of 3070.1354 'wildmatch (via ls-files): no match '[,-.]' '+'':
>expect &&
git --glob-pathspecs ls-files -z -- '[,-.]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1354 - wildmatch (via ls-files): no match '[,-.]' '+'
expecting success of 3070.1355 'iwildmatch: no match '+' '[,-.]'':
test_must_fail test-tool wildmatch iwildmatch '+' '[,-.]'
ok 1355 - iwildmatch: no match '+' '[,-.]'
expecting success of 3070.1356 'iwildmatch (via ls-files): no match '[,-.]' '+'':
>expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '[,-.]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1356 - iwildmatch (via ls-files): no match '[,-.]' '+'
expecting success of 3070.1357 'pathmatch: no match '+' '[,-.]'':
test_must_fail test-tool wildmatch pathmatch '+' '[,-.]'
ok 1357 - pathmatch: no match '+' '[,-.]'
expecting success of 3070.1358 'pathmatch (via ls-files): no match '[,-.]' '+'':
>expect &&
git ls-files -z -- '[,-.]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1358 - pathmatch (via ls-files): no match '[,-.]' '+'
expecting success of 3070.1359 'ipathmatch: no match '+' '[,-.]'':
test_must_fail test-tool wildmatch ipathmatch '+' '[,-.]'
ok 1359 - ipathmatch: no match '+' '[,-.]'
expecting success of 3070.1360 'ipathmatch (via ls-files): no match '[,-.]' '+'':
>expect &&
git --icase-pathspecs ls-files -z -- '[,-.]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1360 - ipathmatch (via ls-files): no match '[,-.]' '+'
expecting success of 3070.1361 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing +
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 1361 - cleanup after previous file test
expecting success of 3070.1362 'setup match file test for -.]':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 1362 - setup match file test for -.]
expecting success of 3070.1363 'wildmatch: no match '-.]' '[,-.]'':
test_must_fail test-tool wildmatch wildmatch '-.]' '[,-.]'
ok 1363 - wildmatch: no match '-.]' '[,-.]'
expecting success of 3070.1364 'wildmatch (via ls-files): no match '[,-.]' '-.]'':
>expect &&
git --glob-pathspecs ls-files -z -- '[,-.]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1364 - wildmatch (via ls-files): no match '[,-.]' '-.]'
expecting success of 3070.1365 'iwildmatch: no match '-.]' '[,-.]'':
test_must_fail test-tool wildmatch iwildmatch '-.]' '[,-.]'
ok 1365 - iwildmatch: no match '-.]' '[,-.]'
expecting success of 3070.1366 'iwildmatch (via ls-files): no match '[,-.]' '-.]'':
>expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '[,-.]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1366 - iwildmatch (via ls-files): no match '[,-.]' '-.]'
expecting success of 3070.1367 'pathmatch: no match '-.]' '[,-.]'':
test_must_fail test-tool wildmatch pathmatch '-.]' '[,-.]'
ok 1367 - pathmatch: no match '-.]' '[,-.]'
expecting success of 3070.1368 'pathmatch (via ls-files): no match '[,-.]' '-.]'':
>expect &&
git ls-files -z -- '[,-.]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1368 - pathmatch (via ls-files): no match '[,-.]' '-.]'
expecting success of 3070.1369 'ipathmatch: no match '-.]' '[,-.]'':
test_must_fail test-tool wildmatch ipathmatch '-.]' '[,-.]'
ok 1369 - ipathmatch: no match '-.]' '[,-.]'
expecting success of 3070.1370 'ipathmatch (via ls-files): no match '[,-.]' '-.]'':
>expect &&
git --icase-pathspecs ls-files -z -- '[,-.]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1370 - ipathmatch (via ls-files): no match '[,-.]' '-.]'
expecting success of 3070.1371 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing -.]
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 1371 - cleanup after previous file test
expecting success of 3070.1372 'setup match file test for 2':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 1372 - setup match file test for 2
expecting success of 3070.1373 'wildmatch: match '2' '[\1-\3]'':
test-tool wildmatch wildmatch '2' '[\1-\3]'
ok 1373 - wildmatch: match '2' '[\1-\3]'
expecting success of 3070.1374 'wildmatch (via ls-files): match '[\1-\3]' '2'':
printf '%s' '2' >expect &&
git --glob-pathspecs ls-files -z -- '[\1-\3]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1374 - wildmatch (via ls-files): match '[\1-\3]' '2'
expecting success of 3070.1375 'iwildmatch: match '2' '[\1-\3]'':
test-tool wildmatch iwildmatch '2' '[\1-\3]'
ok 1375 - iwildmatch: match '2' '[\1-\3]'
expecting success of 3070.1376 'iwildmatch (via ls-files): match '[\1-\3]' '2'':
printf '%s' '2' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '[\1-\3]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1376 - iwildmatch (via ls-files): match '[\1-\3]' '2'
expecting success of 3070.1377 'pathmatch: match '2' '[\1-\3]'':
test-tool wildmatch pathmatch '2' '[\1-\3]'
ok 1377 - pathmatch: match '2' '[\1-\3]'
expecting success of 3070.1378 'pathmatch (via ls-files): match '[\1-\3]' '2'':
printf '%s' '2' >expect &&
git ls-files -z -- '[\1-\3]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1378 - pathmatch (via ls-files): match '[\1-\3]' '2'
expecting success of 3070.1379 'ipathmatch: match '2' '[\1-\3]'':
test-tool wildmatch ipathmatch '2' '[\1-\3]'
ok 1379 - ipathmatch: match '2' '[\1-\3]'
expecting success of 3070.1380 'ipathmatch (via ls-files): match '[\1-\3]' '2'':
printf '%s' '2' >expect &&
git --icase-pathspecs ls-files -z -- '[\1-\3]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1380 - ipathmatch (via ls-files): match '[\1-\3]' '2'
expecting success of 3070.1381 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing 2
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 1381 - cleanup after previous file test
expecting success of 3070.1382 'setup match file test for 3':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 1382 - setup match file test for 3
expecting success of 3070.1383 'wildmatch: match '3' '[\1-\3]'':
test-tool wildmatch wildmatch '3' '[\1-\3]'
ok 1383 - wildmatch: match '3' '[\1-\3]'
expecting success of 3070.1384 'wildmatch (via ls-files): match '[\1-\3]' '3'':
printf '%s' '3' >expect &&
git --glob-pathspecs ls-files -z -- '[\1-\3]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1384 - wildmatch (via ls-files): match '[\1-\3]' '3'
expecting success of 3070.1385 'iwildmatch: match '3' '[\1-\3]'':
test-tool wildmatch iwildmatch '3' '[\1-\3]'
ok 1385 - iwildmatch: match '3' '[\1-\3]'
expecting success of 3070.1386 'iwildmatch (via ls-files): match '[\1-\3]' '3'':
printf '%s' '3' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '[\1-\3]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1386 - iwildmatch (via ls-files): match '[\1-\3]' '3'
expecting success of 3070.1387 'pathmatch: match '3' '[\1-\3]'':
test-tool wildmatch pathmatch '3' '[\1-\3]'
ok 1387 - pathmatch: match '3' '[\1-\3]'
expecting success of 3070.1388 'pathmatch (via ls-files): match '[\1-\3]' '3'':
printf '%s' '3' >expect &&
git ls-files -z -- '[\1-\3]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1388 - pathmatch (via ls-files): match '[\1-\3]' '3'
expecting success of 3070.1389 'ipathmatch: match '3' '[\1-\3]'':
test-tool wildmatch ipathmatch '3' '[\1-\3]'
ok 1389 - ipathmatch: match '3' '[\1-\3]'
expecting success of 3070.1390 'ipathmatch (via ls-files): match '[\1-\3]' '3'':
printf '%s' '3' >expect &&
git --icase-pathspecs ls-files -z -- '[\1-\3]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1390 - ipathmatch (via ls-files): match '[\1-\3]' '3'
expecting success of 3070.1391 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing 3
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 1391 - cleanup after previous file test
expecting success of 3070.1392 'setup match file test for 4':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 1392 - setup match file test for 4
expecting success of 3070.1393 'wildmatch: no match '4' '[\1-\3]'':
test_must_fail test-tool wildmatch wildmatch '4' '[\1-\3]'
ok 1393 - wildmatch: no match '4' '[\1-\3]'
expecting success of 3070.1394 'wildmatch (via ls-files): no match '[\1-\3]' '4'':
>expect &&
git --glob-pathspecs ls-files -z -- '[\1-\3]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1394 - wildmatch (via ls-files): no match '[\1-\3]' '4'
expecting success of 3070.1395 'iwildmatch: no match '4' '[\1-\3]'':
test_must_fail test-tool wildmatch iwildmatch '4' '[\1-\3]'
ok 1395 - iwildmatch: no match '4' '[\1-\3]'
expecting success of 3070.1396 'iwildmatch (via ls-files): no match '[\1-\3]' '4'':
>expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '[\1-\3]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1396 - iwildmatch (via ls-files): no match '[\1-\3]' '4'
expecting success of 3070.1397 'pathmatch: no match '4' '[\1-\3]'':
test_must_fail test-tool wildmatch pathmatch '4' '[\1-\3]'
ok 1397 - pathmatch: no match '4' '[\1-\3]'
expecting success of 3070.1398 'pathmatch (via ls-files): no match '[\1-\3]' '4'':
>expect &&
git ls-files -z -- '[\1-\3]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1398 - pathmatch (via ls-files): no match '[\1-\3]' '4'
expecting success of 3070.1399 'ipathmatch: no match '4' '[\1-\3]'':
test_must_fail test-tool wildmatch ipathmatch '4' '[\1-\3]'
ok 1399 - ipathmatch: no match '4' '[\1-\3]'
expecting success of 3070.1400 'ipathmatch (via ls-files): no match '[\1-\3]' '4'':
>expect &&
git --icase-pathspecs ls-files -z -- '[\1-\3]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1400 - ipathmatch (via ls-files): no match '[\1-\3]' '4'
expecting success of 3070.1401 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing 4
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 1401 - cleanup after previous file test
expecting success of 3070.1402 'setup match file test for \':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 1402 - setup match file test for \
expecting success of 3070.1403 'wildmatch: match '\' '[[-\]]'':
test-tool wildmatch wildmatch '\' '[[-\]]'
ok 1403 - wildmatch: match '\' '[[-\]]'
expecting success of 3070.1404 'wildmatch (via ls-files): match '[[-\]]' '\'':
printf '%s' '\' >expect &&
git --glob-pathspecs ls-files -z -- '[[-\]]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1404 - wildmatch (via ls-files): match '[[-\]]' '\'
expecting success of 3070.1405 'iwildmatch: match '\' '[[-\]]'':
test-tool wildmatch iwildmatch '\' '[[-\]]'
ok 1405 - iwildmatch: match '\' '[[-\]]'
expecting success of 3070.1406 'iwildmatch (via ls-files): match '[[-\]]' '\'':
printf '%s' '\' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '[[-\]]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1406 - iwildmatch (via ls-files): match '[[-\]]' '\'
expecting success of 3070.1407 'pathmatch: match '\' '[[-\]]'':
test-tool wildmatch pathmatch '\' '[[-\]]'
ok 1407 - pathmatch: match '\' '[[-\]]'
expecting success of 3070.1408 'pathmatch (via ls-files): match '[[-\]]' '\'':
printf '%s' '\' >expect &&
git ls-files -z -- '[[-\]]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1408 - pathmatch (via ls-files): match '[[-\]]' '\'
expecting success of 3070.1409 'ipathmatch: match '\' '[[-\]]'':
test-tool wildmatch ipathmatch '\' '[[-\]]'
ok 1409 - ipathmatch: match '\' '[[-\]]'
expecting success of 3070.1410 'ipathmatch (via ls-files): match '[[-\]]' '\'':
printf '%s' '\' >expect &&
git --icase-pathspecs ls-files -z -- '[[-\]]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1410 - ipathmatch (via ls-files): match '[[-\]]' '\'
expecting success of 3070.1411 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing "\\"
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 1411 - cleanup after previous file test
expecting success of 3070.1412 'setup match file test for [':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 1412 - setup match file test for [
expecting success of 3070.1413 'wildmatch: match '[' '[[-\]]'':
test-tool wildmatch wildmatch '[' '[[-\]]'
ok 1413 - wildmatch: match '[' '[[-\]]'
expecting success of 3070.1414 'wildmatch (via ls-files): match '[[-\]]' '['':
printf '%s' '[' >expect &&
git --glob-pathspecs ls-files -z -- '[[-\]]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1414 - wildmatch (via ls-files): match '[[-\]]' '['
expecting success of 3070.1415 'iwildmatch: match '[' '[[-\]]'':
test-tool wildmatch iwildmatch '[' '[[-\]]'
ok 1415 - iwildmatch: match '[' '[[-\]]'
expecting success of 3070.1416 'iwildmatch (via ls-files): match '[[-\]]' '['':
printf '%s' '[' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '[[-\]]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1416 - iwildmatch (via ls-files): match '[[-\]]' '['
expecting success of 3070.1417 'pathmatch: match '[' '[[-\]]'':
test-tool wildmatch pathmatch '[' '[[-\]]'
ok 1417 - pathmatch: match '[' '[[-\]]'
expecting success of 3070.1418 'pathmatch (via ls-files): match '[[-\]]' '['':
printf '%s' '[' >expect &&
git ls-files -z -- '[[-\]]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1418 - pathmatch (via ls-files): match '[[-\]]' '['
expecting success of 3070.1419 'ipathmatch: match '[' '[[-\]]'':
test-tool wildmatch ipathmatch '[' '[[-\]]'
ok 1419 - ipathmatch: match '[' '[[-\]]'
expecting success of 3070.1420 'ipathmatch (via ls-files): match '[[-\]]' '['':
printf '%s' '[' >expect &&
git --icase-pathspecs ls-files -z -- '[[-\]]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1420 - ipathmatch (via ls-files): match '[[-\]]' '['
expecting success of 3070.1421 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing [
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 1421 - cleanup after previous file test
expecting success of 3070.1422 'setup match file test for ]':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 1422 - setup match file test for ]
expecting success of 3070.1423 'wildmatch: match ']' '[[-\]]'':
test-tool wildmatch wildmatch ']' '[[-\]]'
ok 1423 - wildmatch: match ']' '[[-\]]'
expecting success of 3070.1424 'wildmatch (via ls-files): match '[[-\]]' ']'':
printf '%s' ']' >expect &&
git --glob-pathspecs ls-files -z -- '[[-\]]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1424 - wildmatch (via ls-files): match '[[-\]]' ']'
expecting success of 3070.1425 'iwildmatch: match ']' '[[-\]]'':
test-tool wildmatch iwildmatch ']' '[[-\]]'
ok 1425 - iwildmatch: match ']' '[[-\]]'
expecting success of 3070.1426 'iwildmatch (via ls-files): match '[[-\]]' ']'':
printf '%s' ']' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '[[-\]]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1426 - iwildmatch (via ls-files): match '[[-\]]' ']'
expecting success of 3070.1427 'pathmatch: match ']' '[[-\]]'':
test-tool wildmatch pathmatch ']' '[[-\]]'
ok 1427 - pathmatch: match ']' '[[-\]]'
expecting success of 3070.1428 'pathmatch (via ls-files): match '[[-\]]' ']'':
printf '%s' ']' >expect &&
git ls-files -z -- '[[-\]]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1428 - pathmatch (via ls-files): match '[[-\]]' ']'
expecting success of 3070.1429 'ipathmatch: match ']' '[[-\]]'':
test-tool wildmatch ipathmatch ']' '[[-\]]'
ok 1429 - ipathmatch: match ']' '[[-\]]'
expecting success of 3070.1430 'ipathmatch (via ls-files): match '[[-\]]' ']'':
printf '%s' ']' >expect &&
git --icase-pathspecs ls-files -z -- '[[-\]]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1430 - ipathmatch (via ls-files): match '[[-\]]' ']'
expecting success of 3070.1431 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing ]
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 1431 - cleanup after previous file test
expecting success of 3070.1432 'setup match file test for -':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 1432 - setup match file test for -
expecting success of 3070.1433 'wildmatch: no match '-' '[[-\]]'':
test_must_fail test-tool wildmatch wildmatch '-' '[[-\]]'
ok 1433 - wildmatch: no match '-' '[[-\]]'
expecting success of 3070.1434 'wildmatch (via ls-files): no match '[[-\]]' '-'':
>expect &&
git --glob-pathspecs ls-files -z -- '[[-\]]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1434 - wildmatch (via ls-files): no match '[[-\]]' '-'
expecting success of 3070.1435 'iwildmatch: no match '-' '[[-\]]'':
test_must_fail test-tool wildmatch iwildmatch '-' '[[-\]]'
ok 1435 - iwildmatch: no match '-' '[[-\]]'
expecting success of 3070.1436 'iwildmatch (via ls-files): no match '[[-\]]' '-'':
>expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '[[-\]]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1436 - iwildmatch (via ls-files): no match '[[-\]]' '-'
expecting success of 3070.1437 'pathmatch: no match '-' '[[-\]]'':
test_must_fail test-tool wildmatch pathmatch '-' '[[-\]]'
ok 1437 - pathmatch: no match '-' '[[-\]]'
expecting success of 3070.1438 'pathmatch (via ls-files): no match '[[-\]]' '-'':
>expect &&
git ls-files -z -- '[[-\]]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1438 - pathmatch (via ls-files): no match '[[-\]]' '-'
expecting success of 3070.1439 'ipathmatch: no match '-' '[[-\]]'':
test_must_fail test-tool wildmatch ipathmatch '-' '[[-\]]'
ok 1439 - ipathmatch: no match '-' '[[-\]]'
expecting success of 3070.1440 'ipathmatch (via ls-files): no match '[[-\]]' '-'':
>expect &&
git --icase-pathspecs ls-files -z -- '[[-\]]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1440 - ipathmatch (via ls-files): no match '[[-\]]' '-'
expecting success of 3070.1441 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing -
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 1441 - cleanup after previous file test
expecting success of 3070.1442 'setup match file test for -adobe-courier-bold-o-normal--12-120-75-75-m-70-iso8859-1':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 1442 - setup match file test for -adobe-courier-bold-o-normal--12-120-75-75-m-70-iso8859-1
expecting success of 3070.1443 'wildmatch: match '-adobe-courier-bold-o-normal--12-120-75-75-m-70-iso8859-1' '-*-*-*-*-*-*-12-*-*-*-m-*-*-*'':
test-tool wildmatch wildmatch '-adobe-courier-bold-o-normal--12-120-75-75-m-70-iso8859-1' '-*-*-*-*-*-*-12-*-*-*-m-*-*-*'
ok 1443 - wildmatch: match '-adobe-courier-bold-o-normal--12-120-75-75-m-70-iso8859-1' '-*-*-*-*-*-*-12-*-*-*-m-*-*-*'
expecting success of 3070.1444 'wildmatch (via ls-files): match '-*-*-*-*-*-*-12-*-*-*-m-*-*-*' '-adobe-courier-bold-o-normal--12-120-75-75-m-70-iso8859-1'':
printf '%s' '-adobe-courier-bold-o-normal--12-120-75-75-m-70-iso8859-1' >expect &&
git --glob-pathspecs ls-files -z -- '-*-*-*-*-*-*-12-*-*-*-m-*-*-*' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1444 - wildmatch (via ls-files): match '-*-*-*-*-*-*-12-*-*-*-m-*-*-*' '-adobe-courier-bold-o-normal--12-120-75-75-m-70-iso8859-1'
expecting success of 3070.1445 'iwildmatch: match '-adobe-courier-bold-o-normal--12-120-75-75-m-70-iso8859-1' '-*-*-*-*-*-*-12-*-*-*-m-*-*-*'':
test-tool wildmatch iwildmatch '-adobe-courier-bold-o-normal--12-120-75-75-m-70-iso8859-1' '-*-*-*-*-*-*-12-*-*-*-m-*-*-*'
ok 1445 - iwildmatch: match '-adobe-courier-bold-o-normal--12-120-75-75-m-70-iso8859-1' '-*-*-*-*-*-*-12-*-*-*-m-*-*-*'
expecting success of 3070.1446 'iwildmatch (via ls-files): match '-*-*-*-*-*-*-12-*-*-*-m-*-*-*' '-adobe-courier-bold-o-normal--12-120-75-75-m-70-iso8859-1'':
printf '%s' '-adobe-courier-bold-o-normal--12-120-75-75-m-70-iso8859-1' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '-*-*-*-*-*-*-12-*-*-*-m-*-*-*' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1446 - iwildmatch (via ls-files): match '-*-*-*-*-*-*-12-*-*-*-m-*-*-*' '-adobe-courier-bold-o-normal--12-120-75-75-m-70-iso8859-1'
expecting success of 3070.1447 'pathmatch: match '-adobe-courier-bold-o-normal--12-120-75-75-m-70-iso8859-1' '-*-*-*-*-*-*-12-*-*-*-m-*-*-*'':
test-tool wildmatch pathmatch '-adobe-courier-bold-o-normal--12-120-75-75-m-70-iso8859-1' '-*-*-*-*-*-*-12-*-*-*-m-*-*-*'
ok 1447 - pathmatch: match '-adobe-courier-bold-o-normal--12-120-75-75-m-70-iso8859-1' '-*-*-*-*-*-*-12-*-*-*-m-*-*-*'
expecting success of 3070.1448 'pathmatch (via ls-files): match '-*-*-*-*-*-*-12-*-*-*-m-*-*-*' '-adobe-courier-bold-o-normal--12-120-75-75-m-70-iso8859-1'':
printf '%s' '-adobe-courier-bold-o-normal--12-120-75-75-m-70-iso8859-1' >expect &&
git ls-files -z -- '-*-*-*-*-*-*-12-*-*-*-m-*-*-*' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1448 - pathmatch (via ls-files): match '-*-*-*-*-*-*-12-*-*-*-m-*-*-*' '-adobe-courier-bold-o-normal--12-120-75-75-m-70-iso8859-1'
expecting success of 3070.1449 'ipathmatch: match '-adobe-courier-bold-o-normal--12-120-75-75-m-70-iso8859-1' '-*-*-*-*-*-*-12-*-*-*-m-*-*-*'':
test-tool wildmatch ipathmatch '-adobe-courier-bold-o-normal--12-120-75-75-m-70-iso8859-1' '-*-*-*-*-*-*-12-*-*-*-m-*-*-*'
ok 1449 - ipathmatch: match '-adobe-courier-bold-o-normal--12-120-75-75-m-70-iso8859-1' '-*-*-*-*-*-*-12-*-*-*-m-*-*-*'
expecting success of 3070.1450 'ipathmatch (via ls-files): match '-*-*-*-*-*-*-12-*-*-*-m-*-*-*' '-adobe-courier-bold-o-normal--12-120-75-75-m-70-iso8859-1'':
printf '%s' '-adobe-courier-bold-o-normal--12-120-75-75-m-70-iso8859-1' >expect &&
git --icase-pathspecs ls-files -z -- '-*-*-*-*-*-*-12-*-*-*-m-*-*-*' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1450 - ipathmatch (via ls-files): match '-*-*-*-*-*-*-12-*-*-*-m-*-*-*' '-adobe-courier-bold-o-normal--12-120-75-75-m-70-iso8859-1'
expecting success of 3070.1451 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing -adobe-courier-bold-o-normal--12-120-75-75-m-70-iso8859-1
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 1451 - cleanup after previous file test
expecting success of 3070.1452 'setup match file test for -adobe-courier-bold-o-normal--12-120-75-75-X-70-iso8859-1':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 1452 - setup match file test for -adobe-courier-bold-o-normal--12-120-75-75-X-70-iso8859-1
expecting success of 3070.1453 'wildmatch: no match '-adobe-courier-bold-o-normal--12-120-75-75-X-70-iso8859-1' '-*-*-*-*-*-*-12-*-*-*-m-*-*-*'':
test_must_fail test-tool wildmatch wildmatch '-adobe-courier-bold-o-normal--12-120-75-75-X-70-iso8859-1' '-*-*-*-*-*-*-12-*-*-*-m-*-*-*'
ok 1453 - wildmatch: no match '-adobe-courier-bold-o-normal--12-120-75-75-X-70-iso8859-1' '-*-*-*-*-*-*-12-*-*-*-m-*-*-*'
expecting success of 3070.1454 'wildmatch (via ls-files): no match '-*-*-*-*-*-*-12-*-*-*-m-*-*-*' '-adobe-courier-bold-o-normal--12-120-75-75-X-70-iso8859-1'':
>expect &&
git --glob-pathspecs ls-files -z -- '-*-*-*-*-*-*-12-*-*-*-m-*-*-*' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1454 - wildmatch (via ls-files): no match '-*-*-*-*-*-*-12-*-*-*-m-*-*-*' '-adobe-courier-bold-o-normal--12-120-75-75-X-70-iso8859-1'
expecting success of 3070.1455 'iwildmatch: no match '-adobe-courier-bold-o-normal--12-120-75-75-X-70-iso8859-1' '-*-*-*-*-*-*-12-*-*-*-m-*-*-*'':
test_must_fail test-tool wildmatch iwildmatch '-adobe-courier-bold-o-normal--12-120-75-75-X-70-iso8859-1' '-*-*-*-*-*-*-12-*-*-*-m-*-*-*'
ok 1455 - iwildmatch: no match '-adobe-courier-bold-o-normal--12-120-75-75-X-70-iso8859-1' '-*-*-*-*-*-*-12-*-*-*-m-*-*-*'
expecting success of 3070.1456 'iwildmatch (via ls-files): no match '-*-*-*-*-*-*-12-*-*-*-m-*-*-*' '-adobe-courier-bold-o-normal--12-120-75-75-X-70-iso8859-1'':
>expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '-*-*-*-*-*-*-12-*-*-*-m-*-*-*' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1456 - iwildmatch (via ls-files): no match '-*-*-*-*-*-*-12-*-*-*-m-*-*-*' '-adobe-courier-bold-o-normal--12-120-75-75-X-70-iso8859-1'
expecting success of 3070.1457 'pathmatch: no match '-adobe-courier-bold-o-normal--12-120-75-75-X-70-iso8859-1' '-*-*-*-*-*-*-12-*-*-*-m-*-*-*'':
test_must_fail test-tool wildmatch pathmatch '-adobe-courier-bold-o-normal--12-120-75-75-X-70-iso8859-1' '-*-*-*-*-*-*-12-*-*-*-m-*-*-*'
ok 1457 - pathmatch: no match '-adobe-courier-bold-o-normal--12-120-75-75-X-70-iso8859-1' '-*-*-*-*-*-*-12-*-*-*-m-*-*-*'
expecting success of 3070.1458 'pathmatch (via ls-files): no match '-*-*-*-*-*-*-12-*-*-*-m-*-*-*' '-adobe-courier-bold-o-normal--12-120-75-75-X-70-iso8859-1'':
>expect &&
git ls-files -z -- '-*-*-*-*-*-*-12-*-*-*-m-*-*-*' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1458 - pathmatch (via ls-files): no match '-*-*-*-*-*-*-12-*-*-*-m-*-*-*' '-adobe-courier-bold-o-normal--12-120-75-75-X-70-iso8859-1'
expecting success of 3070.1459 'ipathmatch: no match '-adobe-courier-bold-o-normal--12-120-75-75-X-70-iso8859-1' '-*-*-*-*-*-*-12-*-*-*-m-*-*-*'':
test_must_fail test-tool wildmatch ipathmatch '-adobe-courier-bold-o-normal--12-120-75-75-X-70-iso8859-1' '-*-*-*-*-*-*-12-*-*-*-m-*-*-*'
ok 1459 - ipathmatch: no match '-adobe-courier-bold-o-normal--12-120-75-75-X-70-iso8859-1' '-*-*-*-*-*-*-12-*-*-*-m-*-*-*'
expecting success of 3070.1460 'ipathmatch (via ls-files): no match '-*-*-*-*-*-*-12-*-*-*-m-*-*-*' '-adobe-courier-bold-o-normal--12-120-75-75-X-70-iso8859-1'':
>expect &&
git --icase-pathspecs ls-files -z -- '-*-*-*-*-*-*-12-*-*-*-m-*-*-*' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1460 - ipathmatch (via ls-files): no match '-*-*-*-*-*-*-12-*-*-*-m-*-*-*' '-adobe-courier-bold-o-normal--12-120-75-75-X-70-iso8859-1'
expecting success of 3070.1461 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing -adobe-courier-bold-o-normal--12-120-75-75-X-70-iso8859-1
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 1461 - cleanup after previous file test
expecting success of 3070.1462 'setup match file test for -adobe-courier-bold-o-normal--12-120-75-75-/-70-iso8859-1':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 1462 - setup match file test for -adobe-courier-bold-o-normal--12-120-75-75-/-70-iso8859-1
expecting success of 3070.1463 'wildmatch: no match '-adobe-courier-bold-o-normal--12-120-75-75-/-70-iso8859-1' '-*-*-*-*-*-*-12-*-*-*-m-*-*-*'':
test_must_fail test-tool wildmatch wildmatch '-adobe-courier-bold-o-normal--12-120-75-75-/-70-iso8859-1' '-*-*-*-*-*-*-12-*-*-*-m-*-*-*'
ok 1463 - wildmatch: no match '-adobe-courier-bold-o-normal--12-120-75-75-/-70-iso8859-1' '-*-*-*-*-*-*-12-*-*-*-m-*-*-*'
expecting success of 3070.1464 'wildmatch (via ls-files): no match '-*-*-*-*-*-*-12-*-*-*-m-*-*-*' '-adobe-courier-bold-o-normal--12-120-75-75-/-70-iso8859-1'':
>expect &&
git --glob-pathspecs ls-files -z -- '-*-*-*-*-*-*-12-*-*-*-m-*-*-*' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1464 - wildmatch (via ls-files): no match '-*-*-*-*-*-*-12-*-*-*-m-*-*-*' '-adobe-courier-bold-o-normal--12-120-75-75-/-70-iso8859-1'
expecting success of 3070.1465 'iwildmatch: no match '-adobe-courier-bold-o-normal--12-120-75-75-/-70-iso8859-1' '-*-*-*-*-*-*-12-*-*-*-m-*-*-*'':
test_must_fail test-tool wildmatch iwildmatch '-adobe-courier-bold-o-normal--12-120-75-75-/-70-iso8859-1' '-*-*-*-*-*-*-12-*-*-*-m-*-*-*'
ok 1465 - iwildmatch: no match '-adobe-courier-bold-o-normal--12-120-75-75-/-70-iso8859-1' '-*-*-*-*-*-*-12-*-*-*-m-*-*-*'
expecting success of 3070.1466 'iwildmatch (via ls-files): no match '-*-*-*-*-*-*-12-*-*-*-m-*-*-*' '-adobe-courier-bold-o-normal--12-120-75-75-/-70-iso8859-1'':
>expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '-*-*-*-*-*-*-12-*-*-*-m-*-*-*' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1466 - iwildmatch (via ls-files): no match '-*-*-*-*-*-*-12-*-*-*-m-*-*-*' '-adobe-courier-bold-o-normal--12-120-75-75-/-70-iso8859-1'
expecting success of 3070.1467 'pathmatch: no match '-adobe-courier-bold-o-normal--12-120-75-75-/-70-iso8859-1' '-*-*-*-*-*-*-12-*-*-*-m-*-*-*'':
test_must_fail test-tool wildmatch pathmatch '-adobe-courier-bold-o-normal--12-120-75-75-/-70-iso8859-1' '-*-*-*-*-*-*-12-*-*-*-m-*-*-*'
ok 1467 - pathmatch: no match '-adobe-courier-bold-o-normal--12-120-75-75-/-70-iso8859-1' '-*-*-*-*-*-*-12-*-*-*-m-*-*-*'
expecting success of 3070.1468 'pathmatch (via ls-files): no match '-*-*-*-*-*-*-12-*-*-*-m-*-*-*' '-adobe-courier-bold-o-normal--12-120-75-75-/-70-iso8859-1'':
>expect &&
git ls-files -z -- '-*-*-*-*-*-*-12-*-*-*-m-*-*-*' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1468 - pathmatch (via ls-files): no match '-*-*-*-*-*-*-12-*-*-*-m-*-*-*' '-adobe-courier-bold-o-normal--12-120-75-75-/-70-iso8859-1'
expecting success of 3070.1469 'ipathmatch: no match '-adobe-courier-bold-o-normal--12-120-75-75-/-70-iso8859-1' '-*-*-*-*-*-*-12-*-*-*-m-*-*-*'':
test_must_fail test-tool wildmatch ipathmatch '-adobe-courier-bold-o-normal--12-120-75-75-/-70-iso8859-1' '-*-*-*-*-*-*-12-*-*-*-m-*-*-*'
ok 1469 - ipathmatch: no match '-adobe-courier-bold-o-normal--12-120-75-75-/-70-iso8859-1' '-*-*-*-*-*-*-12-*-*-*-m-*-*-*'
expecting success of 3070.1470 'ipathmatch (via ls-files): no match '-*-*-*-*-*-*-12-*-*-*-m-*-*-*' '-adobe-courier-bold-o-normal--12-120-75-75-/-70-iso8859-1'':
>expect &&
git --icase-pathspecs ls-files -z -- '-*-*-*-*-*-*-12-*-*-*-m-*-*-*' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1470 - ipathmatch (via ls-files): no match '-*-*-*-*-*-*-12-*-*-*-m-*-*-*' '-adobe-courier-bold-o-normal--12-120-75-75-/-70-iso8859-1'
expecting success of 3070.1471 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing -adobe-courier-bold-o-normal--12-120-75-75-/
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 1471 - cleanup after previous file test
expecting success of 3070.1472 'setup match file test for XXX/adobe/courier/bold/o/normal//12/120/75/75/m/70/iso8859/1':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 1472 - setup match file test for XXX/adobe/courier/bold/o/normal//12/120/75/75/m/70/iso8859/1
expecting success of 3070.1473 'wildmatch: match 'XXX/adobe/courier/bold/o/normal//12/120/75/75/m/70/iso8859/1' 'XXX/*/*/*/*/*/*/12/*/*/*/m/*/*/*'':
test-tool wildmatch wildmatch 'XXX/adobe/courier/bold/o/normal//12/120/75/75/m/70/iso8859/1' 'XXX/*/*/*/*/*/*/12/*/*/*/m/*/*/*'
ok 1473 - wildmatch: match 'XXX/adobe/courier/bold/o/normal//12/120/75/75/m/70/iso8859/1' 'XXX/*/*/*/*/*/*/12/*/*/*/m/*/*/*'
checking known breakage of 3070.1474 'wildmatch (via ls-files): match skip 'XXX/*/*/*/*/*/*/12/*/*/*/m/*/*/*' 'XXX/adobe/courier/bold/o/normal//12/120/75/75/m/70/iso8859/1'': false
not ok 1474 - wildmatch (via ls-files): match skip 'XXX/*/*/*/*/*/*/12/*/*/*/m/*/*/*' 'XXX/adobe/courier/bold/o/normal//12/120/75/75/m/70/iso8859/1' # TODO known breakage
expecting success of 3070.1475 'iwildmatch: match 'XXX/adobe/courier/bold/o/normal//12/120/75/75/m/70/iso8859/1' 'XXX/*/*/*/*/*/*/12/*/*/*/m/*/*/*'':
test-tool wildmatch iwildmatch 'XXX/adobe/courier/bold/o/normal//12/120/75/75/m/70/iso8859/1' 'XXX/*/*/*/*/*/*/12/*/*/*/m/*/*/*'
ok 1475 - iwildmatch: match 'XXX/adobe/courier/bold/o/normal//12/120/75/75/m/70/iso8859/1' 'XXX/*/*/*/*/*/*/12/*/*/*/m/*/*/*'
checking known breakage of 3070.1476 'iwildmatch (via ls-files): match skip 'XXX/*/*/*/*/*/*/12/*/*/*/m/*/*/*' 'XXX/adobe/courier/bold/o/normal//12/120/75/75/m/70/iso8859/1'': false
not ok 1476 - iwildmatch (via ls-files): match skip 'XXX/*/*/*/*/*/*/12/*/*/*/m/*/*/*' 'XXX/adobe/courier/bold/o/normal//12/120/75/75/m/70/iso8859/1' # TODO known breakage
expecting success of 3070.1477 'pathmatch: match 'XXX/adobe/courier/bold/o/normal//12/120/75/75/m/70/iso8859/1' 'XXX/*/*/*/*/*/*/12/*/*/*/m/*/*/*'':
test-tool wildmatch pathmatch 'XXX/adobe/courier/bold/o/normal//12/120/75/75/m/70/iso8859/1' 'XXX/*/*/*/*/*/*/12/*/*/*/m/*/*/*'
ok 1477 - pathmatch: match 'XXX/adobe/courier/bold/o/normal//12/120/75/75/m/70/iso8859/1' 'XXX/*/*/*/*/*/*/12/*/*/*/m/*/*/*'
checking known breakage of 3070.1478 'pathmatch (via ls-files): match skip 'XXX/*/*/*/*/*/*/12/*/*/*/m/*/*/*' 'XXX/adobe/courier/bold/o/normal//12/120/75/75/m/70/iso8859/1'': false
not ok 1478 - pathmatch (via ls-files): match skip 'XXX/*/*/*/*/*/*/12/*/*/*/m/*/*/*' 'XXX/adobe/courier/bold/o/normal//12/120/75/75/m/70/iso8859/1' # TODO known breakage
expecting success of 3070.1479 'ipathmatch: match 'XXX/adobe/courier/bold/o/normal//12/120/75/75/m/70/iso8859/1' 'XXX/*/*/*/*/*/*/12/*/*/*/m/*/*/*'':
test-tool wildmatch ipathmatch 'XXX/adobe/courier/bold/o/normal//12/120/75/75/m/70/iso8859/1' 'XXX/*/*/*/*/*/*/12/*/*/*/m/*/*/*'
ok 1479 - ipathmatch: match 'XXX/adobe/courier/bold/o/normal//12/120/75/75/m/70/iso8859/1' 'XXX/*/*/*/*/*/*/12/*/*/*/m/*/*/*'
checking known breakage of 3070.1480 'ipathmatch (via ls-files): match skip 'XXX/*/*/*/*/*/*/12/*/*/*/m/*/*/*' 'XXX/adobe/courier/bold/o/normal//12/120/75/75/m/70/iso8859/1'': false
not ok 1480 - ipathmatch (via ls-files): match skip 'XXX/*/*/*/*/*/*/12/*/*/*/m/*/*/*' 'XXX/adobe/courier/bold/o/normal//12/120/75/75/m/70/iso8859/1' # TODO known breakage
expecting success of 3070.1481 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
ok 1481 - cleanup after previous file test
expecting success of 3070.1482 'setup match file test for XXX/adobe/courier/bold/o/normal//12/120/75/75/X/70/iso8859/1':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 1482 - setup match file test for XXX/adobe/courier/bold/o/normal//12/120/75/75/X/70/iso8859/1
expecting success of 3070.1483 'wildmatch: no match 'XXX/adobe/courier/bold/o/normal//12/120/75/75/X/70/iso8859/1' 'XXX/*/*/*/*/*/*/12/*/*/*/m/*/*/*'':
test_must_fail test-tool wildmatch wildmatch 'XXX/adobe/courier/bold/o/normal//12/120/75/75/X/70/iso8859/1' 'XXX/*/*/*/*/*/*/12/*/*/*/m/*/*/*'
ok 1483 - wildmatch: no match 'XXX/adobe/courier/bold/o/normal//12/120/75/75/X/70/iso8859/1' 'XXX/*/*/*/*/*/*/12/*/*/*/m/*/*/*'
checking known breakage of 3070.1484 'wildmatch (via ls-files): no match skip 'XXX/*/*/*/*/*/*/12/*/*/*/m/*/*/*' 'XXX/adobe/courier/bold/o/normal//12/120/75/75/X/70/iso8859/1'': false
not ok 1484 - wildmatch (via ls-files): no match skip 'XXX/*/*/*/*/*/*/12/*/*/*/m/*/*/*' 'XXX/adobe/courier/bold/o/normal//12/120/75/75/X/70/iso8859/1' # TODO known breakage
expecting success of 3070.1485 'iwildmatch: no match 'XXX/adobe/courier/bold/o/normal//12/120/75/75/X/70/iso8859/1' 'XXX/*/*/*/*/*/*/12/*/*/*/m/*/*/*'':
test_must_fail test-tool wildmatch iwildmatch 'XXX/adobe/courier/bold/o/normal//12/120/75/75/X/70/iso8859/1' 'XXX/*/*/*/*/*/*/12/*/*/*/m/*/*/*'
ok 1485 - iwildmatch: no match 'XXX/adobe/courier/bold/o/normal//12/120/75/75/X/70/iso8859/1' 'XXX/*/*/*/*/*/*/12/*/*/*/m/*/*/*'
checking known breakage of 3070.1486 'iwildmatch (via ls-files): no match skip 'XXX/*/*/*/*/*/*/12/*/*/*/m/*/*/*' 'XXX/adobe/courier/bold/o/normal//12/120/75/75/X/70/iso8859/1'': false
not ok 1486 - iwildmatch (via ls-files): no match skip 'XXX/*/*/*/*/*/*/12/*/*/*/m/*/*/*' 'XXX/adobe/courier/bold/o/normal//12/120/75/75/X/70/iso8859/1' # TODO known breakage
expecting success of 3070.1487 'pathmatch: no match 'XXX/adobe/courier/bold/o/normal//12/120/75/75/X/70/iso8859/1' 'XXX/*/*/*/*/*/*/12/*/*/*/m/*/*/*'':
test_must_fail test-tool wildmatch pathmatch 'XXX/adobe/courier/bold/o/normal//12/120/75/75/X/70/iso8859/1' 'XXX/*/*/*/*/*/*/12/*/*/*/m/*/*/*'
ok 1487 - pathmatch: no match 'XXX/adobe/courier/bold/o/normal//12/120/75/75/X/70/iso8859/1' 'XXX/*/*/*/*/*/*/12/*/*/*/m/*/*/*'
checking known breakage of 3070.1488 'pathmatch (via ls-files): no match skip 'XXX/*/*/*/*/*/*/12/*/*/*/m/*/*/*' 'XXX/adobe/courier/bold/o/normal//12/120/75/75/X/70/iso8859/1'': false
not ok 1488 - pathmatch (via ls-files): no match skip 'XXX/*/*/*/*/*/*/12/*/*/*/m/*/*/*' 'XXX/adobe/courier/bold/o/normal//12/120/75/75/X/70/iso8859/1' # TODO known breakage
expecting success of 3070.1489 'ipathmatch: no match 'XXX/adobe/courier/bold/o/normal//12/120/75/75/X/70/iso8859/1' 'XXX/*/*/*/*/*/*/12/*/*/*/m/*/*/*'':
test_must_fail test-tool wildmatch ipathmatch 'XXX/adobe/courier/bold/o/normal//12/120/75/75/X/70/iso8859/1' 'XXX/*/*/*/*/*/*/12/*/*/*/m/*/*/*'
ok 1489 - ipathmatch: no match 'XXX/adobe/courier/bold/o/normal//12/120/75/75/X/70/iso8859/1' 'XXX/*/*/*/*/*/*/12/*/*/*/m/*/*/*'
checking known breakage of 3070.1490 'ipathmatch (via ls-files): no match skip 'XXX/*/*/*/*/*/*/12/*/*/*/m/*/*/*' 'XXX/adobe/courier/bold/o/normal//12/120/75/75/X/70/iso8859/1'': false
not ok 1490 - ipathmatch (via ls-files): no match skip 'XXX/*/*/*/*/*/*/12/*/*/*/m/*/*/*' 'XXX/adobe/courier/bold/o/normal//12/120/75/75/X/70/iso8859/1' # TODO known breakage
expecting success of 3070.1491 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
ok 1491 - cleanup after previous file test
expecting success of 3070.1492 'setup match file test for abcd/abcdefg/abcdefghijk/abcdefghijklmnop.txt':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 1492 - setup match file test for abcd/abcdefg/abcdefghijk/abcdefghijklmnop.txt
expecting success of 3070.1493 'wildmatch: match 'abcd/abcdefg/abcdefghijk/abcdefghijklmnop.txt' '**/*a*b*g*n*t'':
test-tool wildmatch wildmatch 'abcd/abcdefg/abcdefghijk/abcdefghijklmnop.txt' '**/*a*b*g*n*t'
ok 1493 - wildmatch: match 'abcd/abcdefg/abcdefghijk/abcdefghijklmnop.txt' '**/*a*b*g*n*t'
expecting success of 3070.1494 'wildmatch (via ls-files): match '**/*a*b*g*n*t' 'abcd/abcdefg/abcdefghijk/abcdefghijklmnop.txt'':
printf '%s' 'abcd/abcdefg/abcdefghijk/abcdefghijklmnop.txt' >expect &&
git --glob-pathspecs ls-files -z -- '**/*a*b*g*n*t' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1494 - wildmatch (via ls-files): match '**/*a*b*g*n*t' 'abcd/abcdefg/abcdefghijk/abcdefghijklmnop.txt'
expecting success of 3070.1495 'iwildmatch: match 'abcd/abcdefg/abcdefghijk/abcdefghijklmnop.txt' '**/*a*b*g*n*t'':
test-tool wildmatch iwildmatch 'abcd/abcdefg/abcdefghijk/abcdefghijklmnop.txt' '**/*a*b*g*n*t'
ok 1495 - iwildmatch: match 'abcd/abcdefg/abcdefghijk/abcdefghijklmnop.txt' '**/*a*b*g*n*t'
expecting success of 3070.1496 'iwildmatch (via ls-files): match '**/*a*b*g*n*t' 'abcd/abcdefg/abcdefghijk/abcdefghijklmnop.txt'':
printf '%s' 'abcd/abcdefg/abcdefghijk/abcdefghijklmnop.txt' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '**/*a*b*g*n*t' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1496 - iwildmatch (via ls-files): match '**/*a*b*g*n*t' 'abcd/abcdefg/abcdefghijk/abcdefghijklmnop.txt'
expecting success of 3070.1497 'pathmatch: match 'abcd/abcdefg/abcdefghijk/abcdefghijklmnop.txt' '**/*a*b*g*n*t'':
test-tool wildmatch pathmatch 'abcd/abcdefg/abcdefghijk/abcdefghijklmnop.txt' '**/*a*b*g*n*t'
ok 1497 - pathmatch: match 'abcd/abcdefg/abcdefghijk/abcdefghijklmnop.txt' '**/*a*b*g*n*t'
expecting success of 3070.1498 'pathmatch (via ls-files): match '**/*a*b*g*n*t' 'abcd/abcdefg/abcdefghijk/abcdefghijklmnop.txt'':
printf '%s' 'abcd/abcdefg/abcdefghijk/abcdefghijklmnop.txt' >expect &&
git ls-files -z -- '**/*a*b*g*n*t' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1498 - pathmatch (via ls-files): match '**/*a*b*g*n*t' 'abcd/abcdefg/abcdefghijk/abcdefghijklmnop.txt'
expecting success of 3070.1499 'ipathmatch: match 'abcd/abcdefg/abcdefghijk/abcdefghijklmnop.txt' '**/*a*b*g*n*t'':
test-tool wildmatch ipathmatch 'abcd/abcdefg/abcdefghijk/abcdefghijklmnop.txt' '**/*a*b*g*n*t'
ok 1499 - ipathmatch: match 'abcd/abcdefg/abcdefghijk/abcdefghijklmnop.txt' '**/*a*b*g*n*t'
expecting success of 3070.1500 'ipathmatch (via ls-files): match '**/*a*b*g*n*t' 'abcd/abcdefg/abcdefghijk/abcdefghijklmnop.txt'':
printf '%s' 'abcd/abcdefg/abcdefghijk/abcdefghijklmnop.txt' >expect &&
git --icase-pathspecs ls-files -z -- '**/*a*b*g*n*t' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1500 - ipathmatch (via ls-files): match '**/*a*b*g*n*t' 'abcd/abcdefg/abcdefghijk/abcdefghijklmnop.txt'
expecting success of 3070.1501 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing abcd/
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 1501 - cleanup after previous file test
expecting success of 3070.1502 'setup match file test for abcd/abcdefg/abcdefghijk/abcdefghijklmnop.txtz':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 1502 - setup match file test for abcd/abcdefg/abcdefghijk/abcdefghijklmnop.txtz
expecting success of 3070.1503 'wildmatch: no match 'abcd/abcdefg/abcdefghijk/abcdefghijklmnop.txtz' '**/*a*b*g*n*t'':
test_must_fail test-tool wildmatch wildmatch 'abcd/abcdefg/abcdefghijk/abcdefghijklmnop.txtz' '**/*a*b*g*n*t'
ok 1503 - wildmatch: no match 'abcd/abcdefg/abcdefghijk/abcdefghijklmnop.txtz' '**/*a*b*g*n*t'
expecting success of 3070.1504 'wildmatch (via ls-files): no match '**/*a*b*g*n*t' 'abcd/abcdefg/abcdefghijk/abcdefghijklmnop.txtz'':
>expect &&
git --glob-pathspecs ls-files -z -- '**/*a*b*g*n*t' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1504 - wildmatch (via ls-files): no match '**/*a*b*g*n*t' 'abcd/abcdefg/abcdefghijk/abcdefghijklmnop.txtz'
expecting success of 3070.1505 'iwildmatch: no match 'abcd/abcdefg/abcdefghijk/abcdefghijklmnop.txtz' '**/*a*b*g*n*t'':
test_must_fail test-tool wildmatch iwildmatch 'abcd/abcdefg/abcdefghijk/abcdefghijklmnop.txtz' '**/*a*b*g*n*t'
ok 1505 - iwildmatch: no match 'abcd/abcdefg/abcdefghijk/abcdefghijklmnop.txtz' '**/*a*b*g*n*t'
expecting success of 3070.1506 'iwildmatch (via ls-files): no match '**/*a*b*g*n*t' 'abcd/abcdefg/abcdefghijk/abcdefghijklmnop.txtz'':
>expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '**/*a*b*g*n*t' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1506 - iwildmatch (via ls-files): no match '**/*a*b*g*n*t' 'abcd/abcdefg/abcdefghijk/abcdefghijklmnop.txtz'
expecting success of 3070.1507 'pathmatch: no match 'abcd/abcdefg/abcdefghijk/abcdefghijklmnop.txtz' '**/*a*b*g*n*t'':
test_must_fail test-tool wildmatch pathmatch 'abcd/abcdefg/abcdefghijk/abcdefghijklmnop.txtz' '**/*a*b*g*n*t'
ok 1507 - pathmatch: no match 'abcd/abcdefg/abcdefghijk/abcdefghijklmnop.txtz' '**/*a*b*g*n*t'
expecting success of 3070.1508 'pathmatch (via ls-files): no match '**/*a*b*g*n*t' 'abcd/abcdefg/abcdefghijk/abcdefghijklmnop.txtz'':
>expect &&
git ls-files -z -- '**/*a*b*g*n*t' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1508 - pathmatch (via ls-files): no match '**/*a*b*g*n*t' 'abcd/abcdefg/abcdefghijk/abcdefghijklmnop.txtz'
expecting success of 3070.1509 'ipathmatch: no match 'abcd/abcdefg/abcdefghijk/abcdefghijklmnop.txtz' '**/*a*b*g*n*t'':
test_must_fail test-tool wildmatch ipathmatch 'abcd/abcdefg/abcdefghijk/abcdefghijklmnop.txtz' '**/*a*b*g*n*t'
ok 1509 - ipathmatch: no match 'abcd/abcdefg/abcdefghijk/abcdefghijklmnop.txtz' '**/*a*b*g*n*t'
expecting success of 3070.1510 'ipathmatch (via ls-files): no match '**/*a*b*g*n*t' 'abcd/abcdefg/abcdefghijk/abcdefghijklmnop.txtz'':
>expect &&
git --icase-pathspecs ls-files -z -- '**/*a*b*g*n*t' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1510 - ipathmatch (via ls-files): no match '**/*a*b*g*n*t' 'abcd/abcdefg/abcdefghijk/abcdefghijklmnop.txtz'
expecting success of 3070.1511 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing abcd/
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 1511 - cleanup after previous file test
expecting success of 3070.1512 'setup match file test for foo':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 1512 - setup match file test for foo
expecting success of 3070.1513 'wildmatch: no match 'foo' '*/*/*'':
test_must_fail test-tool wildmatch wildmatch 'foo' '*/*/*'
ok 1513 - wildmatch: no match 'foo' '*/*/*'
expecting success of 3070.1514 'wildmatch (via ls-files): no match '*/*/*' 'foo'':
>expect &&
git --glob-pathspecs ls-files -z -- '*/*/*' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1514 - wildmatch (via ls-files): no match '*/*/*' 'foo'
expecting success of 3070.1515 'iwildmatch: no match 'foo' '*/*/*'':
test_must_fail test-tool wildmatch iwildmatch 'foo' '*/*/*'
ok 1515 - iwildmatch: no match 'foo' '*/*/*'
expecting success of 3070.1516 'iwildmatch (via ls-files): no match '*/*/*' 'foo'':
>expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '*/*/*' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1516 - iwildmatch (via ls-files): no match '*/*/*' 'foo'
expecting success of 3070.1517 'pathmatch: no match 'foo' '*/*/*'':
test_must_fail test-tool wildmatch pathmatch 'foo' '*/*/*'
ok 1517 - pathmatch: no match 'foo' '*/*/*'
expecting success of 3070.1518 'pathmatch (via ls-files): no match '*/*/*' 'foo'':
>expect &&
git ls-files -z -- '*/*/*' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1518 - pathmatch (via ls-files): no match '*/*/*' 'foo'
expecting success of 3070.1519 'ipathmatch: no match 'foo' '*/*/*'':
test_must_fail test-tool wildmatch ipathmatch 'foo' '*/*/*'
ok 1519 - ipathmatch: no match 'foo' '*/*/*'
expecting success of 3070.1520 'ipathmatch (via ls-files): no match '*/*/*' 'foo'':
>expect &&
git --icase-pathspecs ls-files -z -- '*/*/*' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1520 - ipathmatch (via ls-files): no match '*/*/*' 'foo'
expecting success of 3070.1521 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
Removing foo
ok 1521 - cleanup after previous file test
expecting success of 3070.1522 'setup match file test for foo/bar':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 1522 - setup match file test for foo/bar
expecting success of 3070.1523 'wildmatch: no match 'foo/bar' '*/*/*'':
test_must_fail test-tool wildmatch wildmatch 'foo/bar' '*/*/*'
ok 1523 - wildmatch: no match 'foo/bar' '*/*/*'
expecting success of 3070.1524 'wildmatch (via ls-files): no match '*/*/*' 'foo/bar'':
>expect &&
git --glob-pathspecs ls-files -z -- '*/*/*' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1524 - wildmatch (via ls-files): no match '*/*/*' 'foo/bar'
expecting success of 3070.1525 'iwildmatch: no match 'foo/bar' '*/*/*'':
test_must_fail test-tool wildmatch iwildmatch 'foo/bar' '*/*/*'
ok 1525 - iwildmatch: no match 'foo/bar' '*/*/*'
expecting success of 3070.1526 'iwildmatch (via ls-files): no match '*/*/*' 'foo/bar'':
>expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '*/*/*' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1526 - iwildmatch (via ls-files): no match '*/*/*' 'foo/bar'
expecting success of 3070.1527 'pathmatch: no match 'foo/bar' '*/*/*'':
test_must_fail test-tool wildmatch pathmatch 'foo/bar' '*/*/*'
ok 1527 - pathmatch: no match 'foo/bar' '*/*/*'
expecting success of 3070.1528 'pathmatch (via ls-files): no match '*/*/*' 'foo/bar'':
>expect &&
git ls-files -z -- '*/*/*' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1528 - pathmatch (via ls-files): no match '*/*/*' 'foo/bar'
expecting success of 3070.1529 'ipathmatch: no match 'foo/bar' '*/*/*'':
test_must_fail test-tool wildmatch ipathmatch 'foo/bar' '*/*/*'
ok 1529 - ipathmatch: no match 'foo/bar' '*/*/*'
expecting success of 3070.1530 'ipathmatch (via ls-files): no match '*/*/*' 'foo/bar'':
>expect &&
git --icase-pathspecs ls-files -z -- '*/*/*' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1530 - ipathmatch (via ls-files): no match '*/*/*' 'foo/bar'
expecting success of 3070.1531 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
Removing foo/
ok 1531 - cleanup after previous file test
expecting success of 3070.1532 'setup match file test for foo/bba/arr':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 1532 - setup match file test for foo/bba/arr
expecting success of 3070.1533 'wildmatch: match 'foo/bba/arr' '*/*/*'':
test-tool wildmatch wildmatch 'foo/bba/arr' '*/*/*'
ok 1533 - wildmatch: match 'foo/bba/arr' '*/*/*'
expecting success of 3070.1534 'wildmatch (via ls-files): match '*/*/*' 'foo/bba/arr'':
printf '%s' 'foo/bba/arr' >expect &&
git --glob-pathspecs ls-files -z -- '*/*/*' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1534 - wildmatch (via ls-files): match '*/*/*' 'foo/bba/arr'
expecting success of 3070.1535 'iwildmatch: match 'foo/bba/arr' '*/*/*'':
test-tool wildmatch iwildmatch 'foo/bba/arr' '*/*/*'
ok 1535 - iwildmatch: match 'foo/bba/arr' '*/*/*'
expecting success of 3070.1536 'iwildmatch (via ls-files): match '*/*/*' 'foo/bba/arr'':
printf '%s' 'foo/bba/arr' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '*/*/*' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1536 - iwildmatch (via ls-files): match '*/*/*' 'foo/bba/arr'
expecting success of 3070.1537 'pathmatch: match 'foo/bba/arr' '*/*/*'':
test-tool wildmatch pathmatch 'foo/bba/arr' '*/*/*'
ok 1537 - pathmatch: match 'foo/bba/arr' '*/*/*'
expecting success of 3070.1538 'pathmatch (via ls-files): match '*/*/*' 'foo/bba/arr'':
printf '%s' 'foo/bba/arr' >expect &&
git ls-files -z -- '*/*/*' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1538 - pathmatch (via ls-files): match '*/*/*' 'foo/bba/arr'
expecting success of 3070.1539 'ipathmatch: match 'foo/bba/arr' '*/*/*'':
test-tool wildmatch ipathmatch 'foo/bba/arr' '*/*/*'
ok 1539 - ipathmatch: match 'foo/bba/arr' '*/*/*'
expecting success of 3070.1540 'ipathmatch (via ls-files): match '*/*/*' 'foo/bba/arr'':
printf '%s' 'foo/bba/arr' >expect &&
git --icase-pathspecs ls-files -z -- '*/*/*' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1540 - ipathmatch (via ls-files): match '*/*/*' 'foo/bba/arr'
expecting success of 3070.1541 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
Removing foo/
ok 1541 - cleanup after previous file test
expecting success of 3070.1542 'setup match file test for foo/bb/aa/rr':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 1542 - setup match file test for foo/bb/aa/rr
expecting success of 3070.1543 'wildmatch: no match 'foo/bb/aa/rr' '*/*/*'':
test_must_fail test-tool wildmatch wildmatch 'foo/bb/aa/rr' '*/*/*'
ok 1543 - wildmatch: no match 'foo/bb/aa/rr' '*/*/*'
expecting success of 3070.1544 'wildmatch (via ls-files): no match '*/*/*' 'foo/bb/aa/rr'':
>expect &&
git --glob-pathspecs ls-files -z -- '*/*/*' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1544 - wildmatch (via ls-files): no match '*/*/*' 'foo/bb/aa/rr'
expecting success of 3070.1545 'iwildmatch: no match 'foo/bb/aa/rr' '*/*/*'':
test_must_fail test-tool wildmatch iwildmatch 'foo/bb/aa/rr' '*/*/*'
ok 1545 - iwildmatch: no match 'foo/bb/aa/rr' '*/*/*'
expecting success of 3070.1546 'iwildmatch (via ls-files): no match '*/*/*' 'foo/bb/aa/rr'':
>expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '*/*/*' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1546 - iwildmatch (via ls-files): no match '*/*/*' 'foo/bb/aa/rr'
expecting success of 3070.1547 'pathmatch: match 'foo/bb/aa/rr' '*/*/*'':
test-tool wildmatch pathmatch 'foo/bb/aa/rr' '*/*/*'
ok 1547 - pathmatch: match 'foo/bb/aa/rr' '*/*/*'
expecting success of 3070.1548 'pathmatch (via ls-files): match '*/*/*' 'foo/bb/aa/rr'':
printf '%s' 'foo/bb/aa/rr' >expect &&
git ls-files -z -- '*/*/*' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1548 - pathmatch (via ls-files): match '*/*/*' 'foo/bb/aa/rr'
expecting success of 3070.1549 'ipathmatch: match 'foo/bb/aa/rr' '*/*/*'':
test-tool wildmatch ipathmatch 'foo/bb/aa/rr' '*/*/*'
ok 1549 - ipathmatch: match 'foo/bb/aa/rr' '*/*/*'
expecting success of 3070.1550 'ipathmatch (via ls-files): match '*/*/*' 'foo/bb/aa/rr'':
printf '%s' 'foo/bb/aa/rr' >expect &&
git --icase-pathspecs ls-files -z -- '*/*/*' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1550 - ipathmatch (via ls-files): match '*/*/*' 'foo/bb/aa/rr'
expecting success of 3070.1551 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
Removing foo/
ok 1551 - cleanup after previous file test
expecting success of 3070.1552 'setup match file test for foo/bb/aa/rr':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 1552 - setup match file test for foo/bb/aa/rr
expecting success of 3070.1553 'wildmatch: match 'foo/bb/aa/rr' '**/**/**'':
test-tool wildmatch wildmatch 'foo/bb/aa/rr' '**/**/**'
ok 1553 - wildmatch: match 'foo/bb/aa/rr' '**/**/**'
expecting success of 3070.1554 'wildmatch (via ls-files): match '**/**/**' 'foo/bb/aa/rr'':
printf '%s' 'foo/bb/aa/rr' >expect &&
git --glob-pathspecs ls-files -z -- '**/**/**' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1554 - wildmatch (via ls-files): match '**/**/**' 'foo/bb/aa/rr'
expecting success of 3070.1555 'iwildmatch: match 'foo/bb/aa/rr' '**/**/**'':
test-tool wildmatch iwildmatch 'foo/bb/aa/rr' '**/**/**'
ok 1555 - iwildmatch: match 'foo/bb/aa/rr' '**/**/**'
expecting success of 3070.1556 'iwildmatch (via ls-files): match '**/**/**' 'foo/bb/aa/rr'':
printf '%s' 'foo/bb/aa/rr' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '**/**/**' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1556 - iwildmatch (via ls-files): match '**/**/**' 'foo/bb/aa/rr'
expecting success of 3070.1557 'pathmatch: match 'foo/bb/aa/rr' '**/**/**'':
test-tool wildmatch pathmatch 'foo/bb/aa/rr' '**/**/**'
ok 1557 - pathmatch: match 'foo/bb/aa/rr' '**/**/**'
expecting success of 3070.1558 'pathmatch (via ls-files): match '**/**/**' 'foo/bb/aa/rr'':
printf '%s' 'foo/bb/aa/rr' >expect &&
git ls-files -z -- '**/**/**' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1558 - pathmatch (via ls-files): match '**/**/**' 'foo/bb/aa/rr'
expecting success of 3070.1559 'ipathmatch: match 'foo/bb/aa/rr' '**/**/**'':
test-tool wildmatch ipathmatch 'foo/bb/aa/rr' '**/**/**'
ok 1559 - ipathmatch: match 'foo/bb/aa/rr' '**/**/**'
expecting success of 3070.1560 'ipathmatch (via ls-files): match '**/**/**' 'foo/bb/aa/rr'':
printf '%s' 'foo/bb/aa/rr' >expect &&
git --icase-pathspecs ls-files -z -- '**/**/**' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1560 - ipathmatch (via ls-files): match '**/**/**' 'foo/bb/aa/rr'
expecting success of 3070.1561 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
Removing foo/
ok 1561 - cleanup after previous file test
expecting success of 3070.1562 'setup match file test for abcXdefXghi':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 1562 - setup match file test for abcXdefXghi
expecting success of 3070.1563 'wildmatch: match 'abcXdefXghi' '*X*i'':
test-tool wildmatch wildmatch 'abcXdefXghi' '*X*i'
ok 1563 - wildmatch: match 'abcXdefXghi' '*X*i'
expecting success of 3070.1564 'wildmatch (via ls-files): match '*X*i' 'abcXdefXghi'':
printf '%s' 'abcXdefXghi' >expect &&
git --glob-pathspecs ls-files -z -- '*X*i' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1564 - wildmatch (via ls-files): match '*X*i' 'abcXdefXghi'
expecting success of 3070.1565 'iwildmatch: match 'abcXdefXghi' '*X*i'':
test-tool wildmatch iwildmatch 'abcXdefXghi' '*X*i'
ok 1565 - iwildmatch: match 'abcXdefXghi' '*X*i'
expecting success of 3070.1566 'iwildmatch (via ls-files): match '*X*i' 'abcXdefXghi'':
printf '%s' 'abcXdefXghi' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '*X*i' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1566 - iwildmatch (via ls-files): match '*X*i' 'abcXdefXghi'
expecting success of 3070.1567 'pathmatch: match 'abcXdefXghi' '*X*i'':
test-tool wildmatch pathmatch 'abcXdefXghi' '*X*i'
ok 1567 - pathmatch: match 'abcXdefXghi' '*X*i'
expecting success of 3070.1568 'pathmatch (via ls-files): match '*X*i' 'abcXdefXghi'':
printf '%s' 'abcXdefXghi' >expect &&
git ls-files -z -- '*X*i' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1568 - pathmatch (via ls-files): match '*X*i' 'abcXdefXghi'
expecting success of 3070.1569 'ipathmatch: match 'abcXdefXghi' '*X*i'':
test-tool wildmatch ipathmatch 'abcXdefXghi' '*X*i'
ok 1569 - ipathmatch: match 'abcXdefXghi' '*X*i'
expecting success of 3070.1570 'ipathmatch (via ls-files): match '*X*i' 'abcXdefXghi'':
printf '%s' 'abcXdefXghi' >expect &&
git --icase-pathspecs ls-files -z -- '*X*i' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1570 - ipathmatch (via ls-files): match '*X*i' 'abcXdefXghi'
expecting success of 3070.1571 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing abcXdefXghi
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 1571 - cleanup after previous file test
expecting success of 3070.1572 'setup match file test for ab/cXd/efXg/hi':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 1572 - setup match file test for ab/cXd/efXg/hi
expecting success of 3070.1573 'wildmatch: no match 'ab/cXd/efXg/hi' '*X*i'':
test_must_fail test-tool wildmatch wildmatch 'ab/cXd/efXg/hi' '*X*i'
ok 1573 - wildmatch: no match 'ab/cXd/efXg/hi' '*X*i'
expecting success of 3070.1574 'wildmatch (via ls-files): no match '*X*i' 'ab/cXd/efXg/hi'':
>expect &&
git --glob-pathspecs ls-files -z -- '*X*i' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1574 - wildmatch (via ls-files): no match '*X*i' 'ab/cXd/efXg/hi'
expecting success of 3070.1575 'iwildmatch: no match 'ab/cXd/efXg/hi' '*X*i'':
test_must_fail test-tool wildmatch iwildmatch 'ab/cXd/efXg/hi' '*X*i'
ok 1575 - iwildmatch: no match 'ab/cXd/efXg/hi' '*X*i'
expecting success of 3070.1576 'iwildmatch (via ls-files): no match '*X*i' 'ab/cXd/efXg/hi'':
>expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '*X*i' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1576 - iwildmatch (via ls-files): no match '*X*i' 'ab/cXd/efXg/hi'
expecting success of 3070.1577 'pathmatch: match 'ab/cXd/efXg/hi' '*X*i'':
test-tool wildmatch pathmatch 'ab/cXd/efXg/hi' '*X*i'
ok 1577 - pathmatch: match 'ab/cXd/efXg/hi' '*X*i'
expecting success of 3070.1578 'pathmatch (via ls-files): match '*X*i' 'ab/cXd/efXg/hi'':
printf '%s' 'ab/cXd/efXg/hi' >expect &&
git ls-files -z -- '*X*i' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1578 - pathmatch (via ls-files): match '*X*i' 'ab/cXd/efXg/hi'
expecting success of 3070.1579 'ipathmatch: match 'ab/cXd/efXg/hi' '*X*i'':
test-tool wildmatch ipathmatch 'ab/cXd/efXg/hi' '*X*i'
ok 1579 - ipathmatch: match 'ab/cXd/efXg/hi' '*X*i'
expecting success of 3070.1580 'ipathmatch (via ls-files): match '*X*i' 'ab/cXd/efXg/hi'':
printf '%s' 'ab/cXd/efXg/hi' >expect &&
git --icase-pathspecs ls-files -z -- '*X*i' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1580 - ipathmatch (via ls-files): match '*X*i' 'ab/cXd/efXg/hi'
expecting success of 3070.1581 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing ab/
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 1581 - cleanup after previous file test
expecting success of 3070.1582 'setup match file test for ab/cXd/efXg/hi':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 1582 - setup match file test for ab/cXd/efXg/hi
expecting success of 3070.1583 'wildmatch: match 'ab/cXd/efXg/hi' '*/*X*/*/*i'':
test-tool wildmatch wildmatch 'ab/cXd/efXg/hi' '*/*X*/*/*i'
ok 1583 - wildmatch: match 'ab/cXd/efXg/hi' '*/*X*/*/*i'
expecting success of 3070.1584 'wildmatch (via ls-files): match '*/*X*/*/*i' 'ab/cXd/efXg/hi'':
printf '%s' 'ab/cXd/efXg/hi' >expect &&
git --glob-pathspecs ls-files -z -- '*/*X*/*/*i' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1584 - wildmatch (via ls-files): match '*/*X*/*/*i' 'ab/cXd/efXg/hi'
expecting success of 3070.1585 'iwildmatch: match 'ab/cXd/efXg/hi' '*/*X*/*/*i'':
test-tool wildmatch iwildmatch 'ab/cXd/efXg/hi' '*/*X*/*/*i'
ok 1585 - iwildmatch: match 'ab/cXd/efXg/hi' '*/*X*/*/*i'
expecting success of 3070.1586 'iwildmatch (via ls-files): match '*/*X*/*/*i' 'ab/cXd/efXg/hi'':
printf '%s' 'ab/cXd/efXg/hi' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '*/*X*/*/*i' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1586 - iwildmatch (via ls-files): match '*/*X*/*/*i' 'ab/cXd/efXg/hi'
expecting success of 3070.1587 'pathmatch: match 'ab/cXd/efXg/hi' '*/*X*/*/*i'':
test-tool wildmatch pathmatch 'ab/cXd/efXg/hi' '*/*X*/*/*i'
ok 1587 - pathmatch: match 'ab/cXd/efXg/hi' '*/*X*/*/*i'
expecting success of 3070.1588 'pathmatch (via ls-files): match '*/*X*/*/*i' 'ab/cXd/efXg/hi'':
printf '%s' 'ab/cXd/efXg/hi' >expect &&
git ls-files -z -- '*/*X*/*/*i' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1588 - pathmatch (via ls-files): match '*/*X*/*/*i' 'ab/cXd/efXg/hi'
expecting success of 3070.1589 'ipathmatch: match 'ab/cXd/efXg/hi' '*/*X*/*/*i'':
test-tool wildmatch ipathmatch 'ab/cXd/efXg/hi' '*/*X*/*/*i'
ok 1589 - ipathmatch: match 'ab/cXd/efXg/hi' '*/*X*/*/*i'
expecting success of 3070.1590 'ipathmatch (via ls-files): match '*/*X*/*/*i' 'ab/cXd/efXg/hi'':
printf '%s' 'ab/cXd/efXg/hi' >expect &&
git --icase-pathspecs ls-files -z -- '*/*X*/*/*i' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1590 - ipathmatch (via ls-files): match '*/*X*/*/*i' 'ab/cXd/efXg/hi'
expecting success of 3070.1591 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing ab/
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 1591 - cleanup after previous file test
expecting success of 3070.1592 'setup match file test for ab/cXd/efXg/hi':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 1592 - setup match file test for ab/cXd/efXg/hi
expecting success of 3070.1593 'wildmatch: match 'ab/cXd/efXg/hi' '**/*X*/**/*i'':
test-tool wildmatch wildmatch 'ab/cXd/efXg/hi' '**/*X*/**/*i'
ok 1593 - wildmatch: match 'ab/cXd/efXg/hi' '**/*X*/**/*i'
expecting success of 3070.1594 'wildmatch (via ls-files): match '**/*X*/**/*i' 'ab/cXd/efXg/hi'':
printf '%s' 'ab/cXd/efXg/hi' >expect &&
git --glob-pathspecs ls-files -z -- '**/*X*/**/*i' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1594 - wildmatch (via ls-files): match '**/*X*/**/*i' 'ab/cXd/efXg/hi'
expecting success of 3070.1595 'iwildmatch: match 'ab/cXd/efXg/hi' '**/*X*/**/*i'':
test-tool wildmatch iwildmatch 'ab/cXd/efXg/hi' '**/*X*/**/*i'
ok 1595 - iwildmatch: match 'ab/cXd/efXg/hi' '**/*X*/**/*i'
expecting success of 3070.1596 'iwildmatch (via ls-files): match '**/*X*/**/*i' 'ab/cXd/efXg/hi'':
printf '%s' 'ab/cXd/efXg/hi' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '**/*X*/**/*i' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1596 - iwildmatch (via ls-files): match '**/*X*/**/*i' 'ab/cXd/efXg/hi'
expecting success of 3070.1597 'pathmatch: match 'ab/cXd/efXg/hi' '**/*X*/**/*i'':
test-tool wildmatch pathmatch 'ab/cXd/efXg/hi' '**/*X*/**/*i'
ok 1597 - pathmatch: match 'ab/cXd/efXg/hi' '**/*X*/**/*i'
expecting success of 3070.1598 'pathmatch (via ls-files): match '**/*X*/**/*i' 'ab/cXd/efXg/hi'':
printf '%s' 'ab/cXd/efXg/hi' >expect &&
git ls-files -z -- '**/*X*/**/*i' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1598 - pathmatch (via ls-files): match '**/*X*/**/*i' 'ab/cXd/efXg/hi'
expecting success of 3070.1599 'ipathmatch: match 'ab/cXd/efXg/hi' '**/*X*/**/*i'':
test-tool wildmatch ipathmatch 'ab/cXd/efXg/hi' '**/*X*/**/*i'
ok 1599 - ipathmatch: match 'ab/cXd/efXg/hi' '**/*X*/**/*i'
expecting success of 3070.1600 'ipathmatch (via ls-files): match '**/*X*/**/*i' 'ab/cXd/efXg/hi'':
printf '%s' 'ab/cXd/efXg/hi' >expect &&
git --icase-pathspecs ls-files -z -- '**/*X*/**/*i' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1600 - ipathmatch (via ls-files): match '**/*X*/**/*i' 'ab/cXd/efXg/hi'
expecting success of 3070.1601 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing ab/
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 1601 - cleanup after previous file test
expecting success of 3070.1602 'setup match file test for foo':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 1602 - setup match file test for foo
expecting success of 3070.1603 'wildmatch: no match 'foo' 'fo'':
test_must_fail test-tool wildmatch wildmatch 'foo' 'fo'
ok 1603 - wildmatch: no match 'foo' 'fo'
expecting success of 3070.1604 'wildmatch (via ls-files): no match 'fo' 'foo'':
>expect &&
git --glob-pathspecs ls-files -z -- 'fo' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1604 - wildmatch (via ls-files): no match 'fo' 'foo'
expecting success of 3070.1605 'iwildmatch: no match 'foo' 'fo'':
test_must_fail test-tool wildmatch iwildmatch 'foo' 'fo'
ok 1605 - iwildmatch: no match 'foo' 'fo'
expecting success of 3070.1606 'iwildmatch (via ls-files): no match 'fo' 'foo'':
>expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- 'fo' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1606 - iwildmatch (via ls-files): no match 'fo' 'foo'
expecting success of 3070.1607 'pathmatch: no match 'foo' 'fo'':
test_must_fail test-tool wildmatch pathmatch 'foo' 'fo'
ok 1607 - pathmatch: no match 'foo' 'fo'
expecting success of 3070.1608 'pathmatch (via ls-files): no match 'fo' 'foo'':
>expect &&
git ls-files -z -- 'fo' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1608 - pathmatch (via ls-files): no match 'fo' 'foo'
expecting success of 3070.1609 'ipathmatch: no match 'foo' 'fo'':
test_must_fail test-tool wildmatch ipathmatch 'foo' 'fo'
ok 1609 - ipathmatch: no match 'foo' 'fo'
expecting success of 3070.1610 'ipathmatch (via ls-files): no match 'fo' 'foo'':
>expect &&
git --icase-pathspecs ls-files -z -- 'fo' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1610 - ipathmatch (via ls-files): no match 'fo' 'foo'
expecting success of 3070.1611 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
Removing foo
ok 1611 - cleanup after previous file test
expecting success of 3070.1612 'setup match file test for foo/bar':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 1612 - setup match file test for foo/bar
expecting success of 3070.1613 'wildmatch: match 'foo/bar' 'foo/bar'':
test-tool wildmatch wildmatch 'foo/bar' 'foo/bar'
ok 1613 - wildmatch: match 'foo/bar' 'foo/bar'
expecting success of 3070.1614 'wildmatch (via ls-files): match 'foo/bar' 'foo/bar'':
printf '%s' 'foo/bar' >expect &&
git --glob-pathspecs ls-files -z -- 'foo/bar' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1614 - wildmatch (via ls-files): match 'foo/bar' 'foo/bar'
expecting success of 3070.1615 'iwildmatch: match 'foo/bar' 'foo/bar'':
test-tool wildmatch iwildmatch 'foo/bar' 'foo/bar'
ok 1615 - iwildmatch: match 'foo/bar' 'foo/bar'
expecting success of 3070.1616 'iwildmatch (via ls-files): match 'foo/bar' 'foo/bar'':
printf '%s' 'foo/bar' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- 'foo/bar' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1616 - iwildmatch (via ls-files): match 'foo/bar' 'foo/bar'
expecting success of 3070.1617 'pathmatch: match 'foo/bar' 'foo/bar'':
test-tool wildmatch pathmatch 'foo/bar' 'foo/bar'
ok 1617 - pathmatch: match 'foo/bar' 'foo/bar'
expecting success of 3070.1618 'pathmatch (via ls-files): match 'foo/bar' 'foo/bar'':
printf '%s' 'foo/bar' >expect &&
git ls-files -z -- 'foo/bar' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1618 - pathmatch (via ls-files): match 'foo/bar' 'foo/bar'
expecting success of 3070.1619 'ipathmatch: match 'foo/bar' 'foo/bar'':
test-tool wildmatch ipathmatch 'foo/bar' 'foo/bar'
ok 1619 - ipathmatch: match 'foo/bar' 'foo/bar'
expecting success of 3070.1620 'ipathmatch (via ls-files): match 'foo/bar' 'foo/bar'':
printf '%s' 'foo/bar' >expect &&
git --icase-pathspecs ls-files -z -- 'foo/bar' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1620 - ipathmatch (via ls-files): match 'foo/bar' 'foo/bar'
expecting success of 3070.1621 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
Removing foo/
ok 1621 - cleanup after previous file test
expecting success of 3070.1622 'setup match file test for foo/bar':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 1622 - setup match file test for foo/bar
expecting success of 3070.1623 'wildmatch: match 'foo/bar' 'foo/*'':
test-tool wildmatch wildmatch 'foo/bar' 'foo/*'
ok 1623 - wildmatch: match 'foo/bar' 'foo/*'
expecting success of 3070.1624 'wildmatch (via ls-files): match 'foo/*' 'foo/bar'':
printf '%s' 'foo/bar' >expect &&
git --glob-pathspecs ls-files -z -- 'foo/*' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1624 - wildmatch (via ls-files): match 'foo/*' 'foo/bar'
expecting success of 3070.1625 'iwildmatch: match 'foo/bar' 'foo/*'':
test-tool wildmatch iwildmatch 'foo/bar' 'foo/*'
ok 1625 - iwildmatch: match 'foo/bar' 'foo/*'
expecting success of 3070.1626 'iwildmatch (via ls-files): match 'foo/*' 'foo/bar'':
printf '%s' 'foo/bar' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- 'foo/*' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1626 - iwildmatch (via ls-files): match 'foo/*' 'foo/bar'
expecting success of 3070.1627 'pathmatch: match 'foo/bar' 'foo/*'':
test-tool wildmatch pathmatch 'foo/bar' 'foo/*'
ok 1627 - pathmatch: match 'foo/bar' 'foo/*'
expecting success of 3070.1628 'pathmatch (via ls-files): match 'foo/*' 'foo/bar'':
printf '%s' 'foo/bar' >expect &&
git ls-files -z -- 'foo/*' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1628 - pathmatch (via ls-files): match 'foo/*' 'foo/bar'
expecting success of 3070.1629 'ipathmatch: match 'foo/bar' 'foo/*'':
test-tool wildmatch ipathmatch 'foo/bar' 'foo/*'
ok 1629 - ipathmatch: match 'foo/bar' 'foo/*'
expecting success of 3070.1630 'ipathmatch (via ls-files): match 'foo/*' 'foo/bar'':
printf '%s' 'foo/bar' >expect &&
git --icase-pathspecs ls-files -z -- 'foo/*' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1630 - ipathmatch (via ls-files): match 'foo/*' 'foo/bar'
expecting success of 3070.1631 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
Removing foo/
ok 1631 - cleanup after previous file test
expecting success of 3070.1632 'setup match file test for foo/bba/arr':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 1632 - setup match file test for foo/bba/arr
expecting success of 3070.1633 'wildmatch: no match 'foo/bba/arr' 'foo/*'':
test_must_fail test-tool wildmatch wildmatch 'foo/bba/arr' 'foo/*'
ok 1633 - wildmatch: no match 'foo/bba/arr' 'foo/*'
expecting success of 3070.1634 'wildmatch (via ls-files): no match 'foo/*' 'foo/bba/arr'':
>expect &&
git --glob-pathspecs ls-files -z -- 'foo/*' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1634 - wildmatch (via ls-files): no match 'foo/*' 'foo/bba/arr'
expecting success of 3070.1635 'iwildmatch: no match 'foo/bba/arr' 'foo/*'':
test_must_fail test-tool wildmatch iwildmatch 'foo/bba/arr' 'foo/*'
ok 1635 - iwildmatch: no match 'foo/bba/arr' 'foo/*'
expecting success of 3070.1636 'iwildmatch (via ls-files): no match 'foo/*' 'foo/bba/arr'':
>expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- 'foo/*' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1636 - iwildmatch (via ls-files): no match 'foo/*' 'foo/bba/arr'
expecting success of 3070.1637 'pathmatch: match 'foo/bba/arr' 'foo/*'':
test-tool wildmatch pathmatch 'foo/bba/arr' 'foo/*'
ok 1637 - pathmatch: match 'foo/bba/arr' 'foo/*'
expecting success of 3070.1638 'pathmatch (via ls-files): match 'foo/*' 'foo/bba/arr'':
printf '%s' 'foo/bba/arr' >expect &&
git ls-files -z -- 'foo/*' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1638 - pathmatch (via ls-files): match 'foo/*' 'foo/bba/arr'
expecting success of 3070.1639 'ipathmatch: match 'foo/bba/arr' 'foo/*'':
test-tool wildmatch ipathmatch 'foo/bba/arr' 'foo/*'
ok 1639 - ipathmatch: match 'foo/bba/arr' 'foo/*'
expecting success of 3070.1640 'ipathmatch (via ls-files): match 'foo/*' 'foo/bba/arr'':
printf '%s' 'foo/bba/arr' >expect &&
git --icase-pathspecs ls-files -z -- 'foo/*' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1640 - ipathmatch (via ls-files): match 'foo/*' 'foo/bba/arr'
expecting success of 3070.1641 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
Removing foo/
ok 1641 - cleanup after previous file test
expecting success of 3070.1642 'setup match file test for foo/bba/arr':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 1642 - setup match file test for foo/bba/arr
expecting success of 3070.1643 'wildmatch: match 'foo/bba/arr' 'foo/**'':
test-tool wildmatch wildmatch 'foo/bba/arr' 'foo/**'
ok 1643 - wildmatch: match 'foo/bba/arr' 'foo/**'
expecting success of 3070.1644 'wildmatch (via ls-files): match 'foo/**' 'foo/bba/arr'':
printf '%s' 'foo/bba/arr' >expect &&
git --glob-pathspecs ls-files -z -- 'foo/**' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1644 - wildmatch (via ls-files): match 'foo/**' 'foo/bba/arr'
expecting success of 3070.1645 'iwildmatch: match 'foo/bba/arr' 'foo/**'':
test-tool wildmatch iwildmatch 'foo/bba/arr' 'foo/**'
ok 1645 - iwildmatch: match 'foo/bba/arr' 'foo/**'
expecting success of 3070.1646 'iwildmatch (via ls-files): match 'foo/**' 'foo/bba/arr'':
printf '%s' 'foo/bba/arr' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- 'foo/**' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1646 - iwildmatch (via ls-files): match 'foo/**' 'foo/bba/arr'
expecting success of 3070.1647 'pathmatch: match 'foo/bba/arr' 'foo/**'':
test-tool wildmatch pathmatch 'foo/bba/arr' 'foo/**'
ok 1647 - pathmatch: match 'foo/bba/arr' 'foo/**'
expecting success of 3070.1648 'pathmatch (via ls-files): match 'foo/**' 'foo/bba/arr'':
printf '%s' 'foo/bba/arr' >expect &&
git ls-files -z -- 'foo/**' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1648 - pathmatch (via ls-files): match 'foo/**' 'foo/bba/arr'
expecting success of 3070.1649 'ipathmatch: match 'foo/bba/arr' 'foo/**'':
test-tool wildmatch ipathmatch 'foo/bba/arr' 'foo/**'
ok 1649 - ipathmatch: match 'foo/bba/arr' 'foo/**'
expecting success of 3070.1650 'ipathmatch (via ls-files): match 'foo/**' 'foo/bba/arr'':
printf '%s' 'foo/bba/arr' >expect &&
git --icase-pathspecs ls-files -z -- 'foo/**' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1650 - ipathmatch (via ls-files): match 'foo/**' 'foo/bba/arr'
expecting success of 3070.1651 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
Removing foo/
ok 1651 - cleanup after previous file test
expecting success of 3070.1652 'setup match file test for foo/bba/arr':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 1652 - setup match file test for foo/bba/arr
expecting success of 3070.1653 'wildmatch: no match 'foo/bba/arr' 'foo*'':
test_must_fail test-tool wildmatch wildmatch 'foo/bba/arr' 'foo*'
ok 1653 - wildmatch: no match 'foo/bba/arr' 'foo*'
expecting success of 3070.1654 'wildmatch (via ls-files): no match 'foo*' 'foo/bba/arr'':
>expect &&
git --glob-pathspecs ls-files -z -- 'foo*' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1654 - wildmatch (via ls-files): no match 'foo*' 'foo/bba/arr'
expecting success of 3070.1655 'iwildmatch: no match 'foo/bba/arr' 'foo*'':
test_must_fail test-tool wildmatch iwildmatch 'foo/bba/arr' 'foo*'
ok 1655 - iwildmatch: no match 'foo/bba/arr' 'foo*'
expecting success of 3070.1656 'iwildmatch (via ls-files): no match 'foo*' 'foo/bba/arr'':
>expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- 'foo*' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1656 - iwildmatch (via ls-files): no match 'foo*' 'foo/bba/arr'
expecting success of 3070.1657 'pathmatch: match 'foo/bba/arr' 'foo*'':
test-tool wildmatch pathmatch 'foo/bba/arr' 'foo*'
ok 1657 - pathmatch: match 'foo/bba/arr' 'foo*'
expecting success of 3070.1658 'pathmatch (via ls-files): match 'foo*' 'foo/bba/arr'':
printf '%s' 'foo/bba/arr' >expect &&
git ls-files -z -- 'foo*' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1658 - pathmatch (via ls-files): match 'foo*' 'foo/bba/arr'
expecting success of 3070.1659 'ipathmatch: match 'foo/bba/arr' 'foo*'':
test-tool wildmatch ipathmatch 'foo/bba/arr' 'foo*'
ok 1659 - ipathmatch: match 'foo/bba/arr' 'foo*'
expecting success of 3070.1660 'ipathmatch (via ls-files): match 'foo*' 'foo/bba/arr'':
printf '%s' 'foo/bba/arr' >expect &&
git --icase-pathspecs ls-files -z -- 'foo*' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1660 - ipathmatch (via ls-files): match 'foo*' 'foo/bba/arr'
expecting success of 3070.1661 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
Removing foo/
ok 1661 - cleanup after previous file test
expecting success of 3070.1662 'setup match file test for foo/bba/arr':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 1662 - setup match file test for foo/bba/arr
expecting success of 3070.1663 'wildmatch: no match 'foo/bba/arr' 'foo**'':
test_must_fail test-tool wildmatch wildmatch 'foo/bba/arr' 'foo**'
ok 1663 - wildmatch: no match 'foo/bba/arr' 'foo**'
expecting success of 3070.1664 'wildmatch (via ls-files): match 'foo**' 'foo/bba/arr'':
printf '%s' 'foo/bba/arr' >expect &&
git --glob-pathspecs ls-files -z -- 'foo**' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1664 - wildmatch (via ls-files): match 'foo**' 'foo/bba/arr'
expecting success of 3070.1665 'iwildmatch: no match 'foo/bba/arr' 'foo**'':
test_must_fail test-tool wildmatch iwildmatch 'foo/bba/arr' 'foo**'
ok 1665 - iwildmatch: no match 'foo/bba/arr' 'foo**'
expecting success of 3070.1666 'iwildmatch (via ls-files): match 'foo**' 'foo/bba/arr'':
printf '%s' 'foo/bba/arr' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- 'foo**' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1666 - iwildmatch (via ls-files): match 'foo**' 'foo/bba/arr'
expecting success of 3070.1667 'pathmatch: match 'foo/bba/arr' 'foo**'':
test-tool wildmatch pathmatch 'foo/bba/arr' 'foo**'
ok 1667 - pathmatch: match 'foo/bba/arr' 'foo**'
expecting success of 3070.1668 'pathmatch (via ls-files): match 'foo**' 'foo/bba/arr'':
printf '%s' 'foo/bba/arr' >expect &&
git ls-files -z -- 'foo**' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1668 - pathmatch (via ls-files): match 'foo**' 'foo/bba/arr'
expecting success of 3070.1669 'ipathmatch: match 'foo/bba/arr' 'foo**'':
test-tool wildmatch ipathmatch 'foo/bba/arr' 'foo**'
ok 1669 - ipathmatch: match 'foo/bba/arr' 'foo**'
expecting success of 3070.1670 'ipathmatch (via ls-files): match 'foo**' 'foo/bba/arr'':
printf '%s' 'foo/bba/arr' >expect &&
git --icase-pathspecs ls-files -z -- 'foo**' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1670 - ipathmatch (via ls-files): match 'foo**' 'foo/bba/arr'
expecting success of 3070.1671 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
Removing foo/
ok 1671 - cleanup after previous file test
expecting success of 3070.1672 'setup match file test for foo/bba/arr':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 1672 - setup match file test for foo/bba/arr
expecting success of 3070.1673 'wildmatch: no match 'foo/bba/arr' 'foo/*arr'':
test_must_fail test-tool wildmatch wildmatch 'foo/bba/arr' 'foo/*arr'
ok 1673 - wildmatch: no match 'foo/bba/arr' 'foo/*arr'
expecting success of 3070.1674 'wildmatch (via ls-files): no match 'foo/*arr' 'foo/bba/arr'':
>expect &&
git --glob-pathspecs ls-files -z -- 'foo/*arr' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1674 - wildmatch (via ls-files): no match 'foo/*arr' 'foo/bba/arr'
expecting success of 3070.1675 'iwildmatch: no match 'foo/bba/arr' 'foo/*arr'':
test_must_fail test-tool wildmatch iwildmatch 'foo/bba/arr' 'foo/*arr'
ok 1675 - iwildmatch: no match 'foo/bba/arr' 'foo/*arr'
expecting success of 3070.1676 'iwildmatch (via ls-files): no match 'foo/*arr' 'foo/bba/arr'':
>expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- 'foo/*arr' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1676 - iwildmatch (via ls-files): no match 'foo/*arr' 'foo/bba/arr'
expecting success of 3070.1677 'pathmatch: match 'foo/bba/arr' 'foo/*arr'':
test-tool wildmatch pathmatch 'foo/bba/arr' 'foo/*arr'
ok 1677 - pathmatch: match 'foo/bba/arr' 'foo/*arr'
expecting success of 3070.1678 'pathmatch (via ls-files): match 'foo/*arr' 'foo/bba/arr'':
printf '%s' 'foo/bba/arr' >expect &&
git ls-files -z -- 'foo/*arr' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1678 - pathmatch (via ls-files): match 'foo/*arr' 'foo/bba/arr'
expecting success of 3070.1679 'ipathmatch: match 'foo/bba/arr' 'foo/*arr'':
test-tool wildmatch ipathmatch 'foo/bba/arr' 'foo/*arr'
ok 1679 - ipathmatch: match 'foo/bba/arr' 'foo/*arr'
expecting success of 3070.1680 'ipathmatch (via ls-files): match 'foo/*arr' 'foo/bba/arr'':
printf '%s' 'foo/bba/arr' >expect &&
git --icase-pathspecs ls-files -z -- 'foo/*arr' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1680 - ipathmatch (via ls-files): match 'foo/*arr' 'foo/bba/arr'
expecting success of 3070.1681 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
Removing foo/
ok 1681 - cleanup after previous file test
expecting success of 3070.1682 'setup match file test for foo/bba/arr':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 1682 - setup match file test for foo/bba/arr
expecting success of 3070.1683 'wildmatch: no match 'foo/bba/arr' 'foo/**arr'':
test_must_fail test-tool wildmatch wildmatch 'foo/bba/arr' 'foo/**arr'
ok 1683 - wildmatch: no match 'foo/bba/arr' 'foo/**arr'
expecting success of 3070.1684 'wildmatch (via ls-files): no match 'foo/**arr' 'foo/bba/arr'':
>expect &&
git --glob-pathspecs ls-files -z -- 'foo/**arr' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1684 - wildmatch (via ls-files): no match 'foo/**arr' 'foo/bba/arr'
expecting success of 3070.1685 'iwildmatch: no match 'foo/bba/arr' 'foo/**arr'':
test_must_fail test-tool wildmatch iwildmatch 'foo/bba/arr' 'foo/**arr'
ok 1685 - iwildmatch: no match 'foo/bba/arr' 'foo/**arr'
expecting success of 3070.1686 'iwildmatch (via ls-files): no match 'foo/**arr' 'foo/bba/arr'':
>expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- 'foo/**arr' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1686 - iwildmatch (via ls-files): no match 'foo/**arr' 'foo/bba/arr'
expecting success of 3070.1687 'pathmatch: match 'foo/bba/arr' 'foo/**arr'':
test-tool wildmatch pathmatch 'foo/bba/arr' 'foo/**arr'
ok 1687 - pathmatch: match 'foo/bba/arr' 'foo/**arr'
expecting success of 3070.1688 'pathmatch (via ls-files): match 'foo/**arr' 'foo/bba/arr'':
printf '%s' 'foo/bba/arr' >expect &&
git ls-files -z -- 'foo/**arr' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1688 - pathmatch (via ls-files): match 'foo/**arr' 'foo/bba/arr'
expecting success of 3070.1689 'ipathmatch: match 'foo/bba/arr' 'foo/**arr'':
test-tool wildmatch ipathmatch 'foo/bba/arr' 'foo/**arr'
ok 1689 - ipathmatch: match 'foo/bba/arr' 'foo/**arr'
expecting success of 3070.1690 'ipathmatch (via ls-files): match 'foo/**arr' 'foo/bba/arr'':
printf '%s' 'foo/bba/arr' >expect &&
git --icase-pathspecs ls-files -z -- 'foo/**arr' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1690 - ipathmatch (via ls-files): match 'foo/**arr' 'foo/bba/arr'
expecting success of 3070.1691 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
Removing foo/
ok 1691 - cleanup after previous file test
expecting success of 3070.1692 'setup match file test for foo/bba/arr':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 1692 - setup match file test for foo/bba/arr
expecting success of 3070.1693 'wildmatch: no match 'foo/bba/arr' 'foo/*z'':
test_must_fail test-tool wildmatch wildmatch 'foo/bba/arr' 'foo/*z'
ok 1693 - wildmatch: no match 'foo/bba/arr' 'foo/*z'
expecting success of 3070.1694 'wildmatch (via ls-files): no match 'foo/*z' 'foo/bba/arr'':
>expect &&
git --glob-pathspecs ls-files -z -- 'foo/*z' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1694 - wildmatch (via ls-files): no match 'foo/*z' 'foo/bba/arr'
expecting success of 3070.1695 'iwildmatch: no match 'foo/bba/arr' 'foo/*z'':
test_must_fail test-tool wildmatch iwildmatch 'foo/bba/arr' 'foo/*z'
ok 1695 - iwildmatch: no match 'foo/bba/arr' 'foo/*z'
expecting success of 3070.1696 'iwildmatch (via ls-files): no match 'foo/*z' 'foo/bba/arr'':
>expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- 'foo/*z' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1696 - iwildmatch (via ls-files): no match 'foo/*z' 'foo/bba/arr'
expecting success of 3070.1697 'pathmatch: no match 'foo/bba/arr' 'foo/*z'':
test_must_fail test-tool wildmatch pathmatch 'foo/bba/arr' 'foo/*z'
ok 1697 - pathmatch: no match 'foo/bba/arr' 'foo/*z'
expecting success of 3070.1698 'pathmatch (via ls-files): no match 'foo/*z' 'foo/bba/arr'':
>expect &&
git ls-files -z -- 'foo/*z' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1698 - pathmatch (via ls-files): no match 'foo/*z' 'foo/bba/arr'
expecting success of 3070.1699 'ipathmatch: no match 'foo/bba/arr' 'foo/*z'':
test_must_fail test-tool wildmatch ipathmatch 'foo/bba/arr' 'foo/*z'
ok 1699 - ipathmatch: no match 'foo/bba/arr' 'foo/*z'
expecting success of 3070.1700 'ipathmatch (via ls-files): no match 'foo/*z' 'foo/bba/arr'':
>expect &&
git --icase-pathspecs ls-files -z -- 'foo/*z' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1700 - ipathmatch (via ls-files): no match 'foo/*z' 'foo/bba/arr'
expecting success of 3070.1701 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
Removing foo/
ok 1701 - cleanup after previous file test
expecting success of 3070.1702 'setup match file test for foo/bba/arr':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 1702 - setup match file test for foo/bba/arr
expecting success of 3070.1703 'wildmatch: no match 'foo/bba/arr' 'foo/**z'':
test_must_fail test-tool wildmatch wildmatch 'foo/bba/arr' 'foo/**z'
ok 1703 - wildmatch: no match 'foo/bba/arr' 'foo/**z'
expecting success of 3070.1704 'wildmatch (via ls-files): no match 'foo/**z' 'foo/bba/arr'':
>expect &&
git --glob-pathspecs ls-files -z -- 'foo/**z' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1704 - wildmatch (via ls-files): no match 'foo/**z' 'foo/bba/arr'
expecting success of 3070.1705 'iwildmatch: no match 'foo/bba/arr' 'foo/**z'':
test_must_fail test-tool wildmatch iwildmatch 'foo/bba/arr' 'foo/**z'
ok 1705 - iwildmatch: no match 'foo/bba/arr' 'foo/**z'
expecting success of 3070.1706 'iwildmatch (via ls-files): no match 'foo/**z' 'foo/bba/arr'':
>expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- 'foo/**z' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1706 - iwildmatch (via ls-files): no match 'foo/**z' 'foo/bba/arr'
expecting success of 3070.1707 'pathmatch: no match 'foo/bba/arr' 'foo/**z'':
test_must_fail test-tool wildmatch pathmatch 'foo/bba/arr' 'foo/**z'
ok 1707 - pathmatch: no match 'foo/bba/arr' 'foo/**z'
expecting success of 3070.1708 'pathmatch (via ls-files): no match 'foo/**z' 'foo/bba/arr'':
>expect &&
git ls-files -z -- 'foo/**z' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1708 - pathmatch (via ls-files): no match 'foo/**z' 'foo/bba/arr'
expecting success of 3070.1709 'ipathmatch: no match 'foo/bba/arr' 'foo/**z'':
test_must_fail test-tool wildmatch ipathmatch 'foo/bba/arr' 'foo/**z'
ok 1709 - ipathmatch: no match 'foo/bba/arr' 'foo/**z'
expecting success of 3070.1710 'ipathmatch (via ls-files): no match 'foo/**z' 'foo/bba/arr'':
>expect &&
git --icase-pathspecs ls-files -z -- 'foo/**z' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1710 - ipathmatch (via ls-files): no match 'foo/**z' 'foo/bba/arr'
expecting success of 3070.1711 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
Removing foo/
ok 1711 - cleanup after previous file test
expecting success of 3070.1712 'setup match file test for foo/bar':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 1712 - setup match file test for foo/bar
expecting success of 3070.1713 'wildmatch: no match 'foo/bar' 'foo?bar'':
test_must_fail test-tool wildmatch wildmatch 'foo/bar' 'foo?bar'
ok 1713 - wildmatch: no match 'foo/bar' 'foo?bar'
expecting success of 3070.1714 'wildmatch (via ls-files): no match 'foo?bar' 'foo/bar'':
>expect &&
git --glob-pathspecs ls-files -z -- 'foo?bar' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1714 - wildmatch (via ls-files): no match 'foo?bar' 'foo/bar'
expecting success of 3070.1715 'iwildmatch: no match 'foo/bar' 'foo?bar'':
test_must_fail test-tool wildmatch iwildmatch 'foo/bar' 'foo?bar'
ok 1715 - iwildmatch: no match 'foo/bar' 'foo?bar'
expecting success of 3070.1716 'iwildmatch (via ls-files): no match 'foo?bar' 'foo/bar'':
>expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- 'foo?bar' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1716 - iwildmatch (via ls-files): no match 'foo?bar' 'foo/bar'
expecting success of 3070.1717 'pathmatch: match 'foo/bar' 'foo?bar'':
test-tool wildmatch pathmatch 'foo/bar' 'foo?bar'
ok 1717 - pathmatch: match 'foo/bar' 'foo?bar'
expecting success of 3070.1718 'pathmatch (via ls-files): match 'foo?bar' 'foo/bar'':
printf '%s' 'foo/bar' >expect &&
git ls-files -z -- 'foo?bar' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1718 - pathmatch (via ls-files): match 'foo?bar' 'foo/bar'
expecting success of 3070.1719 'ipathmatch: match 'foo/bar' 'foo?bar'':
test-tool wildmatch ipathmatch 'foo/bar' 'foo?bar'
ok 1719 - ipathmatch: match 'foo/bar' 'foo?bar'
expecting success of 3070.1720 'ipathmatch (via ls-files): match 'foo?bar' 'foo/bar'':
printf '%s' 'foo/bar' >expect &&
git --icase-pathspecs ls-files -z -- 'foo?bar' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1720 - ipathmatch (via ls-files): match 'foo?bar' 'foo/bar'
expecting success of 3070.1721 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
Removing foo/
ok 1721 - cleanup after previous file test
expecting success of 3070.1722 'setup match file test for foo/bar':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 1722 - setup match file test for foo/bar
expecting success of 3070.1723 'wildmatch: no match 'foo/bar' 'foo[/]bar'':
test_must_fail test-tool wildmatch wildmatch 'foo/bar' 'foo[/]bar'
ok 1723 - wildmatch: no match 'foo/bar' 'foo[/]bar'
expecting success of 3070.1724 'wildmatch (via ls-files): no match 'foo[/]bar' 'foo/bar'':
>expect &&
git --glob-pathspecs ls-files -z -- 'foo[/]bar' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1724 - wildmatch (via ls-files): no match 'foo[/]bar' 'foo/bar'
expecting success of 3070.1725 'iwildmatch: no match 'foo/bar' 'foo[/]bar'':
test_must_fail test-tool wildmatch iwildmatch 'foo/bar' 'foo[/]bar'
ok 1725 - iwildmatch: no match 'foo/bar' 'foo[/]bar'
expecting success of 3070.1726 'iwildmatch (via ls-files): no match 'foo[/]bar' 'foo/bar'':
>expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- 'foo[/]bar' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1726 - iwildmatch (via ls-files): no match 'foo[/]bar' 'foo/bar'
expecting success of 3070.1727 'pathmatch: match 'foo/bar' 'foo[/]bar'':
test-tool wildmatch pathmatch 'foo/bar' 'foo[/]bar'
ok 1727 - pathmatch: match 'foo/bar' 'foo[/]bar'
expecting success of 3070.1728 'pathmatch (via ls-files): match 'foo[/]bar' 'foo/bar'':
printf '%s' 'foo/bar' >expect &&
git ls-files -z -- 'foo[/]bar' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1728 - pathmatch (via ls-files): match 'foo[/]bar' 'foo/bar'
expecting success of 3070.1729 'ipathmatch: match 'foo/bar' 'foo[/]bar'':
test-tool wildmatch ipathmatch 'foo/bar' 'foo[/]bar'
ok 1729 - ipathmatch: match 'foo/bar' 'foo[/]bar'
expecting success of 3070.1730 'ipathmatch (via ls-files): match 'foo[/]bar' 'foo/bar'':
printf '%s' 'foo/bar' >expect &&
git --icase-pathspecs ls-files -z -- 'foo[/]bar' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1730 - ipathmatch (via ls-files): match 'foo[/]bar' 'foo/bar'
expecting success of 3070.1731 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
Removing foo/
ok 1731 - cleanup after previous file test
expecting success of 3070.1732 'setup match file test for foo/bar':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 1732 - setup match file test for foo/bar
expecting success of 3070.1733 'wildmatch: no match 'foo/bar' 'foo[^a-z]bar'':
test_must_fail test-tool wildmatch wildmatch 'foo/bar' 'foo[^a-z]bar'
ok 1733 - wildmatch: no match 'foo/bar' 'foo[^a-z]bar'
expecting success of 3070.1734 'wildmatch (via ls-files): no match 'foo[^a-z]bar' 'foo/bar'':
>expect &&
git --glob-pathspecs ls-files -z -- 'foo[^a-z]bar' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1734 - wildmatch (via ls-files): no match 'foo[^a-z]bar' 'foo/bar'
expecting success of 3070.1735 'iwildmatch: no match 'foo/bar' 'foo[^a-z]bar'':
test_must_fail test-tool wildmatch iwildmatch 'foo/bar' 'foo[^a-z]bar'
ok 1735 - iwildmatch: no match 'foo/bar' 'foo[^a-z]bar'
expecting success of 3070.1736 'iwildmatch (via ls-files): no match 'foo[^a-z]bar' 'foo/bar'':
>expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- 'foo[^a-z]bar' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1736 - iwildmatch (via ls-files): no match 'foo[^a-z]bar' 'foo/bar'
expecting success of 3070.1737 'pathmatch: match 'foo/bar' 'foo[^a-z]bar'':
test-tool wildmatch pathmatch 'foo/bar' 'foo[^a-z]bar'
ok 1737 - pathmatch: match 'foo/bar' 'foo[^a-z]bar'
expecting success of 3070.1738 'pathmatch (via ls-files): match 'foo[^a-z]bar' 'foo/bar'':
printf '%s' 'foo/bar' >expect &&
git ls-files -z -- 'foo[^a-z]bar' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1738 - pathmatch (via ls-files): match 'foo[^a-z]bar' 'foo/bar'
expecting success of 3070.1739 'ipathmatch: match 'foo/bar' 'foo[^a-z]bar'':
test-tool wildmatch ipathmatch 'foo/bar' 'foo[^a-z]bar'
ok 1739 - ipathmatch: match 'foo/bar' 'foo[^a-z]bar'
expecting success of 3070.1740 'ipathmatch (via ls-files): match 'foo[^a-z]bar' 'foo/bar'':
printf '%s' 'foo/bar' >expect &&
git --icase-pathspecs ls-files -z -- 'foo[^a-z]bar' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1740 - ipathmatch (via ls-files): match 'foo[^a-z]bar' 'foo/bar'
expecting success of 3070.1741 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
Removing foo/
ok 1741 - cleanup after previous file test
expecting success of 3070.1742 'setup match file test for ab/cXd/efXg/hi':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 1742 - setup match file test for ab/cXd/efXg/hi
expecting success of 3070.1743 'wildmatch: no match 'ab/cXd/efXg/hi' '*Xg*i'':
test_must_fail test-tool wildmatch wildmatch 'ab/cXd/efXg/hi' '*Xg*i'
ok 1743 - wildmatch: no match 'ab/cXd/efXg/hi' '*Xg*i'
expecting success of 3070.1744 'wildmatch (via ls-files): no match '*Xg*i' 'ab/cXd/efXg/hi'':
>expect &&
git --glob-pathspecs ls-files -z -- '*Xg*i' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1744 - wildmatch (via ls-files): no match '*Xg*i' 'ab/cXd/efXg/hi'
expecting success of 3070.1745 'iwildmatch: no match 'ab/cXd/efXg/hi' '*Xg*i'':
test_must_fail test-tool wildmatch iwildmatch 'ab/cXd/efXg/hi' '*Xg*i'
ok 1745 - iwildmatch: no match 'ab/cXd/efXg/hi' '*Xg*i'
expecting success of 3070.1746 'iwildmatch (via ls-files): no match '*Xg*i' 'ab/cXd/efXg/hi'':
>expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '*Xg*i' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1746 - iwildmatch (via ls-files): no match '*Xg*i' 'ab/cXd/efXg/hi'
expecting success of 3070.1747 'pathmatch: match 'ab/cXd/efXg/hi' '*Xg*i'':
test-tool wildmatch pathmatch 'ab/cXd/efXg/hi' '*Xg*i'
ok 1747 - pathmatch: match 'ab/cXd/efXg/hi' '*Xg*i'
expecting success of 3070.1748 'pathmatch (via ls-files): match '*Xg*i' 'ab/cXd/efXg/hi'':
printf '%s' 'ab/cXd/efXg/hi' >expect &&
git ls-files -z -- '*Xg*i' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1748 - pathmatch (via ls-files): match '*Xg*i' 'ab/cXd/efXg/hi'
expecting success of 3070.1749 'ipathmatch: match 'ab/cXd/efXg/hi' '*Xg*i'':
test-tool wildmatch ipathmatch 'ab/cXd/efXg/hi' '*Xg*i'
ok 1749 - ipathmatch: match 'ab/cXd/efXg/hi' '*Xg*i'
expecting success of 3070.1750 'ipathmatch (via ls-files): match '*Xg*i' 'ab/cXd/efXg/hi'':
printf '%s' 'ab/cXd/efXg/hi' >expect &&
git --icase-pathspecs ls-files -z -- '*Xg*i' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1750 - ipathmatch (via ls-files): match '*Xg*i' 'ab/cXd/efXg/hi'
expecting success of 3070.1751 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing ab/
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 1751 - cleanup after previous file test
expecting success of 3070.1752 'setup match file test for a':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 1752 - setup match file test for a
expecting success of 3070.1753 'wildmatch: no match 'a' '[A-Z]'':
test_must_fail test-tool wildmatch wildmatch 'a' '[A-Z]'
ok 1753 - wildmatch: no match 'a' '[A-Z]'
expecting success of 3070.1754 'wildmatch (via ls-files): no match '[A-Z]' 'a'':
>expect &&
git --glob-pathspecs ls-files -z -- '[A-Z]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1754 - wildmatch (via ls-files): no match '[A-Z]' 'a'
expecting success of 3070.1755 'iwildmatch: match 'a' '[A-Z]'':
test-tool wildmatch iwildmatch 'a' '[A-Z]'
ok 1755 - iwildmatch: match 'a' '[A-Z]'
expecting success of 3070.1756 'iwildmatch (via ls-files): match '[A-Z]' 'a'':
printf '%s' 'a' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '[A-Z]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1756 - iwildmatch (via ls-files): match '[A-Z]' 'a'
expecting success of 3070.1757 'pathmatch: no match 'a' '[A-Z]'':
test_must_fail test-tool wildmatch pathmatch 'a' '[A-Z]'
ok 1757 - pathmatch: no match 'a' '[A-Z]'
expecting success of 3070.1758 'pathmatch (via ls-files): no match '[A-Z]' 'a'':
>expect &&
git ls-files -z -- '[A-Z]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1758 - pathmatch (via ls-files): no match '[A-Z]' 'a'
expecting success of 3070.1759 'ipathmatch: match 'a' '[A-Z]'':
test-tool wildmatch ipathmatch 'a' '[A-Z]'
ok 1759 - ipathmatch: match 'a' '[A-Z]'
expecting success of 3070.1760 'ipathmatch (via ls-files): match '[A-Z]' 'a'':
printf '%s' 'a' >expect &&
git --icase-pathspecs ls-files -z -- '[A-Z]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1760 - ipathmatch (via ls-files): match '[A-Z]' 'a'
expecting success of 3070.1761 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing a
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 1761 - cleanup after previous file test
expecting success of 3070.1762 'setup match file test for A':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 1762 - setup match file test for A
expecting success of 3070.1763 'wildmatch: match 'A' '[A-Z]'':
test-tool wildmatch wildmatch 'A' '[A-Z]'
ok 1763 - wildmatch: match 'A' '[A-Z]'
expecting success of 3070.1764 'wildmatch (via ls-files): match '[A-Z]' 'A'':
printf '%s' 'A' >expect &&
git --glob-pathspecs ls-files -z -- '[A-Z]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1764 - wildmatch (via ls-files): match '[A-Z]' 'A'
expecting success of 3070.1765 'iwildmatch: match 'A' '[A-Z]'':
test-tool wildmatch iwildmatch 'A' '[A-Z]'
ok 1765 - iwildmatch: match 'A' '[A-Z]'
expecting success of 3070.1766 'iwildmatch (via ls-files): match '[A-Z]' 'A'':
printf '%s' 'A' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '[A-Z]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1766 - iwildmatch (via ls-files): match '[A-Z]' 'A'
expecting success of 3070.1767 'pathmatch: match 'A' '[A-Z]'':
test-tool wildmatch pathmatch 'A' '[A-Z]'
ok 1767 - pathmatch: match 'A' '[A-Z]'
expecting success of 3070.1768 'pathmatch (via ls-files): match '[A-Z]' 'A'':
printf '%s' 'A' >expect &&
git ls-files -z -- '[A-Z]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1768 - pathmatch (via ls-files): match '[A-Z]' 'A'
expecting success of 3070.1769 'ipathmatch: match 'A' '[A-Z]'':
test-tool wildmatch ipathmatch 'A' '[A-Z]'
ok 1769 - ipathmatch: match 'A' '[A-Z]'
expecting success of 3070.1770 'ipathmatch (via ls-files): match '[A-Z]' 'A'':
printf '%s' 'A' >expect &&
git --icase-pathspecs ls-files -z -- '[A-Z]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1770 - ipathmatch (via ls-files): match '[A-Z]' 'A'
expecting success of 3070.1771 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing A
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 1771 - cleanup after previous file test
expecting success of 3070.1772 'setup match file test for A':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 1772 - setup match file test for A
expecting success of 3070.1773 'wildmatch: no match 'A' '[a-z]'':
test_must_fail test-tool wildmatch wildmatch 'A' '[a-z]'
ok 1773 - wildmatch: no match 'A' '[a-z]'
expecting success of 3070.1774 'wildmatch (via ls-files): no match '[a-z]' 'A'':
>expect &&
git --glob-pathspecs ls-files -z -- '[a-z]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1774 - wildmatch (via ls-files): no match '[a-z]' 'A'
expecting success of 3070.1775 'iwildmatch: match 'A' '[a-z]'':
test-tool wildmatch iwildmatch 'A' '[a-z]'
ok 1775 - iwildmatch: match 'A' '[a-z]'
expecting success of 3070.1776 'iwildmatch (via ls-files): match '[a-z]' 'A'':
printf '%s' 'A' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '[a-z]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1776 - iwildmatch (via ls-files): match '[a-z]' 'A'
expecting success of 3070.1777 'pathmatch: no match 'A' '[a-z]'':
test_must_fail test-tool wildmatch pathmatch 'A' '[a-z]'
ok 1777 - pathmatch: no match 'A' '[a-z]'
expecting success of 3070.1778 'pathmatch (via ls-files): no match '[a-z]' 'A'':
>expect &&
git ls-files -z -- '[a-z]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1778 - pathmatch (via ls-files): no match '[a-z]' 'A'
expecting success of 3070.1779 'ipathmatch: match 'A' '[a-z]'':
test-tool wildmatch ipathmatch 'A' '[a-z]'
ok 1779 - ipathmatch: match 'A' '[a-z]'
expecting success of 3070.1780 'ipathmatch (via ls-files): match '[a-z]' 'A'':
printf '%s' 'A' >expect &&
git --icase-pathspecs ls-files -z -- '[a-z]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1780 - ipathmatch (via ls-files): match '[a-z]' 'A'
expecting success of 3070.1781 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing A
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 1781 - cleanup after previous file test
expecting success of 3070.1782 'setup match file test for a':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 1782 - setup match file test for a
expecting success of 3070.1783 'wildmatch: match 'a' '[a-z]'':
test-tool wildmatch wildmatch 'a' '[a-z]'
ok 1783 - wildmatch: match 'a' '[a-z]'
expecting success of 3070.1784 'wildmatch (via ls-files): match '[a-z]' 'a'':
printf '%s' 'a' >expect &&
git --glob-pathspecs ls-files -z -- '[a-z]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1784 - wildmatch (via ls-files): match '[a-z]' 'a'
expecting success of 3070.1785 'iwildmatch: match 'a' '[a-z]'':
test-tool wildmatch iwildmatch 'a' '[a-z]'
ok 1785 - iwildmatch: match 'a' '[a-z]'
expecting success of 3070.1786 'iwildmatch (via ls-files): match '[a-z]' 'a'':
printf '%s' 'a' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '[a-z]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1786 - iwildmatch (via ls-files): match '[a-z]' 'a'
expecting success of 3070.1787 'pathmatch: match 'a' '[a-z]'':
test-tool wildmatch pathmatch 'a' '[a-z]'
ok 1787 - pathmatch: match 'a' '[a-z]'
expecting success of 3070.1788 'pathmatch (via ls-files): match '[a-z]' 'a'':
printf '%s' 'a' >expect &&
git ls-files -z -- '[a-z]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1788 - pathmatch (via ls-files): match '[a-z]' 'a'
expecting success of 3070.1789 'ipathmatch: match 'a' '[a-z]'':
test-tool wildmatch ipathmatch 'a' '[a-z]'
ok 1789 - ipathmatch: match 'a' '[a-z]'
expecting success of 3070.1790 'ipathmatch (via ls-files): match '[a-z]' 'a'':
printf '%s' 'a' >expect &&
git --icase-pathspecs ls-files -z -- '[a-z]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1790 - ipathmatch (via ls-files): match '[a-z]' 'a'
expecting success of 3070.1791 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing a
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 1791 - cleanup after previous file test
expecting success of 3070.1792 'setup match file test for a':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 1792 - setup match file test for a
expecting success of 3070.1793 'wildmatch: no match 'a' '[[:upper:]]'':
test_must_fail test-tool wildmatch wildmatch 'a' '[[:upper:]]'
ok 1793 - wildmatch: no match 'a' '[[:upper:]]'
expecting success of 3070.1794 'wildmatch (via ls-files): no match '[[:upper:]]' 'a'':
>expect &&
git --glob-pathspecs ls-files -z -- '[[:upper:]]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1794 - wildmatch (via ls-files): no match '[[:upper:]]' 'a'
expecting success of 3070.1795 'iwildmatch: match 'a' '[[:upper:]]'':
test-tool wildmatch iwildmatch 'a' '[[:upper:]]'
ok 1795 - iwildmatch: match 'a' '[[:upper:]]'
expecting success of 3070.1796 'iwildmatch (via ls-files): match '[[:upper:]]' 'a'':
printf '%s' 'a' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '[[:upper:]]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1796 - iwildmatch (via ls-files): match '[[:upper:]]' 'a'
expecting success of 3070.1797 'pathmatch: no match 'a' '[[:upper:]]'':
test_must_fail test-tool wildmatch pathmatch 'a' '[[:upper:]]'
ok 1797 - pathmatch: no match 'a' '[[:upper:]]'
expecting success of 3070.1798 'pathmatch (via ls-files): no match '[[:upper:]]' 'a'':
>expect &&
git ls-files -z -- '[[:upper:]]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1798 - pathmatch (via ls-files): no match '[[:upper:]]' 'a'
expecting success of 3070.1799 'ipathmatch: match 'a' '[[:upper:]]'':
test-tool wildmatch ipathmatch 'a' '[[:upper:]]'
ok 1799 - ipathmatch: match 'a' '[[:upper:]]'
expecting success of 3070.1800 'ipathmatch (via ls-files): match '[[:upper:]]' 'a'':
printf '%s' 'a' >expect &&
git --icase-pathspecs ls-files -z -- '[[:upper:]]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1800 - ipathmatch (via ls-files): match '[[:upper:]]' 'a'
expecting success of 3070.1801 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing a
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 1801 - cleanup after previous file test
expecting success of 3070.1802 'setup match file test for A':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 1802 - setup match file test for A
expecting success of 3070.1803 'wildmatch: match 'A' '[[:upper:]]'':
test-tool wildmatch wildmatch 'A' '[[:upper:]]'
ok 1803 - wildmatch: match 'A' '[[:upper:]]'
expecting success of 3070.1804 'wildmatch (via ls-files): match '[[:upper:]]' 'A'':
printf '%s' 'A' >expect &&
git --glob-pathspecs ls-files -z -- '[[:upper:]]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1804 - wildmatch (via ls-files): match '[[:upper:]]' 'A'
expecting success of 3070.1805 'iwildmatch: match 'A' '[[:upper:]]'':
test-tool wildmatch iwildmatch 'A' '[[:upper:]]'
ok 1805 - iwildmatch: match 'A' '[[:upper:]]'
expecting success of 3070.1806 'iwildmatch (via ls-files): match '[[:upper:]]' 'A'':
printf '%s' 'A' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '[[:upper:]]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1806 - iwildmatch (via ls-files): match '[[:upper:]]' 'A'
expecting success of 3070.1807 'pathmatch: match 'A' '[[:upper:]]'':
test-tool wildmatch pathmatch 'A' '[[:upper:]]'
ok 1807 - pathmatch: match 'A' '[[:upper:]]'
expecting success of 3070.1808 'pathmatch (via ls-files): match '[[:upper:]]' 'A'':
printf '%s' 'A' >expect &&
git ls-files -z -- '[[:upper:]]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1808 - pathmatch (via ls-files): match '[[:upper:]]' 'A'
expecting success of 3070.1809 'ipathmatch: match 'A' '[[:upper:]]'':
test-tool wildmatch ipathmatch 'A' '[[:upper:]]'
ok 1809 - ipathmatch: match 'A' '[[:upper:]]'
expecting success of 3070.1810 'ipathmatch (via ls-files): match '[[:upper:]]' 'A'':
printf '%s' 'A' >expect &&
git --icase-pathspecs ls-files -z -- '[[:upper:]]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1810 - ipathmatch (via ls-files): match '[[:upper:]]' 'A'
expecting success of 3070.1811 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing A
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 1811 - cleanup after previous file test
expecting success of 3070.1812 'setup match file test for A':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 1812 - setup match file test for A
expecting success of 3070.1813 'wildmatch: no match 'A' '[[:lower:]]'':
test_must_fail test-tool wildmatch wildmatch 'A' '[[:lower:]]'
ok 1813 - wildmatch: no match 'A' '[[:lower:]]'
expecting success of 3070.1814 'wildmatch (via ls-files): no match '[[:lower:]]' 'A'':
>expect &&
git --glob-pathspecs ls-files -z -- '[[:lower:]]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1814 - wildmatch (via ls-files): no match '[[:lower:]]' 'A'
expecting success of 3070.1815 'iwildmatch: match 'A' '[[:lower:]]'':
test-tool wildmatch iwildmatch 'A' '[[:lower:]]'
ok 1815 - iwildmatch: match 'A' '[[:lower:]]'
expecting success of 3070.1816 'iwildmatch (via ls-files): match '[[:lower:]]' 'A'':
printf '%s' 'A' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '[[:lower:]]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1816 - iwildmatch (via ls-files): match '[[:lower:]]' 'A'
expecting success of 3070.1817 'pathmatch: no match 'A' '[[:lower:]]'':
test_must_fail test-tool wildmatch pathmatch 'A' '[[:lower:]]'
ok 1817 - pathmatch: no match 'A' '[[:lower:]]'
expecting success of 3070.1818 'pathmatch (via ls-files): no match '[[:lower:]]' 'A'':
>expect &&
git ls-files -z -- '[[:lower:]]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1818 - pathmatch (via ls-files): no match '[[:lower:]]' 'A'
expecting success of 3070.1819 'ipathmatch: match 'A' '[[:lower:]]'':
test-tool wildmatch ipathmatch 'A' '[[:lower:]]'
ok 1819 - ipathmatch: match 'A' '[[:lower:]]'
expecting success of 3070.1820 'ipathmatch (via ls-files): match '[[:lower:]]' 'A'':
printf '%s' 'A' >expect &&
git --icase-pathspecs ls-files -z -- '[[:lower:]]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1820 - ipathmatch (via ls-files): match '[[:lower:]]' 'A'
expecting success of 3070.1821 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing A
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 1821 - cleanup after previous file test
expecting success of 3070.1822 'setup match file test for a':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 1822 - setup match file test for a
expecting success of 3070.1823 'wildmatch: match 'a' '[[:lower:]]'':
test-tool wildmatch wildmatch 'a' '[[:lower:]]'
ok 1823 - wildmatch: match 'a' '[[:lower:]]'
expecting success of 3070.1824 'wildmatch (via ls-files): match '[[:lower:]]' 'a'':
printf '%s' 'a' >expect &&
git --glob-pathspecs ls-files -z -- '[[:lower:]]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1824 - wildmatch (via ls-files): match '[[:lower:]]' 'a'
expecting success of 3070.1825 'iwildmatch: match 'a' '[[:lower:]]'':
test-tool wildmatch iwildmatch 'a' '[[:lower:]]'
ok 1825 - iwildmatch: match 'a' '[[:lower:]]'
expecting success of 3070.1826 'iwildmatch (via ls-files): match '[[:lower:]]' 'a'':
printf '%s' 'a' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '[[:lower:]]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1826 - iwildmatch (via ls-files): match '[[:lower:]]' 'a'
expecting success of 3070.1827 'pathmatch: match 'a' '[[:lower:]]'':
test-tool wildmatch pathmatch 'a' '[[:lower:]]'
ok 1827 - pathmatch: match 'a' '[[:lower:]]'
expecting success of 3070.1828 'pathmatch (via ls-files): match '[[:lower:]]' 'a'':
printf '%s' 'a' >expect &&
git ls-files -z -- '[[:lower:]]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1828 - pathmatch (via ls-files): match '[[:lower:]]' 'a'
expecting success of 3070.1829 'ipathmatch: match 'a' '[[:lower:]]'':
test-tool wildmatch ipathmatch 'a' '[[:lower:]]'
ok 1829 - ipathmatch: match 'a' '[[:lower:]]'
expecting success of 3070.1830 'ipathmatch (via ls-files): match '[[:lower:]]' 'a'':
printf '%s' 'a' >expect &&
git --icase-pathspecs ls-files -z -- '[[:lower:]]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1830 - ipathmatch (via ls-files): match '[[:lower:]]' 'a'
expecting success of 3070.1831 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing a
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 1831 - cleanup after previous file test
expecting success of 3070.1832 'setup match file test for A':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 1832 - setup match file test for A
expecting success of 3070.1833 'wildmatch: no match 'A' '[B-Za]'':
test_must_fail test-tool wildmatch wildmatch 'A' '[B-Za]'
ok 1833 - wildmatch: no match 'A' '[B-Za]'
expecting success of 3070.1834 'wildmatch (via ls-files): no match '[B-Za]' 'A'':
>expect &&
git --glob-pathspecs ls-files -z -- '[B-Za]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1834 - wildmatch (via ls-files): no match '[B-Za]' 'A'
expecting success of 3070.1835 'iwildmatch: match 'A' '[B-Za]'':
test-tool wildmatch iwildmatch 'A' '[B-Za]'
ok 1835 - iwildmatch: match 'A' '[B-Za]'
expecting success of 3070.1836 'iwildmatch (via ls-files): match '[B-Za]' 'A'':
printf '%s' 'A' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '[B-Za]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1836 - iwildmatch (via ls-files): match '[B-Za]' 'A'
expecting success of 3070.1837 'pathmatch: no match 'A' '[B-Za]'':
test_must_fail test-tool wildmatch pathmatch 'A' '[B-Za]'
ok 1837 - pathmatch: no match 'A' '[B-Za]'
expecting success of 3070.1838 'pathmatch (via ls-files): no match '[B-Za]' 'A'':
>expect &&
git ls-files -z -- '[B-Za]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1838 - pathmatch (via ls-files): no match '[B-Za]' 'A'
expecting success of 3070.1839 'ipathmatch: match 'A' '[B-Za]'':
test-tool wildmatch ipathmatch 'A' '[B-Za]'
ok 1839 - ipathmatch: match 'A' '[B-Za]'
expecting success of 3070.1840 'ipathmatch (via ls-files): match '[B-Za]' 'A'':
printf '%s' 'A' >expect &&
git --icase-pathspecs ls-files -z -- '[B-Za]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1840 - ipathmatch (via ls-files): match '[B-Za]' 'A'
expecting success of 3070.1841 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing A
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 1841 - cleanup after previous file test
expecting success of 3070.1842 'setup match file test for a':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 1842 - setup match file test for a
expecting success of 3070.1843 'wildmatch: match 'a' '[B-Za]'':
test-tool wildmatch wildmatch 'a' '[B-Za]'
ok 1843 - wildmatch: match 'a' '[B-Za]'
expecting success of 3070.1844 'wildmatch (via ls-files): match '[B-Za]' 'a'':
printf '%s' 'a' >expect &&
git --glob-pathspecs ls-files -z -- '[B-Za]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1844 - wildmatch (via ls-files): match '[B-Za]' 'a'
expecting success of 3070.1845 'iwildmatch: match 'a' '[B-Za]'':
test-tool wildmatch iwildmatch 'a' '[B-Za]'
ok 1845 - iwildmatch: match 'a' '[B-Za]'
expecting success of 3070.1846 'iwildmatch (via ls-files): match '[B-Za]' 'a'':
printf '%s' 'a' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '[B-Za]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1846 - iwildmatch (via ls-files): match '[B-Za]' 'a'
expecting success of 3070.1847 'pathmatch: match 'a' '[B-Za]'':
test-tool wildmatch pathmatch 'a' '[B-Za]'
ok 1847 - pathmatch: match 'a' '[B-Za]'
expecting success of 3070.1848 'pathmatch (via ls-files): match '[B-Za]' 'a'':
printf '%s' 'a' >expect &&
git ls-files -z -- '[B-Za]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1848 - pathmatch (via ls-files): match '[B-Za]' 'a'
expecting success of 3070.1849 'ipathmatch: match 'a' '[B-Za]'':
test-tool wildmatch ipathmatch 'a' '[B-Za]'
ok 1849 - ipathmatch: match 'a' '[B-Za]'
expecting success of 3070.1850 'ipathmatch (via ls-files): match '[B-Za]' 'a'':
printf '%s' 'a' >expect &&
git --icase-pathspecs ls-files -z -- '[B-Za]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1850 - ipathmatch (via ls-files): match '[B-Za]' 'a'
expecting success of 3070.1851 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing a
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 1851 - cleanup after previous file test
expecting success of 3070.1852 'setup match file test for A':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 1852 - setup match file test for A
expecting success of 3070.1853 'wildmatch: no match 'A' '[B-a]'':
test_must_fail test-tool wildmatch wildmatch 'A' '[B-a]'
ok 1853 - wildmatch: no match 'A' '[B-a]'
expecting success of 3070.1854 'wildmatch (via ls-files): no match '[B-a]' 'A'':
>expect &&
git --glob-pathspecs ls-files -z -- '[B-a]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1854 - wildmatch (via ls-files): no match '[B-a]' 'A'
expecting success of 3070.1855 'iwildmatch: match 'A' '[B-a]'':
test-tool wildmatch iwildmatch 'A' '[B-a]'
ok 1855 - iwildmatch: match 'A' '[B-a]'
expecting success of 3070.1856 'iwildmatch (via ls-files): match '[B-a]' 'A'':
printf '%s' 'A' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '[B-a]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1856 - iwildmatch (via ls-files): match '[B-a]' 'A'
expecting success of 3070.1857 'pathmatch: no match 'A' '[B-a]'':
test_must_fail test-tool wildmatch pathmatch 'A' '[B-a]'
ok 1857 - pathmatch: no match 'A' '[B-a]'
expecting success of 3070.1858 'pathmatch (via ls-files): no match '[B-a]' 'A'':
>expect &&
git ls-files -z -- '[B-a]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1858 - pathmatch (via ls-files): no match '[B-a]' 'A'
expecting success of 3070.1859 'ipathmatch: match 'A' '[B-a]'':
test-tool wildmatch ipathmatch 'A' '[B-a]'
ok 1859 - ipathmatch: match 'A' '[B-a]'
expecting success of 3070.1860 'ipathmatch (via ls-files): match '[B-a]' 'A'':
printf '%s' 'A' >expect &&
git --icase-pathspecs ls-files -z -- '[B-a]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1860 - ipathmatch (via ls-files): match '[B-a]' 'A'
expecting success of 3070.1861 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing A
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 1861 - cleanup after previous file test
expecting success of 3070.1862 'setup match file test for a':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 1862 - setup match file test for a
expecting success of 3070.1863 'wildmatch: match 'a' '[B-a]'':
test-tool wildmatch wildmatch 'a' '[B-a]'
ok 1863 - wildmatch: match 'a' '[B-a]'
expecting success of 3070.1864 'wildmatch (via ls-files): match '[B-a]' 'a'':
printf '%s' 'a' >expect &&
git --glob-pathspecs ls-files -z -- '[B-a]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1864 - wildmatch (via ls-files): match '[B-a]' 'a'
expecting success of 3070.1865 'iwildmatch: match 'a' '[B-a]'':
test-tool wildmatch iwildmatch 'a' '[B-a]'
ok 1865 - iwildmatch: match 'a' '[B-a]'
expecting success of 3070.1866 'iwildmatch (via ls-files): match '[B-a]' 'a'':
printf '%s' 'a' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '[B-a]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1866 - iwildmatch (via ls-files): match '[B-a]' 'a'
expecting success of 3070.1867 'pathmatch: match 'a' '[B-a]'':
test-tool wildmatch pathmatch 'a' '[B-a]'
ok 1867 - pathmatch: match 'a' '[B-a]'
expecting success of 3070.1868 'pathmatch (via ls-files): match '[B-a]' 'a'':
printf '%s' 'a' >expect &&
git ls-files -z -- '[B-a]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1868 - pathmatch (via ls-files): match '[B-a]' 'a'
expecting success of 3070.1869 'ipathmatch: match 'a' '[B-a]'':
test-tool wildmatch ipathmatch 'a' '[B-a]'
ok 1869 - ipathmatch: match 'a' '[B-a]'
expecting success of 3070.1870 'ipathmatch (via ls-files): match '[B-a]' 'a'':
printf '%s' 'a' >expect &&
git --icase-pathspecs ls-files -z -- '[B-a]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1870 - ipathmatch (via ls-files): match '[B-a]' 'a'
expecting success of 3070.1871 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing a
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
ok 1871 - cleanup after previous file test
expecting success of 3070.1872 'setup match file test for z':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 1872 - setup match file test for z
expecting success of 3070.1873 'wildmatch: no match 'z' '[Z-y]'':
test_must_fail test-tool wildmatch wildmatch 'z' '[Z-y]'
ok 1873 - wildmatch: no match 'z' '[Z-y]'
expecting success of 3070.1874 'wildmatch (via ls-files): no match '[Z-y]' 'z'':
>expect &&
git --glob-pathspecs ls-files -z -- '[Z-y]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1874 - wildmatch (via ls-files): no match '[Z-y]' 'z'
expecting success of 3070.1875 'iwildmatch: match 'z' '[Z-y]'':
test-tool wildmatch iwildmatch 'z' '[Z-y]'
ok 1875 - iwildmatch: match 'z' '[Z-y]'
expecting success of 3070.1876 'iwildmatch (via ls-files): match '[Z-y]' 'z'':
printf '%s' 'z' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '[Z-y]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1876 - iwildmatch (via ls-files): match '[Z-y]' 'z'
expecting success of 3070.1877 'pathmatch: no match 'z' '[Z-y]'':
test_must_fail test-tool wildmatch pathmatch 'z' '[Z-y]'
ok 1877 - pathmatch: no match 'z' '[Z-y]'
expecting success of 3070.1878 'pathmatch (via ls-files): no match '[Z-y]' 'z'':
>expect &&
git ls-files -z -- '[Z-y]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1878 - pathmatch (via ls-files): no match '[Z-y]' 'z'
expecting success of 3070.1879 'ipathmatch: match 'z' '[Z-y]'':
test-tool wildmatch ipathmatch 'z' '[Z-y]'
ok 1879 - ipathmatch: match 'z' '[Z-y]'
expecting success of 3070.1880 'ipathmatch (via ls-files): match '[Z-y]' 'z'':
printf '%s' 'z' >expect &&
git --icase-pathspecs ls-files -z -- '[Z-y]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1880 - ipathmatch (via ls-files): match '[Z-y]' 'z'
expecting success of 3070.1881 'cleanup after previous file test':
if test -e .git/created_test_file
then
git reset &&
git clean -df
fi
Removing actual
Removing actual.err
Removing actual.raw
Removing expect
Removing z
ok 1881 - cleanup after previous file test
expecting success of 3070.1882 'setup match file test for Z':
file=$(cat .git/expected_test_file) &&
if should_create_test_file "$file"
then
dirs=${file%/*}
if test "$file" != "$dirs"
then
mkdir -p -- "$dirs" &&
touch -- "./$text"
else
touch -- "./$file"
fi &&
git add -A &&
printf "%s" "$file" >.git/created_test_file
elif test -e .git/created_test_file
then
rm .git/created_test_file
fi
ok 1882 - setup match file test for Z
expecting success of 3070.1883 'wildmatch: match 'Z' '[Z-y]'':
test-tool wildmatch wildmatch 'Z' '[Z-y]'
ok 1883 - wildmatch: match 'Z' '[Z-y]'
expecting success of 3070.1884 'wildmatch (via ls-files): match '[Z-y]' 'Z'':
printf '%s' 'Z' >expect &&
git --glob-pathspecs ls-files -z -- '[Z-y]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1884 - wildmatch (via ls-files): match '[Z-y]' 'Z'
expecting success of 3070.1885 'iwildmatch: match 'Z' '[Z-y]'':
test-tool wildmatch iwildmatch 'Z' '[Z-y]'
ok 1885 - iwildmatch: match 'Z' '[Z-y]'
expecting success of 3070.1886 'iwildmatch (via ls-files): match '[Z-y]' 'Z'':
printf '%s' 'Z' >expect &&
git --glob-pathspecs --icase-pathspecs ls-files -z -- '[Z-y]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1886 - iwildmatch (via ls-files): match '[Z-y]' 'Z'
expecting success of 3070.1887 'pathmatch: match 'Z' '[Z-y]'':
test-tool wildmatch pathmatch 'Z' '[Z-y]'
ok 1887 - pathmatch: match 'Z' '[Z-y]'
expecting success of 3070.1888 'pathmatch (via ls-files): match '[Z-y]' 'Z'':
printf '%s' 'Z' >expect &&
git ls-files -z -- '[Z-y]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1888 - pathmatch (via ls-files): match '[Z-y]' 'Z'
expecting success of 3070.1889 'ipathmatch: match 'Z' '[Z-y]'':
test-tool wildmatch ipathmatch 'Z' '[Z-y]'
ok 1889 - ipathmatch: match 'Z' '[Z-y]'
expecting success of 3070.1890 'ipathmatch (via ls-files): match '[Z-y]' 'Z'':
printf '%s' 'Z' >expect &&
git --icase-pathspecs ls-files -z -- '[Z-y]' >actual.raw 2>actual.err &&
tr -d '\0' <actual.raw >actual &&
test_must_be_empty actual.err &&
test_cmp expect actual
ok 1890 - ipathmatch (via ls-files): match '[Z-y]' 'Z'
# still have 40 known breakage(s)
# passed all remaining 1850 test(s)
1..1890
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t3406-rebase-message.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3406-rebase-message/.git/
expecting success of 3406.1 'setup':
test_commit O fileO &&
test_commit X fileX &&
test_commit A fileA &&
test_commit B fileB &&
test_commit Y fileY &&
git checkout -b topic O &&
git cherry-pick A B &&
test_commit Z fileZ &&
git tag start
[master (root-commit) 3749684] O
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 fileO
[master a2df67f] X
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 fileX
[master 9491ce3] A
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 fileA
[master 83a6553] B
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 fileB
[master 545b0d0] Y
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 fileY
Switched to a new branch 'topic'
[topic 80ec5e8] A
Author: A U Thor <author@example.com>
Date: Thu Apr 7 15:15:13 2005 -0700
1 file changed, 1 insertion(+)
create mode 100644 fileA
[topic 4ff7882] B
Author: A U Thor <author@example.com>
Date: Thu Apr 7 15:16:13 2005 -0700
1 file changed, 1 insertion(+)
create mode 100644 fileB
[topic dd88760] Z
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 fileZ
ok 1 - setup
expecting success of 3406.2 'rebase -m':
git rebase -m master >actual &&
test_must_be_empty actual
Rebasing (1/1)
Successfully rebased and updated refs/heads/topic.
ok 2 - rebase -m
expecting success of 3406.3 'rebase against master twice':
git rebase --apply master >out &&
test_i18ngrep "Current branch topic is up to date" out
checking prerequisite: C_LOCALE_OUTPUT
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
! test_bool_env GIT_TEST_GETTEXT_POISON false
)
prerequisite C_LOCALE_OUTPUT ok
Current branch topic is up to date.
ok 3 - rebase against master twice
expecting success of 3406.4 'rebase against master twice with --force':
git rebase --force-rebase --apply master >out &&
test_i18ngrep "Current branch topic is up to date, rebase forced" out
Current branch topic is up to date, rebase forced.
ok 4 - rebase against master twice with --force
expecting success of 3406.5 'rebase against master twice from another branch':
git checkout topic^ &&
git rebase --apply master topic >out &&
test_i18ngrep "Current branch topic is up to date" out
Note: switching to 'topic^'.
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 <new-branch-name>
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
HEAD is now at 545b0d0 Y
Current branch topic is up to date.
ok 5 - rebase against master twice from another branch
expecting success of 3406.6 'rebase fast-forward to master':
git checkout topic^ &&
git rebase --apply topic >out &&
test_i18ngrep "Fast-forwarded HEAD to topic" out
Note: switching to 'topic^'.
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 <new-branch-name>
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
HEAD is now at 545b0d0 Y
Fast-forwarded HEAD to topic.
ok 6 - rebase fast-forward to master
expecting success of 3406.7 'rebase --stat':
git reset --hard start &&
git rebase --stat master >diffstat.txt &&
grep "^ fileX | *1 +$" diffstat.txt
HEAD is now at dd88760 Z
Rebasing (1/1)
Successfully rebased and updated detached HEAD.
fileX | 1 +
ok 7 - rebase --stat
expecting success of 3406.8 'rebase w/config rebase.stat':
git reset --hard start &&
git config rebase.stat true &&
git rebase master >diffstat.txt &&
grep "^ fileX | *1 +$" diffstat.txt
HEAD is now at dd88760 Z
Rebasing (1/1)
Successfully rebased and updated detached HEAD.
fileX | 1 +
ok 8 - rebase w/config rebase.stat
expecting success of 3406.9 'rebase -n overrides config rebase.stat config':
git reset --hard start &&
git config rebase.stat true &&
git rebase -n master >diffstat.txt &&
! grep "^ fileX | *1 +$" diffstat.txt
HEAD is now at dd88760 Z
Rebasing (1/1)
Successfully rebased and updated detached HEAD.
ok 9 - rebase -n overrides config rebase.stat config
expecting success of 3406.10 'rebase --onto outputs the invalid ref':
test_must_fail git rebase --onto invalid-ref HEAD HEAD 2>err &&
test_i18ngrep "invalid-ref" err
fatal: Does not point to a valid commit 'invalid-ref'
ok 10 - rebase --onto outputs the invalid ref
expecting success of 3406.11 'error out early upon -C<n> or --whitespace=<bad>':
test_must_fail git rebase -Cnot-a-number HEAD 2>err &&
test_i18ngrep "numerical value" err &&
test_must_fail git rebase --whitespace=bad HEAD 2>err &&
test_i18ngrep "Invalid whitespace option" err
fatal: switch `C' expects a numerical value
fatal: Invalid whitespace option: 'bad'
ok 11 - error out early upon -C<n> or --whitespace=<bad>
expecting success of 3406.12 'GIT_REFLOG_ACTION':
git checkout start &&
test_commit reflog-onto &&
git checkout -b reflog-topic start &&
test_commit reflog-to-rebase &&
git rebase reflog-onto &&
git log -g --format=%gs -3 >actual &&
cat >expect <<-\EOF &&
rebase (finish): returning to refs/heads/reflog-topic
rebase (pick): reflog-to-rebase
rebase (start): checkout reflog-onto
EOF
test_cmp expect actual &&
git checkout -b reflog-prefix reflog-to-rebase &&
GIT_REFLOG_ACTION=change-the-reflog git rebase reflog-onto &&
git log -g --format=%gs -3 >actual &&
cat >expect <<-\EOF &&
change-the-reflog (finish): returning to refs/heads/reflog-prefix
change-the-reflog (pick): reflog-to-rebase
change-the-reflog (start): checkout reflog-onto
EOF
test_cmp expect actual
Previous HEAD position was 102672f Z
HEAD is now at dd88760 Z
[detached HEAD de4658a] reflog-onto
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 reflog-onto.t
Previous HEAD position was de4658a reflog-onto
Switched to a new branch 'reflog-topic'
[reflog-topic d91d0e4] reflog-to-rebase
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 reflog-to-rebase.t
reflog-onto.t | 1 +
1 file changed, 1 insertion(+)
create mode 100644 reflog-onto.t
Rebasing (1/1)
Successfully rebased and updated refs/heads/reflog-topic.
Switched to a new branch 'reflog-prefix'
reflog-onto.t | 1 +
1 file changed, 1 insertion(+)
create mode 100644 reflog-onto.t
Rebasing (1/1)
Successfully rebased and updated refs/heads/reflog-prefix.
ok 12 - GIT_REFLOG_ACTION
expecting success of 3406.13 'rebase -i onto unrelated history':
git init unrelated &&
test_commit -C unrelated 1 &&
git -C unrelated remote add -f origin "$PWD" &&
git -C unrelated branch --set-upstream-to=origin/master &&
git -C unrelated -c core.editor=true rebase -i -v --stat >actual &&
test_i18ngrep "Changes to " actual &&
test_i18ngrep "5 files changed" actual
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3406-rebase-message/unrelated/.git/
[master (root-commit) 11730cb] 1
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 1.t
Updating origin
warning: no common commits
From /<<PKGBUILDDIR>>/t/trash directory.t3406-rebase-message
* [new branch] master -> origin/master
* [new branch] reflog-prefix -> origin/reflog-prefix
* [new branch] reflog-topic -> origin/reflog-topic
* [new branch] topic -> origin/topic
* [new tag] Y -> Y
* [new tag] A -> A
* [new tag] B -> B
* [new tag] O -> O
* [new tag] X -> X
* [new tag] Z -> Z
* [new tag] reflog-onto -> reflog-onto
* [new tag] start -> start
Branch 'master' set up to track remote branch 'master' from 'origin'.
Note: switching to '545b0d0a5d2af9b721d265dc5293dbb3418ab768'.
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 <new-branch-name>
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
HEAD is now at 545b0d0 Y
Rebasing (1/1)
Successfully rebased and updated refs/heads/master.
Changes to 545b0d0a5d2af9b721d265dc5293dbb3418ab768:
5 files changed, 5 insertions(+)
5 files changed, 5 insertions(+)
ok 13 - rebase -i onto unrelated history
# passed all 13 test(s)
1..13
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t3408-rebase-multi-line.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3408-rebase-multi-line/.git/
expecting success of 3408.1 'setup':
>file &&
git add file &&
test_tick &&
git commit -m initial &&
echo hello >file &&
test_tick &&
git commit -a -m "A sample commit log message that has a long
summary that spills over multiple lines.
But otherwise with a sane description." &&
git branch side &&
git reset --hard HEAD^ &&
>elif &&
git add elif &&
test_tick &&
git commit -m second &&
git checkout -b side2 &&
>afile &&
git add afile &&
test_tick &&
git commit -m third &&
echo hello >afile &&
test_tick &&
git commit -a -m fourth &&
git checkout -b side-merge &&
git reset --hard HEAD^^ &&
git merge --no-ff -m "A merge commit log message that has a long
summary that spills over multiple lines.
But otherwise with a sane description." side2 &&
git branch side-merge-original
[master (root-commit) 1bd44cb] initial
Author: A U Thor <author@example.com>
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 file
[master 1708bf0] A sample commit log message that has a long summary that spills over multiple lines.
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
HEAD is now at 1bd44cb initial
[master e79e348] second
Author: A U Thor <author@example.com>
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 elif
Switched to a new branch 'side2'
[side2 0c9638e] third
Author: A U Thor <author@example.com>
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 afile
[side2 5efd714] fourth
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
Switched to a new branch 'side-merge'
HEAD is now at e79e348 second
Merging:
e79e348 second
virtual side2
found 1 common ancestor:
e79e348 second
Merge made by the 'recursive' strategy.
afile | 1 +
1 file changed, 1 insertion(+)
create mode 100644 afile
ok 1 - setup
expecting success of 3408.2 'rebase':
git checkout side &&
git rebase master &&
git cat-file commit HEAD | sed -e "1,/^\$/d" >actual &&
git cat-file commit side@{1} | sed -e "1,/^\$/d" >expect &&
test_cmp expect actual
Switched to branch 'side'
Rebasing (1/1)
Successfully rebased and updated refs/heads/side.
ok 2 - rebase
checking prerequisite: REBASE_P
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
test -z "$GIT_TEST_SKIP_REBASE_P"
)
prerequisite REBASE_P ok
expecting success of 3408.3 'rebasep':
git checkout side-merge &&
git rebase -p side &&
git cat-file commit HEAD | sed -e "1,/^\$/d" >actual &&
git cat-file commit side-merge-original | sed -e "1,/^\$/d" >expect &&
test_cmp expect actual
Switched to branch 'side-merge'
warning: git rebase --preserve-merges is deprecated. Use --rebase-merges instead.
Rebasing (1/3)
Rebasing (2/3)
Rebasing (3/3)
Successfully rebased and updated refs/heads/side-merge.
ok 3 - rebasep
# passed all 3 test(s)
1..3
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t3407-rebase-abort.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3407-rebase-abort/.git/
expecting success of 3407.1 'setup':
mkdir -p "$work_dir" &&
cd "$work_dir" &&
git init &&
echo a > a &&
git add a &&
git commit -m a &&
git branch to-rebase &&
echo b > a &&
git commit -a -m b &&
echo c > a &&
git commit -a -m c &&
git checkout to-rebase &&
echo d > a &&
git commit -a -m "merge should fail on this" &&
echo e > a &&
git commit -a -m "merge should fail on this, too" &&
git branch pre-rebase
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3407-rebase-abort/test dir/.git/
[master (root-commit) 0fe17e7] a
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 a
[master 6d804e4] b
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
[master 44bb411] c
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
Switched to branch 'to-rebase'
[to-rebase f50d12a] merge should fail on this
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
[to-rebase 277bfcc] merge should fail on this, too
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
ok 1 - setup
expecting success of 3407.2 'rebase --apply --abort':
cd "$work_dir" &&
# Clean up the state from the previous one
git reset --hard pre-rebase &&
test_must_fail git rebase$type master &&
test_path_is_dir "$dotest" &&
git rebase --abort &&
test $(git rev-parse to-rebase) = $(git rev-parse pre-rebase) &&
test ! -d "$dotest"
HEAD is now at 277bfcc merge should fail on this, too
First, rewinding head to replay your work on top of it...
Applying: merge should fail on this
Using index info to reconstruct a base tree...
M a
Falling back to patching base and 3-way merge...
Merging:
44bb411 c
virtual merge should fail on this
found 1 common ancestor:
virtual aaff74984cccd156a469afa7d9ab10e4777beb24
Auto-merging a
CONFLICT (content): Merge conflict in a
error: Failed to merge in the changes.
hint: Use 'git am --show-current-patch=diff' to see the failed patch
Patch failed at 0001 merge should fail on this
Resolve all conflicts manually, mark them as resolved with
"git add/rm <conflicted_files>", then run "git rebase --continue".
You can instead skip this commit: run "git rebase --skip".
To abort and get back to the state before "git rebase", run "git rebase --abort".
ok 2 - rebase --apply --abort
expecting success of 3407.3 'rebase --apply --abort after --skip':
cd "$work_dir" &&
# Clean up the state from the previous one
git reset --hard pre-rebase &&
test_must_fail git rebase$type master &&
test_path_is_dir "$dotest" &&
test_must_fail git rebase --skip &&
test $(git rev-parse HEAD) = $(git rev-parse master) &&
git rebase --abort &&
test $(git rev-parse to-rebase) = $(git rev-parse pre-rebase) &&
test ! -d "$dotest"
HEAD is now at 277bfcc merge should fail on this, too
First, rewinding head to replay your work on top of it...
Applying: merge should fail on this
Using index info to reconstruct a base tree...
M a
Falling back to patching base and 3-way merge...
Merging:
44bb411 c
virtual merge should fail on this
found 1 common ancestor:
virtual aaff74984cccd156a469afa7d9ab10e4777beb24
Auto-merging a
CONFLICT (content): Merge conflict in a
error: Failed to merge in the changes.
hint: Use 'git am --show-current-patch=diff' to see the failed patch
Patch failed at 0001 merge should fail on this
Resolve all conflicts manually, mark them as resolved with
"git add/rm <conflicted_files>", then run "git rebase --continue".
You can instead skip this commit: run "git rebase --skip".
To abort and get back to the state before "git rebase", run "git rebase --abort".
Applying: merge should fail on this, too
Using index info to reconstruct a base tree...
M a
Falling back to patching base and 3-way merge...
Merging:
44bb411 c
virtual merge should fail on this, too
found 1 common ancestor:
virtual f788de73cfc81f8d734fa7efc658cc63ca083f50
Auto-merging a
CONFLICT (content): Merge conflict in a
error: Failed to merge in the changes.
hint: Use 'git am --show-current-patch=diff' to see the failed patch
Patch failed at 0002 merge should fail on this, too
Resolve all conflicts manually, mark them as resolved with
"git add/rm <conflicted_files>", then run "git rebase --continue".
You can instead skip this commit: run "git rebase --skip".
To abort and get back to the state before "git rebase", run "git rebase --abort".
ok 3 - rebase --apply --abort after --skip
expecting success of 3407.4 'rebase --apply --abort after --continue':
cd "$work_dir" &&
# Clean up the state from the previous one
git reset --hard pre-rebase &&
test_must_fail git rebase$type master &&
test_path_is_dir "$dotest" &&
echo c > a &&
echo d >> a &&
git add a &&
test_must_fail git rebase --continue &&
test $(git rev-parse HEAD) != $(git rev-parse master) &&
git rebase --abort &&
test $(git rev-parse to-rebase) = $(git rev-parse pre-rebase) &&
test ! -d "$dotest"
HEAD is now at 277bfcc merge should fail on this, too
First, rewinding head to replay your work on top of it...
Applying: merge should fail on this
Using index info to reconstruct a base tree...
M a
Falling back to patching base and 3-way merge...
Merging:
44bb411 c
virtual merge should fail on this
found 1 common ancestor:
virtual aaff74984cccd156a469afa7d9ab10e4777beb24
Auto-merging a
CONFLICT (content): Merge conflict in a
error: Failed to merge in the changes.
hint: Use 'git am --show-current-patch=diff' to see the failed patch
Patch failed at 0001 merge should fail on this
Resolve all conflicts manually, mark them as resolved with
"git add/rm <conflicted_files>", then run "git rebase --continue".
You can instead skip this commit: run "git rebase --skip".
To abort and get back to the state before "git rebase", run "git rebase --abort".
Applying: merge should fail on this
Applying: merge should fail on this, too
Using index info to reconstruct a base tree...
M a
Falling back to patching base and 3-way merge...
Merging:
1571d5a merge should fail on this
virtual merge should fail on this, too
found 1 common ancestor:
virtual f788de73cfc81f8d734fa7efc658cc63ca083f50
Auto-merging a
CONFLICT (content): Merge conflict in a
error: Failed to merge in the changes.
hint: Use 'git am --show-current-patch=diff' to see the failed patch
Patch failed at 0002 merge should fail on this, too
Resolve all conflicts manually, mark them as resolved with
"git add/rm <conflicted_files>", then run "git rebase --continue".
You can instead skip this commit: run "git rebase --skip".
To abort and get back to the state before "git rebase", run "git rebase --abort".
ok 4 - rebase --apply --abort after --continue
expecting success of 3407.5 'rebase --apply --abort does not update reflog':
cd "$work_dir" &&
# Clean up the state from the previous one
git reset --hard pre-rebase &&
git reflog show to-rebase > reflog_before &&
test_must_fail git rebase$type master &&
git rebase --abort &&
git reflog show to-rebase > reflog_after &&
test_cmp reflog_before reflog_after &&
rm reflog_before reflog_after
HEAD is now at 277bfcc merge should fail on this, too
First, rewinding head to replay your work on top of it...
Applying: merge should fail on this
Using index info to reconstruct a base tree...
M a
Falling back to patching base and 3-way merge...
Merging:
44bb411 c
virtual merge should fail on this
found 1 common ancestor:
virtual aaff74984cccd156a469afa7d9ab10e4777beb24
Auto-merging a
CONFLICT (content): Merge conflict in a
error: Failed to merge in the changes.
hint: Use 'git am --show-current-patch=diff' to see the failed patch
Patch failed at 0001 merge should fail on this
Resolve all conflicts manually, mark them as resolved with
"git add/rm <conflicted_files>", then run "git rebase --continue".
You can instead skip this commit: run "git rebase --skip".
To abort and get back to the state before "git rebase", run "git rebase --abort".
ok 5 - rebase --apply --abort does not update reflog
expecting success of 3407.6 'rebase --abort can not be used with other options':
cd "$work_dir" &&
# Clean up the state from the previous one
git reset --hard pre-rebase &&
test_must_fail git rebase$type master &&
test_must_fail git rebase -v --abort &&
test_must_fail git rebase --abort -v &&
git rebase --abort
HEAD is now at 277bfcc merge should fail on this, too
First, rewinding head to replay your work on top of it...
Applying: merge should fail on this
Using index info to reconstruct a base tree...
M a
Falling back to patching base and 3-way merge...
Merging:
44bb411 c
virtual merge should fail on this
found 1 common ancestor:
virtual aaff74984cccd156a469afa7d9ab10e4777beb24
Auto-merging a
CONFLICT (content): Merge conflict in a
error: Failed to merge in the changes.
hint: Use 'git am --show-current-patch=diff' to see the failed patch
Patch failed at 0001 merge should fail on this
Resolve all conflicts manually, mark them as resolved with
"git add/rm <conflicted_files>", then run "git rebase --continue".
You can instead skip this commit: run "git rebase --skip".
To abort and get back to the state before "git rebase", run "git rebase --abort".
usage: git rebase [-i] [options] [--exec <cmd>] [--onto <newbase> | --keep-base] [<upstream> [<branch>]]
or: git rebase [-i] [options] [--exec <cmd>] [--onto <newbase>] --root [<branch>]
or: git rebase --continue | --abort | --skip | --edit-todo
--onto <revision> rebase onto given branch instead of upstream
--keep-base use the merge-base of upstream and branch as the current base
--no-verify allow pre-rebase hook to run
-q, --quiet be quiet. implies --no-stat
-v, --verbose display a diffstat of what changed upstream
-n, --no-stat do not show diffstat of what changed upstream
--signoff add a Signed-off-by: line to each commit
--ignore-whitespace passed to 'git am'
--committer-date-is-author-date
passed to 'git am'
--ignore-date passed to 'git am'
-C <n> passed to 'git apply'
--whitespace <action>
passed to 'git apply'
-f, --force-rebase cherry-pick all commits, even if unchanged
--no-ff cherry-pick all commits, even if unchanged
--continue continue
--skip skip current patch and continue
--abort abort and check out the original branch
--quit abort but keep HEAD where it is
--edit-todo edit the todo list during an interactive rebase
--show-current-patch show the patch file being applied or merged
--apply use apply strategies to rebase
-m, --merge use merging strategies to rebase
-i, --interactive let the user edit the list of commits to rebase
--rerere-autoupdate update the index with reused conflict resolution if possible
--empty <{drop,keep,ask}>
how to handle commits that become empty
--autosquash move commits that begin with squash!/fixup! under -i
-S, --gpg-sign[=<key-id>]
GPG-sign commits
--autostash automatically stash/stash pop before and after
-x, --exec <exec> add exec lines after each commit of the editable list
-r, --rebase-merges[=<mode>]
try to rebase merges instead of skipping them
--fork-point use 'merge-base --fork-point' to refine upstream
-s, --strategy <strategy>
use the given merge strategy
-X, --strategy-option <option>
pass the argument through to the merge strategy
--root rebase all reachable commits up to the root(s)
--reschedule-failed-exec
automatically re-schedule any `exec` that fails
--reapply-cherry-picks
apply all changes, even those already present upstream
usage: git rebase [-i] [options] [--exec <cmd>] [--onto <newbase> | --keep-base] [<upstream> [<branch>]]
or: git rebase [-i] [options] [--exec <cmd>] [--onto <newbase>] --root [<branch>]
or: git rebase --continue | --abort | --skip | --edit-todo
--onto <revision> rebase onto given branch instead of upstream
--keep-base use the merge-base of upstream and branch as the current base
--no-verify allow pre-rebase hook to run
-q, --quiet be quiet. implies --no-stat
-v, --verbose display a diffstat of what changed upstream
-n, --no-stat do not show diffstat of what changed upstream
--signoff add a Signed-off-by: line to each commit
--ignore-whitespace passed to 'git am'
--committer-date-is-author-date
passed to 'git am'
--ignore-date passed to 'git am'
-C <n> passed to 'git apply'
--whitespace <action>
passed to 'git apply'
-f, --force-rebase cherry-pick all commits, even if unchanged
--no-ff cherry-pick all commits, even if unchanged
--continue continue
--skip skip current patch and continue
--abort abort and check out the original branch
--quit abort but keep HEAD where it is
--edit-todo edit the todo list during an interactive rebase
--show-current-patch show the patch file being applied or merged
--apply use apply strategies to rebase
-m, --merge use merging strategies to rebase
-i, --interactive let the user edit the list of commits to rebase
--rerere-autoupdate update the index with reused conflict resolution if possible
--empty <{drop,keep,ask}>
how to handle commits that become empty
--autosquash move commits that begin with squash!/fixup! under -i
-S, --gpg-sign[=<key-id>]
GPG-sign commits
--autostash automatically stash/stash pop before and after
-x, --exec <exec> add exec lines after each commit of the editable list
-r, --rebase-merges[=<mode>]
try to rebase merges instead of skipping them
--fork-point use 'merge-base --fork-point' to refine upstream
-s, --strategy <strategy>
use the given merge strategy
-X, --strategy-option <option>
pass the argument through to the merge strategy
--root rebase all reachable commits up to the root(s)
--reschedule-failed-exec
automatically re-schedule any `exec` that fails
--reapply-cherry-picks
apply all changes, even those already present upstream
ok 6 - rebase --abort can not be used with other options
expecting success of 3407.7 'rebase --merge --abort':
cd "$work_dir" &&
# Clean up the state from the previous one
git reset --hard pre-rebase &&
test_must_fail git rebase$type master &&
test_path_is_dir "$dotest" &&
git rebase --abort &&
test $(git rev-parse to-rebase) = $(git rev-parse pre-rebase) &&
test ! -d "$dotest"
HEAD is now at 277bfcc merge should fail on this, too
Rebasing (1/2)
error: could not apply f50d12a... merge should fail on this
Resolve all conflicts manually, mark them as resolved with
"git add/rm <conflicted_files>", then run "git rebase --continue".
You can instead skip this commit: run "git rebase --skip".
To abort and get back to the state before "git rebase", run "git rebase --abort".
Could not apply f50d12a... merge should fail on this
Auto-merging a
CONFLICT (content): Merge conflict in a
ok 7 - rebase --merge --abort
expecting success of 3407.8 'rebase --merge --abort after --skip':
cd "$work_dir" &&
# Clean up the state from the previous one
git reset --hard pre-rebase &&
test_must_fail git rebase$type master &&
test_path_is_dir "$dotest" &&
test_must_fail git rebase --skip &&
test $(git rev-parse HEAD) = $(git rev-parse master) &&
git rebase --abort &&
test $(git rev-parse to-rebase) = $(git rev-parse pre-rebase) &&
test ! -d "$dotest"
HEAD is now at 277bfcc merge should fail on this, too
Rebasing (1/2)
error: could not apply f50d12a... merge should fail on this
Resolve all conflicts manually, mark them as resolved with
"git add/rm <conflicted_files>", then run "git rebase --continue".
You can instead skip this commit: run "git rebase --skip".
To abort and get back to the state before "git rebase", run "git rebase --abort".
Could not apply f50d12a... merge should fail on this
Auto-merging a
CONFLICT (content): Merge conflict in a
Rebasing (2/2)
error: could not apply 277bfcc... merge should fail on this, too
Resolve all conflicts manually, mark them as resolved with
"git add/rm <conflicted_files>", then run "git rebase --continue".
You can instead skip this commit: run "git rebase --skip".
To abort and get back to the state before "git rebase", run "git rebase --abort".
Could not apply 277bfcc... merge should fail on this, too
Auto-merging a
CONFLICT (content): Merge conflict in a
ok 8 - rebase --merge --abort after --skip
expecting success of 3407.9 'rebase --merge --abort after --continue':
cd "$work_dir" &&
# Clean up the state from the previous one
git reset --hard pre-rebase &&
test_must_fail git rebase$type master &&
test_path_is_dir "$dotest" &&
echo c > a &&
echo d >> a &&
git add a &&
test_must_fail git rebase --continue &&
test $(git rev-parse HEAD) != $(git rev-parse master) &&
git rebase --abort &&
test $(git rev-parse to-rebase) = $(git rev-parse pre-rebase) &&
test ! -d "$dotest"
HEAD is now at 277bfcc merge should fail on this, too
Rebasing (1/2)
error: could not apply f50d12a... merge should fail on this
Resolve all conflicts manually, mark them as resolved with
"git add/rm <conflicted_files>", then run "git rebase --continue".
You can instead skip this commit: run "git rebase --skip".
To abort and get back to the state before "git rebase", run "git rebase --abort".
Could not apply f50d12a... merge should fail on this
Auto-merging a
CONFLICT (content): Merge conflict in a
[detached HEAD b5a18c3] merge should fail on this
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
Rebasing (2/2)
error: could not apply 277bfcc... merge should fail on this, too
Resolve all conflicts manually, mark them as resolved with
"git add/rm <conflicted_files>", then run "git rebase --continue".
You can instead skip this commit: run "git rebase --skip".
To abort and get back to the state before "git rebase", run "git rebase --abort".
Could not apply 277bfcc... merge should fail on this, too
Auto-merging a
CONFLICT (content): Merge conflict in a
ok 9 - rebase --merge --abort after --continue
expecting success of 3407.10 'rebase --merge --abort does not update reflog':
cd "$work_dir" &&
# Clean up the state from the previous one
git reset --hard pre-rebase &&
git reflog show to-rebase > reflog_before &&
test_must_fail git rebase$type master &&
git rebase --abort &&
git reflog show to-rebase > reflog_after &&
test_cmp reflog_before reflog_after &&
rm reflog_before reflog_after
HEAD is now at 277bfcc merge should fail on this, too
Rebasing (1/2)
error: could not apply f50d12a... merge should fail on this
Resolve all conflicts manually, mark them as resolved with
"git add/rm <conflicted_files>", then run "git rebase --continue".
You can instead skip this commit: run "git rebase --skip".
To abort and get back to the state before "git rebase", run "git rebase --abort".
Could not apply f50d12a... merge should fail on this
Auto-merging a
CONFLICT (content): Merge conflict in a
ok 10 - rebase --merge --abort does not update reflog
expecting success of 3407.11 'rebase --abort can not be used with other options':
cd "$work_dir" &&
# Clean up the state from the previous one
git reset --hard pre-rebase &&
test_must_fail git rebase$type master &&
test_must_fail git rebase -v --abort &&
test_must_fail git rebase --abort -v &&
git rebase --abort
HEAD is now at 277bfcc merge should fail on this, too
Rebasing (1/2)
error: could not apply f50d12a... merge should fail on this
Resolve all conflicts manually, mark them as resolved with
"git add/rm <conflicted_files>", then run "git rebase --continue".
You can instead skip this commit: run "git rebase --skip".
To abort and get back to the state before "git rebase", run "git rebase --abort".
Could not apply f50d12a... merge should fail on this
Auto-merging a
CONFLICT (content): Merge conflict in a
usage: git rebase [-i] [options] [--exec <cmd>] [--onto <newbase> | --keep-base] [<upstream> [<branch>]]
or: git rebase [-i] [options] [--exec <cmd>] [--onto <newbase>] --root [<branch>]
or: git rebase --continue | --abort | --skip | --edit-todo
--onto <revision> rebase onto given branch instead of upstream
--keep-base use the merge-base of upstream and branch as the current base
--no-verify allow pre-rebase hook to run
-q, --quiet be quiet. implies --no-stat
-v, --verbose display a diffstat of what changed upstream
-n, --no-stat do not show diffstat of what changed upstream
--signoff add a Signed-off-by: line to each commit
--ignore-whitespace passed to 'git am'
--committer-date-is-author-date
passed to 'git am'
--ignore-date passed to 'git am'
-C <n> passed to 'git apply'
--whitespace <action>
passed to 'git apply'
-f, --force-rebase cherry-pick all commits, even if unchanged
--no-ff cherry-pick all commits, even if unchanged
--continue continue
--skip skip current patch and continue
--abort abort and check out the original branch
--quit abort but keep HEAD where it is
--edit-todo edit the todo list during an interactive rebase
--show-current-patch show the patch file being applied or merged
--apply use apply strategies to rebase
-m, --merge use merging strategies to rebase
-i, --interactive let the user edit the list of commits to rebase
--rerere-autoupdate update the index with reused conflict resolution if possible
--empty <{drop,keep,ask}>
how to handle commits that become empty
--autosquash move commits that begin with squash!/fixup! under -i
-S, --gpg-sign[=<key-id>]
GPG-sign commits
--autostash automatically stash/stash pop before and after
-x, --exec <exec> add exec lines after each commit of the editable list
-r, --rebase-merges[=<mode>]
try to rebase merges instead of skipping them
--fork-point use 'merge-base --fork-point' to refine upstream
-s, --strategy <strategy>
use the given merge strategy
-X, --strategy-option <option>
pass the argument through to the merge strategy
--root rebase all reachable commits up to the root(s)
--reschedule-failed-exec
automatically re-schedule any `exec` that fails
--reapply-cherry-picks
apply all changes, even those already present upstream
usage: git rebase [-i] [options] [--exec <cmd>] [--onto <newbase> | --keep-base] [<upstream> [<branch>]]
or: git rebase [-i] [options] [--exec <cmd>] [--onto <newbase>] --root [<branch>]
or: git rebase --continue | --abort | --skip | --edit-todo
--onto <revision> rebase onto given branch instead of upstream
--keep-base use the merge-base of upstream and branch as the current base
--no-verify allow pre-rebase hook to run
-q, --quiet be quiet. implies --no-stat
-v, --verbose display a diffstat of what changed upstream
-n, --no-stat do not show diffstat of what changed upstream
--signoff add a Signed-off-by: line to each commit
--ignore-whitespace passed to 'git am'
--committer-date-is-author-date
passed to 'git am'
--ignore-date passed to 'git am'
-C <n> passed to 'git apply'
--whitespace <action>
passed to 'git apply'
-f, --force-rebase cherry-pick all commits, even if unchanged
--no-ff cherry-pick all commits, even if unchanged
--continue continue
--skip skip current patch and continue
--abort abort and check out the original branch
--quit abort but keep HEAD where it is
--edit-todo edit the todo list during an interactive rebase
--show-current-patch show the patch file being applied or merged
--apply use apply strategies to rebase
-m, --merge use merging strategies to rebase
-i, --interactive let the user edit the list of commits to rebase
--rerere-autoupdate update the index with reused conflict resolution if possible
--empty <{drop,keep,ask}>
how to handle commits that become empty
--autosquash move commits that begin with squash!/fixup! under -i
-S, --gpg-sign[=<key-id>]
GPG-sign commits
--autostash automatically stash/stash pop before and after
-x, --exec <exec> add exec lines after each commit of the editable list
-r, --rebase-merges[=<mode>]
try to rebase merges instead of skipping them
--fork-point use 'merge-base --fork-point' to refine upstream
-s, --strategy <strategy>
use the given merge strategy
-X, --strategy-option <option>
pass the argument through to the merge strategy
--root rebase all reachable commits up to the root(s)
--reschedule-failed-exec
automatically re-schedule any `exec` that fails
--reapply-cherry-picks
apply all changes, even those already present upstream
ok 11 - rebase --abort can not be used with other options
expecting success of 3407.12 'rebase --apply --quit':
cd "$work_dir" &&
# Clean up the state from the previous one
git reset --hard pre-rebase &&
test_must_fail git rebase --apply master &&
test_path_is_dir .git/rebase-apply &&
head_before=$(git rev-parse HEAD) &&
git rebase --quit &&
test $(git rev-parse HEAD) = $head_before &&
test ! -d .git/rebase-apply
HEAD is now at 277bfcc merge should fail on this, too
First, rewinding head to replay your work on top of it...
Applying: merge should fail on this
Using index info to reconstruct a base tree...
M a
Falling back to patching base and 3-way merge...
Merging:
44bb411 c
virtual merge should fail on this
found 1 common ancestor:
virtual aaff74984cccd156a469afa7d9ab10e4777beb24
Auto-merging a
CONFLICT (content): Merge conflict in a
error: Failed to merge in the changes.
hint: Use 'git am --show-current-patch=diff' to see the failed patch
Patch failed at 0001 merge should fail on this
Resolve all conflicts manually, mark them as resolved with
"git add/rm <conflicted_files>", then run "git rebase --continue".
You can instead skip this commit: run "git rebase --skip".
To abort and get back to the state before "git rebase", run "git rebase --abort".
ok 12 - rebase --apply --quit
expecting success of 3407.13 'rebase --merge --quit':
cd "$work_dir" &&
# Clean up the state from the previous one
git reset --hard pre-rebase &&
test_must_fail git rebase --merge master &&
test_path_is_dir .git/rebase-merge &&
head_before=$(git rev-parse HEAD) &&
git rebase --quit &&
test $(git rev-parse HEAD) = $head_before &&
test ! -d .git/rebase-merge
HEAD is now at 277bfcc merge should fail on this, too
Rebasing (1/2)
error: could not apply f50d12a... merge should fail on this
Resolve all conflicts manually, mark them as resolved with
"git add/rm <conflicted_files>", then run "git rebase --continue".
You can instead skip this commit: run "git rebase --skip".
To abort and get back to the state before "git rebase", run "git rebase --abort".
Could not apply f50d12a... merge should fail on this
Auto-merging a
CONFLICT (content): Merge conflict in a
ok 13 - rebase --merge --quit
# passed all 13 test(s)
1..13
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t3305-notes-fanout.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3305-notes-fanout/.git/
expecting success of 3305.1 'tweak test environment':
git checkout -b nondeterminism &&
test_commit A &&
git checkout --orphan with_notes;
Switched to a new branch 'nondeterminism'
[nondeterminism (root-commit) 0ddfaf1] A
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 A.t
Switched to a new branch 'with_notes'
ok 1 - tweak test environment
expecting success of 3305.2 'creating many notes with git-notes':
num_notes=300 &&
i=0 &&
while test $i -lt $num_notes
do
i=$(($i + 1)) &&
test_tick &&
echo "file for commit #$i" > file &&
git add file &&
git commit -q -m "commit #$i" &&
git notes add -m "note #$i" || return 1
done
ok 2 - creating many notes with git-notes
expecting success of 3305.3 'many notes created correctly with git-notes':
git log | grep "^ " > output &&
i=$num_notes &&
while test $i -gt 0
do
echo " commit #$i" &&
echo " note #$i" &&
i=$(($i - 1));
done > expect &&
test_cmp expect output
ok 3 - many notes created correctly with git-notes
expecting success of 3305.4 'stable fanout 0 is followed by stable fanout 1':
i=$num_notes &&
fanout=0 &&
while test $i -gt 0
do
i=$(($i - 1)) &&
if touched_one_note_with_fanout refs/notes/commits~$i A $fanout
then
continue
elif test $fanout -eq 0
then
fanout=1 &&
if all_notes_have_fanout refs/notes/commits~$i $fanout
then
echo "Fanout 0 -> 1 at refs/notes/commits~$i" &&
continue
fi
fi &&
echo "Failed fanout=$fanout check at refs/notes/commits~$i" &&
git ls-tree -r --name-only refs/notes/commits~$i &&
return 1
done &&
all_notes_have_fanout refs/notes/commits 1
Fanout 0 -> 1 at refs/notes/commits~202
ok 4 - stable fanout 0 is followed by stable fanout 1
expecting success of 3305.5 'deleting most notes with git-notes':
remove_notes=285 &&
i=0 &&
git rev-list HEAD |
while test $i -lt $remove_notes && read sha1
do
i=$(($i + 1)) &&
test_tick &&
git notes remove "$sha1" 2>/dev/null || return 1
done
ok 5 - deleting most notes with git-notes
expecting success of 3305.6 'most notes deleted correctly with git-notes':
git log HEAD~$remove_notes | grep "^ " > output &&
i=$(($num_notes - $remove_notes)) &&
while test $i -gt 0
do
echo " commit #$i" &&
echo " note #$i" &&
i=$(($i - 1));
done > expect &&
test_cmp expect output
ok 6 - most notes deleted correctly with git-notes
expecting success of 3305.7 'stable fanout 1 is followed by stable fanout 0':
i=$remove_notes &&
fanout=1 &&
while test $i -gt 0
do
i=$(($i - 1)) &&
if touched_one_note_with_fanout refs/notes/commits~$i D $fanout
then
continue
elif test $fanout -eq 1
then
fanout=0 &&
if all_notes_have_fanout refs/notes/commits~$i $fanout
then
echo "Fanout 1 -> 0 at refs/notes/commits~$i" &&
continue
fi
fi &&
echo "Failed fanout=$fanout check at refs/notes/commits~$i" &&
git ls-tree -r --name-only refs/notes/commits~$i &&
return 1
done &&
all_notes_have_fanout refs/notes/commits 0
Fanout 1 -> 0 at refs/notes/commits~43
ok 7 - stable fanout 1 is followed by stable fanout 0
# passed all 7 test(s)
1..7
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t3410-rebase-preserve-dropped-merges.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3410-rebase-preserve-dropped-merges/.git/
checking prerequisite: REBASE_P
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
test -z "$GIT_TEST_SKIP_REBASE_P"
)
prerequisite REBASE_P ok
expecting success of 3410.1 'setup':
test_commit A file1 &&
test_commit B file1 1 &&
test_commit C file2 &&
test_commit D file1 2 &&
test_commit E file3 &&
git checkout A &&
test_commit F file4 &&
test_commit G file1 3 &&
test_commit H file5 &&
git checkout F &&
test_commit I file6
[master (root-commit) 6e62bf8] A
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 file1
[master 5c95b17] B
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
[master 7be4cc1] C
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 file2
[master 3d13cae] D
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
[master 1fe5a44] E
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 file3
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
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 <new-branch-name>
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
HEAD is now at 6e62bf8 A
[detached HEAD cfefd94] F
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 file4
[detached HEAD 66ee775] G
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
[detached HEAD 25e63b2] H
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 file5
Previous HEAD position was 25e63b2 H
HEAD is now at cfefd94 F
[detached HEAD 615be62] I
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 file6
ok 1 - setup
expecting success of 3410.2 'skip same-resolution merges with -p':
git checkout H &&
test_must_fail git merge E &&
test_commit L file1 23 &&
git checkout I &&
test_commit G2 file1 3 &&
test_must_fail git merge E &&
test_commit J file1 23 &&
test_commit K file7 file7 &&
git rebase -i -p L &&
test $(git rev-parse HEAD^^) = $(git rev-parse L) &&
test "23" = "$(cat file1)" &&
test "I" = "$(cat file6)" &&
test "file7" = "$(cat file7)"
Previous HEAD position was 615be62 I
HEAD is now at 25e63b2 H
Merging:
25e63b2 H
virtual E
found 1 common ancestor:
6e62bf8 A
Auto-merging file1
CONFLICT (content): Merge conflict in file1
Automatic merge failed; fix conflicts and then commit the result.
[detached HEAD 70a312a] L
Author: A U Thor <author@example.com>
Previous HEAD position was 70a312a L
HEAD is now at 615be62 I
[detached HEAD 93b50ed] G2
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
Merging:
93b50ed G2
virtual E
found 1 common ancestor:
6e62bf8 A
Auto-merging file1
CONFLICT (content): Merge conflict in file1
Automatic merge failed; fix conflicts and then commit the result.
[detached HEAD 6b192df] J
Author: A U Thor <author@example.com>
[detached HEAD 273eec6] K
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 file7
warning: git rebase --preserve-merges is deprecated. Use --rebase-merges instead.
Rebasing (1/3)
Rebasing (2/3)
Rebasing (3/3)
Successfully rebased and updated detached HEAD.
ok 2 - skip same-resolution merges with -p
expecting success of 3410.3 'keep different-resolution merges with -p':
git checkout H &&
test_must_fail git merge E &&
test_commit L2 file1 23 &&
git checkout I &&
test_commit G3 file1 4 &&
test_must_fail git merge E &&
test_commit J2 file1 24 &&
test_commit K2 file7 file7 &&
test_must_fail git rebase -i -p L2 &&
echo 234 > file1 &&
git add file1 &&
git rebase --continue &&
test $(git rev-parse HEAD^^^) = $(git rev-parse L2) &&
test "234" = "$(cat file1)" &&
test "I" = "$(cat file6)" &&
test "file7" = "$(cat file7)"
Warning: you are leaving 2 commits behind, not connected to
any of your branches:
519f02c K
e785c42 I
If you want to keep them by creating a new branch, this may be a good time
to do so with:
git branch <new-branch-name> 519f02c
HEAD is now at 25e63b2 H
Merging:
25e63b2 H
virtual E
found 1 common ancestor:
6e62bf8 A
Auto-merging file1
CONFLICT (content): Merge conflict in file1
Automatic merge failed; fix conflicts and then commit the result.
[detached HEAD 4c4dd24] L2
Author: A U Thor <author@example.com>
Previous HEAD position was 4c4dd24 L2
HEAD is now at 615be62 I
[detached HEAD 6e00aee] G3
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
Merging:
6e00aee G3
virtual E
found 1 common ancestor:
6e62bf8 A
Auto-merging file1
CONFLICT (content): Merge conflict in file1
Automatic merge failed; fix conflicts and then commit the result.
[detached HEAD 4917c92] J2
Author: A U Thor <author@example.com>
[detached HEAD c670ef0] K2
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 file7
warning: git rebase --preserve-merges is deprecated. Use --rebase-merges instead.
Rebasing (1/4)
Rebasing (2/4)
Auto-merging file1
CONFLICT (content): Merge conflict in file1
error: could not apply 6e00aee... G3
Resolve all conflicts manually, mark them as resolved with
"git add/rm <conflicted_files>", then run "git rebase --continue".
You can instead skip this commit: run "git rebase --skip".
To abort and get back to the state before "git rebase", run "git rebase --abort".
Could not pick 6e00aee07e42a4daf7ffd5d296964868ea26ad79
warning: git rebase --preserve-merges is deprecated. Use --rebase-merges instead.
[detached HEAD ff7174a] G3
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
Rebasing (3/4)
Rebasing (4/4)
Successfully rebased and updated detached HEAD.
ok 3 - keep different-resolution merges with -p
# passed all 3 test(s)
1..3
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t3409-rebase-preserve-merges.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3409-rebase-preserve-merges/.git/
checking prerequisite: REBASE_P
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
test -z "$GIT_TEST_SKIP_REBASE_P"
)
prerequisite REBASE_P ok
expecting success of 3409.1 'setup for merge-preserving rebase': echo First > A &&
git add A &&
git commit -m "Add A1" &&
git checkout -b topic &&
echo Second > B &&
git add B &&
git commit -m "Add B1" &&
git checkout -f master &&
echo Third >> A &&
git commit -a -m "Modify A2" &&
echo Fifth > B &&
git add B &&
git commit -m "Add different B" &&
git clone ./. clone2 &&
(
cd clone2 &&
git checkout -b topic origin/topic &&
test_must_fail git merge origin/master &&
echo Resolved >B &&
git add B &&
git commit -m "Merge origin/master into topic"
) &&
git clone ./. clone3 &&
(
cd clone3 &&
git checkout -b topic2 origin/topic &&
echo Sixth > A &&
git commit -a -m "Modify A3" &&
git checkout -b topic origin/topic &&
git merge --no-ff topic2
) &&
git clone ./. clone4 &&
(
cd clone4 &&
git checkout -b topic2 origin/topic &&
echo Sixth > A &&
git commit -a -m "Modify A3" &&
git checkout -b topic origin/topic &&
git merge --no-ff topic2
) &&
git checkout topic &&
echo Fourth >> B &&
git commit -a -m "Modify B2"
[master (root-commit) 11cd701] Add A1
Author: A U Thor <bogus_email_address>
1 file changed, 1 insertion(+)
create mode 100644 A
Switched to a new branch 'topic'
[topic 02f9125] Add B1
Author: A U Thor <bogus_email_address>
1 file changed, 1 insertion(+)
create mode 100644 B
Switched to branch 'master'
[master 5c5393d] Modify A2
Author: A U Thor <bogus_email_address>
1 file changed, 1 insertion(+)
[master a10d299] Add different B
Author: A U Thor <bogus_email_address>
1 file changed, 1 insertion(+)
create mode 100644 B
Cloning into 'clone2'...
done.
Switched to a new branch 'topic'
Branch 'topic' set up to track remote branch 'topic' from 'origin'.
Merging:
02f9125 Add B1
virtual origin/master
found 1 common ancestor:
11cd701 Add A1
CONFLICT (add/add): Merge conflict in B
Auto-merging B
Automatic merge failed; fix conflicts and then commit the result.
[topic b708517] Merge origin/master into topic
Author: A U Thor <bogus_email_address>
Cloning into 'clone3'...
done.
Switched to a new branch 'topic2'
Branch 'topic2' set up to track remote branch 'topic' from 'origin'.
[topic2 d655de2] Modify A3
Author: A U Thor <bogus_email_address>
1 file changed, 1 insertion(+), 1 deletion(-)
Switched to a new branch 'topic'
Branch 'topic' set up to track remote branch 'topic' from 'origin'.
Merging:
02f9125 Add B1
virtual topic2
found 1 common ancestor:
02f9125 Add B1
Merge made by the 'recursive' strategy.
A | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Cloning into 'clone4'...
done.
Switched to a new branch 'topic2'
Branch 'topic2' set up to track remote branch 'topic' from 'origin'.
[topic2 d655de2] Modify A3
Author: A U Thor <bogus_email_address>
1 file changed, 1 insertion(+), 1 deletion(-)
Switched to a new branch 'topic'
Branch 'topic' set up to track remote branch 'topic' from 'origin'.
Merging:
02f9125 Add B1
virtual topic2
found 1 common ancestor:
02f9125 Add B1
Merge made by the 'recursive' strategy.
A | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Switched to branch 'topic'
[topic 7865e0b] Modify B2
Author: A U Thor <bogus_email_address>
1 file changed, 1 insertion(+)
ok 1 - setup for merge-preserving rebase
expecting success of 3409.2 '--continue works after a conflict':
(
cd clone2 &&
git fetch &&
test_must_fail git rebase -p origin/topic &&
test 2 = $(git ls-files B | wc -l) &&
echo Resolved again > B &&
test_must_fail git rebase --continue &&
grep "^@@@ " .git/rebase-merge/patch &&
git add B &&
git rebase --continue &&
test 1 = $(git rev-list --all --pretty=oneline | grep "Modify A" | wc -l) &&
test 1 = $(git rev-list --all --pretty=oneline | grep "Add different" | wc -l) &&
test 1 = $(git rev-list --all --pretty=oneline | grep "Merge origin" | wc -l)
)
From /<<PKGBUILDDIR>>/t/trash directory.t3409-rebase-preserve-merges/./.
02f9125..7865e0b topic -> origin/topic
warning: git rebase --preserve-merges is deprecated. Use --rebase-merges instead.
Rebasing (1/1)
Merging:
7865e0b Modify B2
virtual a10d299ce71aad6abef5302c4661c0c26f53336e
found 1 common ancestor:
11cd701 Add A1
CONFLICT (add/add): Merge conflict in B
Auto-merging B
Automatic merge failed; fix conflicts and then commit the result.
Error redoing merge b708517be89ff85145dbace9b0fb9dc9faaa146e
warning: git rebase --preserve-merges is deprecated. Use --rebase-merges instead.
B: needs merge
You must edit all merge conflicts and then
mark them as resolved using git add
@@@ -1,1 -1,1 +1,1 @@@
warning: git rebase --preserve-merges is deprecated. Use --rebase-merges instead.
[detached HEAD 38a5e72] Merge origin/master into topic
Author: A U Thor <bogus_email_address>
Rebasing (1/1)
Successfully rebased and updated refs/heads/topic.
ok 2 - --continue works after a conflict
expecting success of 3409.3 'rebase -p preserves no-ff merges':
(
cd clone3 &&
git fetch &&
git rebase -p origin/topic &&
test 3 = $(git rev-list --all --pretty=oneline | grep "Modify A" | wc -l) &&
test 1 = $(git rev-list --all --pretty=oneline | grep "Merge branch" | wc -l)
)
From /<<PKGBUILDDIR>>/t/trash directory.t3409-rebase-preserve-merges/./.
02f9125..7865e0b topic -> origin/topic
warning: git rebase --preserve-merges is deprecated. Use --rebase-merges instead.
Rebasing (1/2)
Rebasing (2/2)
Successfully rebased and updated refs/heads/topic.
ok 3 - rebase -p preserves no-ff merges
expecting success of 3409.4 'rebase -p ignores merge.log config':
(
cd clone4 &&
git fetch &&
git -c merge.log=1 rebase -p origin/topic &&
echo >expected &&
git log --format="%b" -1 >current &&
test_cmp expected current
)
From /<<PKGBUILDDIR>>/t/trash directory.t3409-rebase-preserve-merges/./.
02f9125..7865e0b topic -> origin/topic
warning: git rebase --preserve-merges is deprecated. Use --rebase-merges instead.
Rebasing (1/2)
Rebasing (2/2)
Successfully rebased and updated refs/heads/topic.
ok 4 - rebase -p ignores merge.log config
# passed all 4 test(s)
1..4
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t3413-rebase-hook.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3413-rebase-hook/.git/
expecting success of 3413.1 'setup':
echo hello >file &&
git add file &&
test_tick &&
git commit -m initial &&
echo goodbye >file &&
git add file &&
test_tick &&
git commit -m second &&
git checkout -b side HEAD^ &&
echo world >git &&
git add git &&
test_tick &&
git commit -m side &&
git checkout master &&
git log --pretty=oneline --abbrev-commit --graph --all &&
git branch test side
[master (root-commit) 6637599] initial
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 file
[master 20a11a4] second
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
Switched to a new branch 'side'
[side c847452] side
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 git
Switched to branch 'master'
* c847452 side
| * 20a11a4 second
|/
* 6637599 initial
ok 1 - setup
expecting success of 3413.2 'rebase':
git checkout test &&
git reset --hard side &&
git rebase master &&
test "z$(cat git)" = zworld
Switched to branch 'test'
HEAD is now at c847452 side
Rebasing (1/1)
Successfully rebased and updated refs/heads/test.
ok 2 - rebase
expecting success of 3413.3 'rebase -i':
git checkout test &&
git reset --hard side &&
EDITOR=true git rebase -i master &&
test "z$(cat git)" = zworld
Already on 'test'
HEAD is now at c847452 side
Rebasing (1/1)
Successfully rebased and updated refs/heads/test.
ok 3 - rebase -i
expecting success of 3413.4 'setup pre-rebase hook':
mkdir -p .git/hooks &&
cat >.git/hooks/pre-rebase <<EOF &&
#!$SHELL_PATH
echo "\$1,\$2" >.git/PRE-REBASE-INPUT
EOF
chmod +x .git/hooks/pre-rebase
ok 4 - setup pre-rebase hook
expecting success of 3413.5 'pre-rebase hook gets correct input (1)':
git checkout test &&
git reset --hard side &&
git rebase master &&
test "z$(cat git)" = zworld &&
test "z$(cat .git/PRE-REBASE-INPUT)" = zmaster,
Already on 'test'
HEAD is now at c847452 side
Rebasing (1/1)
Successfully rebased and updated refs/heads/test.
ok 5 - pre-rebase hook gets correct input (1)
expecting success of 3413.6 'pre-rebase hook gets correct input (2)':
git checkout test &&
git reset --hard side &&
git rebase master test &&
test "z$(cat git)" = zworld &&
test "z$(cat .git/PRE-REBASE-INPUT)" = zmaster,test
Already on 'test'
HEAD is now at c847452 side
Rebasing (1/1)
Successfully rebased and updated refs/heads/test.
ok 6 - pre-rebase hook gets correct input (2)
expecting success of 3413.7 'pre-rebase hook gets correct input (3)':
git checkout test &&
git reset --hard side &&
git checkout master &&
git rebase master test &&
test "z$(cat git)" = zworld &&
test "z$(cat .git/PRE-REBASE-INPUT)" = zmaster,test
Already on 'test'
HEAD is now at c847452 side
Switched to branch 'master'
Rebasing (1/1)
Successfully rebased and updated refs/heads/test.
ok 7 - pre-rebase hook gets correct input (3)
expecting success of 3413.8 'pre-rebase hook gets correct input (4)':
git checkout test &&
git reset --hard side &&
EDITOR=true git rebase -i master &&
test "z$(cat git)" = zworld &&
test "z$(cat .git/PRE-REBASE-INPUT)" = zmaster,
Already on 'test'
HEAD is now at c847452 side
Rebasing (1/1)
Successfully rebased and updated refs/heads/test.
ok 8 - pre-rebase hook gets correct input (4)
expecting success of 3413.9 'pre-rebase hook gets correct input (5)':
git checkout test &&
git reset --hard side &&
EDITOR=true git rebase -i master test &&
test "z$(cat git)" = zworld &&
test "z$(cat .git/PRE-REBASE-INPUT)" = zmaster,test
Already on 'test'
HEAD is now at c847452 side
Rebasing (1/1)
Successfully rebased and updated refs/heads/test.
ok 9 - pre-rebase hook gets correct input (5)
expecting success of 3413.10 'pre-rebase hook gets correct input (6)':
git checkout test &&
git reset --hard side &&
git checkout master &&
EDITOR=true git rebase -i master test &&
test "z$(cat git)" = zworld &&
test "z$(cat .git/PRE-REBASE-INPUT)" = zmaster,test
Already on 'test'
HEAD is now at c847452 side
Switched to branch 'master'
Rebasing (1/1)
Successfully rebased and updated refs/heads/test.
ok 10 - pre-rebase hook gets correct input (6)
expecting success of 3413.11 'setup pre-rebase hook that fails':
mkdir -p .git/hooks &&
cat >.git/hooks/pre-rebase <<EOF &&
#!$SHELL_PATH
false
EOF
chmod +x .git/hooks/pre-rebase
ok 11 - setup pre-rebase hook that fails
expecting success of 3413.12 'pre-rebase hook stops rebase (1)':
git checkout test &&
git reset --hard side &&
test_must_fail git rebase master &&
test "z$(git symbolic-ref HEAD)" = zrefs/heads/test &&
test 0 = $(git rev-list HEAD...side | wc -l)
Already on 'test'
HEAD is now at c847452 side
fatal: The pre-rebase hook refused to rebase.
ok 12 - pre-rebase hook stops rebase (1)
expecting success of 3413.13 'pre-rebase hook stops rebase (2)':
git checkout test &&
git reset --hard side &&
test_must_fail env EDITOR=: git rebase -i master &&
test "z$(git symbolic-ref HEAD)" = zrefs/heads/test &&
test 0 = $(git rev-list HEAD...side | wc -l)
Already on 'test'
HEAD is now at c847452 side
fatal: The pre-rebase hook refused to rebase.
ok 13 - pre-rebase hook stops rebase (2)
expecting success of 3413.14 'rebase --no-verify overrides pre-rebase (1)':
git checkout test &&
git reset --hard side &&
git rebase --no-verify master &&
test "z$(git symbolic-ref HEAD)" = zrefs/heads/test &&
test "z$(cat git)" = zworld
Already on 'test'
HEAD is now at c847452 side
Rebasing (1/1)
Successfully rebased and updated refs/heads/test.
ok 14 - rebase --no-verify overrides pre-rebase (1)
expecting success of 3413.15 'rebase --no-verify overrides pre-rebase (2)':
git checkout test &&
git reset --hard side &&
EDITOR=true git rebase --no-verify -i master &&
test "z$(git symbolic-ref HEAD)" = zrefs/heads/test &&
test "z$(cat git)" = zworld
Already on 'test'
HEAD is now at c847452 side
Rebasing (1/1)
Successfully rebased and updated refs/heads/test.
ok 15 - rebase --no-verify overrides pre-rebase (2)
# passed all 15 test(s)
1..15
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t3411-rebase-preserve-around-merges.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3411-rebase-preserve-around-merges/.git/
checking prerequisite: REBASE_P
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
test -z "$GIT_TEST_SKIP_REBASE_P"
)
prerequisite REBASE_P ok
expecting success of 3411.1 'setup':
test_commit A1 &&
test_commit B1 &&
test_commit C1 &&
git reset --hard B1 &&
test_commit D1 &&
test_merge E1 C1 &&
test_commit F1
[master (root-commit) 6fb0b66] A1
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 A1.t
[master 37e5de5] B1
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 B1.t
[master 9db6c33] C1
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 C1.t
HEAD is now at 37e5de5 B1
[master 98f5076] D1
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 D1.t
Merging:
98f5076 D1
virtual C1
found 1 common ancestor:
37e5de5 B1
Merge made by the 'recursive' strategy.
C1.t | 1 +
1 file changed, 1 insertion(+)
create mode 100644 C1.t
[master 0f3967e] F1
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 F1.t
ok 1 - setup
expecting success of 3411.2 'squash F1 into D1':
FAKE_LINES="1 squash 4 2 3" git rebase -i -p B1 &&
test "$(git rev-parse HEAD^2)" = "$(git rev-parse C1)" &&
test "$(git rev-parse HEAD~2)" = "$(git rev-parse B1)" &&
git tag E2
warning: git rebase --preserve-merges is deprecated. Use --rebase-merges instead.
rebase -i script before editing:
pick 98f5076 D1
pick 9db6c33 C1
pick b855587 E1
pick 0f3967e F1
rebase -i script after editing:
pick 98f5076 D1
squash 0f3967e F1
pick 9db6c33 C1
pick b855587 E1
Rebasing (1/4)
Rebasing (2/4)
[detached HEAD 5d81168] D1
Author: A U Thor <author@example.com>
Date: Thu Apr 7 15:16:13 2005 -0700
2 files changed, 2 insertions(+)
create mode 100644 D1.t
create mode 100644 F1.t
Rebasing (3/4)
Rebasing (4/4)
Successfully rebased and updated refs/heads/master.
ok 2 - squash F1 into D1
expecting success of 3411.3 'rebase two levels of merge':
git checkout A1 &&
test_commit G1 &&
test_commit H1 &&
test_commit I1 &&
git checkout -b branch3 H1 &&
test_commit J1 &&
test_merge K1 I1 &&
git checkout -b branch2 G1 &&
test_commit L1 &&
test_merge M1 K1 &&
GIT_EDITOR=: git rebase -i -p E2 &&
test "$(git rev-parse HEAD~3)" = "$(git rev-parse E2)" &&
test "$(git rev-parse HEAD~2)" = "$(git rev-parse HEAD^2^2~2)" &&
test "$(git rev-parse HEAD^2^1^1)" = "$(git rev-parse HEAD^2^2^1)"
Note: switching to 'A1'.
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 <new-branch-name>
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
HEAD is now at 6fb0b66 A1
[detached HEAD f51c4db] G1
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 G1.t
[detached HEAD 8227962] H1
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 H1.t
[detached HEAD f56baeb] I1
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 I1.t
Previous HEAD position was f56baeb I1
Switched to a new branch 'branch3'
[branch3 904e05f] J1
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 J1.t
Merging:
904e05f J1
virtual I1
found 1 common ancestor:
8227962 H1
Merge made by the 'recursive' strategy.
I1.t | 1 +
1 file changed, 1 insertion(+)
create mode 100644 I1.t
Switched to a new branch 'branch2'
[branch2 86c413d] L1
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 L1.t
Merging:
86c413d L1
virtual K1
found 1 common ancestor:
f51c4db G1
Merge made by the 'recursive' strategy.
H1.t | 1 +
I1.t | 1 +
J1.t | 1 +
3 files changed, 3 insertions(+)
create mode 100644 H1.t
create mode 100644 I1.t
create mode 100644 J1.t
warning: git rebase --preserve-merges is deprecated. Use --rebase-merges instead.
Rebasing (1/7)
Rebasing (2/7)
Rebasing (3/7)
Rebasing (4/7)
Rebasing (5/7)
Rebasing (6/7)
Rebasing (7/7)
Successfully rebased and updated refs/heads/branch2.
ok 3 - rebase two levels of merge
# passed all 3 test(s)
1..3
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t3414-rebase-preserve-onto.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3414-rebase-preserve-onto/.git/
checking prerequisite: REBASE_P
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
test -z "$GIT_TEST_SKIP_REBASE_P"
)
prerequisite REBASE_P ok
expecting success of 3414.1 'setup':
test_commit A1 &&
test_commit B1 &&
test_commit C1 &&
test_commit D1 &&
git reset --hard B1 &&
test_commit E1 &&
test_commit F1 &&
test_merge G1 D1 &&
git reset --hard A1 &&
test_commit H1
[master (root-commit) 6fb0b66] A1
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 A1.t
[master 37e5de5] B1
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 B1.t
[master 9db6c33] C1
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 C1.t
[master d7157d8] D1
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 D1.t
HEAD is now at 37e5de5 B1
[master b959d6c] E1
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 E1.t
[master 81dc3a6] F1
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 F1.t
Merging:
81dc3a6 F1
virtual D1
found 1 common ancestor:
37e5de5 B1
Merge made by the 'recursive' strategy.
C1.t | 1 +
D1.t | 1 +
2 files changed, 2 insertions(+)
create mode 100644 C1.t
create mode 100644 D1.t
HEAD is now at 6fb0b66 A1
[master 4950a7c] H1
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 H1.t
ok 1 - setup
expecting success of 3414.2 'rebase from B1 onto H1':
git checkout G1 &&
git rebase -p --onto H1 B1 &&
test "$(git rev-parse HEAD^1^1^1)" = "$(git rev-parse H1)" &&
test "$(git rev-parse HEAD^2^1^1)" = "$(git rev-parse H1)"
Note: switching to 'G1'.
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 <new-branch-name>
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
HEAD is now at 52308dd G1
warning: git rebase --preserve-merges is deprecated. Use --rebase-merges instead.
Rebasing (1/5)
Rebasing (2/5)
Rebasing (3/5)
Rebasing (4/5)
Rebasing (5/5)
Successfully rebased and updated detached HEAD.
ok 2 - rebase from B1 onto H1
expecting success of 3414.3 'rebase from E1 onto H1':
git checkout G1 &&
git rebase -p --onto H1 E1 &&
test "$(git rev-parse HEAD^1^1)" = "$(git rev-parse H1)" &&
test "$(git rev-parse HEAD^2)" = "$(git rev-parse D1)"
Warning: you are leaving 5 commits behind, not connected to
any of your branches:
ab2e25c G1
eb95cad F1
52202eb D1
227fb12 E1
9e481e9 C1
If you want to keep them by creating a new branch, this may be a good time
to do so with:
git branch <new-branch-name> ab2e25c
HEAD is now at 52308dd G1
warning: git rebase --preserve-merges is deprecated. Use --rebase-merges instead.
Rebasing (1/2)
Rebasing (2/2)
Successfully rebased and updated detached HEAD.
ok 3 - rebase from E1 onto H1
expecting success of 3414.4 'rebase from C1 onto H1':
git checkout G1 &&
git rev-list --first-parent --pretty=oneline C1..G1 &&
git rebase -p --onto H1 C1 &&
test "$(git rev-parse HEAD^2^1)" = "$(git rev-parse H1)" &&
test "$(git rev-parse HEAD^1)" = "$(git rev-parse F1)"
Warning: you are leaving 2 commits behind, not connected to
any of your branches:
a6d9fc8 G1
4d3dd7d F1
If you want to keep them by creating a new branch, this may be a good time
to do so with:
git branch <new-branch-name> a6d9fc8
HEAD is now at 52308dd G1
52308dd60394ebd5599b39fb69108f164975ed7a G1
81dc3a6494c9a0091f921c65194433ffa66d8dac F1
b959d6cc0d4f2d10f0d432e45cd5578c75065af5 E1
warning: git rebase --preserve-merges is deprecated. Use --rebase-merges instead.
Rebasing (1/2)
Rebasing (2/2)
Successfully rebased and updated detached HEAD.
ok 4 - rebase from C1 onto H1
# passed all 4 test(s)
1..4
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t3415-rebase-autosquash.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3415-rebase-autosquash/.git/
expecting success of 3415.1 'setup':
echo 0 >file0 &&
git add . &&
test_tick &&
git commit -m "initial commit" &&
echo 0 >file1 &&
echo 2 >file2 &&
git add . &&
test_tick &&
git commit -m "first commit" &&
git tag first-commit &&
echo 3 >file3 &&
git add . &&
test_tick &&
git commit -m "second commit" &&
git tag base
[master (root-commit) d78c915] initial commit
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 file0
[master 244a0fe] first commit
Author: A U Thor <author@example.com>
2 files changed, 2 insertions(+)
create mode 100644 file1
create mode 100644 file2
[master f0c2a7e] second commit
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 file3
ok 1 - setup
expecting success of 3415.2 'auto fixup (option)':
test_auto_fixup final-fixup-option --autosquash
HEAD is now at f0c2a7e second commit
[master e17f730] fixup! first
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
Rebasing (2/3)
Rebasing (3/3)
Successfully rebased and updated refs/heads/master.
ok 2 - auto fixup (option)
expecting success of 3415.3 'auto fixup (config)':
git config rebase.autosquash true &&
test_auto_fixup final-fixup-config-true &&
test_auto_fixup ! fixup-config-true-no --no-autosquash &&
git config rebase.autosquash false &&
test_auto_fixup ! final-fixup-config-false
HEAD is now at f0c2a7e second commit
[master f84b6d6] fixup! first
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
Rebasing (2/3)
Rebasing (3/3)
Successfully rebased and updated refs/heads/master.
HEAD is now at f0c2a7e second commit
[master 03041cb] fixup! first
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
Successfully rebased and updated refs/heads/master.
HEAD is now at f0c2a7e second commit
[master bee11d3] fixup! first
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
Successfully rebased and updated refs/heads/master.
ok 3 - auto fixup (config)
expecting success of 3415.4 'auto squash (option)':
test_auto_squash final-squash --autosquash
HEAD is now at f0c2a7e second commit
[master 19ce186] squash! first
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
Rebasing (2/3)
[detached HEAD 9064ef2] first commit
Author: A U Thor <author@example.com>
Date: Thu Apr 7 15:14:13 2005 -0700
2 files changed, 2 insertions(+)
create mode 100644 file1
create mode 100644 file2
Rebasing (3/3)
Successfully rebased and updated refs/heads/master.
ok 4 - auto squash (option)
expecting success of 3415.5 'auto squash (config)':
git config rebase.autosquash true &&
test_auto_squash final-squash-config-true &&
test_auto_squash ! squash-config-true-no --no-autosquash &&
git config rebase.autosquash false &&
test_auto_squash ! final-squash-config-false
HEAD is now at f0c2a7e second commit
[master a95a906] squash! first
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
Rebasing (2/3)
[detached HEAD 46676fa] first commit
Author: A U Thor <author@example.com>
Date: Thu Apr 7 15:14:13 2005 -0700
2 files changed, 2 insertions(+)
create mode 100644 file1
create mode 100644 file2
Rebasing (3/3)
Successfully rebased and updated refs/heads/master.
HEAD is now at f0c2a7e second commit
[master fc8ff6e] squash! first
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
Successfully rebased and updated refs/heads/master.
HEAD is now at f0c2a7e second commit
[master 336ee2b] squash! first
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
Successfully rebased and updated refs/heads/master.
ok 5 - auto squash (config)
expecting success of 3415.6 'misspelled auto squash':
git reset --hard base &&
echo 1 >file1 &&
git add -u &&
test_tick &&
git commit -m "squash! forst" &&
git tag final-missquash &&
test_tick &&
git rebase --autosquash -i HEAD^^^ &&
git log --oneline >actual &&
test_line_count = 4 actual &&
git diff --exit-code final-missquash &&
git rev-list final-missquash...HEAD >list &&
test_must_be_empty list
HEAD is now at f0c2a7e second commit
[master bdc406a] squash! forst
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
Successfully rebased and updated refs/heads/master.
ok 6 - misspelled auto squash
expecting success of 3415.7 'auto squash that matches 2 commits':
git reset --hard base &&
echo 4 >file4 &&
git add file4 &&
test_tick &&
git commit -m "first new commit" &&
echo 1 >file1 &&
git add -u &&
test_tick &&
git commit -m "squash! first" &&
git tag final-multisquash &&
test_tick &&
git rebase --autosquash -i HEAD~4 &&
git log --oneline >actual &&
test_line_count = 4 actual &&
git diff --exit-code final-multisquash &&
echo 1 >expect &&
git cat-file blob HEAD^^:file1 >actual &&
test_cmp expect actual &&
git cat-file commit HEAD^^ >commit &&
grep first commit >actual &&
test_line_count = 2 actual &&
git cat-file commit HEAD >commit &&
grep first commit >actual &&
test_line_count = 1 actual
HEAD is now at f0c2a7e second commit
[master 671d0de] first new commit
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 file4
[master 1cded01] squash! first
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
Rebasing (2/4)
[detached HEAD 8cc2a0e] first commit
Author: A U Thor <author@example.com>
Date: Thu Apr 7 15:14:13 2005 -0700
2 files changed, 2 insertions(+)
create mode 100644 file1
create mode 100644 file2
Rebasing (3/4)
Rebasing (4/4)
Successfully rebased and updated refs/heads/master.
ok 7 - auto squash that matches 2 commits
expecting success of 3415.8 'auto squash that matches a commit after the squash':
git reset --hard base &&
echo 1 >file1 &&
git add -u &&
test_tick &&
git commit -m "squash! third" &&
echo 4 >file4 &&
git add file4 &&
test_tick &&
git commit -m "third commit" &&
git tag final-presquash &&
test_tick &&
git rebase --autosquash -i HEAD~4 &&
git log --oneline >actual &&
test_line_count = 5 actual &&
git diff --exit-code final-presquash &&
echo 0 >expect &&
git cat-file blob HEAD^^:file1 >actual &&
test_cmp expect actual &&
echo 1 >expect &&
git cat-file blob HEAD^:file1 >actual &&
test_cmp expect actual &&
git cat-file commit HEAD >commit &&
grep third commit >actual &&
test_line_count = 1 actual &&
git cat-file commit HEAD^ >commit &&
grep third commit >actual &&
test_line_count = 1 actual
HEAD is now at f0c2a7e second commit
[master 3a205cd] squash! third
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
[master 76ae28b] third commit
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 file4
Successfully rebased and updated refs/heads/master.
ok 8 - auto squash that matches a commit after the squash
expecting success of 3415.9 'auto squash that matches a sha1':
git reset --hard base &&
echo 1 >file1 &&
git add -u &&
test_tick &&
oid=$(git rev-parse --short HEAD^) &&
git commit -m "squash! $oid" &&
git tag final-shasquash &&
test_tick &&
git rebase --autosquash -i HEAD^^^ &&
git log --oneline >actual &&
test_line_count = 3 actual &&
git diff --exit-code final-shasquash &&
echo 1 >expect &&
git cat-file blob HEAD^:file1 >actual &&
test_cmp expect actual &&
git cat-file commit HEAD^ >commit &&
grep squash commit >actual &&
test_line_count = 1 actual
HEAD is now at f0c2a7e second commit
[master 2592f98] squash! 244a0fe
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
Rebasing (2/3)
[detached HEAD ba6c8cf] first commit
Author: A U Thor <author@example.com>
Date: Thu Apr 7 15:14:13 2005 -0700
2 files changed, 2 insertions(+)
create mode 100644 file1
create mode 100644 file2
Rebasing (3/3)
Successfully rebased and updated refs/heads/master.
ok 9 - auto squash that matches a sha1
expecting success of 3415.10 'auto squash that matches longer sha1':
git reset --hard base &&
echo 1 >file1 &&
git add -u &&
test_tick &&
oid=$(git rev-parse --short=11 HEAD^) &&
git commit -m "squash! $oid" &&
git tag final-longshasquash &&
test_tick &&
git rebase --autosquash -i HEAD^^^ &&
git log --oneline >actual &&
test_line_count = 3 actual &&
git diff --exit-code final-longshasquash &&
echo 1 >expect &&
git cat-file blob HEAD^:file1 >actual &&
test_cmp expect actual &&
git cat-file commit HEAD^ >commit &&
grep squash commit >actual &&
test_line_count = 1 actual
HEAD is now at f0c2a7e second commit
[master 358ddef] squash! 244a0fe611d
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
Rebasing (2/3)
[detached HEAD 2fb404b] first commit
Author: A U Thor <author@example.com>
Date: Thu Apr 7 15:14:13 2005 -0700
2 files changed, 2 insertions(+)
create mode 100644 file1
create mode 100644 file2
Rebasing (3/3)
Successfully rebased and updated refs/heads/master.
ok 10 - auto squash that matches longer sha1
expecting success of 3415.11 'use commit --fixup':
test_auto_commit_flags fixup 1
HEAD is now at f0c2a7e second commit
[master ec3ac31] fixup! first commit
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
Rebasing (2/3)
Rebasing (3/3)
Successfully rebased and updated refs/heads/master.
ok 11 - use commit --fixup
expecting success of 3415.12 'use commit --squash':
test_auto_commit_flags squash 2
HEAD is now at f0c2a7e second commit
[master 56a0d48] squash! first commit
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
Rebasing (2/3)
[detached HEAD ca39a78] first commit
Author: A U Thor <author@example.com>
Date: Thu Apr 7 15:14:13 2005 -0700
2 files changed, 2 insertions(+)
create mode 100644 file1
create mode 100644 file2
Rebasing (3/3)
Successfully rebased and updated refs/heads/master.
ok 12 - use commit --squash
checking prerequisite: C_LOCALE_OUTPUT
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
! test_bool_env GIT_TEST_GETTEXT_POISON false
)
prerequisite C_LOCALE_OUTPUT ok
expecting success of 3415.13 'fixup! fixup!':
test_auto_fixup_fixup fixup fixup
HEAD is now at f0c2a7e second commit
[master f2259fa] fixup! first
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
[master a8ab281] fixup! fixup! first
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
error: There was a problem with the editor '"$FAKE_EDITOR"'.
Rebasing (2/4)
Rebasing (3/4)
Rebasing (4/4)
Successfully rebased and updated refs/heads/master.
ok 13 - fixup! fixup!
expecting success of 3415.14 'fixup! squash!':
test_auto_fixup_fixup fixup squash
HEAD is now at f0c2a7e second commit
[master a1ad567] fixup! first
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
[master ec0f8ee] fixup! squash! first
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
error: There was a problem with the editor '"$FAKE_EDITOR"'.
Rebasing (2/4)
Rebasing (3/4)
Rebasing (4/4)
Successfully rebased and updated refs/heads/master.
ok 14 - fixup! squash!
expecting success of 3415.15 'squash! squash!':
test_auto_fixup_fixup squash squash
HEAD is now at f0c2a7e second commit
[master b3c0532] squash! first
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
[master 90b2119] squash! squash! first
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
error: There was a problem with the editor '"$FAKE_EDITOR"'.
Rebasing (2/4)
Rebasing (3/4)
[detached HEAD 0c6388e] first commit
Author: A U Thor <author@example.com>
Date: Thu Apr 7 15:14:13 2005 -0700
2 files changed, 2 insertions(+)
create mode 100644 file1
create mode 100644 file2
Rebasing (4/4)
Successfully rebased and updated refs/heads/master.
ok 15 - squash! squash!
expecting success of 3415.16 'squash! fixup!':
test_auto_fixup_fixup squash fixup
HEAD is now at f0c2a7e second commit
[master 9e62506] squash! first
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
[master baa3050] squash! fixup! first
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
error: There was a problem with the editor '"$FAKE_EDITOR"'.
Rebasing (2/4)
Rebasing (3/4)
[detached HEAD f53dd90] first commit
Author: A U Thor <author@example.com>
Date: Thu Apr 7 15:14:13 2005 -0700
2 files changed, 2 insertions(+)
create mode 100644 file1
create mode 100644 file2
Rebasing (4/4)
Successfully rebased and updated refs/heads/master.
ok 16 - squash! fixup!
expecting success of 3415.17 'autosquash with custom inst format':
git reset --hard base &&
git config --add rebase.instructionFormat "[%an @ %ar] %s" &&
echo 2 >file1 &&
git add -u &&
test_tick &&
oid=$(git rev-parse --short HEAD^) &&
git commit -m "squash! $oid" &&
echo 1 >file1 &&
git add -u &&
test_tick &&
subject=$(git log -n 1 --format=%s HEAD~2) &&
git commit -m "squash! $subject" &&
git tag final-squash-instFmt &&
test_tick &&
git rebase --autosquash -i HEAD~4 &&
git log --oneline >actual &&
test_line_count = 3 actual &&
git diff --exit-code final-squash-instFmt &&
echo 1 >expect &&
git cat-file blob HEAD^:file1 >actual &&
test_cmp expect actual &&
git cat-file commit HEAD^ >commit &&
grep squash commit >actual &&
test_line_count = 2 actual
HEAD is now at f0c2a7e second commit
[master 8c2a608] squash! 244a0fe
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
[master ab98abd] squash! first commit
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
Rebasing (2/4)
Rebasing (3/4)
[detached HEAD a066413] first commit
Author: A U Thor <author@example.com>
Date: Thu Apr 7 15:14:13 2005 -0700
2 files changed, 2 insertions(+)
create mode 100644 file1
create mode 100644 file2
Rebasing (4/4)
Successfully rebased and updated refs/heads/master.
ok 17 - autosquash with custom inst format
expecting success of 3415.18 'autosquash with empty custom instructionFormat':
git reset --hard base &&
test_commit empty-instructionFormat-test &&
(
set_cat_todo_editor &&
test_must_fail git -c rebase.instructionFormat= \
rebase --autosquash --force-rebase -i HEAD^ >actual &&
git log -1 --format="pick %h %s" >expect &&
test_cmp expect actual
)
HEAD is now at f0c2a7e second commit
[master c73d304] empty-instructionFormat-test
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 empty-instructionFormat-test.t
error: There was a problem with the editor '"$FAKE_EDITOR"'.
ok 18 - autosquash with empty custom instructionFormat
expecting success of 3415.19 'autosquash with multiple empty patches':
test_tick &&
git commit --allow-empty -m "empty" &&
test_tick &&
git commit --allow-empty -m "empty2" &&
test_tick &&
>fixup &&
git add fixup &&
git commit --fixup HEAD^^ &&
(
set_backup_editor &&
GIT_USE_REBASE_HELPER=false \
git rebase -i --force-rebase --autosquash HEAD~4 &&
grep empty2 .git/backup-git-rebase-todo
)
[master f0b00cc] empty
Author: A U Thor <author@example.com>
[master 57d336e] empty2
Author: A U Thor <author@example.com>
[master 214c1c2] fixup! empty-instructionFormat-test
Author: A U Thor <author@example.com>
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 fixup
Rebasing (1/4)
Rebasing (2/4)
Rebasing (3/4)
Rebasing (4/4)
Successfully rebased and updated refs/heads/master.
pick 57d336e [A U Thor @ 15 years ago] empty2 # empty
ok 19 - autosquash with multiple empty patches
expecting success of 3415.20 'extra spaces after fixup!':
base=$(git rev-parse HEAD) &&
test_commit to-fixup &&
git commit --allow-empty -m "fixup! to-fixup" &&
git rebase -i --autosquash --keep-empty HEAD~2 &&
parent=$(git rev-parse HEAD^) &&
test $base = $parent
[master 0584c83] to-fixup
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 to-fixup.t
[master 25cc60b] fixup! to-fixup
Author: A U Thor <author@example.com>
Rebasing (2/2)
Successfully rebased and updated refs/heads/master.
ok 20 - extra spaces after fixup!
expecting success of 3415.21 'wrapped original subject':
if test -d .git/rebase-merge; then git rebase --abort; fi &&
base=$(git rev-parse HEAD) &&
echo "wrapped subject" >wrapped &&
git add wrapped &&
test_tick &&
git commit --allow-empty -m "$(printf "To\nfixup")" &&
test_tick &&
git commit --allow-empty -m "fixup! To fixup" &&
git rebase -i --autosquash --keep-empty HEAD~2 &&
parent=$(git rev-parse HEAD^) &&
test $base = $parent
[master 0e6e19d] To fixup
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 wrapped
[master 8874732] fixup! To fixup
Author: A U Thor <author@example.com>
Rebasing (2/2)
Successfully rebased and updated refs/heads/master.
ok 21 - wrapped original subject
expecting success of 3415.22 'abort last squash':
test_when_finished "test_might_fail git rebase --abort" &&
test_when_finished "git checkout master" &&
git checkout -b some-squashes &&
git commit --allow-empty -m first &&
git commit --allow-empty --squash HEAD &&
git commit --allow-empty -m second &&
git commit --allow-empty --squash HEAD &&
test_must_fail git -c core.editor="grep -q ^pick" \
rebase -ki --autosquash HEAD~4 &&
: do not finish the squash, but resolve it manually &&
git commit --allow-empty --amend -m edited-first &&
git rebase --skip &&
git show >actual &&
! grep first actual
Switched to a new branch 'some-squashes'
[some-squashes f124f9c] first
Author: A U Thor <author@example.com>
[some-squashes 1adce10] squash! first
Author: A U Thor <author@example.com>
[some-squashes dbd878b] second
Author: A U Thor <author@example.com>
[some-squashes 57e67c3] squash! second
Author: A U Thor <author@example.com>
Rebasing (2/4)
error: There was a problem with the editor 'grep -q ^pick'.
Please supply the message using either -m or -F option.
Could not apply 1adce10... [A U Thor @ 15 years ago] squash! first # empty
[detached HEAD 7723319] edited-first
Author: A U Thor <author@example.com>
Date: Thu Apr 7 16:09:13 2005 -0700
Rebasing (3/4)
Rebasing (4/4)
[detached HEAD 2efc566] second
Author: A U Thor <author@example.com>
Date: Thu Apr 7 16:09:13 2005 -0700
Successfully rebased and updated refs/heads/some-squashes.
Switched to branch 'master'
fatal: No rebase in progress?
ok 22 - abort last squash
expecting success of 3415.23 'fixup a fixup':
echo 0to-fixup >file0 &&
test_tick &&
git commit -m "to-fixup" file0 &&
test_tick &&
git commit --squash HEAD -m X --allow-empty &&
test_tick &&
git commit --squash HEAD^ -m Y --allow-empty &&
test_tick &&
git commit -m "squash! $(git rev-parse HEAD^)" -m Z --allow-empty &&
test_tick &&
git commit -m "squash! $(git rev-parse HEAD^^)" -m W --allow-empty &&
git rebase -ki --autosquash HEAD~5 &&
test XZWY = $(git show | tr -cd W-Z)
[master 8b8914f] to-fixup
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
[master d639a09] squash! to-fixup
Author: A U Thor <author@example.com>
[master d15a015] squash! to-fixup
Author: A U Thor <author@example.com>
[master 46ee2c5] squash! d639a0930479ded42c578b382731e0c4be6ca4c3
Author: A U Thor <author@example.com>
[master 2d365fb] squash! d639a0930479ded42c578b382731e0c4be6ca4c3
Author: A U Thor <author@example.com>
Rebasing (2/5)
Rebasing (3/5)
Rebasing (4/5)
Rebasing (5/5)
[detached HEAD f574627] to-fixup
Author: A U Thor <author@example.com>
Date: Thu Apr 7 16:10:13 2005 -0700
1 file changed, 1 insertion(+), 1 deletion(-)
Successfully rebased and updated refs/heads/master.
ok 23 - fixup a fixup
# passed all 23 test(s)
1..23
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t3417-rebase-whitespace-fix.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3417-rebase-whitespace-fix/.git/
expecting success of 3417.1 'blank line at end of file; extend at end of file':
git commit --allow-empty -m "Initial empty commit" &&
git add file && git commit -m first &&
mv second file &&
git add file && git commit -m second &&
git rebase --whitespace=fix HEAD^^ &&
git diff --exit-code HEAD^:file expect-first &&
test_cmp expect-second file
[master (root-commit) 6b228ba] Initial empty commit
Author: A U Thor <author@example.com>
[master 4ab6e78] first
Author: A U Thor <author@example.com>
1 file changed, 4 insertions(+)
create mode 100644 file
[master 4378872] second
Author: A U Thor <author@example.com>
1 file changed, 7 insertions(+)
First, rewinding head to replay your work on top of it...
Applying: first
Applying: second
ok 1 - blank line at end of file; extend at end of file
expecting success of 3417.2 'two blanks line at end of file; extend at end of file':
cp third file && git add file && git commit -m third &&
git rebase --whitespace=fix HEAD^^ &&
git diff --exit-code HEAD^:file expect-second &&
test_cmp expect-third file
[master 6ddcdd6] third
Author: A U Thor <author@example.com>
1 file changed, 7 insertions(+)
First, rewinding head to replay your work on top of it...
Applying: second
Applying: third
ok 2 - two blanks line at end of file; extend at end of file
expecting success of 3417.3 'same, but do not remove trailing spaces':
git config core.whitespace "-blank-at-eol" &&
git reset --hard HEAD^ &&
cp third file && git add file && git commit -m third &&
git rebase --whitespace=fix HEAD^^ &&
git diff --exit-code HEAD^:file expect-second &&
test_cmp file third
HEAD is now at 3b16a85 second
[master f07ad22] third
Author: A U Thor <author@example.com>
1 file changed, 7 insertions(+)
First, rewinding head to replay your work on top of it...
Applying: second
Applying: third
ok 3 - same, but do not remove trailing spaces
expecting success of 3417.4 'at beginning of file':
git config core.whitespace "blank-at-eol" &&
cp beginning file &&
git commit -m beginning file &&
for i in 1 2 3 4 5; do
echo $i
done >> file &&
git commit -m more file &&
git rebase --whitespace=fix HEAD^^ &&
test_cmp expect-beginning file
[master 07f7891] beginning
Author: A U Thor <author@example.com>
1 file changed, 2 insertions(+), 13 deletions(-)
[master a480083] more
Author: A U Thor <author@example.com>
1 file changed, 5 insertions(+)
First, rewinding head to replay your work on top of it...
Applying: beginning
Applying: more
ok 4 - at beginning of file
# passed all 4 test(s)
1..4
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t3412-rebase-root.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3412-rebase-root/.git/
expecting success of 3412.1 'prepare repository':
test_commit 1 A &&
test_commit 2 A &&
git symbolic-ref HEAD refs/heads/other &&
rm .git/index &&
test_commit 3 B &&
test_commit 1b A 1 &&
test_commit 4 B
[master (root-commit) c746ea0] 1
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 A
[master 46611ad] 2
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
[other (root-commit) 2c64091] 3
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 B
[other 1c4476a] 1b
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 A
[other 41e7797] 4
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
ok 1 - prepare repository
expecting success of 3412.2 'rebase --root fails with too many args':
git checkout -B fail other &&
test_must_fail git rebase --onto master --root fail fail
Switched to a new branch 'fail'
usage: git rebase [-i] [options] [--exec <cmd>] [--onto <newbase> | --keep-base] [<upstream> [<branch>]]
or: git rebase [-i] [options] [--exec <cmd>] [--onto <newbase>] --root [<branch>]
or: git rebase --continue | --abort | --skip | --edit-todo
--onto <revision> rebase onto given branch instead of upstream
--keep-base use the merge-base of upstream and branch as the current base
--no-verify allow pre-rebase hook to run
-q, --quiet be quiet. implies --no-stat
-v, --verbose display a diffstat of what changed upstream
-n, --no-stat do not show diffstat of what changed upstream
--signoff add a Signed-off-by: line to each commit
--ignore-whitespace passed to 'git am'
--committer-date-is-author-date
passed to 'git am'
--ignore-date passed to 'git am'
-C <n> passed to 'git apply'
--whitespace <action>
passed to 'git apply'
-f, --force-rebase cherry-pick all commits, even if unchanged
--no-ff cherry-pick all commits, even if unchanged
--continue continue
--skip skip current patch and continue
--abort abort and check out the original branch
--quit abort but keep HEAD where it is
--edit-todo edit the todo list during an interactive rebase
--show-current-patch show the patch file being applied or merged
--apply use apply strategies to rebase
-m, --merge use merging strategies to rebase
-i, --interactive let the user edit the list of commits to rebase
--rerere-autoupdate update the index with reused conflict resolution if possible
--empty <{drop,keep,ask}>
how to handle commits that become empty
--autosquash move commits that begin with squash!/fixup! under -i
-S, --gpg-sign[=<key-id>]
GPG-sign commits
--autostash automatically stash/stash pop before and after
-x, --exec <exec> add exec lines after each commit of the editable list
-r, --rebase-merges[=<mode>]
try to rebase merges instead of skipping them
--fork-point use 'merge-base --fork-point' to refine upstream
-s, --strategy <strategy>
use the given merge strategy
-X, --strategy-option <option>
pass the argument through to the merge strategy
--root rebase all reachable commits up to the root(s)
--reschedule-failed-exec
automatically re-schedule any `exec` that fails
--reapply-cherry-picks
apply all changes, even those already present upstream
ok 2 - rebase --root fails with too many args
expecting success of 3412.3 'setup pre-rebase hook':
mkdir -p .git/hooks &&
cat >.git/hooks/pre-rebase <<EOF &&
#!$SHELL_PATH
echo "\$1,\$2" >.git/PRE-REBASE-INPUT
EOF
chmod +x .git/hooks/pre-rebase
ok 3 - setup pre-rebase hook
expecting success of 3412.4 'rebase --root --onto <newbase>':
git checkout -b work other &&
git rebase --root --onto master &&
git log --pretty=tformat:"%s" > rebased &&
test_cmp expect rebased
Switched to a new branch 'work'
Rebasing (1/2)
Rebasing (2/2)
Successfully rebased and updated refs/heads/work.
ok 4 - rebase --root --onto <newbase>
expecting success of 3412.5 'pre-rebase got correct input (1)':
test "z$(cat .git/PRE-REBASE-INPUT)" = z--root,
ok 5 - pre-rebase got correct input (1)
expecting success of 3412.6 'rebase --root --onto <newbase> <branch>':
git branch work2 other &&
git rebase --root --onto master work2 &&
git log --pretty=tformat:"%s" > rebased2 &&
test_cmp expect rebased2
Rebasing (1/2)
Rebasing (2/2)
Successfully rebased and updated refs/heads/work2.
ok 6 - rebase --root --onto <newbase> <branch>
expecting success of 3412.7 'pre-rebase got correct input (2)':
test "z$(cat .git/PRE-REBASE-INPUT)" = z--root,work2
ok 7 - pre-rebase got correct input (2)
expecting success of 3412.8 'rebase -i --root --onto <newbase>':
git checkout -b work3 other &&
git rebase -i --root --onto master &&
git log --pretty=tformat:"%s" > rebased3 &&
test_cmp expect rebased3
Switched to a new branch 'work3'
Rebasing (1/2)
Rebasing (2/2)
Successfully rebased and updated refs/heads/work3.
ok 8 - rebase -i --root --onto <newbase>
expecting success of 3412.9 'pre-rebase got correct input (3)':
test "z$(cat .git/PRE-REBASE-INPUT)" = z--root,
ok 9 - pre-rebase got correct input (3)
expecting success of 3412.10 'rebase -i --root --onto <newbase> <branch>':
git branch work4 other &&
git rebase -i --root --onto master work4 &&
git log --pretty=tformat:"%s" > rebased4 &&
test_cmp expect rebased4
Rebasing (1/2)
Rebasing (2/2)
Successfully rebased and updated refs/heads/work4.
ok 10 - rebase -i --root --onto <newbase> <branch>
expecting success of 3412.11 'pre-rebase got correct input (4)':
test "z$(cat .git/PRE-REBASE-INPUT)" = z--root,work4
ok 11 - pre-rebase got correct input (4)
checking prerequisite: REBASE_P
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
test -z "$GIT_TEST_SKIP_REBASE_P"
)
prerequisite REBASE_P ok
expecting success of 3412.12 'rebase -i -p with linear history':
git checkout -b work5 other &&
git rebase -i -p --root --onto master &&
git log --pretty=tformat:"%s" > rebased5 &&
test_cmp expect rebased5
Switched to a new branch 'work5'
warning: git rebase --preserve-merges is deprecated. Use --rebase-merges instead.
Rebasing (1/2)
Rebasing (2/2)
Successfully rebased and updated refs/heads/work5.
ok 12 - rebase -i -p with linear history
expecting success of 3412.13 'pre-rebase got correct input (5)':
test "z$(cat .git/PRE-REBASE-INPUT)" = z--root,
ok 13 - pre-rebase got correct input (5)
expecting success of 3412.14 'set up merge history':
git checkout other^ &&
git checkout -b side &&
test_commit 5 C &&
git checkout other &&
git merge side
Note: switching to 'other^'.
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 <new-branch-name>
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
HEAD is now at 1c4476a 1b
Switched to a new branch 'side'
[side 0c9a4e9] 5
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 C
Switched to branch 'other'
Merging:
41e7797 4
virtual side
found 1 common ancestor:
1c4476a 1b
Merge made by the 'recursive' strategy.
C | 1 +
1 file changed, 1 insertion(+)
create mode 100644 C
ok 14 - set up merge history
expecting success of 3412.15 'rebase -i -p with merge':
git checkout -b work6 other &&
git rebase -i -p --root --onto master &&
log_with_names work6 > rebased6 &&
test_cmp expect-side rebased6
Switched to a new branch 'work6'
warning: git rebase --preserve-merges is deprecated. Use --rebase-merges instead.
Rebasing (1/4)
Rebasing (2/4)
Rebasing (3/4)
Rebasing (4/4)
Successfully rebased and updated refs/heads/work6.
ok 15 - rebase -i -p with merge
expecting success of 3412.16 'set up second root and merge':
git symbolic-ref HEAD refs/heads/third &&
rm .git/index &&
rm A B C &&
test_commit 6 D &&
git checkout other &&
git merge --allow-unrelated-histories third
[third (root-commit) 00ac2af] 6
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 D
Switched to branch 'other'
Merging:
ddb0186 Merge branch 'side' into other
virtual third
found 0 common ancestors:
Merge made by the 'recursive' strategy.
D | 1 +
1 file changed, 1 insertion(+)
create mode 100644 D
ok 16 - set up second root and merge
expecting success of 3412.17 'rebase -i -p with two roots':
git checkout -b work7 other &&
git rebase -i -p --root --onto master &&
log_with_names work7 > rebased7 &&
test_cmp expect-third rebased7
Switched to a new branch 'work7'
warning: git rebase --preserve-merges is deprecated. Use --rebase-merges instead.
Rebasing (1/6)
Rebasing (2/6)
Rebasing (3/6)
Rebasing (4/6)
Rebasing (5/6)
Rebasing (6/6)
Successfully rebased and updated refs/heads/work7.
ok 17 - rebase -i -p with two roots
expecting success of 3412.18 'setup pre-rebase hook that fails':
mkdir -p .git/hooks &&
cat >.git/hooks/pre-rebase <<EOF &&
#!$SHELL_PATH
false
EOF
chmod +x .git/hooks/pre-rebase
ok 18 - setup pre-rebase hook that fails
expecting success of 3412.19 'pre-rebase hook stops rebase':
git checkout -b stops1 other &&
test_must_fail git rebase --root --onto master &&
test "z$(git symbolic-ref HEAD)" = zrefs/heads/stops1 &&
test 0 = $(git rev-list other...stops1 | wc -l)
Switched to a new branch 'stops1'
fatal: The pre-rebase hook refused to rebase.
ok 19 - pre-rebase hook stops rebase
expecting success of 3412.20 'pre-rebase hook stops rebase -i':
git checkout -b stops2 other &&
test_must_fail git rebase --root --onto master &&
test "z$(git symbolic-ref HEAD)" = zrefs/heads/stops2 &&
test 0 = $(git rev-list other...stops2 | wc -l)
Switched to a new branch 'stops2'
fatal: The pre-rebase hook refused to rebase.
ok 20 - pre-rebase hook stops rebase -i
expecting success of 3412.21 'remove pre-rebase hook':
rm -f .git/hooks/pre-rebase
ok 21 - remove pre-rebase hook
expecting success of 3412.22 'set up a conflict':
git checkout master &&
echo conflict > B &&
git add B &&
git commit -m conflict
Switched to branch 'master'
[master f80eebe] conflict
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 B
ok 22 - set up a conflict
expecting success of 3412.23 'rebase --root with conflict (first part)':
git checkout -b conflict1 other &&
test_must_fail git rebase --root --onto master &&
git ls-files -u | grep "B$"
Switched to a new branch 'conflict1'
Rebasing (1/4)
error: could not apply 2c64091... 3
Resolve all conflicts manually, mark them as resolved with
"git add/rm <conflicted_files>", then run "git rebase --continue".
You can instead skip this commit: run "git rebase --skip".
To abort and get back to the state before "git rebase", run "git rebase --abort".
Could not apply 2c64091... 3
CONFLICT (add/add): Merge conflict in B
Auto-merging B
100644 9b1719f5cf069568785080a0bbabbe7c377e22ae 2 B
100644 00750edc07d6415dcc07ae0351e9397b0222b7ba 3 B
ok 23 - rebase --root with conflict (first part)
expecting success of 3412.24 'fix the conflict':
echo 3 > B &&
git add B
ok 24 - fix the conflict
expecting success of 3412.25 'rebase --root with conflict (second part)':
git rebase --continue &&
git log --pretty=tformat:"%s" > conflict1 &&
test_cmp expect-conflict conflict1
[detached HEAD 308ae33] 3
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
Rebasing (2/4)
Rebasing (3/4)
Rebasing (4/4)
Successfully rebased and updated refs/heads/conflict1.
ok 25 - rebase --root with conflict (second part)
expecting success of 3412.26 'rebase -i --root with conflict (first part)':
git checkout -b conflict2 other &&
test_must_fail git rebase -i --root --onto master &&
git ls-files -u | grep "B$"
Switched to a new branch 'conflict2'
Rebasing (1/4)
error: could not apply 2c64091... 3
Resolve all conflicts manually, mark them as resolved with
"git add/rm <conflicted_files>", then run "git rebase --continue".
You can instead skip this commit: run "git rebase --skip".
To abort and get back to the state before "git rebase", run "git rebase --abort".
Could not apply 2c64091... 3
CONFLICT (add/add): Merge conflict in B
Auto-merging B
100644 9b1719f5cf069568785080a0bbabbe7c377e22ae 2 B
100644 00750edc07d6415dcc07ae0351e9397b0222b7ba 3 B
ok 26 - rebase -i --root with conflict (first part)
expecting success of 3412.27 'fix the conflict':
echo 3 > B &&
git add B
ok 27 - fix the conflict
expecting success of 3412.28 'rebase -i --root with conflict (second part)':
git rebase --continue &&
git log --pretty=tformat:"%s" > conflict2 &&
test_cmp expect-conflict conflict2
[detached HEAD 308ae33] 3
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
Rebasing (2/4)
Rebasing (3/4)
Rebasing (4/4)
Successfully rebased and updated refs/heads/conflict2.
ok 28 - rebase -i --root with conflict (second part)
expecting success of 3412.29 'rebase -i -p --root with conflict (first part)':
git checkout -b conflict3 other &&
test_must_fail git rebase -i -p --root --onto master &&
git ls-files -u | grep "B$"
Switched to a new branch 'conflict3'
warning: git rebase --preserve-merges is deprecated. Use --rebase-merges instead.
Rebasing (1/6)
CONFLICT (add/add): Merge conflict in B
Auto-merging B
error: could not apply 2c64091... 3
Resolve all conflicts manually, mark them as resolved with
"git add/rm <conflicted_files>", then run "git rebase --continue".
You can instead skip this commit: run "git rebase --skip".
To abort and get back to the state before "git rebase", run "git rebase --abort".
Could not pick 2c64091600777cfca4ad9dca6ec274f5a2554d69
100644 9b1719f5cf069568785080a0bbabbe7c377e22ae 2 B
100644 00750edc07d6415dcc07ae0351e9397b0222b7ba 3 B
ok 29 - rebase -i -p --root with conflict (first part)
expecting success of 3412.30 'fix the conflict':
echo 3 > B &&
git add B
ok 30 - fix the conflict
expecting success of 3412.31 'rebase -i -p --root with conflict (second part)':
git rebase --continue &&
log_with_names conflict3 >out &&
test_cmp expect-conflict-p out
warning: git rebase --preserve-merges is deprecated. Use --rebase-merges instead.
[detached HEAD 308ae33] 3
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
Rebasing (2/6)
Rebasing (3/6)
Rebasing (4/6)
Rebasing (5/6)
Rebasing (6/6)
Successfully rebased and updated refs/heads/conflict3.
ok 31 - rebase -i -p --root with conflict (second part)
# passed all 31 test(s)
1..31
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t3416-rebase-onto-threedots.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3416-rebase-onto-threedots/.git/
expecting success of 3416.1 'setup':
test_commit A &&
test_commit B &&
git branch side &&
test_commit C &&
git branch topic &&
git checkout side &&
test_commit H &&
git checkout master &&
test_tick &&
git merge H &&
git tag D &&
test_commit E &&
git checkout topic &&
test_commit F &&
test_commit G &&
git checkout side &&
test_tick &&
git merge C &&
git tag I &&
test_commit J &&
test_commit K
[master (root-commit) 0ddfaf1] A
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 A.t
[master d9df450] B
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 B.t
[master 35a8500] C
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 C.t
Switched to branch 'side'
[side e9f30f6] H
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 H.t
Switched to branch 'master'
Merging:
35a8500 C
virtual H
found 1 common ancestor:
d9df450 B
Merge made by the 'recursive' strategy.
H.t | 1 +
1 file changed, 1 insertion(+)
create mode 100644 H.t
[master 0cd72fb] E
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 E.t
Switched to branch 'topic'
[topic 0fb828b] F
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 F.t
[topic a08c965] G
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 G.t
Switched to branch 'side'
Merging:
e9f30f6 H
virtual C
found 1 common ancestor:
d9df450 B
Merge made by the 'recursive' strategy.
C.t | 1 +
1 file changed, 1 insertion(+)
create mode 100644 C.t
[side 9eed7bf] J
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 J.t
[side 4d3c411] K
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 K.t
ok 1 - setup
expecting success of 3416.2 'rebase --onto master...topic':
git reset --hard &&
git checkout topic &&
git reset --hard G &&
git rebase --onto master...topic F &&
git rev-parse HEAD^1 >actual &&
git rev-parse C^0 >expect &&
test_cmp expect actual
HEAD is now at 4d3c411 K
Switched to branch 'topic'
HEAD is now at a08c965 G
Rebasing (1/1)
Successfully rebased and updated refs/heads/topic.
ok 2 - rebase --onto master...topic
expecting success of 3416.3 'rebase --onto master...':
git reset --hard &&
git checkout topic &&
git reset --hard G &&
git rebase --onto master... F &&
git rev-parse HEAD^1 >actual &&
git rev-parse C^0 >expect &&
test_cmp expect actual
HEAD is now at f576ef2 G
Already on 'topic'
HEAD is now at a08c965 G
Rebasing (1/1)
Successfully rebased and updated refs/heads/topic.
ok 3 - rebase --onto master...
expecting success of 3416.4 'rebase --onto master...side':
git reset --hard &&
git checkout side &&
git reset --hard K &&
test_must_fail git rebase --onto master...side J
HEAD is now at f576ef2 G
Switched to branch 'side'
HEAD is now at 4d3c411 K
fatal: 'master...side': need exactly one merge base
ok 4 - rebase --onto master...side
expecting success of 3416.5 'rebase -i --onto master...topic':
git reset --hard &&
git checkout topic &&
git reset --hard G &&
set_fake_editor &&
EXPECT_COUNT=1 git rebase -i --onto master...topic F &&
git rev-parse HEAD^1 >actual &&
git rev-parse C^0 >expect &&
test_cmp expect actual
HEAD is now at 4d3c411 K
Switched to branch 'topic'
HEAD is now at a08c965 G
Rebasing (1/1)
Successfully rebased and updated refs/heads/topic.
ok 5 - rebase -i --onto master...topic
expecting success of 3416.6 'rebase -i --onto master...':
git reset --hard &&
git checkout topic &&
git reset --hard G &&
set_fake_editor &&
EXPECT_COUNT=1 git rebase -i --onto master... F &&
git rev-parse HEAD^1 >actual &&
git rev-parse C^0 >expect &&
test_cmp expect actual
HEAD is now at f576ef2 G
Already on 'topic'
HEAD is now at a08c965 G
Rebasing (1/1)
Successfully rebased and updated refs/heads/topic.
ok 6 - rebase -i --onto master...
expecting success of 3416.7 'rebase -i --onto master...side':
git reset --hard &&
git checkout side &&
git reset --hard K &&
set_fake_editor &&
test_must_fail git rebase -i --onto master...side J
HEAD is now at f576ef2 G
Switched to branch 'side'
HEAD is now at 4d3c411 K
fatal: 'master...side': need exactly one merge base
ok 7 - rebase -i --onto master...side
expecting success of 3416.8 'rebase --keep-base --onto incompatible':
test_must_fail git rebase --keep-base --onto master...
fatal: cannot combine '--keep-base' with '--onto'
ok 8 - rebase --keep-base --onto incompatible
expecting success of 3416.9 'rebase --keep-base --root incompatible':
test_must_fail git rebase --keep-base --root
fatal: cannot combine '--keep-base' with '--root'
ok 9 - rebase --keep-base --root incompatible
expecting success of 3416.10 'rebase --keep-base master from topic':
git reset --hard &&
git checkout topic &&
git reset --hard G &&
git rebase --keep-base master &&
git rev-parse C >base.expect &&
git merge-base master HEAD >base.actual &&
test_cmp base.expect base.actual &&
git rev-parse HEAD~2 >actual &&
git rev-parse C^0 >expect &&
test_cmp expect actual
HEAD is now at 4d3c411 K
Switched to branch 'topic'
HEAD is now at a08c965 G
Current branch topic is up to date.
ok 10 - rebase --keep-base master from topic
expecting success of 3416.11 'rebase --keep-base master from side':
git reset --hard &&
git checkout side &&
git reset --hard K &&
test_must_fail git rebase --keep-base master
HEAD is now at a08c965 G
Switched to branch 'side'
HEAD is now at 4d3c411 K
fatal: 'master': need exactly one merge base with branch
ok 11 - rebase --keep-base master from side
expecting success of 3416.12 'rebase -i --keep-base master from topic':
git reset --hard &&
git checkout topic &&
git reset --hard G &&
set_fake_editor &&
EXPECT_COUNT=2 git rebase -i --keep-base master &&
git rev-parse C >base.expect &&
git merge-base master HEAD >base.actual &&
test_cmp base.expect base.actual &&
git rev-parse HEAD~2 >actual &&
git rev-parse C^0 >expect &&
test_cmp expect actual
HEAD is now at 4d3c411 K
Switched to branch 'topic'
HEAD is now at a08c965 G
Successfully rebased and updated refs/heads/topic.
ok 12 - rebase -i --keep-base master from topic
expecting success of 3416.13 'rebase -i --keep-base master from side':
git reset --hard &&
git checkout side &&
git reset --hard K &&
set_fake_editor &&
test_must_fail git rebase -i --keep-base master
HEAD is now at a08c965 G
Switched to branch 'side'
HEAD is now at 4d3c411 K
fatal: 'master': need exactly one merge base with branch
ok 13 - rebase -i --keep-base master from side
# passed all 13 test(s)
1..13
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t3419-rebase-patch-id.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3419-rebase-patch-id/.git/
expecting success of 3419.1 'setup':
git commit --allow-empty -m initial &&
git tag root
[master (root-commit) 5c5a81b] initial
Author: A U Thor <author@example.com>
ok 1 - setup
expecting success of 3419.2 'setup: 500 lines':
rm -f .gitattributes &&
git checkout -q -f master &&
git reset --hard root &&
test_seq 500 >file &&
git add file &&
git commit -q -m initial &&
git branch -f other &&
scramble file &&
git add file &&
git commit -q -m "change big file" &&
git checkout -q other &&
: >newfile &&
git add newfile &&
git commit -q -m "add small file" &&
git cherry-pick master >/dev/null 2>&1
HEAD is now at 5c5a81b initial
ok 2 - setup: 500 lines
expecting success of 3419.3 'setup attributes':
echo "file binary" >.gitattributes
ok 3 - setup attributes
expecting success of 3419.4 'detect upstream patch':
git checkout -q master &&
scramble file &&
git add file &&
git commit -q -m "change big file again" &&
git checkout -q other^{} &&
git rebase master &&
git rev-list master...HEAD~ >revs &&
test_must_be_empty revs
Rebasing (1/1)
Successfully rebased and updated detached HEAD.
ok 4 - detect upstream patch
expecting success of 3419.5 'do not drop patch':
git branch -f squashed master &&
git checkout -q -f squashed &&
git reset -q --soft HEAD~2 &&
git commit -q -m squashed &&
git checkout -q other^{} &&
test_must_fail git rebase squashed &&
git rebase --quit
Rebasing (1/2)
Rebasing (2/2)
warning: Cannot merge binary files: file (HEAD vs. 362fe02... change big file)
error: could not apply 362fe02... change big file
Resolve all conflicts manually, mark them as resolved with
"git add/rm <conflicted_files>", then run "git rebase --continue".
You can instead skip this commit: run "git rebase --skip".
To abort and get back to the state before "git rebase", run "git rebase --abort".
Could not apply 362fe02... change big file
Auto-merging file
CONFLICT (content): Merge conflict in file
ok 5 - do not drop patch
# passed all 5 test(s)
1..5
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t3404-rebase-interactive.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3404-rebase-interactive/.git/
expecting success of 3404.1 'setup':
test_commit A file1 &&
test_commit B file1 &&
test_commit C file2 &&
test_commit D file1 &&
test_commit E file3 &&
git checkout -b branch1 A &&
test_commit F file4 &&
test_commit G file1 &&
test_commit H file5 &&
git checkout -b branch2 F &&
test_commit I file6 &&
git checkout -b conflict-branch A &&
test_commit one conflict &&
test_commit two conflict &&
test_commit three conflict &&
test_commit four conflict &&
git checkout -b no-conflict-branch A &&
test_commit J fileJ &&
test_commit K fileK &&
test_commit L fileL &&
test_commit M fileM &&
git checkout -b no-ff-branch A &&
test_commit N fileN &&
test_commit O fileO &&
test_commit P fileP
[master (root-commit) 6e62bf8] A
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 file1
[master 313fe96] B
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
[master d0f65f2] C
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 file2
[master 0547e3f] D
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
[master 8f99a4f] E
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 file3
Switched to a new branch 'branch1'
[branch1 cfefd94] F
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 file4
[branch1 83751a6] G
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
[branch1 4373208] H
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 file5
Switched to a new branch 'branch2'
[branch2 615be62] I
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 file6
Switched to a new branch 'conflict-branch'
[conflict-branch b895952] one
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 conflict
[conflict-branch 766a798] two
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
[conflict-branch 1eadf03] three
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
[conflict-branch f91a2b3] four
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
Switched to a new branch 'no-conflict-branch'
[no-conflict-branch 808874f] J
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 fileJ
[no-conflict-branch 265b89e] K
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 fileK
[no-conflict-branch 6b0f5e6] L
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 fileL
[no-conflict-branch 3389558] M
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 fileM
Switched to a new branch 'no-ff-branch'
[no-ff-branch 53b4423] N
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 fileN
[no-ff-branch cc47714] O
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 fileO
[no-ff-branch faef1a5] P
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 fileP
ok 1 - setup
expecting success of 3404.2 'rebase --keep-empty':
git checkout -b emptybranch master &&
git commit --allow-empty -m "empty" &&
git rebase --keep-empty -i HEAD~2 &&
git log --oneline >actual &&
test_line_count = 6 actual
Switched to a new branch 'emptybranch'
[emptybranch da33401] empty
Author: A U Thor <author@example.com>
Successfully rebased and updated refs/heads/emptybranch.
ok 2 - rebase --keep-empty
expecting success of 3404.3 'rebase -i with empty todo list':
cat >expect <<-\EOF &&
error: nothing to do
EOF
(
set_fake_editor &&
test_must_fail env FAKE_LINES="#" \
git rebase -i HEAD^ >output 2>&1
) &&
tail -n 1 output >actual && # Ignore output about changing todo list
test_i18ncmp expect actual
checking prerequisite: C_LOCALE_OUTPUT
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
! test_bool_env GIT_TEST_GETTEXT_POISON false
)
prerequisite C_LOCALE_OUTPUT ok
ok 3 - rebase -i with empty todo list
expecting success of 3404.4 'rebase -i with the exec command':
git checkout master &&
(
set_fake_editor &&
FAKE_LINES="1 exec_>touch-one
2 exec_>touch-two exec_false exec_>touch-three
3 4 exec_>\"touch-file__name_with_spaces\";_>touch-after-semicolon 5" &&
export FAKE_LINES &&
test_must_fail git rebase -i A
) &&
test_path_is_file touch-one &&
test_path_is_file touch-two &&
test_path_is_missing touch-three " (should have stopped before)" &&
test_cmp_rev C HEAD &&
git rebase --continue &&
test_path_is_file touch-three &&
test_path_is_file "touch-file name with spaces" &&
test_path_is_file touch-after-semicolon &&
test_cmp_rev master HEAD &&
rm -f touch-*
Switched to branch 'master'
rebase -i script before editing:
pick 313fe96 B
pick d0f65f2 C
pick 0547e3f D
pick 8f99a4f E
rebase -i script after editing:
pick 313fe96 B
exec >touch-one
pick d0f65f2 C
exec >touch-two
exec false
exec >touch-three
pick 0547e3f D
pick 8f99a4f E
exec >"touch-file name with spaces"; >touch-after-semicolon
Rebasing (2/9)
Executing: >touch-one
Rebasing (3/9)
Rebasing (4/9)
Executing: >touch-two
Rebasing (5/9)
Executing: false
warning: execution failed: false
You can fix the problem, and then run
git rebase --continue
Rebasing (6/9)
Executing: >touch-three
Rebasing (7/9)
Rebasing (8/9)
Rebasing (9/9)
Executing: >"touch-file name with spaces"; >touch-after-semicolon
Successfully rebased and updated refs/heads/master.
ok 4 - rebase -i with the exec command
expecting success of 3404.5 'rebase -i with the exec command runs from tree root':
git checkout master &&
mkdir subdir && (cd subdir &&
set_fake_editor &&
FAKE_LINES="1 exec_>touch-subdir" \
git rebase -i HEAD^
) &&
test_path_is_file touch-subdir &&
rm -fr subdir
Already on 'master'
rebase -i script before editing:
pick 8f99a4f E
rebase -i script after editing:
pick 8f99a4f E
exec >touch-subdir
Rebasing (2/2)
Executing: >touch-subdir
Successfully rebased and updated refs/heads/master.
ok 5 - rebase -i with the exec command runs from tree root
expecting success of 3404.6 'rebase -i with exec allows git commands in subdirs':
test_when_finished "rm -rf subdir" &&
test_when_finished "git rebase --abort ||:" &&
git checkout master &&
mkdir subdir && (cd subdir &&
set_fake_editor &&
FAKE_LINES="1 x_cd_subdir_&&_git_rev-parse_--is-inside-work-tree" \
git rebase -i HEAD^
)
Already on 'master'
rebase -i script before editing:
pick 8f99a4f E
rebase -i script after editing:
pick 8f99a4f E
x cd subdir && git rev-parse --is-inside-work-tree
Rebasing (2/2)
Executing: cd subdir && git rev-parse --is-inside-work-tree
true
Successfully rebased and updated refs/heads/master.
fatal: No rebase in progress?
ok 6 - rebase -i with exec allows git commands in subdirs
expecting success of 3404.7 'rebase -i sets work tree properly':
test_when_finished "rm -rf subdir" &&
test_when_finished "test_might_fail git rebase --abort" &&
mkdir subdir &&
git rebase -x "(cd subdir && git rev-parse --show-toplevel)" HEAD^ \
>actual &&
! grep "/subdir$" actual
Rebasing (2/2)
Executing: (cd subdir && git rev-parse --show-toplevel)
Successfully rebased and updated refs/heads/master.
fatal: No rebase in progress?
ok 7 - rebase -i sets work tree properly
expecting success of 3404.8 'rebase -i with the exec command checks tree cleanness':
git checkout master &&
(
set_fake_editor &&
test_must_fail env FAKE_LINES="exec_echo_foo_>file1 1" \
git rebase -i HEAD^
) &&
test_cmp_rev master^ HEAD &&
git reset --hard &&
git rebase --continue
Already on 'master'
rebase -i script before editing:
pick 8f99a4f E
rebase -i script after editing:
exec echo foo >file1
pick 8f99a4f E
Rebasing (1/2)
Executing: echo foo >file1
error: cannot rebase: You have unstaged changes.
warning: execution succeeded: echo foo >file1
but left changes to the index and/or the working tree
Commit or stash your changes, and then run
git rebase --continue
HEAD is now at 0547e3f D
Rebasing (2/2)
Successfully rebased and updated refs/heads/master.
ok 8 - rebase -i with the exec command checks tree cleanness
expecting success of 3404.9 'rebase -x with empty command fails':
test_when_finished "git rebase --abort ||:" &&
test_must_fail env git rebase -x "" @ 2>actual &&
test_write_lines "error: empty exec command" >expected &&
test_i18ncmp expected actual &&
test_must_fail env git rebase -x " " @ 2>actual &&
test_i18ncmp expected actual
fatal: No rebase in progress?
ok 9 - rebase -x with empty command fails
expecting success of 3404.10 'rebase -x with newline in command fails':
test_when_finished "git rebase --abort ||:" &&
test_must_fail env git rebase -x "a${LF}b" @ 2>actual &&
test_write_lines "error: exec commands cannot contain newlines" \
>expected &&
test_i18ncmp expected actual
fatal: No rebase in progress?
ok 10 - rebase -x with newline in command fails
expecting success of 3404.11 'rebase -i with exec of inexistent command':
git checkout master &&
test_when_finished "git rebase --abort" &&
(
set_fake_editor &&
test_must_fail env FAKE_LINES="exec_this-command-does-not-exist 1" \
git rebase -i HEAD^ >actual 2>&1
) &&
! grep "Maybe git-rebase is broken" actual
Already on 'master'
ok 11 - rebase -i with exec of inexistent command
expecting success of 3404.12 'implicit interactive rebase does not invoke sequence editor':
test_when_finished "git rebase --abort ||:" &&
GIT_SEQUENCE_EDITOR="echo bad >" git rebase -x"echo one" @^
Rebasing (2/2)
Executing: echo one
one
Successfully rebased and updated refs/heads/master.
fatal: No rebase in progress?
ok 12 - implicit interactive rebase does not invoke sequence editor
expecting success of 3404.13 'no changes are a nop':
git checkout branch2 &&
git rebase -i F &&
test "$(git symbolic-ref -q HEAD)" = "refs/heads/branch2" &&
test_cmp_rev I HEAD
Switched to branch 'branch2'
Successfully rebased and updated refs/heads/branch2.
ok 13 - no changes are a nop
expecting success of 3404.14 'test the [branch] option':
git checkout -b dead-end &&
git rm file6 &&
git commit -m "stop here" &&
git rebase -i F branch2 &&
test "$(git symbolic-ref -q HEAD)" = "refs/heads/branch2" &&
test_cmp_rev I branch2 &&
test_cmp_rev I HEAD
Switched to a new branch 'dead-end'
rm 'file6'
[dead-end f814f58] stop here
Author: A U Thor <author@example.com>
1 file changed, 1 deletion(-)
delete mode 100644 file6
Successfully rebased and updated refs/heads/branch2.
ok 14 - test the [branch] option
expecting success of 3404.15 'test --onto <branch>':
git checkout -b test-onto branch2 &&
git rebase -i --onto branch1 F &&
test "$(git symbolic-ref -q HEAD)" = "refs/heads/test-onto" &&
test_cmp_rev HEAD^ branch1 &&
test_cmp_rev I branch2
Switched to a new branch 'test-onto'
Rebasing (1/1)
Successfully rebased and updated refs/heads/test-onto.
ok 15 - test --onto <branch>
expecting success of 3404.16 'rebase on top of a non-conflicting commit':
git checkout branch1 &&
git tag original-branch1 &&
git rebase -i branch2 &&
test file6 = $(git diff --name-only original-branch1) &&
test "$(git symbolic-ref -q HEAD)" = "refs/heads/branch1" &&
test_cmp_rev I branch2 &&
test_cmp_rev I HEAD~2
Switched to branch 'branch1'
Rebasing (1/2)
Rebasing (2/2)
Successfully rebased and updated refs/heads/branch1.
ok 16 - rebase on top of a non-conflicting commit
expecting success of 3404.17 'reflog for the branch shows state before rebase':
test_cmp_rev branch1@{1} original-branch1
ok 17 - reflog for the branch shows state before rebase
expecting success of 3404.18 'reflog for the branch shows correct finish message':
printf "rebase (finish): refs/heads/branch1 onto %s\n" \
"$(git rev-parse branch2)" >expected &&
git log -g --pretty=%gs -1 refs/heads/branch1 >actual &&
test_cmp expected actual
ok 18 - reflog for the branch shows correct finish message
expecting success of 3404.19 'exchange two commits':
(
set_fake_editor &&
FAKE_LINES="2 1" git rebase -i HEAD~2
) &&
test H = $(git cat-file commit HEAD^ | sed -ne \$p) &&
test G = $(git cat-file commit HEAD | sed -ne \$p) &&
blob1=$(git rev-parse --short HEAD^:file1) &&
blob2=$(git rev-parse --short HEAD:file1) &&
commit=$(git rev-parse --short HEAD)
rebase -i script before editing:
pick ae8f65e G
pick f5f5249 H
rebase -i script after editing:
pick f5f5249 H
pick ae8f65e G
Rebasing (1/2)
Rebasing (2/2)
Successfully rebased and updated refs/heads/branch1.
ok 19 - exchange two commits
expecting success of 3404.20 'stop on conflicting pick':
cat >expect <<-EOF &&
diff --git a/file1 b/file1
index $blob1..$blob2 100644
--- a/file1
+++ b/file1
@@ -1 +1 @@
-A
+G
EOF
cat >expect2 <<-EOF &&
<<<<<<< HEAD
D
=======
G
>>>>>>> $commit... G
EOF
git tag new-branch1 &&
test_must_fail git rebase -i master &&
test "$(git rev-parse HEAD~3)" = "$(git rev-parse master)" &&
test_cmp expect .git/rebase-merge/patch &&
test_cmp expect2 file1 &&
test "$(git diff --name-status |
sed -n -e "/^U/s/^U[^a-z]*//p")" = file1 &&
test 4 = $(grep -v "^#" < .git/rebase-merge/done | wc -l) &&
test 0 = $(grep -c "^[^#]" < .git/rebase-merge/git-rebase-todo)
Rebasing (1/4)
Rebasing (2/4)
Rebasing (3/4)
Rebasing (4/4)
error: could not apply 5d18e54... G
Resolve all conflicts manually, mark them as resolved with
"git add/rm <conflicted_files>", then run "git rebase --continue".
You can instead skip this commit: run "git rebase --skip".
To abort and get back to the state before "git rebase", run "git rebase --abort".
Could not apply 5d18e54... G
Auto-merging file1
CONFLICT (content): Merge conflict in file1
ok 20 - stop on conflicting pick
expecting success of 3404.21 'show conflicted patch':
GIT_TRACE=1 git rebase --show-current-patch >/dev/null 2>stderr &&
grep "show.*REBASE_HEAD" stderr &&
# the original stopped-sha1 is abbreviated
stopped_sha1="$(git rev-parse $(cat ".git/rebase-merge/stopped-sha"))" &&
test "$(git rev-parse REBASE_HEAD)" = "$stopped_sha1"
trace: run_command: git show REBASE_HEAD --
trace: built-in: git show REBASE_HEAD --
ok 21 - show conflicted patch
expecting success of 3404.22 'abort':
git rebase --abort &&
test_cmp_rev new-branch1 HEAD &&
test "$(git symbolic-ref -q HEAD)" = "refs/heads/branch1" &&
test_path_is_missing .git/rebase-merge
ok 22 - abort
expecting success of 3404.23 'abort with error when new base cannot be checked out':
git rm --cached file1 &&
git commit -m "remove file in base" &&
test_must_fail git rebase -i master > output 2>&1 &&
test_i18ngrep "The following untracked working tree files would be overwritten by checkout:" \
output &&
test_i18ngrep "file1" output &&
test_path_is_missing .git/rebase-merge &&
git reset --hard HEAD^
rm 'file1'
[branch1 2dd5570] remove file in base
Author: A U Thor <author@example.com>
1 file changed, 1 deletion(-)
delete mode 100644 file1
error: The following untracked working tree files would be overwritten by checkout:
file1
HEAD is now at 5d18e54 G
ok 23 - abort with error when new base cannot be checked out
expecting success of 3404.24 'retain authorship':
echo A > file7 &&
git add file7 &&
test_tick &&
GIT_AUTHOR_NAME="Twerp Snog" git commit -m "different author" &&
git tag twerp &&
git rebase -i --onto master HEAD^ &&
git show HEAD | grep "^Author: Twerp Snog"
[branch1 2596307] different author
Author: Twerp Snog <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 file7
Rebasing (1/1)
Successfully rebased and updated refs/heads/branch1.
Author: Twerp Snog <author@example.com>
ok 24 - retain authorship
expecting success of 3404.25 'retain authorship w/ conflicts':
oGIT_AUTHOR_NAME=$GIT_AUTHOR_NAME &&
test_when_finished "GIT_AUTHOR_NAME=\$oGIT_AUTHOR_NAME" &&
git reset --hard twerp &&
test_commit a conflict a conflict-a &&
git reset --hard twerp &&
GIT_AUTHOR_NAME=AttributeMe &&
export GIT_AUTHOR_NAME &&
test_commit b conflict b conflict-b &&
GIT_AUTHOR_NAME=$oGIT_AUTHOR_NAME &&
test_must_fail git rebase -i conflict-a &&
echo resolved >conflict &&
git add conflict &&
git rebase --continue &&
test_cmp_rev conflict-a^0 HEAD^ &&
git show >out &&
grep AttributeMe out
HEAD is now at 2596307 different author
[branch1 748a43d] a
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 conflict
HEAD is now at 2596307 different author
[branch1 34d1a6c] b
Author: AttributeMe <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 conflict
Rebasing (1/1)
error: could not apply 34d1a6c... b
Resolve all conflicts manually, mark them as resolved with
"git add/rm <conflicted_files>", then run "git rebase --continue".
You can instead skip this commit: run "git rebase --skip".
To abort and get back to the state before "git rebase", run "git rebase --abort".
Could not apply 34d1a6c... b
CONFLICT (add/add): Merge conflict in conflict
Auto-merging conflict
[detached HEAD 7866b12] b
Author: AttributeMe <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
Successfully rebased and updated refs/heads/branch1.
Author: AttributeMe <author@example.com>
ok 25 - retain authorship w/ conflicts
expecting success of 3404.26 'squash':
git reset --hard twerp &&
echo B > file7 &&
test_tick &&
GIT_AUTHOR_NAME="Nitfol" git commit -m "nitfol" file7 &&
echo "******************************" &&
(
set_fake_editor &&
FAKE_LINES="1 squash 2" EXPECT_HEADER_COUNT=2 \
git rebase -i --onto master HEAD~2
) &&
test B = $(cat file7) &&
test_cmp_rev HEAD^ master
HEAD is now at 2596307 different author
[branch1 cdf577a] nitfol
Author: Nitfol <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
******************************
rebase -i script before editing:
pick 2596307 different author
pick cdf577a nitfol
rebase -i script after editing:
pick 2596307 different author
squash cdf577a nitfol
Rebasing (1/2)
Rebasing (2/2)
[detached HEAD d2d5ba7] different author
Author: Twerp Snog <author@example.com>
Date: Thu Apr 7 15:33:13 2005 -0700
1 file changed, 1 insertion(+)
create mode 100644 file7
Successfully rebased and updated refs/heads/branch1.
ok 26 - squash
expecting success of 3404.27 'retain authorship when squashing':
git show HEAD | grep "^Author: Twerp Snog"
Author: Twerp Snog <author@example.com>
ok 27 - retain authorship when squashing
checking prerequisite: REBASE_P
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
test -z "$GIT_TEST_SKIP_REBASE_P"
)
prerequisite REBASE_P ok
expecting success of 3404.28 '-p handles "no changes" gracefully':
HEAD=$(git rev-parse HEAD) &&
git rebase -i -p HEAD^ &&
git update-index --refresh &&
git diff-files --quiet &&
git diff-index --quiet --cached HEAD -- &&
test $HEAD = $(git rev-parse HEAD)
warning: git rebase --preserve-merges is deprecated. Use --rebase-merges instead.
Rebasing (1/1)
Successfully rebased and updated refs/heads/branch1.
ok 28 - -p handles "no changes" gracefully
checking known breakage of 3404.29 'exchange two commits with -p':
git checkout H &&
(
set_fake_editor &&
FAKE_LINES="2 1" git rebase -i -p HEAD~2
) &&
test H = $(git cat-file commit HEAD^ | sed -ne \$p) &&
test G = $(git cat-file commit HEAD | sed -ne \$p)
Note: switching to 'H'.
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 <new-branch-name>
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
HEAD is now at 4373208 H
warning: git rebase --preserve-merges is deprecated. Use --rebase-merges instead.
rebase -i script before editing:
pick 83751a6 G
pick 4373208 H
rebase -i script after editing:
pick 4373208 H
pick 83751a6 G
Rebasing (1/2)
Rebasing (2/2)
Successfully rebased and updated detached HEAD.
not ok 29 - exchange two commits with -p # TODO known breakage
expecting success of 3404.30 'preserve merges with -p':
git checkout -b to-be-preserved master^ &&
: > unrelated-file &&
git add unrelated-file &&
test_tick &&
git commit -m "unrelated" &&
git checkout -b another-branch master &&
echo B > file1 &&
test_tick &&
git commit -m J file1 &&
test_tick &&
git merge to-be-preserved &&
echo C > file1 &&
test_tick &&
git commit -m K file1 &&
echo D > file1 &&
test_tick &&
git commit -m L1 file1 &&
git checkout HEAD^ &&
echo 1 > unrelated-file &&
test_tick &&
git commit -m L2 unrelated-file &&
test_tick &&
git merge another-branch &&
echo E > file1 &&
test_tick &&
git commit -m M file1 &&
git checkout -b to-be-rebased &&
test_tick &&
git rebase -i -p --onto branch1 master &&
git update-index --refresh &&
git diff-files --quiet &&
git diff-index --quiet --cached HEAD -- &&
test_cmp_rev HEAD~6 branch1 &&
test_cmp_rev HEAD~4^2 to-be-preserved &&
test_cmp_rev HEAD^^2^ HEAD^^^ &&
test $(git show HEAD~5:file1) = B &&
test $(git show HEAD~3:file1) = C &&
test $(git show HEAD:file1) = E &&
test $(git show HEAD:unrelated-file) = 1
Previous HEAD position was 83751a6 G
Switched to a new branch 'to-be-preserved'
[to-be-preserved 8dba1b0] unrelated
Author: A U Thor <author@example.com>
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 unrelated-file
Switched to a new branch 'another-branch'
[another-branch b55ddc1] J
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
Merging:
b55ddc1 J
virtual to-be-preserved
found 1 common ancestor:
0547e3f D
Merge made by the 'recursive' strategy.
unrelated-file | 0
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 unrelated-file
[another-branch 28ab3c9] K
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
[another-branch b22c0b1] L1
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
Note: switching to 'HEAD^'.
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 <new-branch-name>
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
HEAD is now at 28ab3c9 K
[detached HEAD 9986375] L2
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
Merging:
9986375 L2
virtual another-branch
found 1 common ancestor:
28ab3c9 K
Merge made by the 'recursive' strategy.
file1 | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[detached HEAD 806db33] M
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
Switched to a new branch 'to-be-rebased'
warning: git rebase --preserve-merges is deprecated. Use --rebase-merges instead.
Rebasing (1/7)
Rebasing (2/7)
Rebasing (3/7)
Rebasing (4/7)
Rebasing (5/7)
Rebasing (6/7)
Rebasing (7/7)
Successfully rebased and updated refs/heads/to-be-rebased.
ok 30 - preserve merges with -p
expecting success of 3404.31 'edit ancestor with -p':
(
set_fake_editor &&
FAKE_LINES="1 2 edit 3 4" git rebase -i -p HEAD~3
) &&
echo 2 > unrelated-file &&
test_tick &&
git commit -m L2-modified --amend unrelated-file &&
git rebase --continue &&
git update-index --refresh &&
git diff-files --quiet &&
git diff-index --quiet --cached HEAD -- &&
test $(git show HEAD:unrelated-file) = 2
warning: git rebase --preserve-merges is deprecated. Use --rebase-merges instead.
rebase -i script before editing:
pick 028896d L2
pick 44a20cd L1
pick 5f48528 Merge branch 'another-branch' into HEAD
pick 2c6682a M
rebase -i script after editing:
pick 028896d L2
pick 44a20cd L1
edit 5f48528 Merge branch 'another-branch' into HEAD
pick 2c6682a M
Rebasing (1/4)
Rebasing (2/4)
Rebasing (3/4)
Stopped at 5f48528... Merge branch 'another-branch' into HEAD
You can amend the commit now, with
git commit --amend
Once you are satisfied with your changes, run
git rebase --continue
[detached HEAD ed60d45] L2-modified
Author: A U Thor <author@example.com>
Date: Thu Apr 7 15:43:13 2005 -0700
warning: git rebase --preserve-merges is deprecated. Use --rebase-merges instead.
Rebasing (4/4)
Successfully rebased and updated refs/heads/to-be-rebased.
ok 31 - edit ancestor with -p
expecting success of 3404.32 '--continue tries to commit':
git reset --hard D &&
test_tick &&
(
set_fake_editor &&
test_must_fail git rebase -i --onto new-branch1 HEAD^ &&
echo resolved > file1 &&
git add file1 &&
FAKE_COMMIT_MESSAGE="chouette!" git rebase --continue
) &&
test_cmp_rev HEAD^ new-branch1 &&
git show HEAD | grep chouette
HEAD is now at 0547e3f D
Rebasing (1/1)
error: could not apply 0547e3f... D
Resolve all conflicts manually, mark them as resolved with
"git add/rm <conflicted_files>", then run "git rebase --continue".
You can instead skip this commit: run "git rebase --skip".
To abort and get back to the state before "git rebase", run "git rebase --abort".
Could not apply 0547e3f... D
Auto-merging file1
CONFLICT (content): Merge conflict in file1
[detached HEAD eb2be51] chouette!
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
Successfully rebased and updated refs/heads/to-be-rebased.
chouette!
ok 32 - --continue tries to commit
expecting success of 3404.33 'verbose flag is heeded, even after --continue':
git reset --hard master@{1} &&
test_tick &&
test_must_fail git rebase -v -i --onto new-branch1 HEAD^ &&
echo resolved > file1 &&
git add file1 &&
git rebase --continue > output &&
grep "^ file1 | 2 +-$" output
HEAD is now at 0547e3f D
Changes from 6e62bf890e21973b771e4e6fc28f5ade62edb4bc to 5d18e5414f663da21d1363c271f2d684aeda7b5b:
file1 | 2 +-
file4 | 1 +
file5 | 1 +
file6 | 1 +
4 files changed, 4 insertions(+), 1 deletion(-)
create mode 100644 file4
create mode 100644 file5
create mode 100644 file6
Note: switching to '5d18e5414f663da21d1363c271f2d684aeda7b5b'.
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 <new-branch-name>
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
HEAD is now at 5d18e54 G
Rebasing (1/1)
error: could not apply 0547e3f... D
Resolve all conflicts manually, mark them as resolved with
"git add/rm <conflicted_files>", then run "git rebase --continue".
You can instead skip this commit: run "git rebase --skip".
To abort and get back to the state before "git rebase", run "git rebase --abort".
Could not apply 0547e3f... D
Auto-merging file1
CONFLICT (content): Merge conflict in file1
Successfully rebased and updated refs/heads/to-be-rebased.
file1 | 2 +-
ok 33 - verbose flag is heeded, even after --continue
expecting success of 3404.34 'multi-squash only fires up editor once':
base=$(git rev-parse HEAD~4) &&
(
set_fake_editor &&
FAKE_COMMIT_AMEND="ONCE" \
FAKE_LINES="1 squash 2 squash 3 squash 4" \
EXPECT_HEADER_COUNT=4 \
git rebase -i $base
) &&
test $base = $(git rev-parse HEAD^) &&
test 1 = $(git show | grep ONCE | wc -l)
rebase -i script before editing:
pick 615be62 I
pick 0626e8d H
pick 5d18e54 G
pick 2e6badc D
rebase -i script after editing:
pick 615be62 I
squash 0626e8d H
squash 5d18e54 G
squash 2e6badc D
Rebasing (2/4)
Rebasing (3/4)
Rebasing (4/4)
[detached HEAD e5aa6ef] I
Author: A U Thor <author@example.com>
Date: Thu Apr 7 15:21:13 2005 -0700
3 files changed, 3 insertions(+), 1 deletion(-)
create mode 100644 file5
create mode 100644 file6
Successfully rebased and updated refs/heads/to-be-rebased.
ok 34 - multi-squash only fires up editor once
expecting success of 3404.35 'multi-fixup does not fire up editor':
git checkout -b multi-fixup E &&
base=$(git rev-parse HEAD~4) &&
(
set_fake_editor &&
FAKE_COMMIT_AMEND="NEVER" \
FAKE_LINES="1 fixup 2 fixup 3 fixup 4" \
git rebase -i $base
) &&
test $base = $(git rev-parse HEAD^) &&
test 0 = $(git show | grep NEVER | wc -l) &&
git checkout @{-1} &&
git branch -D multi-fixup
Switched to a new branch 'multi-fixup'
rebase -i script before editing:
pick 313fe96 B
pick d0f65f2 C
pick 0547e3f D
pick 8f99a4f E
rebase -i script after editing:
pick 313fe96 B
fixup d0f65f2 C
fixup 0547e3f D
fixup 8f99a4f E
Rebasing (2/4)
Rebasing (3/4)
Rebasing (4/4)
Successfully rebased and updated refs/heads/multi-fixup.
Switched to branch 'to-be-rebased'
Deleted branch multi-fixup (was acbd024).
ok 35 - multi-fixup does not fire up editor
expecting success of 3404.36 'commit message used after conflict':
git checkout -b conflict-fixup conflict-branch &&
base=$(git rev-parse HEAD~4) &&
(
set_fake_editor &&
test_must_fail env FAKE_LINES="1 fixup 3 fixup 4" \
git rebase -i $base &&
echo three > conflict &&
git add conflict &&
FAKE_COMMIT_AMEND="ONCE" EXPECT_HEADER_COUNT=2 \
git rebase --continue
) &&
test $base = $(git rev-parse HEAD^) &&
test 1 = $(git show | grep ONCE | wc -l) &&
git checkout @{-1} &&
git branch -D conflict-fixup
Switched to a new branch 'conflict-fixup'
rebase -i script before editing:
pick b895952 one
pick 766a798 two
pick 1eadf03 three
pick f91a2b3 four
rebase -i script after editing:
pick b895952 one
fixup 1eadf03 three
fixup f91a2b3 four
Rebasing (2/3)
error: could not apply 1eadf03... three
Resolve all conflicts manually, mark them as resolved with
"git add/rm <conflicted_files>", then run "git rebase --continue".
You can instead skip this commit: run "git rebase --skip".
To abort and get back to the state before "git rebase", run "git rebase --abort".
Could not apply 1eadf03... three
Auto-merging conflict
CONFLICT (content): Merge conflict in conflict
[detached HEAD c36af95] one
Author: A U Thor <author@example.com>
Date: Thu Apr 7 15:22:13 2005 -0700
1 file changed, 1 insertion(+)
create mode 100644 conflict
Rebasing (3/3)
Successfully rebased and updated refs/heads/conflict-fixup.
Switched to branch 'to-be-rebased'
Deleted branch conflict-fixup (was 221ec56).
ok 36 - commit message used after conflict
expecting success of 3404.37 'commit message retained after conflict':
git checkout -b conflict-squash conflict-branch &&
base=$(git rev-parse HEAD~4) &&
(
set_fake_editor &&
test_must_fail env FAKE_LINES="1 fixup 3 squash 4" \
git rebase -i $base &&
echo three > conflict &&
git add conflict &&
FAKE_COMMIT_AMEND="TWICE" EXPECT_HEADER_COUNT=2 \
git rebase --continue
) &&
test $base = $(git rev-parse HEAD^) &&
test 2 = $(git show | grep TWICE | wc -l) &&
git checkout @{-1} &&
git branch -D conflict-squash
Switched to a new branch 'conflict-squash'
rebase -i script before editing:
pick b895952 one
pick 766a798 two
pick 1eadf03 three
pick f91a2b3 four
rebase -i script after editing:
pick b895952 one
fixup 1eadf03 three
squash f91a2b3 four
Rebasing (2/3)
error: could not apply 1eadf03... three
Resolve all conflicts manually, mark them as resolved with
"git add/rm <conflicted_files>", then run "git rebase --continue".
You can instead skip this commit: run "git rebase --skip".
To abort and get back to the state before "git rebase", run "git rebase --abort".
Could not apply 1eadf03... three
Auto-merging conflict
CONFLICT (content): Merge conflict in conflict
[detached HEAD 191a914] one
Author: A U Thor <author@example.com>
Date: Thu Apr 7 15:22:13 2005 -0700
1 file changed, 1 insertion(+)
create mode 100644 conflict
Rebasing (3/3)
[detached HEAD 60ec801] one
Author: A U Thor <author@example.com>
Date: Thu Apr 7 15:22:13 2005 -0700
1 file changed, 1 insertion(+)
create mode 100644 conflict
Successfully rebased and updated refs/heads/conflict-squash.
Switched to branch 'to-be-rebased'
Deleted branch conflict-squash (was 60ec801).
ok 37 - commit message retained after conflict
expecting success of 3404.38 'squash and fixup generate correct log messages':
cat >expect-squash-fixup <<-\EOF &&
B
D
ONCE
EOF
git checkout -b squash-fixup E &&
base=$(git rev-parse HEAD~4) &&
(
set_fake_editor &&
FAKE_COMMIT_AMEND="ONCE" \
FAKE_LINES="1 fixup 2 squash 3 fixup 4" \
EXPECT_HEADER_COUNT=4 \
git rebase -i $base
) &&
git cat-file commit HEAD | sed -e 1,/^\$/d > actual-squash-fixup &&
test_cmp expect-squash-fixup actual-squash-fixup &&
git cat-file commit HEAD@{2} |
grep "^# This is a combination of 3 commits\." &&
git cat-file commit HEAD@{3} |
grep "^# This is a combination of 2 commits\." &&
git checkout @{-1} &&
git branch -D squash-fixup
Switched to a new branch 'squash-fixup'
rebase -i script before editing:
pick 313fe96 B
pick d0f65f2 C
pick 0547e3f D
pick 8f99a4f E
rebase -i script after editing:
pick 313fe96 B
fixup d0f65f2 C
squash 0547e3f D
fixup 8f99a4f E
Rebasing (2/4)
Rebasing (3/4)
Rebasing (4/4)
[detached HEAD 74d534c] B
Author: A U Thor <author@example.com>
Date: Thu Apr 7 15:14:13 2005 -0700
3 files changed, 3 insertions(+), 1 deletion(-)
create mode 100644 file2
create mode 100644 file3
Successfully rebased and updated refs/heads/squash-fixup.
# This is a combination of 3 commits.
# This is a combination of 2 commits.
Switched to branch 'to-be-rebased'
Deleted branch squash-fixup (was 74d534c).
ok 38 - squash and fixup generate correct log messages
expecting success of 3404.39 'squash ignores comments':
git checkout -b skip-comments E &&
base=$(git rev-parse HEAD~4) &&
(
set_fake_editor &&
FAKE_COMMIT_AMEND="ONCE" \
FAKE_LINES="# 1 # squash 2 # squash 3 # squash 4 #" \
EXPECT_HEADER_COUNT=4 \
git rebase -i $base
) &&
test $base = $(git rev-parse HEAD^) &&
test 1 = $(git show | grep ONCE | wc -l) &&
git checkout @{-1} &&
git branch -D skip-comments
Switched to a new branch 'skip-comments'
rebase -i script before editing:
pick 313fe96 B
pick d0f65f2 C
pick 0547e3f D
pick 8f99a4f E
rebase -i script after editing:
# comment
pick 313fe96 B
# comment
squash d0f65f2 C
# comment
squash 0547e3f D
# comment
squash 8f99a4f E
# comment
Rebasing (2/4)
Rebasing (3/4)
Rebasing (4/4)
[detached HEAD f397ac4] B
Author: A U Thor <author@example.com>
Date: Thu Apr 7 15:14:13 2005 -0700
3 files changed, 3 insertions(+), 1 deletion(-)
create mode 100644 file2
create mode 100644 file3
Successfully rebased and updated refs/heads/skip-comments.
Switched to branch 'to-be-rebased'
Deleted branch skip-comments (was f397ac4).
ok 39 - squash ignores comments
expecting success of 3404.40 'squash ignores blank lines':
git checkout -b skip-blank-lines E &&
base=$(git rev-parse HEAD~4) &&
(
set_fake_editor &&
FAKE_COMMIT_AMEND="ONCE" \
FAKE_LINES="> 1 > squash 2 > squash 3 > squash 4 >" \
EXPECT_HEADER_COUNT=4 \
git rebase -i $base
) &&
test $base = $(git rev-parse HEAD^) &&
test 1 = $(git show | grep ONCE | wc -l) &&
git checkout @{-1} &&
git branch -D skip-blank-lines
Switched to a new branch 'skip-blank-lines'
rebase -i script before editing:
pick 313fe96 B
pick d0f65f2 C
pick 0547e3f D
pick 8f99a4f E
rebase -i script after editing:
pick 313fe96 B
squash d0f65f2 C
squash 0547e3f D
squash 8f99a4f E
Rebasing (3/7)
Rebasing (4/7)
Rebasing (5/7)
[detached HEAD f397ac4] B
Author: A U Thor <author@example.com>
Date: Thu Apr 7 15:14:13 2005 -0700
3 files changed, 3 insertions(+), 1 deletion(-)
create mode 100644 file2
create mode 100644 file3
Successfully rebased and updated refs/heads/skip-blank-lines.
Switched to branch 'to-be-rebased'
Deleted branch skip-blank-lines (was f397ac4).
ok 40 - squash ignores blank lines
expecting success of 3404.41 'squash works as expected':
git checkout -b squash-works no-conflict-branch &&
one=$(git rev-parse HEAD~3) &&
(
set_fake_editor &&
FAKE_LINES="1 s 3 2" EXPECT_HEADER_COUNT=2 git rebase -i HEAD~3
) &&
test $one = $(git rev-parse HEAD~2)
Switched to a new branch 'squash-works'
rebase -i script before editing:
pick 265b89e K
pick 6b0f5e6 L
pick 3389558 M
rebase -i script after editing:
pick 265b89e K
s 3389558 M
pick 6b0f5e6 L
Rebasing (2/3)
[detached HEAD fb01347] K
Author: A U Thor <author@example.com>
Date: Thu Apr 7 15:27:13 2005 -0700
2 files changed, 2 insertions(+)
create mode 100644 fileK
create mode 100644 fileM
Rebasing (3/3)
Successfully rebased and updated refs/heads/squash-works.
ok 41 - squash works as expected
expecting success of 3404.42 'interrupted squash works as expected':
git checkout -b interrupted-squash conflict-branch &&
one=$(git rev-parse HEAD~3) &&
(
set_fake_editor &&
test_must_fail env FAKE_LINES="1 squash 3 2" \
git rebase -i HEAD~3
) &&
test_write_lines one two four > conflict &&
git add conflict &&
test_must_fail git rebase --continue &&
echo resolved > conflict &&
git add conflict &&
git rebase --continue &&
test $one = $(git rev-parse HEAD~2)
Switched to a new branch 'interrupted-squash'
rebase -i script before editing:
pick 766a798 two
pick 1eadf03 three
pick f91a2b3 four
rebase -i script after editing:
pick 766a798 two
squash f91a2b3 four
pick 1eadf03 three
Rebasing (2/3)
error: could not apply f91a2b3... four
Resolve all conflicts manually, mark them as resolved with
"git add/rm <conflicted_files>", then run "git rebase --continue".
You can instead skip this commit: run "git rebase --skip".
To abort and get back to the state before "git rebase", run "git rebase --abort".
Could not apply f91a2b3... four
Auto-merging conflict
CONFLICT (content): Merge conflict in conflict
[detached HEAD d1cbea4] two
Author: A U Thor <author@example.com>
Date: Thu Apr 7 15:23:13 2005 -0700
1 file changed, 2 insertions(+)
Rebasing (3/3)
error: could not apply 1eadf03... three
Resolve all conflicts manually, mark them as resolved with
"git add/rm <conflicted_files>", then run "git rebase --continue".
You can instead skip this commit: run "git rebase --skip".
To abort and get back to the state before "git rebase", run "git rebase --abort".
Could not apply 1eadf03... three
Auto-merging conflict
CONFLICT (content): Merge conflict in conflict
[detached HEAD 634f347] three
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+), 3 deletions(-)
Successfully rebased and updated refs/heads/interrupted-squash.
ok 42 - interrupted squash works as expected
expecting success of 3404.43 'interrupted squash works as expected (case 2)':
git checkout -b interrupted-squash2 conflict-branch &&
one=$(git rev-parse HEAD~3) &&
(
set_fake_editor &&
test_must_fail env FAKE_LINES="3 squash 1 2" \
git rebase -i HEAD~3
) &&
test_write_lines one four > conflict &&
git add conflict &&
test_must_fail git rebase --continue &&
test_write_lines one two four > conflict &&
git add conflict &&
test_must_fail git rebase --continue &&
echo resolved > conflict &&
git add conflict &&
git rebase --continue &&
test $one = $(git rev-parse HEAD~2)
Switched to a new branch 'interrupted-squash2'
rebase -i script before editing:
pick 766a798 two
pick 1eadf03 three
pick f91a2b3 four
rebase -i script after editing:
pick f91a2b3 four
squash 766a798 two
pick 1eadf03 three
Rebasing (1/3)
error: could not apply f91a2b3... four
Resolve all conflicts manually, mark them as resolved with
"git add/rm <conflicted_files>", then run "git rebase --continue".
You can instead skip this commit: run "git rebase --skip".
To abort and get back to the state before "git rebase", run "git rebase --abort".
Could not apply f91a2b3... four
Auto-merging conflict
CONFLICT (content): Merge conflict in conflict
[detached HEAD d5ff450] four
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
Rebasing (2/3)
error: could not apply 766a798... two
Resolve all conflicts manually, mark them as resolved with
"git add/rm <conflicted_files>", then run "git rebase --continue".
You can instead skip this commit: run "git rebase --skip".
To abort and get back to the state before "git rebase", run "git rebase --abort".
Could not apply 766a798... two
Auto-merging conflict
CONFLICT (content): Merge conflict in conflict
[detached HEAD ea11a0c] four
Author: A U Thor <author@example.com>
Date: Thu Apr 7 15:25:13 2005 -0700
1 file changed, 2 insertions(+)
Rebasing (3/3)
error: could not apply 1eadf03... three
Resolve all conflicts manually, mark them as resolved with
"git add/rm <conflicted_files>", then run "git rebase --continue".
You can instead skip this commit: run "git rebase --skip".
To abort and get back to the state before "git rebase", run "git rebase --abort".
Could not apply 1eadf03... three
Auto-merging conflict
CONFLICT (content): Merge conflict in conflict
[detached HEAD f26b32e] three
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+), 3 deletions(-)
Successfully rebased and updated refs/heads/interrupted-squash2.
ok 43 - interrupted squash works as expected (case 2)
expecting success of 3404.44 '--continue tries to commit, even for "edit"':
echo unrelated > file7 &&
git add file7 &&
test_tick &&
git commit -m "unrelated change" &&
parent=$(git rev-parse HEAD^) &&
test_tick &&
(
set_fake_editor &&
FAKE_LINES="edit 1" git rebase -i HEAD^ &&
echo edited > file7 &&
git add file7 &&
FAKE_COMMIT_MESSAGE="chouette!" git rebase --continue
) &&
test edited = $(git show HEAD:file7) &&
git show HEAD | grep chouette &&
test $parent = $(git rev-parse HEAD^)
[interrupted-squash2 1c8cc7a] unrelated change
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 file7
rebase -i script before editing:
pick 1c8cc7a unrelated change
rebase -i script after editing:
edit 1c8cc7a unrelated change
Rebasing (1/1)
Stopped at 1c8cc7a... unrelated change
You can amend the commit now, with
git commit --amend
Once you are satisfied with your changes, run
git rebase --continue
[detached HEAD d64edb7] chouette!
Author: A U Thor <author@example.com>
Date: Thu Apr 7 15:49:13 2005 -0700
1 file changed, 1 insertion(+)
create mode 100644 file7
Successfully rebased and updated refs/heads/interrupted-squash2.
chouette!
ok 44 - --continue tries to commit, even for "edit"
expecting success of 3404.45 'aborted --continue does not squash commits after "edit"':
old=$(git rev-parse HEAD) &&
test_tick &&
(
set_fake_editor &&
FAKE_LINES="edit 1" git rebase -i HEAD^ &&
echo "edited again" > file7 &&
git add file7 &&
test_must_fail env FAKE_COMMIT_MESSAGE=" " git rebase --continue
) &&
test $old = $(git rev-parse HEAD) &&
git rebase --abort
rebase -i script before editing:
pick d64edb7 chouette!
rebase -i script after editing:
edit d64edb7 chouette!
Rebasing (1/1)
Stopped at d64edb7... chouette!
You can amend the commit now, with
git commit --amend
Once you are satisfied with your changes, run
git rebase --continue
Aborting commit due to empty commit message.
error: could not commit staged changes.
ok 45 - aborted --continue does not squash commits after "edit"
expecting success of 3404.46 'auto-amend only edited commits after "edit"':
test_tick &&
(
set_fake_editor &&
FAKE_LINES="edit 1" git rebase -i HEAD^ &&
echo "edited again" > file7 &&
git add file7 &&
FAKE_COMMIT_MESSAGE="edited file7 again" git commit &&
echo "and again" > file7 &&
git add file7 &&
test_tick &&
test_must_fail env FAKE_COMMIT_MESSAGE="and again" \
git rebase --continue
) &&
git rebase --abort
rebase -i script before editing:
pick d64edb7 chouette!
rebase -i script after editing:
edit d64edb7 chouette!
Rebasing (1/1)
Stopped at d64edb7... chouette!
You can amend the commit now, with
git commit --amend
Once you are satisfied with your changes, run
git rebase --continue
[detached HEAD 53dfc25] edited file7 again
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
error:
You have uncommitted changes in your working tree. Please, commit them
first and then run 'git rebase --continue' again.
ok 46 - auto-amend only edited commits after "edit"
expecting success of 3404.47 'clean error after failed "exec"':
test_tick &&
test_when_finished "git rebase --abort || :" &&
(
set_fake_editor &&
test_must_fail env FAKE_LINES="1 exec_false" git rebase -i HEAD^
) &&
echo "edited again" > file7 &&
git add file7 &&
test_must_fail git rebase --continue 2>error &&
test_i18ngrep "you have staged changes in your working tree" error
rebase -i script before editing:
pick d64edb7 chouette!
rebase -i script after editing:
pick d64edb7 chouette!
exec false
Rebasing (2/2)
Executing: false
warning: execution failed: false
You can fix the problem, and then run
git rebase --continue
error: you have staged changes in your working tree
ok 47 - clean error after failed "exec"
expecting success of 3404.48 'rebase a detached HEAD':
grandparent=$(git rev-parse HEAD~2) &&
git checkout $(git rev-parse HEAD) &&
test_tick &&
(
set_fake_editor &&
FAKE_LINES="2 1" git rebase -i HEAD~2
) &&
test $grandparent = $(git rev-parse HEAD~2)
Note: switching to 'd64edb765ae5cc14a814411cd3214035536d1e31'.
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 <new-branch-name>
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
HEAD is now at d64edb7 chouette!
rebase -i script before editing:
pick f26b32e three
pick d64edb7 chouette!
rebase -i script after editing:
pick d64edb7 chouette!
pick f26b32e three
Rebasing (1/2)
Rebasing (2/2)
Successfully rebased and updated detached HEAD.
ok 48 - rebase a detached HEAD
expecting success of 3404.49 'rebase a commit violating pre-commit':
mkdir -p .git/hooks &&
write_script .git/hooks/pre-commit <<-\EOF &&
test -z "$(git diff --cached --check)"
EOF
echo "monde! " >> file1 &&
test_tick &&
test_must_fail git commit -m doesnt-verify file1 &&
git commit -m doesnt-verify --no-verify file1 &&
test_tick &&
(
set_fake_editor &&
FAKE_LINES=2 git rebase -i HEAD~2
)
[detached HEAD 13c0478] doesnt-verify
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
rebase -i script before editing:
pick 29560d1 three
pick 13c0478 doesnt-verify
rebase -i script after editing:
pick 13c0478 doesnt-verify
Rebasing (1/1)
Successfully rebased and updated detached HEAD.
ok 49 - rebase a commit violating pre-commit
expecting success of 3404.50 'rebase with a file named HEAD in worktree':
rm -fr .git/hooks &&
git reset --hard &&
git checkout -b branch3 A &&
(
GIT_AUTHOR_NAME="Squashed Away" &&
export GIT_AUTHOR_NAME &&
>HEAD &&
git add HEAD &&
git commit -m "Add head" &&
>BODY &&
git add BODY &&
git commit -m "Add body"
) &&
(
set_fake_editor &&
FAKE_LINES="1 squash 2" git rebase -i @{-1}
) &&
test "$(git show -s --pretty=format:%an)" = "Squashed Away"
HEAD is now at 979acac doesnt-verify
Warning: you are leaving 2 commits behind, not connected to
any of your branches:
979acac doesnt-verify
cf07873 chouette!
If you want to keep them by creating a new branch, this may be a good time
to do so with:
git branch <new-branch-name> 979acac
Switched to a new branch 'branch3'
[branch3 cedbd2f] Add head
Author: Squashed Away <author@example.com>
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 HEAD
[branch3 66a68f4] Add body
Author: Squashed Away <author@example.com>
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 BODY
rebase -i script before editing:
pick cedbd2f Add head
pick 66a68f4 Add body
rebase -i script after editing:
pick cedbd2f Add head
squash 66a68f4 Add body
Rebasing (1/2)
Rebasing (2/2)
[detached HEAD 60b81b7] Add head
Author: Squashed Away <author@example.com>
Date: Thu Apr 7 15:56:13 2005 -0700
2 files changed, 0 insertions(+), 0 deletions(-)
create mode 100644 BODY
create mode 100644 HEAD
Successfully rebased and updated refs/heads/branch3.
ok 50 - rebase with a file named HEAD in worktree
expecting success of 3404.51 'do "noop" when there is nothing to cherry-pick':
git checkout -b branch4 HEAD &&
GIT_EDITOR=: git commit --amend \
--author="Somebody else <somebody@else.com>" &&
test $(git rev-parse branch3) != $(git rev-parse branch4) &&
git rebase -i branch3 &&
test_cmp_rev branch3 branch4
Switched to a new branch 'branch4'
[branch4 9401f29] Add head
Author: Somebody else <somebody@else.com>
Date: Thu Apr 7 15:56:13 2005 -0700
2 files changed, 0 insertions(+), 0 deletions(-)
create mode 100644 BODY
create mode 100644 HEAD
Successfully rebased and updated refs/heads/branch4.
ok 51 - do "noop" when there is nothing to cherry-pick
expecting success of 3404.52 'submodule rebase setup':
git checkout A &&
mkdir sub &&
(
cd sub && git init && >elif &&
git add elif && git commit -m "submodule initial"
) &&
echo 1 >file1 &&
git add file1 sub &&
test_tick &&
git commit -m "One" &&
echo 2 >file1 &&
test_tick &&
git commit -a -m "Two" &&
(
cd sub && echo 3 >elif &&
git commit -a -m "submodule second"
) &&
test_tick &&
git commit -a -m "Three changes submodule"
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
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 <new-branch-name>
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
HEAD is now at 6e62bf8 A
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3404-rebase-interactive/sub/.git/
[master (root-commit) 0b64bc6] submodule initial
Author: A U Thor <author@example.com>
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 elif
warning: adding embedded git repository: sub
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 <url> sub
hint:
hint: If you added this path by mistake, you can remove it from the
hint: index with:
hint:
hint: git rm --cached sub
hint:
hint: See "git help submodule" for more information.
[detached HEAD 42fc8d1] One
Author: A U Thor <author@example.com>
2 files changed, 2 insertions(+), 1 deletion(-)
create mode 160000 sub
[detached HEAD 9a16e40] Two
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
[master 0c2cff6] submodule second
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
[detached HEAD cf819fe] Three changes submodule
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
ok 52 - submodule rebase setup
expecting success of 3404.53 'submodule rebase -i':
(
set_fake_editor &&
FAKE_LINES="1 squash 2 3" git rebase -i A
)
rebase -i script before editing:
pick 42fc8d1 One
pick 9a16e40 Two
pick cf819fe Three changes submodule
rebase -i script after editing:
pick 42fc8d1 One
squash 9a16e40 Two
pick cf819fe Three changes submodule
Rebasing (2/3)
[detached HEAD b8191c6] One
Author: A U Thor <author@example.com>
Date: Thu Apr 7 15:57:13 2005 -0700
2 files changed, 2 insertions(+), 1 deletion(-)
create mode 160000 sub
Rebasing (3/3)
Successfully rebased and updated detached HEAD.
ok 53 - submodule rebase -i
expecting success of 3404.54 'submodule conflict setup':
git tag submodule-base &&
git checkout HEAD^ &&
(
cd sub && git checkout HEAD^ && echo 4 >elif &&
git add elif && git commit -m "submodule conflict"
) &&
git add sub &&
test_tick &&
git commit -m "Conflict in submodule" &&
git tag submodule-topic
Previous HEAD position was 40031c8 Three changes submodule
HEAD is now at b8191c6 One
M sub
Note: switching to 'HEAD^'.
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 <new-branch-name>
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
HEAD is now at 0b64bc6 submodule initial
[detached HEAD 5dcc8af] submodule conflict
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
[detached HEAD 352ba4e] Conflict in submodule
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
ok 54 - submodule conflict setup
expecting success of 3404.55 'rebase -i continue with only submodule staged':
test_must_fail git rebase -i submodule-base &&
git add sub &&
git rebase --continue &&
test $(git rev-parse submodule-base) != $(git rev-parse HEAD)
Rebasing (1/1)
error: could not apply 352ba4e... Conflict in submodule
Resolve all conflicts manually, mark them as resolved with
"git add/rm <conflicted_files>", then run "git rebase --continue".
You can instead skip this commit: run "git rebase --skip".
To abort and get back to the state before "git rebase", run "git rebase --abort".
Could not apply 352ba4e... Conflict in submodule
Failed to merge submodule sub (merge following commits not found)
Auto-merging sub
CONFLICT (submodule): Merge conflict in sub
[detached HEAD f9edb30] Conflict in submodule
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
Successfully rebased and updated detached HEAD.
ok 55 - rebase -i continue with only submodule staged
expecting success of 3404.56 'rebase -i continue with unstaged submodule':
git checkout submodule-topic &&
git reset --hard &&
test_must_fail git rebase -i submodule-base &&
git reset &&
git rebase --continue &&
test_cmp_rev submodule-base HEAD
Warning: you are leaving 1 commit behind, not connected to
any of your branches:
f9edb30 Conflict in submodule
If you want to keep it by creating a new branch, this may be a good time
to do so with:
git branch <new-branch-name> f9edb30
HEAD is now at 352ba4e Conflict in submodule
HEAD is now at 352ba4e Conflict in submodule
Rebasing (1/1)
error: could not apply 352ba4e... Conflict in submodule
Resolve all conflicts manually, mark them as resolved with
"git add/rm <conflicted_files>", then run "git rebase --continue".
You can instead skip this commit: run "git rebase --skip".
To abort and get back to the state before "git rebase", run "git rebase --abort".
Could not apply 352ba4e... Conflict in submodule
Failed to merge submodule sub (merge following commits not found)
Auto-merging sub
CONFLICT (submodule): Merge conflict in sub
Unstaged changes after reset:
M sub
Successfully rebased and updated detached HEAD.
ok 56 - rebase -i continue with unstaged submodule
expecting success of 3404.57 'avoid unnecessary reset':
git checkout master &&
git reset --hard &&
test-tool chmtime =123456789 file3 &&
git update-index --refresh &&
HEAD=$(git rev-parse HEAD) &&
git rebase -i HEAD~4 &&
test $HEAD = $(git rev-parse HEAD) &&
MTIME=$(test-tool chmtime --get file3) &&
test 123456789 = $MTIME
warning: unable to rmdir 'sub': Directory not empty
Previous HEAD position was 40031c8 Three changes submodule
Switched to branch 'master'
HEAD is now at 8f99a4f E
Successfully rebased and updated refs/heads/master.
ok 57 - avoid unnecessary reset
expecting success of 3404.58 'reword':
git checkout -b reword-branch master &&
(
set_fake_editor &&
FAKE_LINES="1 2 3 reword 4" FAKE_COMMIT_MESSAGE="E changed" \
git rebase -i A &&
git show HEAD | grep "E changed" &&
test $(git rev-parse master) != $(git rev-parse HEAD) &&
test_cmp_rev master^ HEAD^ &&
FAKE_LINES="1 2 reword 3 4" FAKE_COMMIT_MESSAGE="D changed" \
git rebase -i A &&
git show HEAD^ | grep "D changed" &&
FAKE_LINES="reword 1 2 3 4" FAKE_COMMIT_MESSAGE="B changed" \
git rebase -i A &&
git show HEAD~3 | grep "B changed" &&
FAKE_LINES="1 r 2 pick 3 p 4" FAKE_COMMIT_MESSAGE="C changed" \
git rebase -i A
) &&
git show HEAD~2 | grep "C changed"
Switched to a new branch 'reword-branch'
rebase -i script before editing:
pick 313fe96 B
pick d0f65f2 C
pick 0547e3f D
pick 8f99a4f E
rebase -i script after editing:
pick 313fe96 B
pick d0f65f2 C
pick 0547e3f D
reword 8f99a4f E
Rebasing (4/4)
[detached HEAD e5fbe06] E changed
Author: A U Thor <author@example.com>
Date: Thu Apr 7 15:17:13 2005 -0700
1 file changed, 1 insertion(+)
create mode 100644 file3
Successfully rebased and updated refs/heads/reword-branch.
E changed
rebase -i script before editing:
pick 313fe96 B
pick d0f65f2 C
pick 0547e3f D
pick e5fbe06 E changed
rebase -i script after editing:
pick 313fe96 B
pick d0f65f2 C
reword 0547e3f D
pick e5fbe06 E changed
Rebasing (3/4)
[detached HEAD 73d2e2b] D changed
Author: A U Thor <author@example.com>
Date: Thu Apr 7 15:16:13 2005 -0700
1 file changed, 1 insertion(+), 1 deletion(-)
Rebasing (4/4)
Successfully rebased and updated refs/heads/reword-branch.
D changed
rebase -i script before editing:
pick 313fe96 B
pick d0f65f2 C
pick 73d2e2b D changed
pick a9c9952 E changed
rebase -i script after editing:
reword 313fe96 B
pick d0f65f2 C
pick 73d2e2b D changed
pick a9c9952 E changed
Rebasing (1/4)
[detached HEAD 9bbe91d] B changed
Author: A U Thor <author@example.com>
Date: Thu Apr 7 15:14:13 2005 -0700
1 file changed, 1 insertion(+), 1 deletion(-)
Rebasing (2/4)
Rebasing (3/4)
Rebasing (4/4)
Successfully rebased and updated refs/heads/reword-branch.
B changed
rebase -i script before editing:
pick 9bbe91d B changed
pick 3d079ed C
pick e6bc7a3 D changed
pick 14d169d E changed
rebase -i script after editing:
pick 9bbe91d B changed
r 3d079ed C
pick e6bc7a3 D changed
p 14d169d E changed
Rebasing (2/4)
[detached HEAD a907224] C changed
Author: A U Thor <author@example.com>
Date: Thu Apr 7 15:15:13 2005 -0700
1 file changed, 1 insertion(+)
create mode 100644 file2
Rebasing (3/4)
Rebasing (4/4)
Successfully rebased and updated refs/heads/reword-branch.
C changed
ok 58 - reword
expecting success of 3404.59 'rebase -i can copy notes':
git config notes.rewrite.rebase true &&
git config notes.rewriteRef "refs/notes/*" &&
test_commit n1 &&
test_commit n2 &&
test_commit n3 &&
git notes add -m"a note" n3 &&
git rebase -i --onto n1 n2 &&
test "a note" = "$(git notes show HEAD)"
[reword-branch 6e7d4de] n1
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 n1.t
[reword-branch ebe0b2a] n2
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 n2.t
[reword-branch 3735222] n3
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 n3.t
Rebasing (1/1)
Successfully rebased and updated refs/heads/reword-branch.
ok 59 - rebase -i can copy notes
expecting success of 3404.60 'rebase -i can copy notes over a fixup':
cat >expect <<-\EOF &&
an earlier note
a note
EOF
git reset --hard n3 &&
git notes add -m"an earlier note" n2 &&
(
set_fake_editor &&
GIT_NOTES_REWRITE_MODE=concatenate FAKE_LINES="1 f 2" \
git rebase -i n1
) &&
git notes show > output &&
test_cmp expect output
HEAD is now at 3735222 n3
rebase -i script before editing:
pick ebe0b2a n2
pick 3735222 n3
rebase -i script after editing:
pick ebe0b2a n2
f 3735222 n3
Rebasing (2/2)
Successfully rebased and updated refs/heads/reword-branch.
ok 60 - rebase -i can copy notes over a fixup
expecting success of 3404.61 'rebase while detaching HEAD':
git symbolic-ref HEAD &&
grandparent=$(git rev-parse HEAD~2) &&
test_tick &&
(
set_fake_editor &&
FAKE_LINES="2 1" git rebase -i HEAD~2 HEAD^0
) &&
test $grandparent = $(git rev-parse HEAD~2) &&
test_must_fail git symbolic-ref HEAD
refs/heads/reword-branch
rebase -i script before editing:
pick 6e7d4de n1
pick 81df84f n2
rebase -i script after editing:
pick 81df84f n2
pick 6e7d4de n1
Rebasing (1/2)
Rebasing (2/2)
Successfully rebased and updated detached HEAD.
fatal: ref HEAD is not a symbolic ref
ok 61 - rebase while detaching HEAD
expecting success of 3404.62 'always cherry-pick with --no-ff':
git checkout no-ff-branch &&
git tag original-no-ff-branch &&
git rebase -i --no-ff A &&
for p in 0 1 2
do
test ! $(git rev-parse HEAD~$p) = $(git rev-parse original-no-ff-branch~$p) &&
git diff HEAD~$p original-no-ff-branch~$p > out &&
test_must_be_empty out
done &&
test_cmp_rev HEAD~3 original-no-ff-branch~3 &&
git diff HEAD~3 original-no-ff-branch~3 > out &&
test_must_be_empty out
Warning: you are leaving 2 commits behind, not connected to
any of your branches:
2fe7bcb n1
c0eb36e n2
If you want to keep them by creating a new branch, this may be a good time
to do so with:
git branch <new-branch-name> 2fe7bcb
Switched to branch 'no-ff-branch'
Rebasing (1/3)
Rebasing (2/3)
Rebasing (3/3)
Successfully rebased and updated refs/heads/no-ff-branch.
ok 62 - always cherry-pick with --no-ff
expecting success of 3404.63 'set up commits with funny messages':
git checkout -b funny A &&
echo >>file1 &&
test_tick &&
git commit -a -m "end with slash\\" &&
echo >>file1 &&
test_tick &&
git commit -a -m "something (\000) that looks like octal" &&
echo >>file1 &&
test_tick &&
git commit -a -m "something (\n) that looks like a newline" &&
echo >>file1 &&
test_tick &&
git commit -a -m "another commit"
Switched to a new branch 'funny'
[funny 9be5dec] end with slash\
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
[funny 038543e] something (\000) that looks like octal
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
[funny 060003b] something (\n) that looks like a newline
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
[funny b852a0f] another commit
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
ok 63 - set up commits with funny messages
expecting success of 3404.64 'rebase-i history with funny messages':
git rev-list A..funny >expect &&
test_tick &&
(
set_fake_editor &&
FAKE_LINES="1 2 3 4" git rebase -i A
) &&
git rev-list A.. >actual &&
test_cmp expect actual
rebase -i script before editing:
pick 9be5dec end with slash\
pick 038543e something (\000) that looks like octal
pick 060003b something (\n) that looks like a newline
pick b852a0f another commit
rebase -i script after editing:
pick 9be5dec end with slash\
pick 038543e something (\000) that looks like octal
pick 060003b something (\n) that looks like a newline
pick b852a0f another commit
Successfully rebased and updated refs/heads/funny.
ok 64 - rebase-i history with funny messages
expecting success of 3404.65 'prepare for rebase -i --exec':
git checkout master &&
git checkout -b execute &&
test_commit one_exec main.txt one_exec &&
test_commit two_exec main.txt two_exec &&
test_commit three_exec main.txt three_exec
Switched to branch 'master'
Switched to a new branch 'execute'
[execute bce9bd0] one_exec
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 main.txt
[execute 23773ee] two_exec
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
[execute 658e4d9] three_exec
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
ok 65 - prepare for rebase -i --exec
expecting success of 3404.66 'running "git rebase -i --exec git show HEAD"':
(
set_fake_editor &&
git rebase -i --exec "git show HEAD" HEAD~2 >actual &&
FAKE_LINES="1 exec_git_show_HEAD 2 exec_git_show_HEAD" &&
export FAKE_LINES &&
git rebase -i HEAD~2 >expect
) &&
sed -e "1,9d" expect >expected &&
test_cmp expected actual
Rebasing (2/4)
Executing: git show HEAD
Rebasing (3/4)
Rebasing (4/4)
Executing: git show HEAD
Successfully rebased and updated refs/heads/execute.
Rebasing (2/4)
Executing: git show HEAD
Rebasing (3/4)
Rebasing (4/4)
Executing: git show HEAD
Successfully rebased and updated refs/heads/execute.
ok 66 - running "git rebase -i --exec git show HEAD"
expecting success of 3404.67 'running "git rebase --exec git show HEAD -i"':
git reset --hard execute &&
(
set_fake_editor &&
git rebase --exec "git show HEAD" -i HEAD~2 >actual &&
FAKE_LINES="1 exec_git_show_HEAD 2 exec_git_show_HEAD" &&
export FAKE_LINES &&
git rebase -i HEAD~2 >expect
) &&
sed -e "1,9d" expect >expected &&
test_cmp expected actual
HEAD is now at 658e4d9 three_exec
Rebasing (2/4)
Executing: git show HEAD
Rebasing (3/4)
Rebasing (4/4)
Executing: git show HEAD
Successfully rebased and updated refs/heads/execute.
Rebasing (2/4)
Executing: git show HEAD
Rebasing (3/4)
Rebasing (4/4)
Executing: git show HEAD
Successfully rebased and updated refs/heads/execute.
ok 67 - running "git rebase --exec git show HEAD -i"
expecting success of 3404.68 'running "git rebase -ix git show HEAD"':
git reset --hard execute &&
(
set_fake_editor &&
git rebase -ix "git show HEAD" HEAD~2 >actual &&
FAKE_LINES="1 exec_git_show_HEAD 2 exec_git_show_HEAD" &&
export FAKE_LINES &&
git rebase -i HEAD~2 >expect
) &&
sed -e "1,9d" expect >expected &&
test_cmp expected actual
HEAD is now at 658e4d9 three_exec
Rebasing (2/4)
Executing: git show HEAD
Rebasing (3/4)
Rebasing (4/4)
Executing: git show HEAD
Successfully rebased and updated refs/heads/execute.
Rebasing (2/4)
Executing: git show HEAD
Rebasing (3/4)
Rebasing (4/4)
Executing: git show HEAD
Successfully rebased and updated refs/heads/execute.
ok 68 - running "git rebase -ix git show HEAD"
expecting success of 3404.69 'rebase -ix with several <CMD>':
git reset --hard execute &&
(
set_fake_editor &&
git rebase -ix "git show HEAD; pwd" HEAD~2 >actual &&
FAKE_LINES="1 exec_git_show_HEAD;_pwd 2 exec_git_show_HEAD;_pwd" &&
export FAKE_LINES &&
git rebase -i HEAD~2 >expect
) &&
sed -e "1,9d" expect >expected &&
test_cmp expected actual
HEAD is now at 658e4d9 three_exec
Rebasing (2/4)
Executing: git show HEAD; pwd
Rebasing (3/4)
Rebasing (4/4)
Executing: git show HEAD; pwd
Successfully rebased and updated refs/heads/execute.
Rebasing (2/4)
Executing: git show HEAD; pwd
Rebasing (3/4)
Rebasing (4/4)
Executing: git show HEAD; pwd
Successfully rebased and updated refs/heads/execute.
ok 69 - rebase -ix with several <CMD>
expecting success of 3404.70 'rebase -ix with several instances of --exec':
git reset --hard execute &&
(
set_fake_editor &&
git rebase -i --exec "git show HEAD" --exec "pwd" HEAD~2 >actual &&
FAKE_LINES="1 exec_git_show_HEAD exec_pwd 2
exec_git_show_HEAD exec_pwd" &&
export FAKE_LINES &&
git rebase -i HEAD~2 >expect
) &&
sed -e "1,11d" expect >expected &&
test_cmp expected actual
HEAD is now at 658e4d9 three_exec
Rebasing (2/6)
Executing: git show HEAD
Rebasing (3/6)
Executing: pwd
Rebasing (4/6)
Rebasing (5/6)
Executing: git show HEAD
Rebasing (6/6)
Executing: pwd
Successfully rebased and updated refs/heads/execute.
Rebasing (2/6)
Executing: git show HEAD
Rebasing (3/6)
Executing: pwd
Rebasing (4/6)
Rebasing (5/6)
Executing: git show HEAD
Rebasing (6/6)
Executing: pwd
Successfully rebased and updated refs/heads/execute.
ok 70 - rebase -ix with several instances of --exec
expecting success of 3404.71 'rebase -ix with --autosquash':
git reset --hard execute &&
git checkout -b autosquash &&
echo second >second.txt &&
git add second.txt &&
git commit -m "fixup! two_exec" &&
echo bis >bis.txt &&
git add bis.txt &&
git commit -m "fixup! two_exec" &&
git checkout -b autosquash_actual &&
git rebase -i --exec "git show HEAD" --autosquash HEAD~4 >actual &&
git checkout autosquash &&
(
set_fake_editor &&
git checkout -b autosquash_expected &&
FAKE_LINES="1 fixup 3 fixup 4 exec_git_show_HEAD 2 exec_git_show_HEAD" &&
export FAKE_LINES &&
git rebase -i HEAD~4 >expect
) &&
sed -e "1,13d" expect >expected &&
test_cmp expected actual
HEAD is now at 658e4d9 three_exec
Switched to a new branch 'autosquash'
[autosquash 6500855] fixup! two_exec
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 second.txt
[autosquash 620ecf2] fixup! two_exec
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 bis.txt
Switched to a new branch 'autosquash_actual'
Rebasing (2/6)
Rebasing (3/6)
Rebasing (4/6)
Executing: git show HEAD
Rebasing (5/6)
Rebasing (6/6)
Executing: git show HEAD
Successfully rebased and updated refs/heads/autosquash_actual.
Switched to branch 'autosquash'
Switched to a new branch 'autosquash_expected'
Rebasing (2/6)
Rebasing (3/6)
Rebasing (4/6)
Executing: git show HEAD
Rebasing (5/6)
Rebasing (6/6)
Executing: git show HEAD
Successfully rebased and updated refs/heads/autosquash_expected.
ok 71 - rebase -ix with --autosquash
expecting success of 3404.72 'rebase --exec works without -i ':
git reset --hard execute &&
rm -rf exec_output &&
EDITOR="echo >invoked_editor" git rebase --exec "echo a line >>exec_output" HEAD~2 2>actual &&
test_i18ngrep "Successfully rebased and updated" actual &&
test_line_count = 2 exec_output &&
test_path_is_missing invoked_editor
HEAD is now at 658e4d9 three_exec
Successfully rebased and updated refs/heads/autosquash_expected.
ok 72 - rebase --exec works without -i
expecting success of 3404.73 'rebase -i --exec without <CMD>':
git reset --hard execute &&
test_must_fail git rebase -i --exec 2>actual &&
test_i18ngrep "requires a value" actual &&
git checkout master
HEAD is now at 658e4d9 three_exec
error: option `exec' requires a value
Switched to branch 'master'
ok 73 - rebase -i --exec without <CMD>
expecting success of 3404.74 'rebase -i --root re-order and drop commits':
git checkout E &&
(
set_fake_editor &&
FAKE_LINES="3 1 2 5" git rebase -i --root
) &&
test E = $(git cat-file commit HEAD | sed -ne \$p) &&
test B = $(git cat-file commit HEAD^ | sed -ne \$p) &&
test A = $(git cat-file commit HEAD^^ | sed -ne \$p) &&
test C = $(git cat-file commit HEAD^^^ | sed -ne \$p) &&
test 0 = $(git cat-file commit HEAD^^^ | grep -c ^parent\ )
Note: switching to 'E'.
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 <new-branch-name>
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
HEAD is now at 8f99a4f E
rebase -i script before editing:
pick 6e62bf8 A
pick 313fe96 B
pick d0f65f2 C
pick 0547e3f D
pick 8f99a4f E
rebase -i script after editing:
pick d0f65f2 C
pick 6e62bf8 A
pick 313fe96 B
pick 8f99a4f E
Rebasing (1/4)
Rebasing (2/4)
Rebasing (3/4)
Rebasing (4/4)
Successfully rebased and updated detached HEAD.
ok 74 - rebase -i --root re-order and drop commits
expecting success of 3404.75 'rebase -i --root retain root commit author and message':
git checkout A &&
echo B >file7 &&
git add file7 &&
GIT_AUTHOR_NAME="Twerp Snog" git commit -m "different author" &&
(
set_fake_editor &&
FAKE_LINES="2" git rebase -i --root
) &&
git cat-file commit HEAD | grep -q "^author Twerp Snog" &&
git cat-file commit HEAD | grep -q "^different author$"
Warning: you are leaving 4 commits behind, not connected to
any of your branches:
f9ee9d8 E
09cb0d2 B
2d7aeda A
c2b7dac C
If you want to keep them by creating a new branch, this may be a good time
to do so with:
git branch <new-branch-name> f9ee9d8
HEAD is now at 6e62bf8 A
[detached HEAD 2e05f7a] different author
Author: Twerp Snog <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 file7
rebase -i script before editing:
pick 6e62bf8 A
pick 2e05f7a different author
rebase -i script after editing:
pick 2e05f7a different author
Rebasing (1/1)
Successfully rebased and updated detached HEAD.
ok 75 - rebase -i --root retain root commit author and message
expecting success of 3404.76 'rebase -i --root temporary sentinel commit':
git checkout B &&
(
set_fake_editor &&
test_must_fail env FAKE_LINES="2" git rebase -i --root
) &&
git cat-file commit HEAD | grep "^tree $EMPTY_TREE" &&
git rebase --abort
Warning: you are leaving 1 commit behind, not connected to
any of your branches:
da7ee39 different author
If you want to keep it by creating a new branch, this may be a good time
to do so with:
git branch <new-branch-name> da7ee39
HEAD is now at 313fe96 B
rebase -i script before editing:
pick 6e62bf8 A
pick 313fe96 B
rebase -i script after editing:
pick 313fe96 B
Rebasing (1/1)
error: could not apply 313fe96... B
Resolve all conflicts manually, mark them as resolved with
"git add/rm <conflicted_files>", then run "git rebase --continue".
You can instead skip this commit: run "git rebase --skip".
To abort and get back to the state before "git rebase", run "git rebase --abort".
Could not apply 313fe96... B
CONFLICT (modify/delete): file1 deleted in HEAD and modified in 313fe96... B. Version 313fe96... B of file1 left in tree.
tree 4b825dc642cb6eb9a060e54bf8d69288fbee4904
ok 76 - rebase -i --root temporary sentinel commit
expecting success of 3404.77 'rebase -i --root fixup root commit':
git checkout B &&
(
set_fake_editor &&
FAKE_LINES="1 fixup 2" git rebase -i --root
) &&
test A = $(git cat-file commit HEAD | sed -ne \$p) &&
test B = $(git show HEAD:file1) &&
test 0 = $(git cat-file commit HEAD | grep -c ^parent\ )
HEAD is now at 313fe96 B
rebase -i script before editing:
pick 6e62bf8 A
pick 313fe96 B
rebase -i script after editing:
pick 6e62bf8 A
fixup 313fe96 B
Rebasing (1/2)
Rebasing (2/2)
Successfully rebased and updated detached HEAD.
ok 77 - rebase -i --root fixup root commit
expecting success of 3404.78 'rebase -i --root reword original root commit':
test_when_finished "test_might_fail git rebase --abort" &&
git checkout -b reword-original-root-branch master &&
(
set_fake_editor &&
FAKE_LINES="reword 1 2" FAKE_COMMIT_MESSAGE="A changed" \
git rebase -i --root
) &&
git show HEAD^ | grep "A changed" &&
test -z "$(git show -s --format=%p HEAD^)"
Warning: you are leaving 1 commit behind, not connected to
any of your branches:
2aaf5d3 A
If you want to keep it by creating a new branch, this may be a good time
to do so with:
git branch <new-branch-name> 2aaf5d3
Switched to a new branch 'reword-original-root-branch'
rebase -i script before editing:
pick 6e62bf8 A
pick 313fe96 B
pick d0f65f2 C
pick 0547e3f D
pick 8f99a4f E
rebase -i script after editing:
reword 6e62bf8 A
pick 313fe96 B
Rebasing (1/2)
[detached HEAD 8bdee38] A changed
Author: A U Thor <author@example.com>
Date: Thu Apr 7 15:13:13 2005 -0700
1 file changed, 1 insertion(+)
create mode 100644 file1
Rebasing (2/2)
Successfully rebased and updated refs/heads/reword-original-root-branch.
A changed
fatal: No rebase in progress?
ok 78 - rebase -i --root reword original root commit
expecting success of 3404.79 'rebase -i --root reword new root commit':
test_when_finished "test_might_fail git rebase --abort" &&
git checkout -b reword-now-root-branch master &&
(
set_fake_editor &&
FAKE_LINES="reword 3 1" FAKE_COMMIT_MESSAGE="C changed" \
git rebase -i --root
) &&
git show HEAD^ | grep "C changed" &&
test -z "$(git show -s --format=%p HEAD^)"
Switched to a new branch 'reword-now-root-branch'
rebase -i script before editing:
pick 6e62bf8 A
pick 313fe96 B
pick d0f65f2 C
pick 0547e3f D
pick 8f99a4f E
rebase -i script after editing:
reword d0f65f2 C
pick 6e62bf8 A
Rebasing (1/2)
[detached HEAD 3619304] C changed
Author: A U Thor <author@example.com>
Date: Thu Apr 7 15:15:13 2005 -0700
1 file changed, 1 insertion(+)
create mode 100644 file2
Rebasing (2/2)
Successfully rebased and updated refs/heads/reword-now-root-branch.
C changed
fatal: No rebase in progress?
ok 79 - rebase -i --root reword new root commit
expecting success of 3404.80 'rebase -i --root when root has untracked file conflict':
test_when_finished "reset_rebase" &&
git checkout -b failing-root-pick A &&
echo x >file2 &&
git rm file1 &&
git commit -m "remove file 1 add file 2" &&
echo z >file1 &&
(
set_fake_editor &&
test_must_fail env FAKE_LINES="1 2" git rebase -i --root
) &&
rm file1 &&
git rebase --continue &&
test "$(git log -1 --format=%B)" = "remove file 1 add file 2" &&
test "$(git rev-list --count HEAD)" = 2
Switched to a new branch 'failing-root-pick'
rm 'file1'
[failing-root-pick 92d6056] remove file 1 add file 2
Author: A U Thor <author@example.com>
1 file changed, 1 deletion(-)
delete mode 100644 file1
rebase -i script before editing:
pick 6e62bf8 A
pick 92d6056 remove file 1 add file 2
rebase -i script after editing:
pick 6e62bf8 A
pick 92d6056 remove file 1 add file 2
Rebasing (1/2)
error: The following untracked working tree files would be overwritten by merge:
file1
Please move or remove them before you merge.
Aborting
hint: Could not execute the todo command
hint:
hint: pick 6e62bf890e21973b771e4e6fc28f5ade62edb4bc A
hint:
hint: It has been rescheduled; To edit the command before continuing, please
hint: edit the todo list first:
hint:
hint: git rebase --edit-todo
hint: git rebase --continue
Could not apply 6e62bf8... A
Rebasing (2/3)
Rebasing (3/3)
Successfully rebased and updated refs/heads/failing-root-pick.
fatal: No rebase in progress?
HEAD is now at 92d6056 remove file 1 add file 2
Removing actual
Removing actual-squash-fixup
Removing error
Removing exec_output
Removing expect
Removing expect-squash-fixup
Removing expect2
Removing expected
Removing fake-editor.sh
Removing file2
Removing out
Removing output
Removing stderr
Removing touch-subdir
ok 80 - rebase -i --root when root has untracked file conflict
expecting success of 3404.81 'rebase -i --root reword root when root has untracked file conflict':
test_when_finished "reset_rebase" &&
echo z>file1 &&
(
set_fake_editor &&
test_must_fail env FAKE_LINES="reword 1 2" \
FAKE_COMMIT_MESSAGE="Modified A" git rebase -i --root &&
rm file1 &&
FAKE_COMMIT_MESSAGE="Reworded A" git rebase --continue
) &&
test "$(git log -1 --format=%B HEAD^)" = "Reworded A" &&
test "$(git rev-list --count HEAD)" = 2
rebase -i script before editing:
pick 6e62bf8 A
pick 92d6056 remove file 1 add file 2
rebase -i script after editing:
reword 6e62bf8 A
pick 92d6056 remove file 1 add file 2
Rebasing (1/2)
error: The following untracked working tree files would be overwritten by merge:
file1
Please move or remove them before you merge.
Aborting
hint: Could not execute the todo command
hint:
hint: reword 6e62bf890e21973b771e4e6fc28f5ade62edb4bc A
hint:
hint: It has been rescheduled; To edit the command before continuing, please
hint: edit the todo list first:
hint:
hint: git rebase --edit-todo
hint: git rebase --continue
You can amend the commit now, with
git commit --amend
Once you are satisfied with your changes, run
git rebase --continue
Rebasing (2/3)
[detached HEAD d2dfdfe] Reworded A
Author: A U Thor <author@example.com>
Date: Thu Apr 7 15:13:13 2005 -0700
1 file changed, 1 insertion(+)
create mode 100644 file1
Rebasing (3/3)
Successfully rebased and updated refs/heads/failing-root-pick.
fatal: No rebase in progress?
HEAD is now at 6c0467e remove file 1 add file 2
Removing fake-editor.sh
ok 81 - rebase -i --root reword root when root has untracked file conflict
expecting success of 3404.82 'rebase --edit-todo does not work on non-interactive rebase':
git checkout reword-original-root-branch &&
git reset --hard &&
git checkout conflict-branch &&
(
set_fake_editor &&
test_must_fail git rebase -f --apply --onto HEAD~2 HEAD~ &&
test_must_fail git rebase --edit-todo
) &&
git rebase --abort
Switched to branch 'reword-original-root-branch'
HEAD is now at 8269fae B
Switched to branch 'conflict-branch'
First, rewinding head to replay your work on top of it...
Applying: four
Using index info to reconstruct a base tree...
M conflict
Falling back to patching base and 3-way merge...
Merging:
766a798 two
virtual four
found 1 common ancestor:
virtual 3d3da6c4fe4fab218d150e2af365b8b07d465a22
Auto-merging conflict
CONFLICT (content): Merge conflict in conflict
error: Failed to merge in the changes.
hint: Use 'git am --show-current-patch=diff' to see the failed patch
Patch failed at 0001 four
Resolve all conflicts manually, mark them as resolved with
"git add/rm <conflicted_files>", then run "git rebase --continue".
You can instead skip this commit: run "git rebase --skip".
To abort and get back to the state before "git rebase", run "git rebase --abort".
fatal: The --edit-todo action can only be used during interactive rebase.
ok 82 - rebase --edit-todo does not work on non-interactive rebase
expecting success of 3404.83 'rebase --edit-todo can be used to modify todo':
git reset --hard &&
git checkout no-conflict-branch^0 &&
(
set_fake_editor &&
FAKE_LINES="edit 1 2 3" git rebase -i HEAD~3 &&
FAKE_LINES="2 1" git rebase --edit-todo &&
git rebase --continue
) &&
test M = $(git cat-file commit HEAD^ | sed -ne \$p) &&
test L = $(git cat-file commit HEAD | sed -ne \$p)
HEAD is now at f91a2b3 four
Note: switching to 'no-conflict-branch^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 <new-branch-name>
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
HEAD is now at 3389558 M
rebase -i script before editing:
pick 265b89e K
pick 6b0f5e6 L
pick 3389558 M
rebase -i script after editing:
edit 265b89e K
pick 6b0f5e6 L
pick 3389558 M
Rebasing (1/3)
Stopped at 265b89e... K
You can amend the commit now, with
git commit --amend
Once you are satisfied with your changes, run
git rebase --continue
rebase -i script before editing:
pick 6b0f5e6 L
pick 3389558 M
rebase -i script after editing:
pick 3389558 M
pick 6b0f5e6 L
Rebasing (2/3)
Rebasing (3/3)
Successfully rebased and updated detached HEAD.
ok 83 - rebase --edit-todo can be used to modify todo
expecting success of 3404.84 'rebase -i produces readable reflog':
git reset --hard &&
git branch -f branch-reflog-test H &&
git rebase -i --onto I F branch-reflog-test &&
cat >expect <<-\EOF &&
rebase (finish): returning to refs/heads/branch-reflog-test
rebase (pick): H
rebase (pick): G
rebase (start): checkout I
EOF
git reflog -n4 HEAD |
sed "s/[^:]*: //" >actual &&
test_cmp expect actual
HEAD is now at 8580780 L
Rebasing (1/2)
Rebasing (2/2)
Successfully rebased and updated refs/heads/branch-reflog-test.
ok 84 - rebase -i produces readable reflog
expecting success of 3404.85 'rebase -i respects core.commentchar':
git reset --hard &&
git checkout E^0 &&
test_config core.commentchar "\\" &&
write_script remove-all-but-first.sh <<-\EOF &&
sed -e "2,\$s/^/\\\\/" "$1" >"$1.tmp" &&
mv "$1.tmp" "$1"
EOF
(
test_set_editor "$(pwd)/remove-all-but-first.sh" &&
git rebase -i B
) &&
test B = $(git cat-file commit HEAD^ | sed -ne \$p)
HEAD is now at d716b9a H
Note: switching to 'E^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 <new-branch-name>
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
HEAD is now at 8f99a4f E
Successfully rebased and updated detached HEAD.
ok 85 - rebase -i respects core.commentchar
expecting success of 3404.86 'rebase -i respects core.commentchar=auto':
test_config core.commentchar auto &&
write_script copy-edit-script.sh <<-\EOF &&
cp "$1" edit-script
EOF
test_when_finished "git rebase --abort || :" &&
(
test_set_editor "$(pwd)/copy-edit-script.sh" &&
git rebase -i HEAD^
) &&
test -z "$(grep -ve "^#" -e "^\$" -e "^pick" edit-script)"
Successfully rebased and updated detached HEAD.
fatal: No rebase in progress?
ok 86 - rebase -i respects core.commentchar=auto
expecting success of 3404.87 'rebase -i, with <onto> and <upstream> specified as :/quuxery':
test_when_finished "git branch -D torebase" &&
git checkout -b torebase branch1 &&
upstream=$(git rev-parse ":/J") &&
onto=$(git rev-parse ":/A") &&
git rebase --onto $onto $upstream &&
git reset --hard branch1 &&
git rebase --onto ":/A" ":/J" &&
git checkout branch1
Previous HEAD position was d0f65f2 C
Switched to a new branch 'torebase'
Rebasing (1/1)
Successfully rebased and updated refs/heads/torebase.
HEAD is now at d2d5ba7 different author
Rebasing (1/1)
Successfully rebased and updated refs/heads/torebase.
Switched to branch 'branch1'
Deleted branch torebase (was 1dcc343).
ok 87 - rebase -i, with <onto> and <upstream> specified as :/quuxery
expecting success of 3404.88 'rebase -i with --strategy and -X':
git checkout -b conflict-merge-use-theirs conflict-branch &&
git reset --hard HEAD^ &&
echo five >conflict &&
echo Z >file1 &&
git commit -a -m "one file conflict" &&
EDITOR=true git rebase -i --strategy=recursive -Xours conflict-branch &&
test $(git show conflict-branch:conflict) = $(cat conflict) &&
test $(cat file1) = Z
Switched to a new branch 'conflict-merge-use-theirs'
HEAD is now at 1eadf03 three
[conflict-merge-use-theirs 3217947] one file conflict
Author: A U Thor <author@example.com>
2 files changed, 2 insertions(+), 2 deletions(-)
Rebasing (1/1)
Successfully rebased and updated refs/heads/conflict-merge-use-theirs.
ok 88 - rebase -i with --strategy and -X
expecting success of 3404.89 'interrupted rebase -i with --strategy and -X':
git checkout -b conflict-merge-use-theirs-interrupted conflict-branch &&
git reset --hard HEAD^ &&
>breakpoint &&
git add breakpoint &&
git commit -m "breakpoint for interactive mode" &&
echo five >conflict &&
echo Z >file1 &&
git commit -a -m "one file conflict" &&
(
set_fake_editor &&
FAKE_LINES="edit 1 2" git rebase -i --strategy=recursive \
-Xours conflict-branch
) &&
git rebase --continue &&
test $(git show conflict-branch:conflict) = $(cat conflict) &&
test $(cat file1) = Z
Switched to a new branch 'conflict-merge-use-theirs-interrupted'
HEAD is now at 1eadf03 three
[conflict-merge-use-theirs-interrupted b7f9273] breakpoint for interactive mode
Author: A U Thor <author@example.com>
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 breakpoint
[conflict-merge-use-theirs-interrupted c2ed968] one file conflict
Author: A U Thor <author@example.com>
2 files changed, 2 insertions(+), 2 deletions(-)
rebase -i script before editing:
pick b7f9273 breakpoint for interactive mode
pick c2ed968 one file conflict
rebase -i script after editing:
edit b7f9273 breakpoint for interactive mode
pick c2ed968 one file conflict
Rebasing (1/2)
Stopped at b7f9273... breakpoint for interactive mode
You can amend the commit now, with
git commit --amend
Once you are satisfied with your changes, run
git rebase --continue
Rebasing (2/2)
Successfully rebased and updated refs/heads/conflict-merge-use-theirs-interrupted.
ok 89 - interrupted rebase -i with --strategy and -X
expecting success of 3404.90 'rebase -i error on commits with \ in message':
current_head=$(git rev-parse HEAD) &&
test_when_finished "git rebase --abort; git reset --hard $current_head; rm -f error" &&
test_commit TO-REMOVE will-conflict old-content &&
test_commit "\temp" will-conflict new-content dummy &&
test_must_fail env EDITOR=true git rebase -i HEAD^ --onto HEAD^^ 2>error &&
test_expect_code 1 grep " emp" error
[conflict-merge-use-theirs-interrupted 41e6757] TO-REMOVE
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 will-conflict
[conflict-merge-use-theirs-interrupted a0e4b4b] \temp
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
CONFLICT (modify/delete): will-conflict deleted in HEAD and modified in a0e4b4b... \temp. Version a0e4b4b... \temp of will-conflict left in tree.
HEAD is now at 1732bb2 one file conflict
ok 90 - rebase -i error on commits with \ in message
checking prerequisite: SHA1
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
test $(git hash-object /dev/null) = e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
)
prerequisite SHA1 ok
expecting success of 3404.91 'short SHA-1 setup':
test_when_finished "git checkout master" &&
git checkout --orphan collide &&
git rm -rf . &&
(
unset test_tick &&
test_commit collide1 collide &&
test_commit --notick collide2 collide &&
test_commit --notick collide3 collide
)
Switched to a new branch 'collide'
rm 'breakpoint'
rm 'conflict'
rm 'file1'
[collide (root-commit) 674fc94] collide1
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 collide
[collide 0b53f45] collide2
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
[collide 6bcda37] collide3
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
Switched to branch 'master'
ok 91 - short SHA-1 setup
expecting success of 3404.92 'short SHA-1 collide':
test_when_finished "reset_rebase && git checkout master" &&
git checkout collide &&
colliding_sha1=6bcda37 &&
test $colliding_sha1 = "$(git rev-parse HEAD | cut -c 1-7)" &&
(
unset test_tick &&
test_tick &&
set_fake_editor &&
FAKE_COMMIT_MESSAGE="collide2 ac4f2ee" \
FAKE_LINES="reword 1 break 2" git rebase -i HEAD~2 &&
test $colliding_sha1 = "$(git rev-parse HEAD | cut -c 1-7)" &&
grep "^pick $colliding_sha1 " \
.git/rebase-merge/git-rebase-todo.tmp &&
grep "^pick [0-9a-f]\{40\}" \
.git/rebase-merge/git-rebase-todo &&
grep "^pick [0-9a-f]\{40\}" \
.git/rebase-merge/git-rebase-todo.backup &&
git rebase --continue
) &&
collide2="$(git rev-parse HEAD~1 | cut -c 1-4)" &&
collide3="$(git rev-parse collide3 | cut -c 1-4)" &&
test "$collide2" = "$collide3"
Switched to branch 'collide'
rebase -i script before editing:
pick 0b53f45 collide2
pick 6bcda37 collide3
rebase -i script after editing:
reword 0b53f45 collide2
break
pick 6bcda37 collide3
Rebasing (1/3)
[detached HEAD 6bcda37f] collide2 ac4f2ee
Author: A U Thor <author@example.com>
Date: Thu Apr 7 15:13:13 2005 -0700
1 file changed, 1 insertion(+), 1 deletion(-)
Rebasing (2/3)
Stopped at 6bcda37f... collide2 ac4f2ee
pick 6bcda37 collide3
pick 6bcda372b23d641debbf943e0b709349f72dcd92 collide3
pick 0b53f4541f74116336854697b0278cb818c448e2 collide2
pick 6bcda372b23d641debbf943e0b709349f72dcd92 collide3
Rebasing (3/3)
Successfully rebased and updated refs/heads/collide.
fatal: No rebase in progress?
HEAD is now at fbe3cf5 collide3
Removing actual
Removing copy-edit-script.sh
Removing edit-script
Removing expect
Removing fake-editor.sh
Removing remove-all-but-first.sh
Switched to branch 'master'
ok 92 - short SHA-1 collide
expecting success of 3404.93 'respect core.abbrev':
git config core.abbrev 12 &&
(
set_cat_todo_editor &&
test_must_fail git rebase -i HEAD~4 >todo-list
) &&
test 4 = $(grep -c "pick [0-9a-f]\{12,\}" todo-list)
error: There was a problem with the editor '"$FAKE_EDITOR"'.
ok 93 - respect core.abbrev
expecting success of 3404.94 'todo count':
write_script dump-raw.sh <<-\EOF &&
cat "$1"
EOF
(
test_set_editor "$(pwd)/dump-raw.sh" &&
git rebase -i HEAD~4 >actual
) &&
test_i18ngrep "^# Rebase ..* onto ..* ([0-9]" actual
Successfully rebased and updated refs/heads/master.
# Rebase 6e62bf890e21..8f99a4f1fbbd onto 8f99a4f1fbbd (4 commands)
ok 94 - todo count
expecting success of 3404.95 'rebase -i commits that overwrite untracked files (pick)':
git checkout --force branch2 &&
git clean -f &&
(
set_fake_editor &&
FAKE_LINES="edit 1 2" git rebase -i A
) &&
test_cmp_rev HEAD F &&
test_path_is_missing file6 &&
>file6 &&
test_must_fail git rebase --continue &&
test_cmp_rev HEAD F &&
rm file6 &&
git rebase --continue &&
test_cmp_rev HEAD I
Switched to branch 'branch2'
Removing actual
Removing dump-raw.sh
Removing fake-editor.sh
Removing todo-list
rebase -i script before editing:
pick cfefd94ba3b7 F
pick 615be62cadc1 I
rebase -i script after editing:
edit cfefd94ba3b7 F
pick 615be62cadc1 I
Rebasing (1/2)
Stopped at cfefd94ba3b7... F
You can amend the commit now, with
git commit --amend
Once you are satisfied with your changes, run
git rebase --continue
Rebasing (2/2)
error: The following untracked working tree files would be overwritten by merge:
file6
Please move or remove them before you merge.
Aborting
hint: Could not execute the todo command
hint:
hint: pick 615be62cadc1c85c6ac7d6974210b1aa1721c98f I
hint:
hint: It has been rescheduled; To edit the command before continuing, please
hint: edit the todo list first:
hint:
hint: git rebase --edit-todo
hint: git rebase --continue
Could not apply 615be62cadc1... I
Rebasing (3/3)
Successfully rebased and updated refs/heads/branch2.
ok 95 - rebase -i commits that overwrite untracked files (pick)
expecting success of 3404.96 'rebase -i commits that overwrite untracked files (squash)':
git checkout --force branch2 &&
git clean -f &&
git tag original-branch2 &&
(
set_fake_editor &&
FAKE_LINES="edit 1 squash 2" git rebase -i A
) &&
test_cmp_rev HEAD F &&
test_path_is_missing file6 &&
>file6 &&
test_must_fail git rebase --continue &&
test_cmp_rev HEAD F &&
rm file6 &&
git rebase --continue &&
test $(git cat-file commit HEAD | sed -ne \$p) = I &&
git reset --hard original-branch2
Already on 'branch2'
Removing fake-editor.sh
rebase -i script before editing:
pick cfefd94ba3b7 F
pick 615be62cadc1 I
rebase -i script after editing:
edit cfefd94ba3b7 F
squash 615be62cadc1 I
Rebasing (1/2)
Stopped at cfefd94ba3b7... F
You can amend the commit now, with
git commit --amend
Once you are satisfied with your changes, run
git rebase --continue
Rebasing (2/2)
error: The following untracked working tree files would be overwritten by merge:
file6
Please move or remove them before you merge.
Aborting
hint: Could not execute the todo command
hint:
hint: squash 615be62cadc1c85c6ac7d6974210b1aa1721c98f I
hint:
hint: It has been rescheduled; To edit the command before continuing, please
hint: edit the todo list first:
hint:
hint: git rebase --edit-todo
hint: git rebase --continue
Could not apply 615be62cadc1... I
error: merging of trees eb689cc8eed0e8a6ed5383618d1f03cc48bd9f81 and f9b09c5f252e2ce55ab159967e1595879f4525bd failed
Rebasing (3/3)
[detached HEAD 2c3fc3ea3b14] F
Author: A U Thor <author@example.com>
Date: Thu Apr 7 15:18:13 2005 -0700
2 files changed, 2 insertions(+)
create mode 100644 file4
create mode 100644 file6
Successfully rebased and updated refs/heads/branch2.
HEAD is now at 615be62cadc1 I
ok 96 - rebase -i commits that overwrite untracked files (squash)
expecting success of 3404.97 'rebase -i commits that overwrite untracked files (no ff)':
git checkout --force branch2 &&
git clean -f &&
(
set_fake_editor &&
FAKE_LINES="edit 1 2" git rebase -i --no-ff A
) &&
test $(git cat-file commit HEAD | sed -ne \$p) = F &&
test_path_is_missing file6 &&
>file6 &&
test_must_fail git rebase --continue &&
test $(git cat-file commit HEAD | sed -ne \$p) = F &&
rm file6 &&
git rebase --continue &&
test $(git cat-file commit HEAD | sed -ne \$p) = I
Already on 'branch2'
Removing fake-editor.sh
rebase -i script before editing:
pick cfefd94ba3b7 F
pick 615be62cadc1 I
rebase -i script after editing:
edit cfefd94ba3b7 F
pick 615be62cadc1 I
Rebasing (1/2)
Stopped at cfefd94ba3b7... F
You can amend the commit now, with
git commit --amend
Once you are satisfied with your changes, run
git rebase --continue
Rebasing (2/2)
error: The following untracked working tree files would be overwritten by merge:
file6
Please move or remove them before you merge.
Aborting
hint: Could not execute the todo command
hint:
hint: pick 615be62cadc1c85c6ac7d6974210b1aa1721c98f I
hint:
hint: It has been rescheduled; To edit the command before continuing, please
hint: edit the todo list first:
hint:
hint: git rebase --edit-todo
hint: git rebase --continue
Could not apply 615be62cadc1... I
error: merging of trees eb689cc8eed0e8a6ed5383618d1f03cc48bd9f81 and f9b09c5f252e2ce55ab159967e1595879f4525bd failed
Rebasing (3/3)
Successfully rebased and updated refs/heads/branch2.
ok 97 - rebase -i commits that overwrite untracked files (no ff)
expecting success of 3404.98 'rebase --continue removes CHERRY_PICK_HEAD':
git checkout -b commit-to-skip &&
for double in X 3 1
do
test_seq 5 | sed "s/$double/&&/" >seq &&
git add seq &&
test_tick &&
git commit -m seq-$double
done &&
git tag seq-onto &&
git reset --hard HEAD~2 &&
git cherry-pick seq-onto &&
(
set_fake_editor &&
test_must_fail env FAKE_LINES= git rebase -i seq-onto
) &&
test -d .git/rebase-merge &&
git rebase --continue &&
git diff --exit-code seq-onto &&
test ! -d .git/rebase-merge &&
test ! -f .git/CHERRY_PICK_HEAD
Switched to a new branch 'commit-to-skip'
[commit-to-skip 1362cfde30ab] seq-X
Author: A U Thor <author@example.com>
1 file changed, 5 insertions(+)
create mode 100644 seq
[commit-to-skip 42b5cd59e45c] seq-3
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
[commit-to-skip 83ee0e770a2c] seq-1
Author: A U Thor <author@example.com>
1 file changed, 2 insertions(+), 2 deletions(-)
HEAD is now at 1362cfde30ab seq-X
Auto-merging seq
[commit-to-skip 17b79b7d21d0] seq-1
Author: A U Thor <author@example.com>
Date: Thu Apr 7 16:18:13 2005 -0700
1 file changed, 1 insertion(+), 1 deletion(-)
Rebasing (1/1)
The previous cherry-pick is now empty, possibly due to conflict resolution.
If you wish to commit it anyway, use:
git commit --allow-empty
Otherwise, please use 'git rebase --skip'
interactive rebase in progress; onto 83ee0e770a2c
Last command done (1 command done):
pick 17b79b7d21d0 seq-1
No commands remaining.
You are currently rebasing branch 'commit-to-skip' on '83ee0e770a2c'.
(all conflicts fixed: run "git rebase --continue")
Untracked files:
(use "git add <file>..." to include in what will be committed)
fake-editor.sh
sub/
nothing added to commit but untracked files present (use "git add" to track)
Could not apply 17b79b7d21d0... seq-1
Successfully rebased and updated refs/heads/commit-to-skip.
ok 98 - rebase --continue removes CHERRY_PICK_HEAD
expecting success of 3404.99 'drop':
rebase_setup_and_clean drop-test &&
(
set_fake_editor &&
FAKE_LINES="1 drop 2 3 d 4 5" git rebase -i --root
) &&
test E = $(git cat-file commit HEAD | sed -ne \$p) &&
test C = $(git cat-file commit HEAD^ | sed -ne \$p) &&
test A = $(git cat-file commit HEAD^^ | sed -ne \$p)
Switched to a new branch 'drop-test'
rebase -i script before editing:
pick 6e62bf890e21 A
pick 313fe965c048 B
pick d0f65f2f81ee C
pick 0547e3f1350d D
pick 8f99a4f1fbbd E
rebase -i script after editing:
pick 6e62bf890e21 A
drop 313fe965c048 B
pick d0f65f2f81ee C
d 0547e3f1350d D
pick 8f99a4f1fbbd E
Rebasing (1/5)
Rebasing (2/5)
Rebasing (3/5)
Rebasing (4/5)
Rebasing (5/5)
Successfully rebased and updated refs/heads/drop-test.
Switched to branch 'master'
Deleted branch drop-test (was af37544025dd).
fatal: No rebase in progress?
ok 99 - drop
expecting success of 3404.100 'rebase -i respects rebase.missingCommitsCheck = ignore':
test_config rebase.missingCommitsCheck ignore &&
rebase_setup_and_clean missing-commit &&
(
set_fake_editor &&
FAKE_LINES="1 2 3 4" git rebase -i --root 2>actual
) &&
test D = $(git cat-file commit HEAD | sed -ne \$p) &&
test_i18ngrep \
"Successfully rebased and updated refs/heads/missing-commit" \
actual
Switched to a new branch 'missing-commit'
rebase -i script before editing:
pick 6e62bf890e21 A
pick 313fe965c048 B
pick d0f65f2f81ee C
pick 0547e3f1350d D
pick 8f99a4f1fbbd E
rebase -i script after editing:
pick 6e62bf890e21 A
pick 313fe965c048 B
pick d0f65f2f81ee C
pick 0547e3f1350d D
Rebasing (1/4)
Rebasing (2/4)
Rebasing (3/4)
Rebasing (4/4)
Successfully rebased and updated refs/heads/missing-commit.
Switched to branch 'master'
Deleted branch missing-commit (was 0547e3f1350d).
fatal: No rebase in progress?
ok 100 - rebase -i respects rebase.missingCommitsCheck = ignore
expecting success of 3404.101 'rebase -i respects rebase.missingCommitsCheck = warn':
cat >expect <<-EOF &&
Warning: some commits may have been dropped accidentally.
Dropped commits (newer to older):
- $(git rev-list --pretty=oneline --abbrev-commit -1 master)
To avoid this message, use "drop" to explicitly remove a commit.
EOF
test_config rebase.missingCommitsCheck warn &&
rebase_setup_and_clean missing-commit &&
(
set_fake_editor &&
FAKE_LINES="1 2 3 4" git rebase -i --root 2>actual.2
) &&
head -n4 actual.2 >actual &&
test_i18ncmp expect actual &&
test D = $(git cat-file commit HEAD | sed -ne \$p)
Switched to a new branch 'missing-commit'
rebase -i script before editing:
pick 6e62bf890e21 A
pick 313fe965c048 B
pick d0f65f2f81ee C
pick 0547e3f1350d D
pick 8f99a4f1fbbd E
rebase -i script after editing:
pick 6e62bf890e21 A
pick 313fe965c048 B
pick d0f65f2f81ee C
pick 0547e3f1350d D
Switched to branch 'master'
Deleted branch missing-commit (was 0547e3f1350d).
fatal: No rebase in progress?
ok 101 - rebase -i respects rebase.missingCommitsCheck = warn
expecting success of 3404.102 'rebase -i respects rebase.missingCommitsCheck = error':
cat >expect <<-EOF &&
Warning: some commits may have been dropped accidentally.
Dropped commits (newer to older):
- $(git rev-list --pretty=oneline --abbrev-commit -1 master)
- $(git rev-list --pretty=oneline --abbrev-commit -1 master~2)
To avoid this message, use "drop" to explicitly remove a commit.
Use 'git config rebase.missingCommitsCheck' to change the level of warnings.
The possible behaviours are: ignore, warn, error.
You can fix this with 'git rebase --edit-todo' and then run 'git rebase --continue'.
Or you can abort the rebase with 'git rebase --abort'.
EOF
test_config rebase.missingCommitsCheck error &&
rebase_setup_and_clean missing-commit &&
(
set_fake_editor &&
test_must_fail env FAKE_LINES="1 2 4" \
git rebase -i --root 2>actual &&
test_i18ncmp expect actual &&
cp .git/rebase-merge/git-rebase-todo.backup \
.git/rebase-merge/git-rebase-todo &&
FAKE_LINES="1 2 drop 3 4 drop 5" git rebase --edit-todo
) &&
git rebase --continue &&
test D = $(git cat-file commit HEAD | sed -ne \$p) &&
test B = $(git cat-file commit HEAD^ | sed -ne \$p)
Switched to a new branch 'missing-commit'
rebase -i script before editing:
pick 6e62bf890e21 A
pick 313fe965c048 B
pick d0f65f2f81ee C
pick 0547e3f1350d D
pick 8f99a4f1fbbd E
rebase -i script after editing:
pick 6e62bf890e21 A
pick 313fe965c048 B
pick 0547e3f1350d D
rebase -i script before editing:
pick 6e62bf890e21 A
pick 313fe965c048 B
pick d0f65f2f81ee C
pick 0547e3f1350d D
pick 8f99a4f1fbbd E
rebase -i script after editing:
pick 6e62bf890e21 A
pick 313fe965c048 B
drop d0f65f2f81ee C
pick 0547e3f1350d D
drop 8f99a4f1fbbd E
Rebasing (1/5)
Rebasing (2/5)
Rebasing (3/5)
Rebasing (4/5)
Rebasing (5/5)
Successfully rebased and updated refs/heads/missing-commit.
Switched to branch 'master'
Deleted branch missing-commit (was bee50f0fe527).
fatal: No rebase in progress?
ok 102 - rebase -i respects rebase.missingCommitsCheck = error
expecting success of 3404.103 'rebase --edit-todo respects rebase.missingCommitsCheck = ignore':
test_config rebase.missingCommitsCheck ignore &&
rebase_setup_and_clean missing-commit &&
(
set_fake_editor &&
FAKE_LINES="break 1 2 3 4 5" git rebase -i --root &&
FAKE_LINES="1 2 3 4" git rebase --edit-todo &&
git rebase --continue 2>actual
) &&
test D = $(git cat-file commit HEAD | sed -ne \$p) &&
test_i18ngrep \
"Successfully rebased and updated refs/heads/missing-commit" \
actual
Switched to a new branch 'missing-commit'
rebase -i script before editing:
pick 6e62bf890e21 A
pick 313fe965c048 B
pick d0f65f2f81ee C
pick 0547e3f1350d D
pick 8f99a4f1fbbd E
rebase -i script after editing:
break
pick 6e62bf890e21 A
pick 313fe965c048 B
pick d0f65f2f81ee C
pick 0547e3f1350d D
pick 8f99a4f1fbbd E
Rebasing (1/6)
Stopped at 3f7c590d78c4...
rebase -i script before editing:
pick 6e62bf890e21 A
pick 313fe965c048 B
pick d0f65f2f81ee C
pick 0547e3f1350d D
pick 8f99a4f1fbbd E
rebase -i script after editing:
pick 6e62bf890e21 A
pick 313fe965c048 B
pick d0f65f2f81ee C
pick 0547e3f1350d D
Rebasing (2/5)
Rebasing (3/5)
Rebasing (4/5)
Rebasing (5/5)
Successfully rebased and updated refs/heads/missing-commit.
Switched to branch 'master'
Deleted branch missing-commit (was 0547e3f1350d).
fatal: No rebase in progress?
ok 103 - rebase --edit-todo respects rebase.missingCommitsCheck = ignore
expecting success of 3404.104 'rebase --edit-todo respects rebase.missingCommitsCheck = warn':
cat >expect <<-EOF &&
error: invalid line 1: badcmd $(git rev-list --pretty=oneline --abbrev-commit -1 master~4)
Warning: some commits may have been dropped accidentally.
Dropped commits (newer to older):
- $(git rev-list --pretty=oneline --abbrev-commit -1 master)
- $(git rev-list --pretty=oneline --abbrev-commit -1 master~4)
To avoid this message, use "drop" to explicitly remove a commit.
EOF
head -n4 expect >expect.2 &&
tail -n1 expect >>expect.2 &&
tail -n4 expect.2 >expect.3 &&
test_config rebase.missingCommitsCheck warn &&
rebase_setup_and_clean missing-commit &&
(
set_fake_editor &&
test_must_fail env FAKE_LINES="bad 1 2 3 4 5" \
git rebase -i --root &&
cp .git/rebase-merge/git-rebase-todo.backup orig &&
FAKE_LINES="2 3 4" git rebase --edit-todo 2>actual.2 &&
head -n6 actual.2 >actual &&
test_i18ncmp expect actual &&
cp orig .git/rebase-merge/git-rebase-todo &&
FAKE_LINES="1 2 3 4" git rebase --edit-todo 2>actual.2 &&
head -n4 actual.2 >actual &&
test_i18ncmp expect.3 actual &&
git rebase --continue 2>actual
) &&
test D = $(git cat-file commit HEAD | sed -ne \$p) &&
test_i18ngrep \
"Successfully rebased and updated refs/heads/missing-commit" \
actual
Switched to a new branch 'missing-commit'
rebase -i script before editing:
pick 6e62bf890e21 A
pick 313fe965c048 B
pick d0f65f2f81ee C
pick 0547e3f1350d D
pick 8f99a4f1fbbd E
rebase -i script after editing:
badcmd 6e62bf890e21 A
pick 313fe965c048 B
pick d0f65f2f81ee C
pick 0547e3f1350d D
pick 8f99a4f1fbbd E
error: invalid line 1: badcmd 6e62bf890e21 A
You can fix this with 'git rebase --edit-todo' and then run 'git rebase --continue'.
Or you can abort the rebase with 'git rebase --abort'.
rebase -i script before editing:
badcmd 6e62bf890e21 A
pick 313fe965c048 B
pick d0f65f2f81ee C
pick 0547e3f1350d D
pick 8f99a4f1fbbd E
rebase -i script after editing:
pick 313fe965c048 B
pick d0f65f2f81ee C
pick 0547e3f1350d D
rebase -i script before editing:
pick 6e62bf890e21 A
pick 313fe965c048 B
pick d0f65f2f81ee C
pick 0547e3f1350d D
pick 8f99a4f1fbbd E
rebase -i script after editing:
pick 6e62bf890e21 A
pick 313fe965c048 B
pick d0f65f2f81ee C
pick 0547e3f1350d D
Rebasing (1/4)
Rebasing (2/4)
Rebasing (3/4)
Rebasing (4/4)
Successfully rebased and updated refs/heads/missing-commit.
Switched to branch 'master'
Deleted branch missing-commit (was 0547e3f1350d).
fatal: No rebase in progress?
ok 104 - rebase --edit-todo respects rebase.missingCommitsCheck = warn
expecting success of 3404.105 'rebase --edit-todo respects rebase.missingCommitsCheck = error':
cat >expect <<-EOF &&
error: invalid line 1: badcmd $(git rev-list --pretty=oneline --abbrev-commit -1 master~4)
Warning: some commits may have been dropped accidentally.
Dropped commits (newer to older):
- $(git rev-list --pretty=oneline --abbrev-commit -1 master)
- $(git rev-list --pretty=oneline --abbrev-commit -1 master~4)
To avoid this message, use "drop" to explicitly remove a commit.
Use 'git config rebase.missingCommitsCheck' to change the level of warnings.
The possible behaviours are: ignore, warn, error.
You can fix this with 'git rebase --edit-todo' and then run 'git rebase --continue'.
Or you can abort the rebase with 'git rebase --abort'.
EOF
tail -n11 expect >expect.2 &&
head -n3 expect.2 >expect.3 &&
tail -n7 expect.2 >>expect.3 &&
test_config rebase.missingCommitsCheck error &&
rebase_setup_and_clean missing-commit &&
(
set_fake_editor &&
test_must_fail env FAKE_LINES="bad 1 2 3 4 5" \
git rebase -i --root &&
cp .git/rebase-merge/git-rebase-todo.backup orig &&
test_must_fail env FAKE_LINES="2 3 4" \
git rebase --edit-todo 2>actual &&
test_i18ncmp expect actual &&
test_must_fail git rebase --continue 2>actual &&
test_i18ncmp expect.2 actual &&
test_must_fail git rebase --edit-todo &&
cp orig .git/rebase-merge/git-rebase-todo &&
test_must_fail env FAKE_LINES="1 2 3 4" \
git rebase --edit-todo 2>actual &&
test_i18ncmp expect.3 actual &&
test_must_fail git rebase --continue 2>actual &&
test_i18ncmp expect.3 actual &&
cp orig .git/rebase-merge/git-rebase-todo &&
FAKE_LINES="1 2 3 4 drop 5" git rebase --edit-todo &&
git rebase --continue 2>actual
) &&
test D = $(git cat-file commit HEAD | sed -ne \$p) &&
test_i18ngrep \
"Successfully rebased and updated refs/heads/missing-commit" \
actual
Switched to a new branch 'missing-commit'
rebase -i script before editing:
pick 6e62bf890e21 A
pick 313fe965c048 B
pick d0f65f2f81ee C
pick 0547e3f1350d D
pick 8f99a4f1fbbd E
rebase -i script after editing:
badcmd 6e62bf890e21 A
pick 313fe965c048 B
pick d0f65f2f81ee C
pick 0547e3f1350d D
pick 8f99a4f1fbbd E
error: invalid line 1: badcmd 6e62bf890e21 A
You can fix this with 'git rebase --edit-todo' and then run 'git rebase --continue'.
Or you can abort the rebase with 'git rebase --abort'.
rebase -i script before editing:
badcmd 6e62bf890e21 A
pick 313fe965c048 B
pick d0f65f2f81ee C
pick 0547e3f1350d D
pick 8f99a4f1fbbd E
rebase -i script after editing:
pick 313fe965c048 B
pick d0f65f2f81ee C
pick 0547e3f1350d D
Warning: some commits may have been dropped accidentally.
Dropped commits (newer to older):
- 8f99a4f1fbbd E
- 6e62bf890e21 A
To avoid this message, use "drop" to explicitly remove a commit.
Use 'git config rebase.missingCommitsCheck' to change the level of warnings.
The possible behaviours are: ignore, warn, error.
You can fix this with 'git rebase --edit-todo' and then run 'git rebase --continue'.
Or you can abort the rebase with 'git rebase --abort'.
rebase -i script before editing:
pick 6e62bf890e21 A
pick 313fe965c048 B
pick d0f65f2f81ee C
pick 0547e3f1350d D
pick 8f99a4f1fbbd E
rebase -i script after editing:
pick 6e62bf890e21 A
pick 313fe965c048 B
pick d0f65f2f81ee C
pick 0547e3f1350d D
rebase -i script before editing:
pick 6e62bf890e21 A
pick 313fe965c048 B
pick d0f65f2f81ee C
pick 0547e3f1350d D
pick 8f99a4f1fbbd E
rebase -i script after editing:
pick 6e62bf890e21 A
pick 313fe965c048 B
pick d0f65f2f81ee C
pick 0547e3f1350d D
drop 8f99a4f1fbbd E
Rebasing (1/5)
Rebasing (2/5)
Rebasing (3/5)
Rebasing (4/5)
Rebasing (5/5)
Successfully rebased and updated refs/heads/missing-commit.
Switched to branch 'master'
Deleted branch missing-commit (was 0547e3f1350d).
fatal: No rebase in progress?
ok 105 - rebase --edit-todo respects rebase.missingCommitsCheck = error
expecting success of 3404.106 'rebase.missingCommitsCheck = error after resolving conflicts':
test_config rebase.missingCommitsCheck error &&
(
set_fake_editor &&
FAKE_LINES="drop 1 break 2 3 4" git rebase -i A E
) &&
git rebase --edit-todo &&
test_must_fail git rebase --continue &&
echo x >file1 &&
git add file1 &&
git rebase --continue
rebase -i script before editing:
pick 313fe965c048 B
pick d0f65f2f81ee C
pick 0547e3f1350d D
pick 8f99a4f1fbbd E
rebase -i script after editing:
drop 313fe965c048 B
break
pick d0f65f2f81ee C
pick 0547e3f1350d D
pick 8f99a4f1fbbd E
Rebasing (2/5)
Stopped at 6e62bf890e21... A
Rebasing (3/5)
Rebasing (4/5)
error: could not apply 0547e3f1350d... D
Resolve all conflicts manually, mark them as resolved with
"git add/rm <conflicted_files>", then run "git rebase --continue".
You can instead skip this commit: run "git rebase --skip".
To abort and get back to the state before "git rebase", run "git rebase --abort".
Could not apply 0547e3f1350d... D
Auto-merging file1
CONFLICT (content): Merge conflict in file1
[detached HEAD d2869851e2cf] D
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
Rebasing (5/5)
Successfully rebased and updated detached HEAD.
ok 106 - rebase.missingCommitsCheck = error after resolving conflicts
expecting success of 3404.107 'rebase.missingCommitsCheck = error when editing for a second time':
test_config rebase.missingCommitsCheck error &&
(
set_fake_editor &&
FAKE_LINES="1 break 2 3" git rebase -i A D &&
cp .git/rebase-merge/git-rebase-todo todo &&
test_must_fail env FAKE_LINES=2 git rebase --edit-todo &&
GIT_SEQUENCE_EDITOR="cp todo" git rebase --edit-todo &&
git rebase --continue
)
rebase -i script before editing:
pick 313fe965c048 B
pick d0f65f2f81ee C
pick 0547e3f1350d D
rebase -i script after editing:
pick 313fe965c048 B
break
pick d0f65f2f81ee C
pick 0547e3f1350d D
Rebasing (2/4)
Stopped at 313fe965c048... B
rebase -i script before editing:
pick d0f65f2f81ee C
pick 0547e3f1350d D
rebase -i script after editing:
pick 0547e3f1350d D
Warning: some commits may have been dropped accidentally.
Dropped commits (newer to older):
- d0f65f2f81ee C
To avoid this message, use "drop" to explicitly remove a commit.
Use 'git config rebase.missingCommitsCheck' to change the level of warnings.
The possible behaviours are: ignore, warn, error.
You can fix this with 'git rebase --edit-todo' and then run 'git rebase --continue'.
Or you can abort the rebase with 'git rebase --abort'.
Rebasing (3/4)
Rebasing (4/4)
Successfully rebased and updated detached HEAD.
ok 107 - rebase.missingCommitsCheck = error when editing for a second time
expecting success of 3404.108 'respects rebase.abbreviateCommands with fixup, squash and exec':
rebase_setup_and_clean abbrevcmd &&
test_commit "first" file1.txt "first line" first &&
test_commit "second" file1.txt "another line" second &&
test_commit "fixup! first" file2.txt "first line again" first_fixup &&
test_commit "squash! second" file1.txt "another line here" second_squash &&
cat >expected <<-EOF &&
p $(git rev-list --abbrev-commit -1 first) first
f $(git rev-list --abbrev-commit -1 first_fixup) fixup! first
x git show HEAD
p $(git rev-list --abbrev-commit -1 second) second
s $(git rev-list --abbrev-commit -1 second_squash) squash! second
x git show HEAD
EOF
git checkout abbrevcmd &&
test_config rebase.abbreviateCommands true &&
(
set_cat_todo_editor &&
test_must_fail git rebase -i --exec "git show HEAD" \
--autosquash master >actual
) &&
test_cmp expected actual
Previous HEAD position was 0547e3f1350d D
Switched to a new branch 'abbrevcmd'
[abbrevcmd d8672424c621] first
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 file1.txt
[abbrevcmd a6b958d5140d] second
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
[abbrevcmd 266fc255885e] fixup! first
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 file2.txt
[abbrevcmd f20563340f31] squash! second
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
Already on 'abbrevcmd'
error: There was a problem with the editor '"$FAKE_EDITOR"'.
Switched to branch 'master'
Deleted branch abbrevcmd (was f20563340f31).
fatal: No rebase in progress?
ok 108 - respects rebase.abbreviateCommands with fixup, squash and exec
expecting success of 3404.109 'static check of bad command':
rebase_setup_and_clean bad-cmd &&
(
set_fake_editor &&
test_must_fail env FAKE_LINES="1 2 3 bad 4 5" \
git rebase -i --root 2>actual &&
test_i18ngrep "badcmd $(git rev-list --oneline -1 master~1)" \
actual &&
test_i18ngrep "You can fix this with .git rebase --edit-todo.." \
actual &&
FAKE_LINES="1 2 3 drop 4 5" git rebase --edit-todo
) &&
git rebase --continue &&
test E = $(git cat-file commit HEAD | sed -ne \$p) &&
test C = $(git cat-file commit HEAD^ | sed -ne \$p)
Switched to a new branch 'bad-cmd'
rebase -i script before editing:
pick 6e62bf890e21 A
pick 313fe965c048 B
pick d0f65f2f81ee C
pick 0547e3f1350d D
pick 8f99a4f1fbbd E
rebase -i script after editing:
pick 6e62bf890e21 A
pick 313fe965c048 B
pick d0f65f2f81ee C
badcmd 0547e3f1350d D
pick 8f99a4f1fbbd E
error: invalid line 4: badcmd 0547e3f1350d D
You can fix this with 'git rebase --edit-todo' and then run 'git rebase --continue'.
error: invalid line 4: badcmd 0547e3f1350d D
rebase -i script before editing:
pick 6e62bf890e21 A
pick 313fe965c048 B
pick d0f65f2f81ee C
badcmd 0547e3f1350d D
pick 8f99a4f1fbbd E
rebase -i script after editing:
pick 6e62bf890e21 A
pick 313fe965c048 B
pick d0f65f2f81ee C
drop 0547e3f1350d D
pick 8f99a4f1fbbd E
Rebasing (1/5)
Rebasing (2/5)
Rebasing (3/5)
Rebasing (4/5)
Rebasing (5/5)
Successfully rebased and updated refs/heads/bad-cmd.
Switched to branch 'master'
Deleted branch bad-cmd (was a59d297984d9).
fatal: No rebase in progress?
ok 109 - static check of bad command
expecting success of 3404.110 'tabs and spaces are accepted in the todolist':
rebase_setup_and_clean indented-comment &&
write_script add-indent.sh <<-\EOF &&
(
# Turn single spaces into space/tab mix
sed "1s/ / /g; 2s/ / /g; 3s/ / /g" "$1"
printf "\n\t# comment\n #more\n\t # comment\n"
) >"$1.new"
mv "$1.new" "$1"
EOF
(
test_set_editor "$(pwd)/add-indent.sh" &&
git rebase -i HEAD^^^
) &&
test E = $(git cat-file commit HEAD | sed -ne \$p)
Switched to a new branch 'indented-comment'
Successfully rebased and updated refs/heads/indented-comment.
Switched to branch 'master'
Deleted branch indented-comment (was 8f99a4f1fbbd).
fatal: No rebase in progress?
ok 110 - tabs and spaces are accepted in the todolist
expecting success of 3404.111 'static check of bad SHA-1':
rebase_setup_and_clean bad-sha &&
(
set_fake_editor &&
test_must_fail env FAKE_LINES="1 2 edit fakesha 3 4 5 #" \
git rebase -i --root 2>actual &&
test_i18ngrep "edit XXXXXXX False commit" actual &&
test_i18ngrep "You can fix this with .git rebase --edit-todo.." \
actual &&
FAKE_LINES="1 2 4 5 6" git rebase --edit-todo
) &&
git rebase --continue &&
test E = $(git cat-file commit HEAD | sed -ne \$p)
Switched to a new branch 'bad-sha'
rebase -i script before editing:
pick 6e62bf890e21 A
pick 313fe965c048 B
pick d0f65f2f81ee C
pick 0547e3f1350d D
pick 8f99a4f1fbbd E
rebase -i script after editing:
pick 6e62bf890e21 A
pick 313fe965c048 B
edit XXXXXXX False commit
pick d0f65f2f81ee C
pick 0547e3f1350d D
pick 8f99a4f1fbbd E
# comment
error: invalid line 3: edit XXXXXXX False commit
You can fix this with 'git rebase --edit-todo' and then run 'git rebase --continue'.
error: could not parse 'XXXXXXX'
error: invalid line 3: edit XXXXXXX False commit
rebase -i script before editing:
pick 6e62bf890e21 A
pick 313fe965c048 B
edit XXXXXXX False commit
pick d0f65f2f81ee C
pick 0547e3f1350d D
pick 8f99a4f1fbbd E
rebase -i script after editing:
pick 6e62bf890e21 A
pick 313fe965c048 B
pick d0f65f2f81ee C
pick 0547e3f1350d D
pick 8f99a4f1fbbd E
Rebasing (1/5)
Rebasing (2/5)
Rebasing (3/5)
Rebasing (4/5)
Rebasing (5/5)
Successfully rebased and updated refs/heads/bad-sha.
Switched to branch 'master'
Deleted branch bad-sha (was 8f99a4f1fbbd).
fatal: No rebase in progress?
ok 111 - static check of bad SHA-1
expecting success of 3404.112 'editor saves as CR/LF':
git checkout -b with-crlf &&
write_script add-crs.sh <<-\EOF &&
sed -e "s/\$/Q/" <"$1" | tr Q "\\015" >"$1".new &&
mv -f "$1".new "$1"
EOF
(
test_set_editor "$(pwd)/add-crs.sh" &&
git rebase -i HEAD^
)
Switched to a new branch 'with-crlf'
Successfully rebased and updated refs/heads/with-crlf.
ok 112 - editor saves as CR/LF
expecting success of 3404.113 'rebase -i --gpg-sign=<key-id>':
test_when_finished "test_might_fail git rebase --abort" &&
(
set_fake_editor &&
FAKE_LINES="edit 1" git rebase -i --gpg-sign="\"S I Gner\"" \
HEAD^ >out 2>err
) &&
test_i18ngrep "$SQ-S\"S I Gner\"$SQ" err
git commit --amend '-S"S I Gner"'
ok 113 - rebase -i --gpg-sign=<key-id>
expecting success of 3404.114 'rebase -i --gpg-sign=<key-id> overrides commit.gpgSign':
test_when_finished "test_might_fail git rebase --abort" &&
test_config commit.gpgsign true &&
(
set_fake_editor &&
FAKE_LINES="edit 1" git rebase -i --gpg-sign="\"S I Gner\"" \
HEAD^ >out 2>err
) &&
test_i18ngrep "$SQ-S\"S I Gner\"$SQ" err
git commit --amend '-S"S I Gner"'
ok 114 - rebase -i --gpg-sign=<key-id> overrides commit.gpgSign
expecting success of 3404.115 'valid author header after --root swap':
rebase_setup_and_clean author-header no-conflict-branch &&
git commit --amend --author="Au ${SQ}thor <author@example.com>" --no-edit &&
git cat-file commit HEAD | grep ^author >expected &&
(
set_fake_editor &&
FAKE_LINES="5 1" git rebase -i --root
) &&
git cat-file commit HEAD^ | grep ^author >actual &&
test_cmp expected actual
Switched to a new branch 'author-header'
[author-header d208fca915b7] M
Author: Au 'thor <author@example.com>
Date: Thu Apr 7 15:29:13 2005 -0700
1 file changed, 1 insertion(+)
create mode 100644 fileM
rebase -i script before editing:
pick 6e62bf890e21 A
pick 808874f7b187 J
pick 265b89e813d4 K
pick 6b0f5e6c3e83 L
pick d208fca915b7 M
rebase -i script after editing:
pick d208fca915b7 M
pick 6e62bf890e21 A
Rebasing (1/2)
Rebasing (2/2)
Successfully rebased and updated refs/heads/author-header.
Switched to branch 'master'
Deleted branch author-header (was 12849c8e9973).
fatal: No rebase in progress?
ok 115 - valid author header after --root swap
expecting success of 3404.116 'valid author header when author contains single quote':
rebase_setup_and_clean author-header no-conflict-branch &&
git commit --amend --author="Au ${SQ}thor <author@example.com>" --no-edit &&
git cat-file commit HEAD | grep ^author >expected &&
(
set_fake_editor &&
FAKE_LINES="2" git rebase -i HEAD~2
) &&
git cat-file commit HEAD | grep ^author >actual &&
test_cmp expected actual
Switched to a new branch 'author-header'
[author-header d208fca915b7] M
Author: Au 'thor <author@example.com>
Date: Thu Apr 7 15:29:13 2005 -0700
1 file changed, 1 insertion(+)
create mode 100644 fileM
rebase -i script before editing:
pick 6b0f5e6c3e83 L
pick d208fca915b7 M
rebase -i script after editing:
pick d208fca915b7 M
Rebasing (1/1)
Successfully rebased and updated refs/heads/author-header.
Switched to branch 'master'
Deleted branch author-header (was fadd2393a53d).
fatal: No rebase in progress?
ok 116 - valid author header when author contains single quote
expecting success of 3404.117 'post-commit hook is called':
test_when_finished "rm -f .git/hooks/post-commit" &&
>actual &&
mkdir -p .git/hooks &&
write_script .git/hooks/post-commit <<-\EOS &&
git rev-parse HEAD >>actual
EOS
(
set_fake_editor &&
FAKE_LINES="edit 4 1 reword 2 fixup 3" git rebase -i A E &&
echo x>file3 &&
git add file3 &&
FAKE_COMMIT_MESSAGE=edited git rebase --continue
) &&
git rev-parse HEAD@{5} HEAD@{4} HEAD@{3} HEAD@{2} HEAD@{1} HEAD \
>expect &&
test_cmp expect actual
rebase -i script before editing:
pick 313fe965c048 B
pick d0f65f2f81ee C
pick 0547e3f1350d D
pick 8f99a4f1fbbd E
rebase -i script after editing:
edit 8f99a4f1fbbd E
pick 313fe965c048 B
reword d0f65f2f81ee C
fixup 0547e3f1350d D
Rebasing (1/4)
Stopped at 8f99a4f1fbbd... E
You can amend the commit now, with
git commit --amend
Once you are satisfied with your changes, run
git rebase --continue
[detached HEAD a1529cefe839] edited
Author: A U Thor <author@example.com>
Date: Thu Apr 7 15:17:13 2005 -0700
1 file changed, 1 insertion(+)
create mode 100644 file3
Rebasing (2/4)
Rebasing (3/4)
[detached HEAD 5ec25bbe1406] edited
Author: A U Thor <author@example.com>
Date: Thu Apr 7 15:15:13 2005 -0700
1 file changed, 1 insertion(+)
create mode 100644 file2
Rebasing (4/4)
Successfully rebased and updated detached HEAD.
ok 117 - post-commit hook is called
expecting success of 3404.118 'correct error message for partial commit after empty pick':
test_when_finished "git rebase --abort" &&
(
set_fake_editor &&
FAKE_LINES="2 1 1" &&
export FAKE_LINES &&
test_must_fail git rebase -i A D
) &&
echo x >file1 &&
test_must_fail git commit file1 2>err &&
test_i18ngrep "cannot do a partial commit during a rebase." err
rebase -i script before editing:
pick 313fe965c048 B
pick d0f65f2f81ee C
pick 0547e3f1350d D
rebase -i script after editing:
pick d0f65f2f81ee C
pick 313fe965c048 B
pick 313fe965c048 B
Rebasing (1/3)
Rebasing (2/3)
Rebasing (3/3)
The previous cherry-pick is now empty, possibly due to conflict resolution.
If you wish to commit it anyway, use:
git commit --allow-empty
Otherwise, please use 'git rebase --skip'
interactive rebase in progress; onto 6e62bf890e21
Last commands done (3 commands done):
pick 313fe965c048 B
pick 313fe965c048 B
(see more in file .git/rebase-merge/done)
No commands remaining.
You are currently rebasing.
(all conflicts fixed: run "git rebase --continue")
Untracked files:
(use "git add <file>..." to include in what will be committed)
actual
actual.2
add-crs.sh
add-indent.sh
err
expect
expect.2
expect.3
expected
fake-editor.sh
orig
out
sub/
todo
nothing added to commit but untracked files present (use "git add" to track)
Could not apply 313fe965c048... B
fatal: cannot do a partial commit during a rebase.
ok 118 - correct error message for partial commit after empty pick
expecting success of 3404.119 'correct error message for commit --amend after empty pick':
test_when_finished "git rebase --abort" &&
(
set_fake_editor &&
FAKE_LINES="1 1" &&
export FAKE_LINES &&
test_must_fail git rebase -i A D
) &&
echo x>file1 &&
test_must_fail git commit -a --amend 2>err &&
test_i18ngrep "middle of a rebase -- cannot amend." err
rebase -i script before editing:
pick 313fe965c048 B
pick d0f65f2f81ee C
pick 0547e3f1350d D
rebase -i script after editing:
pick 313fe965c048 B
pick 313fe965c048 B
Rebasing (2/2)
The previous cherry-pick is now empty, possibly due to conflict resolution.
If you wish to commit it anyway, use:
git commit --allow-empty
Otherwise, please use 'git rebase --skip'
interactive rebase in progress; onto 6e62bf890e21
Last commands done (2 commands done):
pick 313fe965c048 B
pick 313fe965c048 B
No commands remaining.
You are currently rebasing.
(all conflicts fixed: run "git rebase --continue")
Untracked files:
(use "git add <file>..." to include in what will be committed)
actual
actual.2
add-crs.sh
add-indent.sh
err
expect
expect.2
expect.3
expected
fake-editor.sh
orig
out
sub/
todo
nothing added to commit but untracked files present (use "git add" to track)
Could not apply 313fe965c048... B
fatal: You are in the middle of a rebase -- cannot amend.
ok 119 - correct error message for commit --amend after empty pick
expecting success of 3404.120 '$EDITOR and friends are unchanged':
test_editor_unchanged
ok 120 - $EDITOR and friends are unchanged
# still have 1 known breakage(s)
# passed all remaining 119 test(s)
1..120
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t3422-rebase-incompatible-options.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3422-rebase-incompatible-options/.git/
expecting success of 3422.1 'setup':
test_seq 2 9 >foo &&
git add foo &&
git commit -m orig &&
git branch A &&
git branch B &&
git checkout A &&
test_seq 1 9 >foo &&
git add foo &&
git commit -m A &&
git checkout B &&
echo "q qfoo();" | q_to_tab >>foo &&
git add foo &&
git commit -m B
[master (root-commit) f21663f] orig
Author: A U Thor <author@example.com>
1 file changed, 8 insertions(+)
create mode 100644 foo
Switched to branch 'A'
[A 493c71c] A
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
Switched to branch 'B'
[B e8af3dc] B
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
ok 1 - setup
expecting success of 3422.2 '--whitespace=fix incompatible with --merge':
git checkout B^0 &&
test_must_fail git rebase --whitespace=fix --merge A
Note: switching to 'B^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 <new-branch-name>
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
HEAD is now at e8af3dc B
fatal: cannot combine apply options with merge options
ok 2 - --whitespace=fix incompatible with --merge
expecting success of 3422.3 '--whitespace=fix incompatible with --strategy=ours':
git checkout B^0 &&
test_must_fail git rebase --whitespace=fix --strategy=ours A
HEAD is now at e8af3dc B
fatal: cannot combine apply options with merge options
ok 3 - --whitespace=fix incompatible with --strategy=ours
expecting success of 3422.4 '--whitespace=fix incompatible with --strategy-option=ours':
git checkout B^0 &&
test_must_fail git rebase --whitespace=fix --strategy-option=ours A
HEAD is now at e8af3dc B
fatal: cannot combine apply options with merge options
ok 4 - --whitespace=fix incompatible with --strategy-option=ours
expecting success of 3422.5 '--whitespace=fix incompatible with --interactive':
git checkout B^0 &&
test_must_fail git rebase --whitespace=fix --interactive A
HEAD is now at e8af3dc B
fatal: cannot combine apply options with merge options
ok 5 - --whitespace=fix incompatible with --interactive
expecting success of 3422.6 '--whitespace=fix incompatible with --exec':
git checkout B^0 &&
test_must_fail git rebase --whitespace=fix --exec 'true' A
HEAD is now at e8af3dc B
fatal: cannot combine apply options with merge options
ok 6 - --whitespace=fix incompatible with --exec
expecting success of 3422.7 '--ignore-whitespace incompatible with --merge':
git checkout B^0 &&
test_must_fail git rebase --ignore-whitespace --merge A
HEAD is now at e8af3dc B
fatal: cannot combine apply options with merge options
ok 7 - --ignore-whitespace incompatible with --merge
expecting success of 3422.8 '--ignore-whitespace incompatible with --strategy=ours':
git checkout B^0 &&
test_must_fail git rebase --ignore-whitespace --strategy=ours A
HEAD is now at e8af3dc B
fatal: cannot combine apply options with merge options
ok 8 - --ignore-whitespace incompatible with --strategy=ours
expecting success of 3422.9 '--ignore-whitespace incompatible with --strategy-option=ours':
git checkout B^0 &&
test_must_fail git rebase --ignore-whitespace --strategy-option=ours A
HEAD is now at e8af3dc B
fatal: cannot combine apply options with merge options
ok 9 - --ignore-whitespace incompatible with --strategy-option=ours
expecting success of 3422.10 '--ignore-whitespace incompatible with --interactive':
git checkout B^0 &&
test_must_fail git rebase --ignore-whitespace --interactive A
HEAD is now at e8af3dc B
fatal: cannot combine apply options with merge options
ok 10 - --ignore-whitespace incompatible with --interactive
expecting success of 3422.11 '--ignore-whitespace incompatible with --exec':
git checkout B^0 &&
test_must_fail git rebase --ignore-whitespace --exec 'true' A
HEAD is now at e8af3dc B
fatal: cannot combine apply options with merge options
ok 11 - --ignore-whitespace incompatible with --exec
expecting success of 3422.12 '--committer-date-is-author-date incompatible with --merge':
git checkout B^0 &&
test_must_fail git rebase --committer-date-is-author-date --merge A
HEAD is now at e8af3dc B
fatal: cannot combine apply options with merge options
ok 12 - --committer-date-is-author-date incompatible with --merge
expecting success of 3422.13 '--committer-date-is-author-date incompatible with --strategy=ours':
git checkout B^0 &&
test_must_fail git rebase --committer-date-is-author-date --strategy=ours A
HEAD is now at e8af3dc B
fatal: cannot combine apply options with merge options
ok 13 - --committer-date-is-author-date incompatible with --strategy=ours
expecting success of 3422.14 '--committer-date-is-author-date incompatible with --strategy-option=ours':
git checkout B^0 &&
test_must_fail git rebase --committer-date-is-author-date --strategy-option=ours A
HEAD is now at e8af3dc B
fatal: cannot combine apply options with merge options
ok 14 - --committer-date-is-author-date incompatible with --strategy-option=ours
expecting success of 3422.15 '--committer-date-is-author-date incompatible with --interactive':
git checkout B^0 &&
test_must_fail git rebase --committer-date-is-author-date --interactive A
HEAD is now at e8af3dc B
fatal: cannot combine apply options with merge options
ok 15 - --committer-date-is-author-date incompatible with --interactive
expecting success of 3422.16 '--committer-date-is-author-date incompatible with --exec':
git checkout B^0 &&
test_must_fail git rebase --committer-date-is-author-date --exec 'true' A
HEAD is now at e8af3dc B
fatal: cannot combine apply options with merge options
ok 16 - --committer-date-is-author-date incompatible with --exec
expecting success of 3422.17 '-C4 incompatible with --merge':
git checkout B^0 &&
test_must_fail git rebase -C4 --merge A
HEAD is now at e8af3dc B
fatal: cannot combine apply options with merge options
ok 17 - -C4 incompatible with --merge
expecting success of 3422.18 '-C4 incompatible with --strategy=ours':
git checkout B^0 &&
test_must_fail git rebase -C4 --strategy=ours A
HEAD is now at e8af3dc B
fatal: cannot combine apply options with merge options
ok 18 - -C4 incompatible with --strategy=ours
expecting success of 3422.19 '-C4 incompatible with --strategy-option=ours':
git checkout B^0 &&
test_must_fail git rebase -C4 --strategy-option=ours A
HEAD is now at e8af3dc B
fatal: cannot combine apply options with merge options
ok 19 - -C4 incompatible with --strategy-option=ours
expecting success of 3422.20 '-C4 incompatible with --interactive':
git checkout B^0 &&
test_must_fail git rebase -C4 --interactive A
HEAD is now at e8af3dc B
fatal: cannot combine apply options with merge options
ok 20 - -C4 incompatible with --interactive
expecting success of 3422.21 '-C4 incompatible with --exec':
git checkout B^0 &&
test_must_fail git rebase -C4 --exec 'true' A
HEAD is now at e8af3dc B
fatal: cannot combine apply options with merge options
ok 21 - -C4 incompatible with --exec
checking prerequisite: REBASE_P
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
test -z "$GIT_TEST_SKIP_REBASE_P"
)
prerequisite REBASE_P ok
expecting success of 3422.22 '--preserve-merges incompatible with --signoff':
git checkout B^0 &&
test_must_fail git rebase --preserve-merges --signoff A
HEAD is now at e8af3dc B
warning: git rebase --preserve-merges is deprecated. Use --rebase-merges instead.
fatal: cannot combine '--signoff' with '--preserve-merges'
ok 22 - --preserve-merges incompatible with --signoff
expecting success of 3422.23 '--preserve-merges incompatible with --rebase-merges':
git checkout B^0 &&
test_must_fail git rebase --preserve-merges --rebase-merges A
HEAD is now at e8af3dc B
warning: git rebase --preserve-merges is deprecated. Use --rebase-merges instead.
fatal: cannot combine '--preserve-merges' with '--rebase-merges'
ok 23 - --preserve-merges incompatible with --rebase-merges
# passed all 23 test(s)
1..23
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t3423-rebase-reword.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3423-rebase-reword/.git/
expecting success of 3423.1 'setup':
test_commit master file-1 test &&
git checkout -b stuff &&
test_commit feature_a file-2 aaa &&
test_commit feature_b file-2 ddd
[master (root-commit) 1b67fbb] master
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 file-1
Switched to a new branch 'stuff'
[stuff 94f30ac] feature_a
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 file-2
[stuff 97706f8] feature_b
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
ok 1 - setup
expecting success of 3423.2 'reword without issues functions as intended':
test_when_finished "reset_rebase" &&
git checkout stuff^0 &&
set_fake_editor &&
FAKE_LINES="pick 1 reword 2" FAKE_COMMIT_MESSAGE="feature_b_reworded" \
git rebase -i -v master &&
test "$(git log -1 --format=%B)" = "feature_b_reworded" &&
test $(git rev-list --count HEAD) = 3
Note: switching to 'stuff^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 <new-branch-name>
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
HEAD is now at 97706f8 feature_b
warning: refname 'master' is ambiguous.
warning: refname 'master' is ambiguous.
Changes from 1b67fbb47bfbc89766d785c152239ac6bc83af30 to 1b67fbb47bfbc89766d785c152239ac6bc83af30:
rebase -i script before editing:
pick 94f30ac feature_a
pick 97706f8 feature_b
rebase -i script after editing:
pick 94f30ac feature_a
reword 97706f8 feature_b
Previous HEAD position was 97706f8 feature_b
HEAD is now at 94f30ac feature_a
Rebasing (2/2)
[detached HEAD ac09183] feature_b_reworded
Author: A U Thor <author@example.com>
Date: Thu Apr 7 15:15:13 2005 -0700
1 file changed, 1 insertion(+), 1 deletion(-)
Successfully rebased and updated detached HEAD.
fatal: No rebase in progress?
HEAD is now at ac09183 feature_b_reworded
Removing fake-editor.sh
ok 2 - reword without issues functions as intended
expecting success of 3423.3 'reword after a conflict preserves commit':
test_when_finished "reset_rebase" &&
git checkout stuff^0 &&
set_fake_editor &&
test_must_fail env FAKE_LINES="reword 2" \
git rebase -i -v master &&
git checkout --theirs file-2 &&
git add file-2 &&
FAKE_COMMIT_MESSAGE="feature_b_reworded" git rebase --continue &&
test "$(git log -1 --format=%B)" = "feature_b_reworded" &&
test $(git rev-list --count HEAD) = 2
Warning: you are leaving 1 commit behind, not connected to
any of your branches:
ac09183 feature_b_reworded
If you want to keep it by creating a new branch, this may be a good time
to do so with:
git branch <new-branch-name> ac09183
HEAD is now at 97706f8 feature_b
warning: refname 'master' is ambiguous.
warning: refname 'master' is ambiguous.
Changes from 1b67fbb47bfbc89766d785c152239ac6bc83af30 to 1b67fbb47bfbc89766d785c152239ac6bc83af30:
rebase -i script before editing:
pick 94f30ac feature_a
pick 97706f8 feature_b
rebase -i script after editing:
reword 97706f8 feature_b
Previous HEAD position was 97706f8 feature_b
HEAD is now at 1b67fbb master
Rebasing (1/1)
error: could not apply 97706f8... feature_b
Resolve all conflicts manually, mark them as resolved with
"git add/rm <conflicted_files>", then run "git rebase --continue".
You can instead skip this commit: run "git rebase --skip".
To abort and get back to the state before "git rebase", run "git rebase --abort".
Could not apply 97706f8... feature_b
CONFLICT (modify/delete): file-2 deleted in HEAD and modified in 97706f8... feature_b. Version 97706f8... feature_b of file-2 left in tree.
Updated 1 path from the index
[detached HEAD 1c9291c] feature_b_reworded
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 file-2
Successfully rebased and updated detached HEAD.
fatal: No rebase in progress?
HEAD is now at 1c9291c feature_b_reworded
Removing fake-editor.sh
ok 3 - reword after a conflict preserves commit
# passed all 3 test(s)
1..3
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t3424-rebase-empty.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3424-rebase-empty/.git/
expecting success of 3424.1 'setup test repository':
test_write_lines 1 2 3 4 5 6 7 8 9 10 >numbers &&
test_write_lines A B C D E F G H I J >letters &&
git add numbers letters &&
git commit -m A &&
git branch upstream &&
git branch localmods &&
git checkout upstream &&
test_write_lines A B C D E >letters &&
git add letters &&
git commit -m B &&
test_write_lines 1 2 3 4 five 6 7 8 9 ten >numbers &&
git add numbers &&
git commit -m C &&
git checkout localmods &&
test_write_lines 1 2 3 4 five 6 7 8 9 10 >numbers &&
git add numbers &&
git commit -m C2 &&
git commit --allow-empty -m D &&
test_write_lines A B C D E >letters &&
git add letters &&
git commit -m "Five letters ought to be enough for anybody"
[master (root-commit) 1446502] A
Author: A U Thor <author@example.com>
2 files changed, 20 insertions(+)
create mode 100644 letters
create mode 100644 numbers
Switched to branch 'upstream'
[upstream b697667] B
Author: A U Thor <author@example.com>
1 file changed, 5 deletions(-)
[upstream f4d5779] C
Author: A U Thor <author@example.com>
1 file changed, 2 insertions(+), 2 deletions(-)
Switched to branch 'localmods'
[localmods ec7cea8] C2
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
[localmods 5413d64] D
Author: A U Thor <author@example.com>
[localmods d43e2b4] Five letters ought to be enough for anybody
Author: A U Thor <author@example.com>
1 file changed, 5 deletions(-)
ok 1 - setup test repository
checking known breakage of 3424.2 'rebase (apply-backend)':
test_when_finished "git rebase --abort" &&
git checkout -B testing localmods &&
# rebase (--apply) should not drop commits that start empty
git rebase --apply upstream &&
test_write_lines D C B A >expect &&
git log --format=%s >actual &&
test_cmp expect actual
Switched to a new branch 'testing'
First, rewinding head to replay your work on top of it...
Applying: C2
Using index info to reconstruct a base tree...
M numbers
Falling back to patching base and 3-way merge...
Merging:
f4d5779 C
virtual C2
found 1 common ancestor:
virtual 75a3e2be4ba4a7062d21fba0206758f5518d6ead
Auto-merging numbers
Skipped numbers (merged same as existing)
No changes -- Patch already applied.
--- expect 2020-06-12 06:40:42.062933458 +0000
+++ actual 2020-06-12 06:40:42.092934729 +0000
@@ -1,4 +1,3 @@
-D
C
B
A
fatal: No rebase in progress?
not ok 2 - rebase (apply-backend) # TODO known breakage
expecting success of 3424.3 'rebase --merge --empty=drop':
git checkout -B testing localmods &&
git rebase --merge --empty=drop upstream &&
test_write_lines D C B A >expect &&
git log --format=%s >actual &&
test_cmp expect actual
Reset branch 'testing'
Rebasing (1/2)
dropping ec7cea88efd0483dd0590619c9a09921d2e72e3c C2 -- patch contents already upstream
Rebasing (2/2)
Successfully rebased and updated refs/heads/testing.
ok 3 - rebase --merge --empty=drop
expecting success of 3424.4 'rebase --merge uses default of --empty=drop':
git checkout -B testing localmods &&
git rebase --merge upstream &&
test_write_lines D C B A >expect &&
git log --format=%s >actual &&
test_cmp expect actual
Reset branch 'testing'
Rebasing (1/2)
dropping ec7cea88efd0483dd0590619c9a09921d2e72e3c C2 -- patch contents already upstream
Rebasing (2/2)
Successfully rebased and updated refs/heads/testing.
ok 4 - rebase --merge uses default of --empty=drop
expecting success of 3424.5 'rebase --merge --empty=keep':
git checkout -B testing localmods &&
git rebase --merge --empty=keep upstream &&
test_write_lines D C2 C B A >expect &&
git log --format=%s >actual &&
test_cmp expect actual
Reset branch 'testing'
Rebasing (1/2)
Rebasing (2/2)
Successfully rebased and updated refs/heads/testing.
ok 5 - rebase --merge --empty=keep
expecting success of 3424.6 'rebase --merge --empty=ask':
git checkout -B testing localmods &&
test_must_fail git rebase --merge --empty=ask upstream &&
git rebase --skip &&
test_write_lines D C B A >expect &&
git log --format=%s >actual &&
test_cmp expect actual
Reset branch 'testing'
Rebasing (1/2)
The previous cherry-pick is now empty, possibly due to conflict resolution.
If you wish to commit it anyway, use:
git commit --allow-empty
Otherwise, please use 'git rebase --skip'
interactive rebase in progress; onto f4d5779
Last command done (1 command done):
pick ec7cea8 C2
Next command to do (1 remaining command):
pick 5413d64 D # empty
(use "git rebase --edit-todo" to view and edit)
You are currently rebasing branch 'testing' on 'f4d5779'.
(all conflicts fixed: run "git rebase --continue")
Untracked files:
(use "git add <file>..." to include in what will be committed)
actual
expect
nothing added to commit but untracked files present (use "git add" to track)
Could not apply ec7cea8... C2
Rebasing (2/2)
Successfully rebased and updated refs/heads/testing.
ok 6 - rebase --merge --empty=ask
expecting success of 3424.7 'rebase --interactive --empty=drop':
git checkout -B testing localmods &&
git rebase --interactive --empty=drop upstream &&
test_write_lines D C B A >expect &&
git log --format=%s >actual &&
test_cmp expect actual
Reset branch 'testing'
Rebasing (1/2)
dropping ec7cea88efd0483dd0590619c9a09921d2e72e3c C2 -- patch contents already upstream
Rebasing (2/2)
Successfully rebased and updated refs/heads/testing.
ok 7 - rebase --interactive --empty=drop
expecting success of 3424.8 'rebase --interactive --empty=keep':
git checkout -B testing localmods &&
git rebase --interactive --empty=keep upstream &&
test_write_lines D C2 C B A >expect &&
git log --format=%s >actual &&
test_cmp expect actual
Reset branch 'testing'
Rebasing (1/2)
Rebasing (2/2)
Successfully rebased and updated refs/heads/testing.
ok 8 - rebase --interactive --empty=keep
expecting success of 3424.9 'rebase --interactive --empty=ask':
git checkout -B testing localmods &&
test_must_fail git rebase --interactive --empty=ask upstream &&
git rebase --skip &&
test_write_lines D C B A >expect &&
git log --format=%s >actual &&
test_cmp expect actual
Reset branch 'testing'
Rebasing (1/2)
The previous cherry-pick is now empty, possibly due to conflict resolution.
If you wish to commit it anyway, use:
git commit --allow-empty
Otherwise, please use 'git rebase --skip'
interactive rebase in progress; onto f4d5779
Last command done (1 command done):
pick ec7cea8 C2
Next command to do (1 remaining command):
pick 5413d64 D # empty
(use "git rebase --edit-todo" to view and edit)
You are currently rebasing branch 'testing' on 'f4d5779'.
(all conflicts fixed: run "git rebase --continue")
Untracked files:
(use "git add <file>..." to include in what will be committed)
actual
expect
nothing added to commit but untracked files present (use "git add" to track)
Could not apply ec7cea8... C2
Rebasing (2/2)
Successfully rebased and updated refs/heads/testing.
ok 9 - rebase --interactive --empty=ask
expecting success of 3424.10 'rebase --interactive uses default of --empty=ask':
git checkout -B testing localmods &&
test_must_fail git rebase --interactive upstream &&
git rebase --skip &&
test_write_lines D C B A >expect &&
git log --format=%s >actual &&
test_cmp expect actual
Reset branch 'testing'
Rebasing (1/2)
The previous cherry-pick is now empty, possibly due to conflict resolution.
If you wish to commit it anyway, use:
git commit --allow-empty
Otherwise, please use 'git rebase --skip'
interactive rebase in progress; onto f4d5779
Last command done (1 command done):
pick ec7cea8 C2
Next command to do (1 remaining command):
pick 5413d64 D # empty
(use "git rebase --edit-todo" to view and edit)
You are currently rebasing branch 'testing' on 'f4d5779'.
(all conflicts fixed: run "git rebase --continue")
Untracked files:
(use "git add <file>..." to include in what will be committed)
actual
expect
nothing added to commit but untracked files present (use "git add" to track)
Could not apply ec7cea8... C2
Rebasing (2/2)
Successfully rebased and updated refs/heads/testing.
ok 10 - rebase --interactive uses default of --empty=ask
expecting success of 3424.11 'rebase --merge --empty=drop --keep-empty':
git checkout -B testing localmods &&
git rebase --merge --empty=drop --keep-empty upstream &&
test_write_lines D C B A >expect &&
git log --format=%s >actual &&
test_cmp expect actual
Reset branch 'testing'
Rebasing (1/2)
dropping ec7cea88efd0483dd0590619c9a09921d2e72e3c C2 -- patch contents already upstream
Rebasing (2/2)
Successfully rebased and updated refs/heads/testing.
ok 11 - rebase --merge --empty=drop --keep-empty
expecting success of 3424.12 'rebase --merge --empty=drop --no-keep-empty':
git checkout -B testing localmods &&
git rebase --merge --empty=drop --no-keep-empty upstream &&
test_write_lines C B A >expect &&
git log --format=%s >actual &&
test_cmp expect actual
Reset branch 'testing'
Rebasing (1/1)
dropping ec7cea88efd0483dd0590619c9a09921d2e72e3c C2 -- patch contents already upstream
Successfully rebased and updated refs/heads/testing.
ok 12 - rebase --merge --empty=drop --no-keep-empty
expecting success of 3424.13 'rebase --merge --empty=keep --keep-empty':
git checkout -B testing localmods &&
git rebase --merge --empty=keep --keep-empty upstream &&
test_write_lines D C2 C B A >expect &&
git log --format=%s >actual &&
test_cmp expect actual
Reset branch 'testing'
Rebasing (1/2)
Rebasing (2/2)
Successfully rebased and updated refs/heads/testing.
ok 13 - rebase --merge --empty=keep --keep-empty
expecting success of 3424.14 'rebase --merge --empty=keep --no-keep-empty':
git checkout -B testing localmods &&
git rebase --merge --empty=keep --no-keep-empty upstream &&
test_write_lines C2 C B A >expect &&
git log --format=%s >actual &&
test_cmp expect actual
Reset branch 'testing'
Rebasing (1/1)
Successfully rebased and updated refs/heads/testing.
ok 14 - rebase --merge --empty=keep --no-keep-empty
expecting success of 3424.15 'rebase --merge does not leave state laying around':
git checkout -B testing localmods~2 &&
git rebase --merge upstream &&
test_path_is_missing .git/CHERRY_PICK_HEAD &&
test_path_is_missing .git/MERGE_MSG
Reset branch 'testing'
Rebasing (1/1)
dropping ec7cea88efd0483dd0590619c9a09921d2e72e3c C2 -- patch contents already upstream
Successfully rebased and updated refs/heads/testing.
ok 15 - rebase --merge does not leave state laying around
# still have 1 known breakage(s)
# passed all remaining 14 test(s)
1..15
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t3420-rebase-autostash.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3420-rebase-autostash/.git/
expecting success of 3420.1 'setup':
echo hello-world >file0 &&
git add . &&
test_tick &&
git commit -m "initial commit" &&
git checkout -b feature-branch &&
echo another-hello >file1 &&
echo goodbye >file2 &&
git add . &&
test_tick &&
git commit -m "second commit" &&
echo final-goodbye >file3 &&
git add . &&
test_tick &&
git commit -m "third commit" &&
git checkout -b unrelated-onto-branch master &&
echo unrelated >file4 &&
git add . &&
test_tick &&
git commit -m "unrelated commit" &&
git checkout -b related-onto-branch master &&
echo conflicting-change >file2 &&
git add . &&
test_tick &&
git commit -m "related commit" &&
remove_progress_re="$(printf "s/.*\\r//")"
[master (root-commit) bfa4f02] initial commit
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 file0
Switched to a new branch 'feature-branch'
[feature-branch 6fe95e2] second commit
Author: A U Thor <author@example.com>
2 files changed, 2 insertions(+)
create mode 100644 file1
create mode 100644 file2
[feature-branch 0c4d2f1] third commit
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 file3
Switched to a new branch 'unrelated-onto-branch'
[unrelated-onto-branch 4aede2f] unrelated commit
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 file4
Switched to a new branch 'related-onto-branch'
[related-onto-branch c57d250] related commit
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 file2
ok 1 - setup
expecting success of 3420.2 'rebase: fast-forward rebase':
test_config rebase.autostash true &&
git reset --hard &&
git checkout -b behind-feature-branch feature-branch~1 &&
test_when_finished git branch -D behind-feature-branch &&
echo dirty >>file1 &&
git rebase feature-branch &&
grep dirty file1 &&
git checkout feature-branch
HEAD is now at c57d250 related commit
Switched to a new branch 'behind-feature-branch'
Created autostash: b346341
Applied autostash.
Successfully rebased and updated refs/heads/behind-feature-branch.
dirty
Switched to branch 'feature-branch'
M file1
Deleted branch behind-feature-branch (was 0c4d2f1).
ok 2 - rebase: fast-forward rebase
expecting success of 3420.3 'rebase: noop rebase':
test_config rebase.autostash true &&
git reset --hard &&
git checkout -b same-feature-branch feature-branch &&
test_when_finished git branch -D same-feature-branch &&
echo dirty >>file1 &&
git rebase feature-branch &&
grep dirty file1 &&
git checkout feature-branch
HEAD is now at 0c4d2f1 third commit
Switched to a new branch 'same-feature-branch'
Created autostash: 925afbd
Current branch same-feature-branch is up to date.
Applied autostash.
dirty
Switched to branch 'feature-branch'
M file1
Deleted branch same-feature-branch (was 0c4d2f1).
ok 3 - rebase: noop rebase
expecting success of 3420.4 'rebase --apply: dirty worktree, --no-autostash':
test_config rebase.autostash true &&
git reset --hard &&
git checkout -b rebased-feature-branch feature-branch &&
test_when_finished git branch -D rebased-feature-branch &&
test_when_finished git checkout feature-branch &&
echo dirty >>file3 &&
test_must_fail git rebase$type --no-autostash unrelated-onto-branch
HEAD is now at 0c4d2f1 third commit
Switched to a new branch 'rebased-feature-branch'
error: cannot rebase: You have unstaged changes.
error: Please commit or stash them.
Switched to branch 'feature-branch'
M file3
Deleted branch rebased-feature-branch (was 0c4d2f1).
ok 4 - rebase --apply: dirty worktree, --no-autostash
expecting success of 3420.5 'rebase --apply: dirty worktree, non-conflicting rebase':
test_config rebase.autostash true &&
git reset --hard &&
git checkout -b rebased-feature-branch feature-branch &&
echo dirty >>file3 &&
git rebase$type unrelated-onto-branch >actual 2>&1 &&
grep unrelated file4 &&
grep dirty file3 &&
git checkout feature-branch
HEAD is now at 0c4d2f1 third commit
Switched to a new branch 'rebased-feature-branch'
unrelated
dirty
Switched to branch 'feature-branch'
M file3
ok 5 - rebase --apply: dirty worktree, non-conflicting rebase
expecting success of 3420.6 'rebase --apply --autostash: check output':
test_when_finished git branch -D rebased-feature-branch &&
suffix=${type#\ --} && suffix=${suffix:-apply} &&
if test ${suffix} = "interactive"; then
suffix=merge
fi &&
create_expected_success_$suffix &&
sed "$remove_progress_re" <actual >actual2 &&
test_i18ncmp expected actual2
checking prerequisite: C_LOCALE_OUTPUT
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
(
cd "$TRASH_DIRECTORY/prereq-test-dir" &&
! test_bool_env GIT_TEST_GETTEXT_POISON false
)
prerequisite C_LOCALE_OUTPUT ok
Deleted branch rebased-feature-branch (was b607b14).
ok 6 - rebase --apply --autostash: check output
expecting success of 3420.7 'rebase --apply: dirty index, non-conflicting rebase':
test_config rebase.autostash true &&
git reset --hard &&
git checkout -b rebased-feature-branch feature-branch &&
test_when_finished git branch -D rebased-feature-branch &&
echo dirty >>file3 &&
git add file3 &&
git rebase$type unrelated-onto-branch &&
grep unrelated file4 &&
grep dirty file3 &&
git checkout feature-branch
HEAD is now at 0c4d2f1 third commit
Switched to a new branch 'rebased-feature-branch'
Created autostash: 7305f55
First, rewinding head to replay your work on top of it...
Applying: second commit
Applying: third commit
Applied autostash.
unrelated
dirty
Switched to branch 'feature-branch'
M file3
Deleted branch rebased-feature-branch (was b607b14).
ok 7 - rebase --apply: dirty index, non-conflicting rebase
expecting success of 3420.8 'rebase --apply: conflicting rebase':
test_config rebase.autostash true &&
git reset --hard &&
git checkout -b rebased-feature-branch feature-branch &&
test_when_finished git branch -D rebased-feature-branch &&
echo dirty >>file3 &&
test_must_fail git rebase$type related-onto-branch &&
test_path_is_file $dotest/autostash &&
test_path_is_missing file3 &&
rm -rf $dotest &&
git reset --hard &&
git checkout feature-branch
HEAD is now at 0c4d2f1 third commit
Switched to a new branch 'rebased-feature-branch'
Created autostash: ce96636
First, rewinding head to replay your work on top of it...
Applying: second commit
Using index info to reconstruct a base tree...
Falling back to patching base and 3-way merge...
Merging:
c57d250 related commit
virtual second commit
found 1 common ancestor:
virtual 4b825dc642cb6eb9a060e54bf8d69288fbee4904
CONFLICT (add/add): Merge conflict in file2
Auto-merging file2
error: Failed to merge in the changes.
hint: Use 'git am --show-current-patch=diff' to see the failed patch
Patch failed at 0001 second commit
Resolve all conflicts manually, mark them as resolved with
"git add/rm <conflicted_files>", then run "git rebase --continue".
You can instead skip this commit: run "git rebase --skip".
To abort and get back to the state before "git rebase", run "git rebase --abort".
HEAD is now at c57d250 related commit
Previous HEAD position was c57d250 related commit
Switched to branch 'feature-branch'
Deleted branch rebased-feature-branch (was 0c4d2f1).
ok 8 - rebase --apply: conflicting rebase
expecting success of 3420.9 'rebase --apply: --continue':
test_config rebase.autostash true &&
git reset --hard &&
git checkout -b rebased-feature-branch feature-branch &&
test_when_finished git branch -D rebased-feature-branch &&
echo dirty >>file3 &&
test_must_fail git rebase$type related-onto-branch &&
test_path_is_file $dotest/autostash &&
test_path_is_missing file3 &&
echo "conflicting-plus-goodbye" >file2 &&
git add file2 &&
git rebase --continue &&
test_path_is_missing $dotest/autostash &&
grep dirty file3 &&
git checkout feature-branch
HEAD is now at 0c4d2f1 third commit
Switched to a new branch 'rebased-feature-branch'
Created autostash: ce96636
First, rewinding head to replay your work on top of it...
Applying: second commit
Using index info to reconstruct a base tree...
Falling back to patching base and 3-way merge...
Merging:
c57d250 related commit
virtual second commit
found 1 common ancestor:
virtual 4b825dc642cb6eb9a060e54bf8d69288fbee4904
CONFLICT (add/add): Merge conflict in file2
Auto-merging file2
error: Failed to merge in the changes.
hint: Use 'git am --show-current-patch=diff' to see the failed patch
Patch failed at 0001 second commit
Resolve all conflicts manually, mark them as resolved with
"git add/rm <conflicted_files>", then run "git rebase --continue".
You can instead skip this commit: run "git rebase --skip".
To abort and get back to the state before "git rebase", run "git rebase --abort".
Applying: second commit
Applying: third commit
Applied autostash.
dirty
Switched to branch 'feature-branch'
M file3
Deleted branch rebased-feature-branch (was 51f2c81).
ok 9 - rebase --apply: --continue
expecting success of 3420.10 'rebase --apply: --skip':
test_config rebase.autostash true &&
git reset --hard &&
git checkout -b rebased-feature-branch feature-branch &&
test_when_finished git branch -D rebased-feature-branch &&
echo dirty >>file3 &&
test_must_fail git rebase$type related-onto-branch &&
test_path_is_file $dotest/autostash &&
test_path_is_missing file3 &&
git rebase --skip &&
test_path_is_missing $dotest/autostash &&
grep dirty file3 &&
git checkout feature-branch
HEAD is now at 0c4d2f1 third commit
Switched to a new branch 'rebased-feature-branch'
Created autostash: ce96636
First, rewinding head to replay your work on top of it...
Applying: second commit
Using index info to reconstruct a base tree...
Falling back to patching base and 3-way merge...
Merging:
c57d250 related commit
virtual second commit
found 1 common ancestor:
virtual 4b825dc642cb6eb9a060e54bf8d69288fbee4904
CONFLICT (add/add): Merge conflict in file2
Auto-merging file2
error: Failed to merge in the changes.
hint: Use 'git am --show-current-patch=diff' to see the failed patch
Patch failed at 0001 second commit
Resolve all conflicts manually, mark them as resolved with
"git add/rm <conflicted_files>", then run "git rebase --continue".
You can instead skip this commit: run "git rebase --skip".
To abort and get back to the state before "git rebase", run "git rebase --abort".
Applying: third commit
Applied autostash.
dirty
Switched to branch 'feature-branch'
M file3
Deleted branch rebased-feature-branch (was fa02356).
ok 10 - rebase --apply: --skip
expecting success of 3420.11 'rebase --apply: --abort':
test_config rebase.autostash true &&
git reset --hard &&
git checkout -b rebased-feature-branch feature-branch &&
test_when_finished git branch -D rebased-feature-branch &&
echo dirty >>file3 &&
test_must_fail git rebase$type related-onto-branch &&
test_path_is_file $dotest/autostash &&
test_path_is_missing file3 &&
git rebase --abort &&
test_path_is_missing $dotest/autostash &&
grep dirty file3 &&
git checkout feature-branch
HEAD is now at 0c4d2f1 third commit
Switched to a new branch 'rebased-feature-branch'
Created autostash: ce96636
First, rewinding head to replay your work on top of it...
Applying: second commit
Using index info to reconstruct a base tree...
Falling back to patching base and 3-way merge...
Merging:
c57d250 related commit
virtual second commit
found 1 common ancestor:
virtual 4b825dc642cb6eb9a060e54bf8d69288fbee4904
CONFLICT (add/add): Merge conflict in file2
Auto-merging file2
error: Failed to merge in the changes.
hint: Use 'git am --show-current-patch=diff' to see the failed patch
Patch failed at 0001 second commit
Resolve all conflicts manually, mark them as resolved with
"git add/rm <conflicted_files>", then run "git rebase --continue".
You can instead skip this commit: run "git rebase --skip".
To abort and get back to the state before "git rebase", run "git rebase --abort".
Applied autostash.
dirty
Switched to branch 'feature-branch'
M file3
Deleted branch rebased-feature-branch (was 0c4d2f1).
ok 11 - rebase --apply: --abort
expecting success of 3420.12 'rebase --apply: --quit':
test_config rebase.autostash true &&
git reset --hard &&
git checkout -b rebased-feature-branch feature-branch &&
test_when_finished git branch -D rebased-feature-branch &&
echo dirty >>file3 &&
git diff >expect &&
test_must_fail git rebase$type related-onto-branch &&
test_path_is_file $dotest/autostash &&
test_path_is_missing file3 &&
git rebase --quit &&
test_when_finished git stash drop &&
test_path_is_missing $dotest/autostash &&
! grep dirty file3 &&
git stash show -p >actual &&
test_cmp expect actual &&
git reset --hard &&
git checkout feature-branch
HEAD is now at 0c4d2f1 third commit
Switched to a new branch 'rebased-feature-branch'
Created autostash: ce96636
First, rewinding head to replay your work on top of it...
Applying: second commit
Using index info to reconstruct a base tree...
Falling back to patching base and 3-way merge...
Merging:
c57d250 related commit
virtual second commit
found 1 common ancestor:
virtual 4b825dc642cb6eb9a060e54bf8d69288fbee4904
CONFLICT (add/add): Merge conflict in file2
Auto-merging file2
error: Failed to merge in the changes.
hint: Use 'git am --show-current-patch=diff' to see the failed patch
Patch failed at 0001 second commit
Resolve all conflicts manually, mark them as resolved with
"git add/rm <conflicted_files>", then run "git rebase --continue".
You can instead skip this commit: run "git rebase --skip".
To abort and get back to the state before "git rebase", run "git rebase --abort".
Autostash exists; creating a new stash entry.
Your changes are safe in the stash.
You can run "git stash pop" or "git stash drop" at any time.
grep: file3: No such file or directory
HEAD is now at c57d250 related commit
Previous HEAD position was c57d250 related commit
Switched to branch 'feature-branch'
Dropped refs/stash@{0} (ce96636712fc38300c1f0f777cc2fac6dee041c0)
Deleted branch rebased-feature-branch (was 0c4d2f1).
ok 12 - rebase --apply: --quit
expecting success of 3420.13 'rebase --apply: non-conflicting rebase, conflicting stash':
test_config rebase.autostash true &&
git reset --hard &&
git checkout -b rebased-feature-branch feature-branch &&
echo dirty >file4 &&
git add file4 &&
git rebase$type unrelated-onto-branch >actual 2>&1 &&
test_path_is_missing $dotest &&
git reset --hard &&
grep unrelated file4 &&
! grep dirty file4 &&
git checkout feature-branch &&
git stash pop &&
grep dirty file4
HEAD is now at 0c4d2f1 third commit
Switched to a new branch 'rebased-feature-branch'
HEAD is now at b607b14 third commit
unrelated
Switched to branch 'feature-branch'
Merging Version stash was based on with Stashed changes
Merging:
virtual Version stash was based on
virtual Stashed changes
found 1 common ancestor:
virtual 28566cc718f43a597c158e8411c19d7048328a85
On branch feature-branch
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
new file: file4
Untracked files:
(use "git add <file>..." to include in what will be committed)
actual
actual2
expect
expected
Dropped refs/stash@{0} (1b6501f85530697b9c800b37ca0a8c6ef37e954c)
dirty
ok 13 - rebase --apply: non-conflicting rebase, conflicting stash
expecting success of 3420.14 'rebase --apply: check output with conflicting stash':
test_when_finished git branch -D rebased-feature-branch &&
suffix=${type#\ --} && suffix=${suffix:-apply} &&
if test ${suffix} = "interactive"; then
suffix=merge
fi &&
create_expected_failure_$suffix &&
sed "$remove_progress_re" <actual >actual2 &&
test_i18ncmp expected actual2
Deleted branch rebased-feature-branch (was b607b14).
ok 14 - rebase --apply: check output with conflicting stash
expecting success of 3420.15 'rebase --merge: dirty worktree, --no-autostash':
test_config rebase.autostash true &&
git reset --hard &&
git checkout -b rebased-feature-branch feature-branch &&
test_when_finished git branch -D rebased-feature-branch &&
test_when_finished git checkout feature-branch &&
echo dirty >>file3 &&
test_must_fail git rebase$type --no-autostash unrelated-onto-branch
HEAD is now at 0c4d2f1 third commit
Switched to a new branch 'rebased-feature-branch'
error: cannot rebase: You have unstaged changes.
error: Please commit or stash them.
Switched to branch 'feature-branch'
M file3
Deleted branch rebased-feature-branch (was 0c4d2f1).
ok 15 - rebase --merge: dirty worktree, --no-autostash
expecting success of 3420.16 'rebase --merge: dirty worktree, non-conflicting rebase':
test_config rebase.autostash true &&
git reset --hard &&
git checkout -b rebased-feature-branch feature-branch &&
echo dirty >>file3 &&
git rebase$type unrelated-onto-branch >actual 2>&1 &&
grep unrelated file4 &&
grep dirty file3 &&
git checkout feature-branch
HEAD is now at 0c4d2f1 third commit
Switched to a new branch 'rebased-feature-branch'
unrelated
dirty
Switched to branch 'feature-branch'
M file3
ok 16 - rebase --merge: dirty worktree, non-conflicting rebase
expecting success of 3420.17 'rebase --merge --autostash: check output':
test_when_finished git branch -D rebased-feature-branch &&
suffix=${type#\ --} && suffix=${suffix:-apply} &&
if test ${suffix} = "interactive"; then
suffix=merge
fi &&
create_expected_success_$suffix &&
sed "$remove_progress_re" <actual >actual2 &&
test_i18ncmp expected actual2
Deleted branch rebased-feature-branch (was b607b14).
ok 17 - rebase --merge --autostash: check output
expecting success of 3420.18 'rebase --merge: dirty index, non-conflicting rebase':
test_config rebase.autostash true &&
git reset --hard &&
git checkout -b rebased-feature-branch feature-branch &&
test_when_finished git branch -D rebased-feature-branch &&
echo dirty >>file3 &&
git add file3 &&
git rebase$type unrelated-onto-branch &&
grep unrelated file4 &&
grep dirty file3 &&
git checkout feature-branch
HEAD is now at 0c4d2f1 third commit
Switched to a new branch 'rebased-feature-branch'
Created autostash: 7305f55
Rebasing (1/2)
Rebasing (2/2)
Applied autostash.
Successfully rebased and updated refs/heads/rebased-feature-branch.
unrelated
dirty
Switched to branch 'feature-branch'
M file3
Deleted branch rebased-feature-branch (was b607b14).
ok 18 - rebase --merge: dirty index, non-conflicting rebase
expecting success of 3420.19 'rebase --merge: conflicting rebase':
test_config rebase.autostash true &&
git reset --hard &&
git checkout -b rebased-feature-branch feature-branch &&
test_when_finished git branch -D rebased-feature-branch &&
echo dirty >>file3 &&
test_must_fail git rebase$type related-onto-branch &&
test_path_is_file $dotest/autostash &&
test_path_is_missing file3 &&
rm -rf $dotest &&
git reset --hard &&
git checkout feature-branch
HEAD is now at 0c4d2f1 third commit
Switched to a new branch 'rebased-feature-branch'
Created autostash: ce96636
Rebasing (1/2)
error: could not apply 6fe95e2... second commit
Resolve all conflicts manually, mark them as resolved with
"git add/rm <conflicted_files>", then run "git rebase --continue".
You can instead skip this commit: run "git rebase --skip".
To abort and get back to the state before "git rebase", run "git rebase --abort".
Could not apply 6fe95e2... second commit
CONFLICT (add/add): Merge conflict in file2
Auto-merging file2
HEAD is now at c57d250 related commit
Previous HEAD position was c57d250 related commit
Switched to branch 'feature-branch'
Deleted branch rebased-feature-branch (was 0c4d2f1).
ok 19 - rebase --merge: conflicting rebase
expecting success of 3420.20 'rebase --merge: --continue':
test_config rebase.autostash true &&
git reset --hard &&
git checkout -b rebased-feature-branch feature-branch &&
test_when_finished git branch -D rebased-feature-branch &&
echo dirty >>file3 &&
test_must_fail git rebase$type related-onto-branch &&
test_path_is_file $dotest/autostash &&
test_path_is_missing file3 &&
echo "conflicting-plus-goodbye" >file2 &&
git add file2 &&
git rebase --continue &&
test_path_is_missing $dotest/autostash &&
grep dirty file3 &&
git checkout feature-branch
HEAD is now at 0c4d2f1 third commit
Switched to a new branch 'rebased-feature-branch'
Created autostash: ce96636
Rebasing (1/2)
error: could not apply 6fe95e2... second commit
Resolve all conflicts manually, mark them as resolved with
"git add/rm <conflicted_files>", then run "git rebase --continue".
You can instead skip this commit: run "git rebase --skip".
To abort and get back to the state before "git rebase", run "git rebase --abort".
Could not apply 6fe95e2... second commit
CONFLICT (add/add): Merge conflict in file2
Auto-merging file2
[detached HEAD 62edf38] second commit
Author: A U Thor <author@example.com>
2 files changed, 2 insertions(+), 1 deletion(-)
create mode 100644 file1
Rebasing (2/2)
Applied autostash.
Successfully rebased and updated refs/heads/rebased-feature-branch.
dirty
Switched to branch 'feature-branch'
M file3
Deleted branch rebased-feature-branch (was 51f2c81).
ok 20 - rebase --merge: --continue
expecting success of 3420.21 'rebase --merge: --skip':
test_config rebase.autostash true &&
git reset --hard &&
git checkout -b rebased-feature-branch feature-branch &&
test_when_finished git branch -D rebased-feature-branch &&
echo dirty >>file3 &&
test_must_fail git rebase$type related-onto-branch &&
test_path_is_file $dotest/autostash &&
test_path_is_missing file3 &&
git rebase --skip &&
test_path_is_missing $dotest/autostash &&
grep dirty file3 &&
git checkout feature-branch
HEAD is now at 0c4d2f1 third commit
Switched to a new branch 'rebased-feature-branch'
Created autostash: ce96636
Rebasing (1/2)
error: could not apply 6fe95e2... second commit
Resolve all conflicts manually, mark them as resolved with
"git add/rm <conflicted_files>", then run "git rebase --continue".
You can instead skip this commit: run "git rebase --skip".
To abort and get back to the state before "git rebase", run "git rebase --abort".
Could not apply 6fe95e2... second commit
CONFLICT (add/add): Merge conflict in file2
Auto-merging file2
Rebasing (2/2)
Applied autostash.
Successfully rebased and updated refs/heads/rebased-feature-branch.
dirty
Switched to branch 'feature-branch'
M file3
Deleted branch rebased-feature-branch (was fa02356).
ok 21 - rebase --merge: --skip
expecting success of 3420.22 'rebase --merge: --abort':
test_config rebase.autostash true &&
git reset --hard &&
git checkout -b rebased-feature-branch feature-branch &&
test_when_finished git branch -D rebased-feature-branch &&
echo dirty >>file3 &&
test_must_fail git rebase$type related-onto-branch &&
test_path_is_file $dotest/autostash &&
test_path_is_missing file3 &&
git rebase --abort &&
test_path_is_missing $dotest/autostash &&
grep dirty file3 &&
git checkout feature-branch
HEAD is now at 0c4d2f1 third commit
Switched to a new branch 'rebased-feature-branch'
Created autostash: ce96636
Rebasing (1/2)
error: could not apply 6fe95e2... second commit
Resolve all conflicts manually, mark them as resolved with
"git add/rm <conflicted_files>", then run "git rebase --continue".
You can instead skip this commit: run "git rebase --skip".
To abort and get back to the state before "git rebase", run "git rebase --abort".
Could not apply 6fe95e2... second commit
CONFLICT (add/add): Merge conflict in file2
Auto-merging file2
Applied autostash.
dirty
Switched to branch 'feature-branch'
M file3
Deleted branch rebased-feature-branch (was 0c4d2f1).
ok 22 - rebase --merge: --abort
expecting success of 3420.23 'rebase --merge: --quit':
test_config rebase.autostash true &&
git reset --hard &&
git checkout -b rebased-feature-branch feature-branch &&
test_when_finished git branch -D rebased-feature-branch &&
echo dirty >>file3 &&
git diff >expect &&
test_must_fail git rebase$type related-onto-branch &&
test_path_is_file $dotest/autostash &&
test_path_is_missing file3 &&
git rebase --quit &&
test_when_finished git stash drop &&
test_path_is_missing $dotest/autostash &&
! grep dirty file3 &&
git stash show -p >actual &&
test_cmp expect actual &&
git reset --hard &&
git checkout feature-branch
HEAD is now at 0c4d2f1 third commit
Switched to a new branch 'rebased-feature-branch'
Created autostash: ce96636
Rebasing (1/2)
error: could not apply 6fe95e2... second commit
Resolve all conflicts manually, mark them as resolved with
"git add/rm <conflicted_files>", then run "git rebase --continue".
You can instead skip this commit: run "git rebase --skip".
To abort and get back to the state before "git rebase", run "git rebase --abort".
Could not apply 6fe95e2... second commit
CONFLICT (add/add): Merge conflict in file2
Auto-merging file2
Autostash exists; creating a new stash entry.
Your changes are safe in the stash.
You can run "git stash pop" or "git stash drop" at any time.
grep: file3: No such file or directory
HEAD is now at c57d250 related commit
Previous HEAD position was c57d250 related commit
Switched to branch 'feature-branch'
Dropped refs/stash@{0} (ce96636712fc38300c1f0f777cc2fac6dee041c0)
Deleted branch rebased-feature-branch (was 0c4d2f1).
ok 23 - rebase --merge: --quit
expecting success of 3420.24 'rebase --merge: non-conflicting rebase, conflicting stash':
test_config rebase.autostash true &&
git reset --hard &&
git checkout -b rebased-feature-branch feature-branch &&
echo dirty >file4 &&
git add file4 &&
git rebase$type unrelated-onto-branch >actual 2>&1 &&
test_path_is_missing $dotest &&
git reset --hard &&
grep unrelated file4 &&
! grep dirty file4 &&
git checkout feature-branch &&
git stash pop &&
grep dirty file4
HEAD is now at 0c4d2f1 third commit
Switched to a new branch 'rebased-feature-branch'
HEAD is now at b607b14 third commit
unrelated
Switched to branch 'feature-branch'
Merging Version stash was based on with Stashed changes
Merging:
virtual Version stash was based on
virtual Stashed changes
found 1 common ancestor:
virtual 28566cc718f43a597c158e8411c19d7048328a85
On branch feature-branch
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
new file: file4
Untracked files:
(use "git add <file>..." to include in what will be committed)
actual
actual2
expect
expected
Dropped refs/stash@{0} (1b6501f85530697b9c800b37ca0a8c6ef37e954c)
dirty
ok 24 - rebase --merge: non-conflicting rebase, conflicting stash
expecting success of 3420.25 'rebase --merge: check output with conflicting stash':
test_when_finished git branch -D rebased-feature-branch &&
suffix=${type#\ --} && suffix=${suffix:-apply} &&
if test ${suffix} = "interactive"; then
suffix=merge
fi &&
create_expected_failure_$suffix &&
sed "$remove_progress_re" <actual >actual2 &&
test_i18ncmp expected actual2
Deleted branch rebased-feature-branch (was b607b14).
ok 25 - rebase --merge: check output with conflicting stash
expecting success of 3420.26 'rebase --interactive: dirty worktree, --no-autostash':
test_config rebase.autostash true &&
git reset --hard &&
git checkout -b rebased-feature-branch feature-branch &&
test_when_finished git branch -D rebased-feature-branch &&
test_when_finished git checkout feature-branch &&
echo dirty >>file3 &&
test_must_fail git rebase$type --no-autostash unrelated-onto-branch
HEAD is now at 0c4d2f1 third commit
Switched to a new branch 'rebased-feature-branch'
error: cannot rebase: You have unstaged changes.
error: Please commit or stash them.
Switched to branch 'feature-branch'
M file3
Deleted branch rebased-feature-branch (was 0c4d2f1).
ok 26 - rebase --interactive: dirty worktree, --no-autostash
expecting success of 3420.27 'rebase --interactive: dirty worktree, non-conflicting rebase':
test_config rebase.autostash true &&
git reset --hard &&
git checkout -b rebased-feature-branch feature-branch &&
echo dirty >>file3 &&
git rebase$type unrelated-onto-branch >actual 2>&1 &&
grep unrelated file4 &&
grep dirty file3 &&
git checkout feature-branch
HEAD is now at 0c4d2f1 third commit
Switched to a new branch 'rebased-feature-branch'
unrelated
dirty
Switched to branch 'feature-branch'
M file3
ok 27 - rebase --interactive: dirty worktree, non-conflicting rebase
expecting success of 3420.28 'rebase --interactive --autostash: check output':
test_when_finished git branch -D rebased-feature-branch &&
suffix=${type#\ --} && suffix=${suffix:-apply} &&
if test ${suffix} = "interactive"; then
suffix=merge
fi &&
create_expected_success_$suffix &&
sed "$remove_progress_re" <actual >actual2 &&
test_i18ncmp expected actual2
Deleted branch rebased-feature-branch (was b607b14).
ok 28 - rebase --interactive --autostash: check output
expecting success of 3420.29 'rebase --interactive: dirty index, non-conflicting rebase':
test_config rebase.autostash true &&
git reset --hard &&
git checkout -b rebased-feature-branch feature-branch &&
test_when_finished git branch -D rebased-feature-branch &&
echo dirty >>file3 &&
git add file3 &&
git rebase$type unrelated-onto-branch &&
grep unrelated file4 &&
grep dirty file3 &&
git checkout feature-branch
HEAD is now at 0c4d2f1 third commit
Switched to a new branch 'rebased-feature-branch'
Created autostash: 7305f55
Rebasing (1/2)
Rebasing (2/2)
Applied autostash.
Successfully rebased and updated refs/heads/rebased-feature-branch.
unrelated
dirty
Switched to branch 'feature-branch'
M file3
Deleted branch rebased-feature-branch (was b607b14).
ok 29 - rebase --interactive: dirty index, non-conflicting rebase
expecting success of 3420.30 'rebase --interactive: conflicting rebase':
test_config rebase.autostash true &&
git reset --hard &&
git checkout -b rebased-feature-branch feature-branch &&
test_when_finished git branch -D rebased-feature-branch &&
echo dirty >>file3 &&
test_must_fail git rebase$type related-onto-branch &&
test_path_is_file $dotest/autostash &&
test_path_is_missing file3 &&
rm -rf $dotest &&
git reset --hard &&
git checkout feature-branch
HEAD is now at 0c4d2f1 third commit
Switched to a new branch 'rebased-feature-branch'
Created autostash: ce96636
Rebasing (1/2)
error: could not apply 6fe95e2... second commit
Resolve all conflicts manually, mark them as resolved with
"git add/rm <conflicted_files>", then run "git rebase --continue".
You can instead skip this commit: run "git rebase --skip".
To abort and get back to the state before "git rebase", run "git rebase --abort".
Could not apply 6fe95e2... second commit
CONFLICT (add/add): Merge conflict in file2
Auto-merging file2
HEAD is now at c57d250 related commit
Previous HEAD position was c57d250 related commit
Switched to branch 'feature-branch'
Deleted branch rebased-feature-branch (was 0c4d2f1).
ok 30 - rebase --interactive: conflicting rebase
expecting success of 3420.31 'rebase --interactive: --continue':
test_config rebase.autostash true &&
git reset --hard &&
git checkout -b rebased-feature-branch feature-branch &&
test_when_finished git branch -D rebased-feature-branch &&
echo dirty >>file3 &&
test_must_fail git rebase$type related-onto-branch &&
test_path_is_file $dotest/autostash &&
test_path_is_missing file3 &&
echo "conflicting-plus-goodbye" >file2 &&
git add file2 &&
git rebase --continue &&
test_path_is_missing $dotest/autostash &&
grep dirty file3 &&
git checkout feature-branch
HEAD is now at 0c4d2f1 third commit
Switched to a new branch 'rebased-feature-branch'
Created autostash: ce96636
Rebasing (1/2)
error: could not apply 6fe95e2... second commit
Resolve all conflicts manually, mark them as resolved with
"git add/rm <conflicted_files>", then run "git rebase --continue".
You can instead skip this commit: run "git rebase --skip".
To abort and get back to the state before "git rebase", run "git rebase --abort".
Could not apply 6fe95e2... second commit
CONFLICT (add/add): Merge conflict in file2
Auto-merging file2
[detached HEAD 62edf38] second commit
Author: A U Thor <author@example.com>
2 files changed, 2 insertions(+), 1 deletion(-)
create mode 100644 file1
Rebasing (2/2)
Applied autostash.
Successfully rebased and updated refs/heads/rebased-feature-branch.
dirty
Switched to branch 'feature-branch'
M file3
Deleted branch rebased-feature-branch (was 51f2c81).
ok 31 - rebase --interactive: --continue
expecting success of 3420.32 'rebase --interactive: --skip':
test_config rebase.autostash true &&
git reset --hard &&
git checkout -b rebased-feature-branch feature-branch &&
test_when_finished git branch -D rebased-feature-branch &&
echo dirty >>file3 &&
test_must_fail git rebase$type related-onto-branch &&
test_path_is_file $dotest/autostash &&
test_path_is_missing file3 &&
git rebase --skip &&
test_path_is_missing $dotest/autostash &&
grep dirty file3 &&
git checkout feature-branch
HEAD is now at 0c4d2f1 third commit
Switched to a new branch 'rebased-feature-branch'
Created autostash: ce96636
Rebasing (1/2)
error: could not apply 6fe95e2... second commit
Resolve all conflicts manually, mark them as resolved with
"git add/rm <conflicted_files>", then run "git rebase --continue".
You can instead skip this commit: run "git rebase --skip".
To abort and get back to the state before "git rebase", run "git rebase --abort".
Could not apply 6fe95e2... second commit
CONFLICT (add/add): Merge conflict in file2
Auto-merging file2
Rebasing (2/2)
Applied autostash.
Successfully rebased and updated refs/heads/rebased-feature-branch.
dirty
Switched to branch 'feature-branch'
M file3
Deleted branch rebased-feature-branch (was fa02356).
ok 32 - rebase --interactive: --skip
expecting success of 3420.33 'rebase --interactive: --abort':
test_config rebase.autostash true &&
git reset --hard &&
git checkout -b rebased-feature-branch feature-branch &&
test_when_finished git branch -D rebased-feature-branch &&
echo dirty >>file3 &&
test_must_fail git rebase$type related-onto-branch &&
test_path_is_file $dotest/autostash &&
test_path_is_missing file3 &&
git rebase --abort &&
test_path_is_missing $dotest/autostash &&
grep dirty file3 &&
git checkout feature-branch
HEAD is now at 0c4d2f1 third commit
Switched to a new branch 'rebased-feature-branch'
Created autostash: ce96636
Rebasing (1/2)
error: could not apply 6fe95e2... second commit
Resolve all conflicts manually, mark them as resolved with
"git add/rm <conflicted_files>", then run "git rebase --continue".
You can instead skip this commit: run "git rebase --skip".
To abort and get back to the state before "git rebase", run "git rebase --abort".
Could not apply 6fe95e2... second commit
CONFLICT (add/add): Merge conflict in file2
Auto-merging file2
Applied autostash.
dirty
Switched to branch 'feature-branch'
M file3
Deleted branch rebased-feature-branch (was 0c4d2f1).
ok 33 - rebase --interactive: --abort
expecting success of 3420.34 'rebase --interactive: --quit':
test_config rebase.autostash true &&
git reset --hard &&
git checkout -b rebased-feature-branch feature-branch &&
test_when_finished git branch -D rebased-feature-branch &&
echo dirty >>file3 &&
git diff >expect &&
test_must_fail git rebase$type related-onto-branch &&
test_path_is_file $dotest/autostash &&
test_path_is_missing file3 &&
git rebase --quit &&
test_when_finished git stash drop &&
test_path_is_missing $dotest/autostash &&
! grep dirty file3 &&
git stash show -p >actual &&
test_cmp expect actual &&
git reset --hard &&
git checkout feature-branch
HEAD is now at 0c4d2f1 third commit
Switched to a new branch 'rebased-feature-branch'
Created autostash: ce96636
Rebasing (1/2)
error: could not apply 6fe95e2... second commit
Resolve all conflicts manually, mark them as resolved with
"git add/rm <conflicted_files>", then run "git rebase --continue".
You can instead skip this commit: run "git rebase --skip".
To abort and get back to the state before "git rebase", run "git rebase --abort".
Could not apply 6fe95e2... second commit
CONFLICT (add/add): Merge conflict in file2
Auto-merging file2
Autostash exists; creating a new stash entry.
Your changes are safe in the stash.
You can run "git stash pop" or "git stash drop" at any time.
grep: file3: No such file or directory
HEAD is now at c57d250 related commit
Previous HEAD position was c57d250 related commit
Switched to branch 'feature-branch'
Dropped refs/stash@{0} (ce96636712fc38300c1f0f777cc2fac6dee041c0)
Deleted branch rebased-feature-branch (was 0c4d2f1).
ok 34 - rebase --interactive: --quit
expecting success of 3420.35 'rebase --interactive: non-conflicting rebase, conflicting stash':
test_config rebase.autostash true &&
git reset --hard &&
git checkout -b rebased-feature-branch feature-branch &&
echo dirty >file4 &&
git add file4 &&
git rebase$type unrelated-onto-branch >actual 2>&1 &&
test_path_is_missing $dotest &&
git reset --hard &&
grep unrelated file4 &&
! grep dirty file4 &&
git checkout feature-branch &&
git stash pop &&
grep dirty file4
HEAD is now at 0c4d2f1 third commit
Switched to a new branch 'rebased-feature-branch'
HEAD is now at b607b14 third commit
unrelated
Switched to branch 'feature-branch'
Merging Version stash was based on with Stashed changes
Merging:
virtual Version stash was based on
virtual Stashed changes
found 1 common ancestor:
virtual 28566cc718f43a597c158e8411c19d7048328a85
On branch feature-branch
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
new file: file4
Untracked files:
(use "git add <file>..." to include in what will be committed)
actual
actual2
expect
expected
Dropped refs/stash@{0} (1b6501f85530697b9c800b37ca0a8c6ef37e954c)
dirty
ok 35 - rebase --interactive: non-conflicting rebase, conflicting stash
expecting success of 3420.36 'rebase --interactive: check output with conflicting stash':
test_when_finished git branch -D rebased-feature-branch &&
suffix=${type#\ --} && suffix=${suffix:-apply} &&
if test ${suffix} = "interactive"; then
suffix=merge
fi &&
create_expected_failure_$suffix &&
sed "$remove_progress_re" <actual >actual2 &&
test_i18ncmp expected actual2
Deleted branch rebased-feature-branch (was b607b14).
ok 36 - rebase --interactive: check output with conflicting stash
expecting success of 3420.37 'abort rebase -i with --autostash':
test_when_finished "git reset --hard" &&
echo uncommitted-content >file0 &&
(
write_script abort-editor.sh <<-\EOF &&
echo >"$1"
EOF
test_set_editor "$(pwd)/abort-editor.sh" &&
test_must_fail git rebase -i --autostash HEAD^ &&
rm -f abort-editor.sh
) &&
echo uncommitted-content >expected &&
test_cmp expected file0
Created autostash: d9b9f3e
Applied autostash.
error: nothing to do
HEAD is now at 0c4d2f1 third commit
ok 37 - abort rebase -i with --autostash
expecting success of 3420.38 'restore autostash on editor failure':
test_when_finished "git reset --hard" &&
echo uncommitted-content >file0 &&
(
test_set_editor "false" &&
test_must_fail git rebase -i --autostash HEAD^
) &&
echo uncommitted-content >expected &&
test_cmp expected file0
Created autostash: 083685b
error: There was a problem with the editor '"$FAKE_EDITOR"'.
Applied autostash.
HEAD is now at 0c4d2f1 third commit
ok 38 - restore autostash on editor failure
expecting success of 3420.39 'autostash is saved on editor failure with conflict':
test_when_finished "git reset --hard" &&
echo uncommitted-content >file0 &&
(
write_script abort-editor.sh <<-\EOF &&
echo conflicting-content >file0
exit 1
EOF
test_set_editor "$(pwd)/abort-editor.sh" &&
test_must_fail git rebase -i --autostash HEAD^ &&
rm -f abort-editor.sh
) &&
echo conflicting-content >expected &&
test_cmp expected file0 &&
git checkout file0 &&
git stash pop &&
echo uncommitted-content >expected &&
test_cmp expected file0
Created autostash: 083685b
error: There was a problem with the editor '"$FAKE_EDITOR"'.
Applying autostash resulted in conflicts.
Your changes are safe in the stash.
You can run "git stash pop" or "git stash drop" at any time.
Updated 1 path from the index
Merging Version stash was based on with Stashed changes
Merging:
virtual Version stash was based on
virtual Stashed changes
found 1 common ancestor:
virtual 28566cc718f43a597c158e8411c19d7048328a85
On branch feature-branch
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: file0
Untracked files:
(use "git add <file>..." to include in what will be committed)
actual
actual2
expect
expected
no changes added to commit (use "git add" and/or "git commit -a")
Dropped refs/stash@{0} (083685bba8c747d8dec51b2a5ffc97733bf5a961)
HEAD is now at 0c4d2f1 third commit
ok 39 - autostash is saved on editor failure with conflict
expecting success of 3420.40 'autostash with dirty submodules':
test_when_finished "git reset --hard && git checkout master" &&
git checkout -b with-submodule &&
git submodule add ./ sub &&
test_tick &&
git commit -m add-submodule &&
echo changed >sub/file0 &&
git rebase -i --autostash HEAD
Switched to a new branch 'with-submodule'
Cloning into '/<<PKGBUILDDIR>>/t/trash directory.t3420-rebase-autostash/sub'...
done.
[with-submodule 42dcd38] add-submodule
Author: A U Thor <author@example.com>
2 files changed, 4 insertions(+)
create mode 100644 .gitmodules
create mode 160000 sub
Successfully rebased and updated refs/heads/with-submodule.
HEAD is now at 42dcd38 add-submodule
warning: unable to rmdir 'sub': Directory not empty
Switched to branch 'master'
ok 40 - autostash with dirty submodules
expecting success of 3420.41 'branch is left alone when possible':
git checkout -b unchanged-branch &&
echo changed >file0 &&
git rebase --autostash unchanged-branch &&
test changed = "$(cat file0)" &&
test unchanged-branch = "$(git rev-parse --abbrev-ref HEAD)"
Switched to a new branch 'unchanged-branch'
Created autostash: 84b1204
Current branch unchanged-branch is up to date.
Applied autostash.
ok 41 - branch is left alone when possible
expecting success of 3420.42 'never change active branch':
git checkout -b not-the-feature-branch unrelated-onto-branch &&
test_when_finished "git reset --hard && git checkout master" &&
echo changed >file0 &&
git rebase --autostash not-the-feature-branch feature-branch &&
test_cmp_rev not-the-feature-branch unrelated-onto-branch
Switched to a new branch 'not-the-feature-branch'
M file0
Created autostash: 37b7cba
Rebasing (1/2)
Rebasing (2/2)
Applied autostash.
Successfully rebased and updated refs/heads/feature-branch.
HEAD is now at 543b47f third commit
Switched to branch 'master'
ok 42 - never change active branch
# passed all 42 test(s)
1..42
make[4]: Leaving directory '/<<PKGBUILDDIR>>/t'
make[4]: Entering directory '/<<PKGBUILDDIR>>/t'
*** t3418-rebase-continue.sh ***
Initialized empty Git repository in /<<PKGBUILDDIR>>/t/trash directory.t3418-rebase-continue/.git/
expecting success of 3418.1 'setup':
test_commit "commit-new-file-F1" F1 1 &&
test_commit "commit-new-file-F2" F2 2 &&
git checkout -b topic HEAD^ &&
test_commit "commit-new-file-F2-on-topic-branch" F2 22 &&
git checkout master
[master (root-commit) dac1376] commit-new-file-F1
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 F1
[master 953b3db] commit-new-file-F2
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 F2
Switched to a new branch 'topic'
[topic 24c5d85] commit-new-file-F2-on-topic-branch
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+)
create mode 100644 F2
Switched to branch 'master'
ok 1 - setup
expecting success of 3418.2 'interactive rebase --continue works with touched file':
rm -fr .git/rebase-* &&
git reset --hard &&
git checkout master &&
FAKE_LINES="edit 1" git rebase -i HEAD^ &&
test-tool chmtime =-60 F1 &&
git rebase --continue
HEAD is now at 953b3db commit-new-file-F2
Already on 'master'
rebase -i script before editing:
pick 953b3db commit-new-file-F2
rebase -i script after editing:
edit 953b3db commit-new-file-F2
Rebasing (1/1)
Stopped at 953b3db... commit-new-file-F2
You can amend the commit now, with
git commit --amend
Once you are satisfied with your changes, run
git rebase --continue
Successfully rebased and updated refs/heads/master.
ok 2 - interactive rebase --continue works with touched file
expecting success of 3418.3 'non-interactive rebase --continue works with touched file':
rm -fr .git/rebase-* &&
git reset --hard &&
git checkout master &&
test_must_fail git rebase --onto master master topic &&
echo "Resolved" >F2 &&
git add F2 &&
test-tool chmtime =-60 F1 &&
git rebase --continue
HEAD is now at 953b3db commit-new-file-F2
Already on 'master'
Rebasing (1/1)
error: could not apply 24c5d85... commit-new-file-F2-on-topic-branch
Resolve all conflicts manually, mark them as resolved with
"git add/rm <conflicted_files>", then run "git rebase --continue".
You can instead skip this commit: run "git rebase --skip".
To abort and get back to the state before "git rebase", run "git rebase --abort".
Could not apply 24c5d85... commit-new-file-F2-on-topic-branch
CONFLICT (add/add): Merge conflict in F2
Auto-merging F2
[detached HEAD b8d8c16] commit-new-file-F2-on-topic-branch
Author: A U Thor <author@example.com>
1 file changed, 1 insertion(+), 1 deletion(-)
Successfully rebased and updated refs/heads/topic.
ok 3 - non-interactive rebase --continue works with touched file
expecting success of 3418.4 'rebase --continue can not be used with other options':
test_must_fail git rebase -v --continue &&
test_must_fail git rebase --continue -v
usage: git rebase [-i] [options] [--exec <cmd>] [--onto <newbase> | --keep-base] [<upstream> [<branch>]]
or: git rebase [-i] [options] [--exec <cmd>] [--onto <newbase>] --root [<branch>]
or: git rebase --continue | --abort | --skip | --edit-todo
--onto <revision> rebase onto given branch instead of upstream
--keep-base use the merge-base of upstream and branch as the current base
--no-verify allow pre-rebase hook to run
-q, --quiet be quiet. implies --no-stat
-v, --verbose display a diffstat of what changed upstream
-n, --no-stat do not show diffstat of what changed upstream
--signoff add a Signed-off-by: line to each commit
--ignore-whitespace passed to 'git am'
--committer-date-is-author-date
passed to 'git am'
--ignore-date passed to 'git am'
-C <n> passed to 'git apply'
--whitespace <action>
passed to 'git apply'
-f, --force-rebase cherry-pick all commits, even if unchanged
--no-ff cherry-pick all commits, even if unchanged
--continue continue
--skip skip current patch and continue
--abort abort and check out the original branch
--quit abort but keep HEAD where it is
--edit-todo edit the todo list during an interactive rebase
--show-current-patch show the patch file being applied or merged
--apply use apply strategies to rebase
-m, --merge use merging strategies to rebase
-i, --interactive let the user edit the list of commits to rebase
--rerere-autoupdate update the index with reused conflict resolution if possible
--empty <{drop,keep,ask}>
how to handle commits that become empty
--autosquash move commits that begin with squash!/fixup! under -i
-S, --gpg-sign[=<key-id>]
GPG-sign commits
--autostash automatically stash/stash pop before and after
-x, --exec <exec> add exec lines after each commit of the editable list
-r, --rebase-merges[=<mode>]
try to rebase merges instead of skipping them
--fork-point use 'merge-base --fork-point' to refine upstream
-s, --strategy <strategy>
use the given merge strategy
-X, --strategy-option <option>
pass the argument through to the merge strategy
--root rebase all reachable commits up to the root(s)
--reschedule-failed-exec
automatically re-schedule any `exec` that fails
--reapply-cherry-picks
apply all changes, even those already present upstream
usage: git rebase [-i] [options] [--exec <cmd>] [--onto <newbase> | --keep-base] [<upstream> [<branch>]]
or: git rebase [-i] [options] [--exec <cmd>] [--onto <newbase>] --root [<branch>]
or: git rebase --continue | --abort | --skip | --edit-todo
--onto <revision> rebase onto given branch instead of upstream
--keep-base use the merge-base of upstream and branch as the current base
--no-verify allow pre-rebase hook to run
-q, --quiet be quiet. implies --no-stat
-v, --verbose display a diffstat of what changed upstream
-n, --no-stat do not show diffstat of what changed upstream
--signoff add a Signed-off-by: line to each commit
--ignore-whitespace passed to 'git am'
--committer-date-is-author-date
passed to 'git am'
--ignore-date passed to 'git am'
-C <n> passed to 'git apply'
--whitespace <action>
passed to 'git apply'
-f, --force-rebase cherry-pick all commits, even if unchanged
--no-ff cherry-pick all commits, even if unchanged
--continue continue
--skip skip current patch and continue
--abort abort and check out the original branch
--quit abort but keep HEAD where it is
--edit-todo edit the todo list during an interactive rebase
--show-current-patch show the patch file being applied or merged
--apply use apply strategies to rebase
-m, --merge use merging strategies to rebase
-i, --interactive let the user edit the list of commits to rebase
--rerere-autoupdate update the index with reused conflict resolution if possible
--empty <{drop,keep,ask}>
how to handle commits that become empty
--autosquash move commits that begin with squash!/fixup! under -i
-S, --gpg-sign[=<key-id>]
GPG-sign commits
--autostash automatically stash/stash pop before and after
-x, --exec <exec> add exec lines after each commit of the editable list
-r, --rebase-merges[=<mode>]