sbuild (Debian sbuild) 0.63.1 (31 May 2012) on build00.raspbian.lan ╔══════════════════════════════════════════════════════════════════════════════╗ ║ git 1:1.7.10.4-1 (armhf) 08 Aug 2012 12:04 ║ ╚══════════════════════════════════════════════════════════════════════════════╝ Package: git Version: 1:1.7.10.4-1 Source Version: 1:1.7.10.4-1 Distribution: wheezy-staging Machine Architecture: armhf Host Architecture: armhf Build Architecture: armhf W: line 7 [wheezy-staging-armhf-sbuild]: Deprecated key ‘script-config’ used I: This option will be removed in the future; please update your configuration W: line 7 [testing-armhf-sbuild]: Deprecated key ‘script-config’ used I: NOTICE: Log filtering will replace 'build/git-WSKx1H/git-1.7.10.4' with '«PKGBUILDDIR»' I: NOTICE: Log filtering will replace 'build/git-WSKx1H' with '«BUILDDIR»' I: NOTICE: Log filtering will replace 'var/lib/schroot/mount/wheezy-staging-armhf-sbuild-7ff49f46-e48c-4384-813c-aa9ad1bafbdb' with '«CHROOT»' ┌──────────────────────────────────────────────────────────────────────────────┐ │ Update chroot │ └──────────────────────────────────────────────────────────────────────────────┘ Get:1 http://archive.raspbian.lan wheezy-staging InRelease [9334 B] Get:2 http://archive.raspbian.lan wheezy-staging/main Sources [6227 kB] Get:3 http://archive.raspbian.lan wheezy-staging/main armhf Packages [7297 kB] Ign http://archive.raspbian.lan wheezy-staging/main Translation-en Fetched 13.5 MB in 43s (308 kB/s) Reading package lists... ┌──────────────────────────────────────────────────────────────────────────────┐ │ Fetch source files │ └──────────────────────────────────────────────────────────────────────────────┘ Check APT ───────── Checking available source versions... Download source files with APT ────────────────────────────── Reading package lists... Building dependency tree... Reading state information... NOTICE: 'git' packaging is maintained in the 'Git' version control system at: http://smarden.org/git/git.git/ Need to get 4314 kB of source archives. Get:1 http://archive.raspbian.lan/raspbian/ wheezy-staging/main git 1:1.7.10.4-1 (dsc) [1964 B] Get:2 http://archive.raspbian.lan/raspbian/ wheezy-staging/main git 1:1.7.10.4-1 (tar) [3813 kB] Get:3 http://archive.raspbian.lan/raspbian/ wheezy-staging/main git 1:1.7.10.4-1 (diff) [499 kB] Fetched 4314 kB in 1s (3659 kB/s) Download complete and in download only mode Check arch ────────── Merged Build-Depends: build-essential, fakeroot Filtered Build-Depends: build-essential, fakeroot dpkg-deb: building package `sbuild-build-depends-core-dummy' in `/«BUILDDIR»/resolver-SAUNRb/apt_archive/sbuild-build-depends-core-dummy.deb'. OK Reading package lists... ┌──────────────────────────────────────────────────────────────────────────────┐ │ Install core build dependencies (apt-based resolver) │ └──────────────────────────────────────────────────────────────────────────────┘ Installing build dependencies Reading package lists... Building dependency tree... Reading state information... The following NEW packages will be installed: sbuild-build-depends-core-dummy debconf: delaying package configuration, since apt-utils is not installed 0 upgraded, 1 newly installed, 0 to remove and 2 not upgraded. Need to get 0 B/702 B of archives. After this operation, 0 B of additional disk space will be used. Selecting previously unselected package sbuild-build-depends-core-dummy. (Reading database ... 10702 files and directories currently installed.) Unpacking sbuild-build-depends-core-dummy (from .../sbuild-build-depends-core-dummy.deb) ... Setting up sbuild-build-depends-core-dummy (0.invalid.0) ... Merged Build-Depends: libc6-dev | libc-dev, gcc (>= 4:4.4.3), g++ (>= 4:4.4.3), make, dpkg-dev (>= 1.13.5), libz-dev, libcurl4-gnutls-dev | libcurl3-gnutls-dev, libexpat1-dev, subversion, libsvn-perl | libsvn-core-perl, tcl8.5, gettext, cvs, cvsps, libdbd-sqlite3-perl, unzip, libio-pty-perl, dpkg-dev (>= 1.15.7~) Filtered Build-Depends: libc6-dev, gcc (>= 4:4.4.3), g++ (>= 4:4.4.3), make, dpkg-dev (>= 1.13.5), libz-dev, libcurl4-gnutls-dev, libexpat1-dev, subversion, libsvn-perl, tcl8.5, gettext, cvs, cvsps, libdbd-sqlite3-perl, unzip, libio-pty-perl, dpkg-dev (>= 1.15.7~) dpkg-deb: building package `sbuild-build-depends-git-dummy' in `/«BUILDDIR»/resolver-ikrEjC/apt_archive/sbuild-build-depends-git-dummy.deb'. OK Reading package lists... ┌──────────────────────────────────────────────────────────────────────────────┐ │ Install git build dependencies (apt-based resolver) │ └──────────────────────────────────────────────────────────────────────────────┘ Installing build dependencies Reading package lists... Building dependency tree... Reading state information... The following extra packages will be installed: adduser comerr-dev cvs cvsps gettext gettext-base krb5-multidev libapr1 libaprutil1 libasprintf0c2 libbsd0 libcroco3 libcurl3-gnutls libcurl4-gnutls-dev libdbd-sqlite3-perl libdbi-perl libexpat1 libexpat1-dev libffi5 libgcrypt11 libgcrypt11-dev libgettextpo0 libglib2.0-0 libgnutls-dev libgnutls-openssl27 libgnutls26 libgnutlsxx27 libgpg-error-dev libgpg-error0 libgssapi-krb5-2 libgssrpc4 libidn11 libidn11-dev libio-pty-perl libk5crypto3 libkadm5clnt-mit8 libkadm5srv-mit8 libkdb5-6 libkeyutils1 libkrb5-3 libkrb5-dev libkrb5support0 libldap-2.4-2 libldap2-dev libneon27-gnutls libnet-daemon-perl libp11-kit-dev libp11-kit0 libpcre3 libplrpc-perl libpopt0 librtmp-dev librtmp0 libsasl2-2 libserf1 libsqlite3-0 libssh2-1 libssh2-1-dev libssl1.0.0 libsvn-perl libsvn1 libtasn1-3 libtasn1-3-dev libunistring0 libxml2 pkg-config subversion tcl8.5 unzip zlib1g-dev Suggested packages: doc-base mksh rcs gettext-doc krb5-doc libcurl3-dbg rng-tools libgcrypt11-doc gnutls-doc krb5-user subversion-tools db5.1-util tcl-tclreadline zip Recommended packages: openssh-client curl wget lynx-cur autopoint ca-certificates libglib2.0-data shared-mime-info krb5-locales libsasl2-modules xml-core The following NEW packages will be installed: adduser comerr-dev cvs cvsps gettext gettext-base krb5-multidev libapr1 libaprutil1 libasprintf0c2 libbsd0 libcroco3 libcurl3-gnutls libcurl4-gnutls-dev libdbd-sqlite3-perl libdbi-perl libexpat1 libexpat1-dev libffi5 libgcrypt11 libgcrypt11-dev libgettextpo0 libglib2.0-0 libgnutls-dev libgnutls-openssl27 libgnutls26 libgnutlsxx27 libgpg-error-dev libgpg-error0 libgssapi-krb5-2 libgssrpc4 libidn11 libidn11-dev libio-pty-perl libk5crypto3 libkadm5clnt-mit8 libkadm5srv-mit8 libkdb5-6 libkeyutils1 libkrb5-3 libkrb5-dev libkrb5support0 libldap-2.4-2 libldap2-dev libneon27-gnutls libnet-daemon-perl libp11-kit-dev libp11-kit0 libpcre3 libplrpc-perl libpopt0 librtmp-dev librtmp0 libsasl2-2 libserf1 libsqlite3-0 libssh2-1 libssh2-1-dev libssl1.0.0 libsvn-perl libsvn1 libtasn1-3 libtasn1-3-dev libunistring0 libxml2 pkg-config sbuild-build-depends-git-dummy subversion tcl8.5 unzip zlib1g-dev 0 upgraded, 71 newly installed, 0 to remove and 2 not upgraded. Need to get 4471 kB/25.6 MB of archives. After this operation, 59.8 MB of additional disk space will be used. Get:1 http://archive.raspbian.lan/raspbian/ wheezy-staging/main libgssrpc4 armhf 1.10.1+dfsg-2 [79.1 kB] Get:2 http://archive.raspbian.lan/raspbian/ wheezy-staging/main libkadm5clnt-mit8 armhf 1.10.1+dfsg-2 [61.9 kB] Get:3 http://archive.raspbian.lan/raspbian/ wheezy-staging/main libkdb5-6 armhf 1.10.1+dfsg-2 [60.1 kB] Get:4 http://archive.raspbian.lan/raspbian/ wheezy-staging/main libkadm5srv-mit8 armhf 1.10.1+dfsg-2 [75.7 kB] Get:5 http://archive.raspbian.lan/raspbian/ wheezy-staging/main libsvn-perl armhf 1.7.5-1 [1220 kB] Get:6 http://archive.raspbian.lan/raspbian/ wheezy-staging/main cvs armhf 2:1.12.13+real-9 [2736 kB] Get:7 http://archive.raspbian.lan/raspbian/ wheezy-staging/main cvsps armhf 2.1-6 [46.6 kB] Get:8 http://archive.raspbian.lan/raspbian/ wheezy-staging/main krb5-multidev armhf 1.10.1+dfsg-2 [152 kB] Get:9 http://archive.raspbian.lan/raspbian/ wheezy-staging/main libkrb5-dev armhf 1.10.1+dfsg-2 [38.6 kB] debconf: delaying package configuration, since apt-utils is not installed Fetched 4471 kB in 1s (3542 kB/s) Selecting previously unselected package libpcre3:armhf. (Reading database ... 10702 files and directories currently installed.) Unpacking libpcre3:armhf (from .../libpcre3_1%3a8.30-5_armhf.deb) ... Selecting previously unselected package libpopt0:armhf. Unpacking libpopt0:armhf (from .../libpopt0_1.16-7_armhf.deb) ... Selecting previously unselected package libssl1.0.0:armhf. Unpacking libssl1.0.0:armhf (from .../libssl1.0.0_1.0.1c-3+rpi1_armhf.deb) ... Selecting previously unselected package libasprintf0c2:armhf. Unpacking libasprintf0c2:armhf (from .../libasprintf0c2_0.18.1.1-9_armhf.deb) ... Selecting previously unselected package libgpg-error0:armhf. Unpacking libgpg-error0:armhf (from .../libgpg-error0_1.10-3_armhf.deb) ... Selecting previously unselected package libgcrypt11:armhf. Unpacking libgcrypt11:armhf (from .../libgcrypt11_1.5.0-3_armhf.deb) ... Selecting previously unselected package libp11-kit0:armhf. Unpacking libp11-kit0:armhf (from .../libp11-kit0_0.12-3_armhf.deb) ... Selecting previously unselected package libtasn1-3:armhf. Unpacking libtasn1-3:armhf (from .../libtasn1-3_2.13-2_armhf.deb) ... Selecting previously unselected package libgnutls26:armhf. Unpacking libgnutls26:armhf (from .../libgnutls26_2.12.20-1_armhf.deb) ... Selecting previously unselected package libgnutls-openssl27:armhf. Unpacking libgnutls-openssl27:armhf (from .../libgnutls-openssl27_2.12.20-1_armhf.deb) ... Selecting previously unselected package libkeyutils1:armhf. Unpacking libkeyutils1:armhf (from .../libkeyutils1_1.5.5-3_armhf.deb) ... Selecting previously unselected package libkrb5support0:armhf. Unpacking libkrb5support0:armhf (from .../libkrb5support0_1.10.1+dfsg-2_armhf.deb) ... Selecting previously unselected package libk5crypto3:armhf. Unpacking libk5crypto3:armhf (from .../libk5crypto3_1.10.1+dfsg-2_armhf.deb) ... Selecting previously unselected package libkrb5-3:armhf. Unpacking libkrb5-3:armhf (from .../libkrb5-3_1.10.1+dfsg-2_armhf.deb) ... Selecting previously unselected package libgssapi-krb5-2:armhf. Unpacking libgssapi-krb5-2:armhf (from .../libgssapi-krb5-2_1.10.1+dfsg-2_armhf.deb) ... Selecting previously unselected package libgssrpc4:armhf. Unpacking libgssrpc4:armhf (from .../libgssrpc4_1.10.1+dfsg-2_armhf.deb) ... Selecting previously unselected package libidn11:armhf. Unpacking libidn11:armhf (from .../libidn11_1.25-2_armhf.deb) ... Selecting previously unselected package libkadm5clnt-mit8:armhf. Unpacking libkadm5clnt-mit8:armhf (from .../libkadm5clnt-mit8_1.10.1+dfsg-2_armhf.deb) ... Selecting previously unselected package libkdb5-6:armhf. Unpacking libkdb5-6:armhf (from .../libkdb5-6_1.10.1+dfsg-2_armhf.deb) ... Selecting previously unselected package libkadm5srv-mit8:armhf. Unpacking libkadm5srv-mit8:armhf (from .../libkadm5srv-mit8_1.10.1+dfsg-2_armhf.deb) ... Selecting previously unselected package libsasl2-2:armhf. Unpacking libsasl2-2:armhf (from .../libsasl2-2_2.1.25.dfsg1-4_armhf.deb) ... Selecting previously unselected package libldap-2.4-2:armhf. Unpacking libldap-2.4-2:armhf (from .../libldap-2.4-2_2.4.28-1.1+rpi1_armhf.deb) ... Selecting previously unselected package libsqlite3-0:armhf. Unpacking libsqlite3-0:armhf (from .../libsqlite3-0_3.7.13-1_armhf.deb) ... Selecting previously unselected package libxml2:armhf. Unpacking libxml2:armhf (from .../libxml2_2.8.0+dfsg1-5_armhf.deb) ... Selecting previously unselected package libbsd0:armhf. Unpacking libbsd0:armhf (from .../libbsd0_0.4.0-1_armhf.deb) ... Selecting previously unselected package libffi5:armhf. Unpacking libffi5:armhf (from .../libffi5_3.0.10-3+b3_armhf.deb) ... Selecting previously unselected package libglib2.0-0:armhf. Unpacking libglib2.0-0:armhf (from .../libglib2.0-0_2.32.3-1_armhf.deb) ... Selecting previously unselected package libcroco3:armhf. Unpacking libcroco3:armhf (from .../libcroco3_0.6.5-1_armhf.deb) ... Selecting previously unselected package librtmp0:armhf. Unpacking librtmp0:armhf (from .../librtmp0_2.4+20111222.git4e06e21-1_armhf.deb) ... Selecting previously unselected package libssh2-1:armhf. Unpacking libssh2-1:armhf (from .../libssh2-1_1.4.2-1_armhf.deb) ... Selecting previously unselected package libcurl3-gnutls:armhf. Unpacking libcurl3-gnutls:armhf (from .../libcurl3-gnutls_7.26.0-1_armhf.deb) ... Selecting previously unselected package libexpat1:armhf. Unpacking libexpat1:armhf (from .../libexpat1_2.1.0-1_armhf.deb) ... Selecting previously unselected package libunistring0:armhf. Unpacking libunistring0:armhf (from .../libunistring0_0.9.3-5_armhf.deb) ... Selecting previously unselected package libgettextpo0:armhf. Unpacking libgettextpo0:armhf (from .../libgettextpo0_0.18.1.1-9_armhf.deb) ... Selecting previously unselected package libapr1. Unpacking libapr1 (from .../libapr1_1.4.6-3_armhf.deb) ... Selecting previously unselected package libaprutil1. Unpacking libaprutil1 (from .../libaprutil1_1.4.1-2_armhf.deb) ... Selecting previously unselected package libserf1:armhf. Unpacking libserf1:armhf (from .../libserf1_1.1.0-2_armhf.deb) ... Selecting previously unselected package libneon27-gnutls. Unpacking libneon27-gnutls (from .../libneon27-gnutls_0.29.6-3_armhf.deb) ... Selecting previously unselected package libsvn1:armhf. Unpacking libsvn1:armhf (from .../libsvn1_1.7.5-1_armhf.deb) ... Selecting previously unselected package libsvn-perl. Unpacking libsvn-perl (from .../libsvn-perl_1.7.5-1_armhf.deb) ... Selecting previously unselected package libgnutlsxx27:armhf. Unpacking libgnutlsxx27:armhf (from .../libgnutlsxx27_2.12.20-1_armhf.deb) ... Selecting previously unselected package adduser. Unpacking adduser (from .../adduser_3.113+nmu3_all.deb) ... Selecting previously unselected package gettext-base. Unpacking gettext-base (from .../gettext-base_0.18.1.1-9_armhf.deb) ... Selecting previously unselected package cvs. Unpacking cvs (from .../cvs_2%3a1.12.13+real-9_armhf.deb) ... Selecting previously unselected package cvsps. Unpacking cvsps (from .../archives/cvsps_2.1-6_armhf.deb) ... Selecting previously unselected package gettext. Unpacking gettext (from .../gettext_0.18.1.1-9_armhf.deb) ... Selecting previously unselected package comerr-dev. Unpacking comerr-dev (from .../comerr-dev_2.1-1.42.4-3_armhf.deb) ... Selecting previously unselected package krb5-multidev. Unpacking krb5-multidev (from .../krb5-multidev_1.10.1+dfsg-2_armhf.deb) ... Selecting previously unselected package libgpg-error-dev. Unpacking libgpg-error-dev (from .../libgpg-error-dev_1.10-3_armhf.deb) ... Selecting previously unselected package libgcrypt11-dev. Unpacking libgcrypt11-dev (from .../libgcrypt11-dev_1.5.0-3_armhf.deb) ... Selecting previously unselected package zlib1g-dev:armhf. Unpacking zlib1g-dev:armhf (from .../zlib1g-dev_1%3a1.2.7.dfsg-13_armhf.deb) ... Selecting previously unselected package libtasn1-3-dev. Unpacking libtasn1-3-dev (from .../libtasn1-3-dev_2.13-2_armhf.deb) ... Selecting previously unselected package libp11-kit-dev. Unpacking libp11-kit-dev (from .../libp11-kit-dev_0.12-3_armhf.deb) ... Selecting previously unselected package libgnutls-dev. Unpacking libgnutls-dev (from .../libgnutls-dev_2.12.20-1_armhf.deb) ... Selecting previously unselected package pkg-config. Unpacking pkg-config (from .../pkg-config_0.26-1_armhf.deb) ... Selecting previously unselected package libidn11-dev. Unpacking libidn11-dev (from .../libidn11-dev_1.25-2_armhf.deb) ... Selecting previously unselected package libkrb5-dev. Unpacking libkrb5-dev (from .../libkrb5-dev_1.10.1+dfsg-2_armhf.deb) ... Selecting previously unselected package libldap2-dev:armhf. Unpacking libldap2-dev:armhf (from .../libldap2-dev_2.4.28-1.1+rpi1_armhf.deb) ... Selecting previously unselected package librtmp-dev. Unpacking librtmp-dev (from .../librtmp-dev_2.4+20111222.git4e06e21-1_armhf.deb) ... Selecting previously unselected package libssh2-1-dev. Unpacking libssh2-1-dev (from .../libssh2-1-dev_1.4.2-1_armhf.deb) ... Selecting previously unselected package libcurl4-gnutls-dev. Unpacking libcurl4-gnutls-dev (from .../libcurl4-gnutls-dev_7.26.0-1_armhf.deb) ... Selecting previously unselected package libnet-daemon-perl. Unpacking libnet-daemon-perl (from .../libnet-daemon-perl_0.48-1_all.deb) ... Selecting previously unselected package libplrpc-perl. Unpacking libplrpc-perl (from .../libplrpc-perl_0.2020-2_all.deb) ... Selecting previously unselected package libdbi-perl. Unpacking libdbi-perl (from .../libdbi-perl_1.622-1_armhf.deb) ... Selecting previously unselected package libdbd-sqlite3-perl. Unpacking libdbd-sqlite3-perl (from .../libdbd-sqlite3-perl_1.37-1_armhf.deb) ... Selecting previously unselected package libexpat1-dev. Unpacking libexpat1-dev (from .../libexpat1-dev_2.1.0-1_armhf.deb) ... Selecting previously unselected package libio-pty-perl. Unpacking libio-pty-perl (from .../libio-pty-perl_1%3a1.08-1_armhf.deb) ... Selecting previously unselected package subversion. Unpacking subversion (from .../subversion_1.7.5-1_armhf.deb) ... Selecting previously unselected package tcl8.5. Unpacking tcl8.5 (from .../tcl8.5_8.5.11-2_armhf.deb) ... Selecting previously unselected package unzip. Unpacking unzip (from .../archives/unzip_6.0-7_armhf.deb) ... Selecting previously unselected package sbuild-build-depends-git-dummy. Unpacking sbuild-build-depends-git-dummy (from .../sbuild-build-depends-git-dummy.deb) ... Setting up libpcre3:armhf (1:8.30-5) ... Setting up libpopt0:armhf (1.16-7) ... Setting up libssl1.0.0:armhf (1.0.1c-3+rpi1) ... Setting up libasprintf0c2:armhf (0.18.1.1-9) ... Setting up libgpg-error0:armhf (1.10-3) ... Setting up libgcrypt11:armhf (1.5.0-3) ... Setting up libp11-kit0:armhf (0.12-3) ... Setting up libtasn1-3:armhf (2.13-2) ... Setting up libgnutls26:armhf (2.12.20-1) ... Setting up libgnutls-openssl27:armhf (2.12.20-1) ... Setting up libkeyutils1:armhf (1.5.5-3) ... Setting up libkrb5support0:armhf (1.10.1+dfsg-2) ... Setting up libk5crypto3:armhf (1.10.1+dfsg-2) ... Setting up libkrb5-3:armhf (1.10.1+dfsg-2) ... Setting up libgssapi-krb5-2:armhf (1.10.1+dfsg-2) ... Setting up libgssrpc4:armhf (1.10.1+dfsg-2) ... Setting up libidn11:armhf (1.25-2) ... Setting up libkadm5clnt-mit8:armhf (1.10.1+dfsg-2) ... Setting up libkdb5-6:armhf (1.10.1+dfsg-2) ... Setting up libkadm5srv-mit8:armhf (1.10.1+dfsg-2) ... Setting up libsasl2-2:armhf (2.1.25.dfsg1-4) ... Setting up libldap-2.4-2:armhf (2.4.28-1.1+rpi1) ... Setting up libsqlite3-0:armhf (3.7.13-1) ... Setting up libxml2:armhf (2.8.0+dfsg1-5) ... Setting up libbsd0:armhf (0.4.0-1) ... Setting up libffi5:armhf (3.0.10-3+b3) ... Setting up libglib2.0-0:armhf (2.32.3-1) ... No schema files found: doing nothing. Setting up libcroco3:armhf (0.6.5-1) ... Setting up librtmp0:armhf (2.4+20111222.git4e06e21-1) ... Setting up libssh2-1:armhf (1.4.2-1) ... Setting up libcurl3-gnutls:armhf (7.26.0-1) ... Setting up libexpat1:armhf (2.1.0-1) ... Setting up libunistring0:armhf (0.9.3-5) ... Setting up libgettextpo0:armhf (0.18.1.1-9) ... Setting up libapr1 (1.4.6-3) ... Setting up libaprutil1 (1.4.1-2) ... Setting up libserf1:armhf (1.1.0-2) ... Setting up libneon27-gnutls (0.29.6-3) ... Setting up libsvn1:armhf (1.7.5-1) ... Setting up libsvn-perl (1.7.5-1) ... Setting up libgnutlsxx27:armhf (2.12.20-1) ... Setting up adduser (3.113+nmu3) ... Setting up gettext-base (0.18.1.1-9) ... Setting up cvs (2:1.12.13+real-9) ... Allowing use of questionable username. Adding group `_cvsadmin' (GID 103) ... Done. Setting up cvsps (2.1-6) ... Setting up gettext (0.18.1.1-9) ... Setting up comerr-dev (2.1-1.42.4-3) ... Setting up krb5-multidev (1.10.1+dfsg-2) ... Setting up libgpg-error-dev (1.10-3) ... Setting up libgcrypt11-dev (1.5.0-3) ... Setting up zlib1g-dev:armhf (1:1.2.7.dfsg-13) ... Setting up libtasn1-3-dev (2.13-2) ... Setting up libp11-kit-dev (0.12-3) ... Setting up libgnutls-dev (2.12.20-1) ... Setting up pkg-config (0.26-1) ... Setting up libidn11-dev (1.25-2) ... Setting up libkrb5-dev (1.10.1+dfsg-2) ... Setting up libldap2-dev:armhf (2.4.28-1.1+rpi1) ... Setting up librtmp-dev (2.4+20111222.git4e06e21-1) ... Setting up libssh2-1-dev (1.4.2-1) ... Setting up libcurl4-gnutls-dev (7.26.0-1) ... Setting up libnet-daemon-perl (0.48-1) ... Setting up libplrpc-perl (0.2020-2) ... Setting up libdbi-perl (1.622-1) ... Setting up libdbd-sqlite3-perl (1.37-1) ... Setting up libexpat1-dev (2.1.0-1) ... Setting up libio-pty-perl (1:1.08-1) ... Setting up subversion (1.7.5-1) ... Setting up tcl8.5 (8.5.11-2) ... update-alternatives: using /usr/bin/tclsh8.5 to provide /usr/bin/tclsh (tclsh) in auto mode. Setting up unzip (6.0-7) ... Setting up sbuild-build-depends-git-dummy (0.invalid.0) ... ┌──────────────────────────────────────────────────────────────────────────────┐ │ Build environment │ └──────────────────────────────────────────────────────────────────────────────┘ Kernel: Linux 3.2.0-3-mx5 armhf (armv7l) Toolchain package versions: binutils_2.22-6.1 dpkg-dev_1.16.4.3 g++-4.6_4.6.3-8+rpi1 gcc-4.6_4.6.3-8+rpi1 libc6-dev_2.13-33 libstdc++6_4.7.1-2+rpi1 libstdc++6-4.6-dev_4.6.3-8+rpi1 linux-libc-dev_3.2.21-1+rpi1 Package versions: adduser_3.113+nmu3 apt_0.9.3+rpi1 base-files_6.9 base-passwd_3.5.26 bash_4.2-2 binutils_2.22-6.1 bsdutils_1:2.20.1-5.1 build-essential_11.5+b1 bzip2_1.0.6-3 comerr-dev_2.1-1.42.4-3 coreutils_8.13-3.2 cpp_4:4.6.3-7 cpp-4.6_4.6.3-8+rpi1 cvs_2:1.12.13+real-9 cvsps_2.1-6 dash_0.5.7-3 debconf_1.5.44 debconf-i18n_1.5.44 debfoster_2.7-1.1 debianutils_4.3.2 diffutils_1:3.2-6 dpkg_1.16.4.3 dpkg-dev_1.16.4.3 e2fslibs_1.42.4-3 e2fsprogs_1.42.4-3 fakeroot_1.18.4-2 findutils_4.4.2-4 g++_4:4.6.3-7 g++-4.6_4.6.3-8+rpi1 gcc_4:4.6.3-7 gcc-4.4-base_4.4.7-1.1+rpi1 gcc-4.5-base_4.5.3-12+rpi1 gcc-4.6_4.6.3-8+rpi1 gcc-4.6-base_4.6.3-8+rpi1 gcc-4.7-base_4.7.1-2+rpi1 gettext_0.18.1.1-9 gettext-base_0.18.1.1-9 gnupg_1.4.12-4 gpgv_1.4.12-4 grep_2.12-2 gzip_1.5-1.1 hostname_3.11 initscripts_2.88dsf-22.1 insserv_1.14.0-3 krb5-multidev_1.10.1+dfsg-2 libacl1_2.2.51-8 libapr1_1.4.6-3 libaprutil1_1.4.1-2 libapt-pkg4.12_0.9.3+rpi1 libasprintf0c2_0.18.1.1-9 libattr1_1:2.4.46-8 libblkid1_2.20.1-5.1 libbsd0_0.4.0-1 libbz2-1.0_1.0.6-3 libc-bin_2.13-33 libc-dev-bin_2.13-33 libc6_2.13-33 libc6-dev_2.13-33 libclass-isa-perl_0.36-3 libcomerr2_1.42.4-3 libcroco3_0.6.5-1 libcurl3-gnutls_7.26.0-1 libcurl4-gnutls-dev_7.26.0-1 libdb5.1_5.1.29-5 libdbd-sqlite3-perl_1.37-1 libdbi-perl_1.622-1 libdpkg-perl_1.16.4.3 libexpat1_2.1.0-1 libexpat1-dev_2.1.0-1 libffi5_3.0.10-3+b3 libgc1c2_1:7.1-8 libgcc1_1:4.7.1-2+rpi1 libgcrypt11_1.5.0-3 libgcrypt11-dev_1.5.0-3 libgdbm3_1.8.3-11 libgettextpo0_0.18.1.1-9 libglib2.0-0_2.32.3-1 libgmp10_2:5.0.5+dfsg-2 libgnutls-dev_2.12.20-1 libgnutls-openssl27_2.12.20-1 libgnutls26_2.12.20-1 libgnutlsxx27_2.12.20-1 libgomp1_4.7.1-2+rpi1 libgpg-error-dev_1.10-3 libgpg-error0_1.10-3 libgssapi-krb5-2_1.10.1+dfsg-2 libgssrpc4_1.10.1+dfsg-2 libidn11_1.25-2 libidn11-dev_1.25-2 libio-pty-perl_1:1.08-1 libk5crypto3_1.10.1+dfsg-2 libkadm5clnt-mit8_1.10.1+dfsg-2 libkadm5srv-mit8_1.10.1+dfsg-2 libkdb5-6_1.10.1+dfsg-2 libkeyutils1_1.5.5-3 libkrb5-3_1.10.1+dfsg-2 libkrb5-dev_1.10.1+dfsg-2 libkrb5support0_1.10.1+dfsg-2 libldap-2.4-2_2.4.28-1.1+rpi1 libldap2-dev_2.4.28-1.1+rpi1 liblocale-gettext-perl_1.05-7 liblzma5_5.1.1alpha+20120614-1 libmount1_2.20.1-5.1 libmpc2_0.9-4 libmpfr4_3.1.0-5 libncurses5_5.9-10 libneon27-gnutls_0.29.6-3 libnet-daemon-perl_0.48-1 libp11-kit-dev_0.12-3 libp11-kit0_0.12-3 libpam-modules_1.1.3-7.1 libpam-modules-bin_1.1.3-7.1 libpam-runtime_1.1.3-7.1 libpam0g_1.1.3-7.1 libpcre3_1:8.30-5 libplrpc-perl_0.2020-2 libpopt0_1.16-7 libreadline6_6.2-8 librtmp-dev_2.4+20111222.git4e06e21-1 librtmp0_2.4+20111222.git4e06e21-1 libsasl2-2_2.1.25.dfsg1-4 libselinux1_2.1.9-5 libsemanage-common_2.1.6-6 libsemanage1_2.1.6-6 libsepol1_2.1.4-3 libserf1_1.1.0-2 libslang2_2.2.4-15 libsqlite3-0_3.7.13-1 libss2_1.42.4-3 libssh2-1_1.4.2-1 libssh2-1-dev_1.4.2-1 libssl1.0.0_1.0.1c-3+rpi1 libstdc++6_4.7.1-2+rpi1 libstdc++6-4.6-dev_4.6.3-8+rpi1 libsvn-perl_1.7.5-1 libsvn1_1.7.5-1 libswitch-perl_2.16-2 libtasn1-3_2.13-2 libtasn1-3-dev_2.13-2 libtext-charwidth-perl_0.04-7 libtext-iconv-perl_1.7-5 libtext-wrapi18n-perl_0.06-7 libtimedate-perl_1.2000-1 libtinfo5_5.9-10 libunistring0_0.9.3-5 libusb-0.1-4_2:0.1.12-20 libustr-1.0-1_1.0.4-3 libuuid1_2.20.1-5.1 libxml2_2.8.0+dfsg1-5 linux-libc-dev_3.2.21-1+rpi1 login_1:4.1.5.1-1 lsb-base_4.1+Debian7 make_3.81-8.2 mawk_1.3.3-17 mount_2.20.1-5.1 multiarch-support_2.13-33 ncurses-base_5.9-10 ncurses-bin_5.9-10 passwd_1:4.1.5.1-1 patch_2.6.1-3 perl_5.14.2-12+rpi1 perl-base_5.14.2-12+rpi1 perl-modules_5.14.2-12+rpi1 pkg-config_0.26-1 raspbian-archive-keyring_20120528.2 readline-common_6.2-8 sbuild-build-depends-core-dummy_0.invalid.0 sbuild-build-depends-git-dummy_0.invalid.0 sed_4.2.1-10 sensible-utils_0.0.7 subversion_1.7.5-1 sysv-rc_2.88dsf-22.1 sysvinit_2.88dsf-22.1 sysvinit-utils_2.88dsf-22.1 tar_1.26-4 tcl8.5_8.5.11-2 tzdata_2012c-1 ucf_3.0025+nmu3 unzip_6.0-7 util-linux_2.20.1-5.1 xz-utils_5.1.1alpha+20120614-1 zlib1g_1:1.2.7.dfsg-13 zlib1g-dev_1:1.2.7.dfsg-13 ┌──────────────────────────────────────────────────────────────────────────────┐ │ Build │ └──────────────────────────────────────────────────────────────────────────────┘ Unpack source ───────────── gpgv: keyblock resource `/sbuild-nonexistent/.gnupg/trustedkeys.gpg': file open error gpgv: Signature made Fri Jun 8 11:52:28 2012 UTC using DSA key ID BC70A6FF gpgv: Can't check signature: public key not found dpkg-source: warning: failed to verify signature on ./git_1.7.10.4-1.dsc dpkg-source: info: extracting git in git-1.7.10.4 dpkg-source: info: unpacking git_1.7.10.4.orig.tar.gz dpkg-source: info: applying git_1.7.10.4-1.diff.gz Check disc space ──────────────── Sufficient free space for build User Environment ──────────────── HOME=/sbuild-nonexistent LOGNAME=buildd PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin:/usr/games SCHROOT_ALIAS_NAME=chroot:wheezy-staging-armhf-sbuild SCHROOT_CHROOT_NAME=wheezy-staging-armhf-sbuild SCHROOT_COMMAND=env SCHROOT_GID=108 SCHROOT_GROUP=buildd SCHROOT_SESSION_ID=wheezy-staging-armhf-sbuild-7ff49f46-e48c-4384-813c-aa9ad1bafbdb SCHROOT_UID=106 SCHROOT_USER=buildd SHELL=/bin/sh USER=buildd dpkg-buildpackage ───────────────── dpkg-buildpackage: source package git dpkg-buildpackage: source version 1:1.7.10.4-1 dpkg-source --before-build git-1.7.10.4 dpkg-buildpackage: host architecture armhf fakeroot debian/rules clean /usr/bin/make clean NO_OPENSSL=1 prefix=/usr gitexecdir=/usr/lib/git-core mandir=/usr/share/man htmldir=/usr/share/doc/git/html INSTALLDIRS=vendor NO_PYTHON=1 USE_SRV_RR=1 THREADED_DELTA_SEARCH=1 NO_CROSS_DIRECTORY_HARDLINKS=1 NO_HARDLINKS=1 DEFAULT_PAGER=pager DEFAULT_EDITOR=editor CC='gcc' CFLAGS='-Wall -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2' LDFLAGS='-Wl,-z,relro' make[1]: Entering directory `/«PKGBUILDDIR»' GIT_VERSION = 1.7.10.4 make[1]: Leaving directory `/«PKGBUILDDIR»' make[1]: Entering directory `/«PKGBUILDDIR»' rm -f /«PKGBUILDDIR»/./*.gcda /«PKGBUILDDIR»/block-sha1/*.gcda /«PKGBUILDDIR»/builtin/*.gcda /«PKGBUILDDIR»/compat/*.gcda /«PKGBUILDDIR»/vcs-svn/*.gcda /«PKGBUILDDIR»/xdiff/*.gcda rm -f /«PKGBUILDDIR»/./*.gcno /«PKGBUILDDIR»/block-sha1/*.gcno /«PKGBUILDDIR»/builtin/*.gcno /«PKGBUILDDIR»/compat/*.gcno /«PKGBUILDDIR»/vcs-svn/*.gcno /«PKGBUILDDIR»/xdiff/*.gcno rm -f *.o block-sha1/*.o ppc/*.o compat/*.o compat/*/*.o xdiff/*.o vcs-svn/*.o \ builtin/*.o libgit.a xdiff/lib.a vcs-svn/lib.a rm -f git-daemon git-fast-import git-imap-send git-shell git-show-index git-upload-pack git-http-backend git-sh-i18n--envsubst git-credential-store 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-am git-bisect git-difftool--helper git-filter-branch git-lost-found git-merge-octopus git-merge-one-file git-merge-resolve git-mergetool git-pull git-quiltimport git-rebase git-repack git-request-pull git-stash git-submodule git-web--browse git-add--interactive git-difftool git-archimport git-cvsexportcommit git-cvsimport git-cvsserver git-relink git-send-email git-svn git-remote-testgit git-instaweb git-mergetool--lib git-parse-remote git-rebase--am git-rebase--interactive git-rebase--merge git-sh-setup git-sh-i18n git-add git-annotate git-apply git-archive git-bisect--helper git-blame git-branch git-bundle git-cat-file git-check-attr git-check-ref-format git-checkout-index git-checkout git-clean git-clone git-commit-tree git-commit git-config git-count-objects git-describe git-diff-files git-diff-index git-diff-tree git-diff git-fast-export git-fetch-pack git-fetch git-fmt-merge-msg git-for-each-ref git-fsck git-gc git-grep git-hash-object git-help git-index-pack git-init-db git-log git-ls-files git-ls-remote git-ls-tree git-mailinfo git-mailsplit git-merge git-merge-base git-merge-file git-merge-index git-merge-ours git-merge-recursive git-merge-tree git-mktag git-mktree 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-push git-read-tree git-receive-pack git-reflog git-remote git-remote-ext git-remote-fd 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-ref git-stripspace git-symbolic-ref git-tag git-tar-tree git-unpack-file git-unpack-objects git-update-index git-update-ref git-update-server-info git-upload-archive git-var git-verify-pack git-verify-tag git-write-tree git-cherry git-cherry-pick git-format-patch git-fsck-objects git-get-tar-commit-id git-init git-merge-subtree git-peek-remote git-repo-config git-show git-stage git-status git-whatchanged git rm -f test-chmtime test-credential test-ctype test-date test-delta test-dump-cache-tree test-scrap-cache-tree test-genrandom test-index-version test-line-buffer test-match-trees test-mktemp test-parse-options test-path-utils test-run-command test-sha1 test-sigchain test-subprocess test-svn-fe rm -f -r bin-wrappers rm -f -r ./.depend block-sha1/.depend builtin/.depend compat/.depend vcs-svn/.depend xdiff/.depend rm -f -r po/build/ rm -f *.spec *.pyc *.pyo */*.pyc */*.pyo common-cmds.h TAGS tags cscope* rm -f -r autom4te.cache rm -f config.log config.mak.autogen config.mak.append config.status config.cache rm -f -r git-1.7.10.4 .doc-tmp-dir rm -f git-1.7.10.4.tar.gz git-core_1.7.10.4-*.tar.gz rm -f git-htmldocs-1.7.10.4.tar.gz git-manpages-1.7.10.4.tar.gz /usr/bin/make -C Documentation/ clean make[2]: Entering directory `/«PKGBUILDDIR»/Documentation' GEN doc.dep make[3]: Entering directory `/«PKGBUILDDIR»' make[3]: `GIT-VERSION-FILE' is up to date. make[3]: Leaving directory `/«PKGBUILDDIR»' make[2]: Leaving directory `/«PKGBUILDDIR»/Documentation' make[2]: Entering directory `/«PKGBUILDDIR»/Documentation' make[3]: Entering directory `/«PKGBUILDDIR»' make[3]: `GIT-VERSION-FILE' is up to date. make[3]: Leaving directory `/«PKGBUILDDIR»' rm -f *.xml *.xml+ *.html *.html+ *.1 *.5 *.7 rm -f *.texi *.texi+ *.texi++ git.info gitman.info rm -f *.pdf rm -f howto-index.txt howto/*.html doc.dep rm -f technical/api-*.html technical/api-index.txt 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 *.made rm -f manpage-base-url.xsl make[2]: Leaving directory `/«PKGBUILDDIR»/Documentation' /usr/bin/make -C gitweb clean make[2]: Entering directory `/«PKGBUILDDIR»/gitweb' make[3]: Entering directory `/«PKGBUILDDIR»' make[3]: `GIT-VERSION-FILE' is up to date. make[3]: Leaving directory `/«PKGBUILDDIR»' rm -f gitweb.cgi static/gitweb.js \ static/gitweb.min.js static/gitweb.min.css \ GITWEB-BUILD-OPTIONS make[2]: Leaving directory `/«PKGBUILDDIR»/gitweb' /usr/bin/make -C perl clean make[2]: Entering directory `/«PKGBUILDDIR»/perl' rm -f ppport.h rm -f perl.mak rm -f perl.mak.old make[2]: Leaving directory `/«PKGBUILDDIR»/perl' /usr/bin/make -C templates/ clean make[2]: Entering directory `/«PKGBUILDDIR»/templates' rm -f -r blt boilerplates.made make[2]: Leaving directory `/«PKGBUILDDIR»/templates' /usr/bin/make -C t/ clean make[2]: Entering directory `/«PKGBUILDDIR»/t' rm -f -r 'trash directory'.* test-results rm -f -r valgrind/bin rm -f .prove make[2]: Leaving directory `/«PKGBUILDDIR»/t' /usr/bin/make -C gitk-git clean make[2]: Entering directory `/«PKGBUILDDIR»/gitk-git' rm -f gitk-wish po/*.msg make[2]: Leaving directory `/«PKGBUILDDIR»/gitk-git' /usr/bin/make -C git-gui clean make[2]: Entering directory `/«PKGBUILDDIR»/git-gui' GITGUI_VERSION = 0.16.0 make[2]: Leaving directory `/«PKGBUILDDIR»/git-gui' make[2]: Entering directory `/«PKGBUILDDIR»/git-gui' rm -rf git-gui lib/tclIndex po/*.msg rm -rf GIT-VERSION-FILE GIT-GUI-VARS make[2]: Leaving directory `/«PKGBUILDDIR»/git-gui' rm -f GIT-VERSION-FILE GIT-CFLAGS GIT-LDFLAGS GIT-GUI-VARS GIT-BUILD-OPTIONS make[1]: Leaving directory `/«PKGBUILDDIR»' ! test -e patch-stamp || \ for i in `ls -1r debian/diff/*.diff debian/diff/*.patch \ 2>/dev/null || :`; do \ patch -p1 -NR -r- <$i || test $? = 1 || exit 1; \ done rm -rf '/«PKGBUILDDIR»/tmp' rm -f patch-stamp build-arch-stamp build-indep-stamp rm -rf '/«PKGBUILDDIR»/debian/git' '/«PKGBUILDDIR»/debian/git'-doc '/«PKGBUILDDIR»/debian/git'-arch '/«PKGBUILDDIR»/debian/git'-cvs rm -rf '/«PKGBUILDDIR»/debian/git'-svn '/«PKGBUILDDIR»/debian/git'-email '/«PKGBUILDDIR»/debian/git'-el rm -rf '/«PKGBUILDDIR»/debian/git'-daemon-run '/«PKGBUILDDIR»/debian/git'-daemon-sysvinit '/«PKGBUILDDIR»/debian/git'-gui rm -rf '/«PKGBUILDDIR»/debian/git'k '/«PKGBUILDDIR»/debian/git'web '/«PKGBUILDDIR»/debian/git'-all '/«PKGBUILDDIR»/debian/git'-man '/«PKGBUILDDIR»/debian/git'-core rm -f debian/files debian/substvars changelog debian/rules build-arch for i in `ls -1 debian/diff/*.diff debian/diff/*.patch \ 2>/dev/null || :`; do \ patch -p1 -N -r- <$i || test $? = 1 || exit 1; \ done patching file contrib/hooks/post-receive-email patching file contrib/hooks/post-receive-email patching file git-mergetool--lib.sh patching file git-parse-remote.sh patching file git-rebase--am.sh patching file git-rebase--interactive.sh patching file git-rebase--merge.sh patching file git-sh-i18n.sh patching file git-sh-setup.sh patching file t/test-lib.sh patching file templates/hooks--pre-rebase.sample patching file Makefile patching file connect.c patching file tcp.c patching file tcp.h patching file daemon.c patching file Makefile patching file daemon.c patching file tcp.c patching file tcp.h patching file Makefile patching file dns-ipv4.c patching file dns-ipv4.h patching file dns-ipv6.c patching file dns-ipv6.h patching file tcp.c patching file dns-ipv4.h patching file dns-ipv6.c patching file tcp.c patching file Makefile patching file srv.c patching file srv.h patching file tcp.c patching file srv.c patching file Makefile touch patch-stamp gcc -v Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/lib/gcc/arm-linux-gnueabihf/4.6/lto-wrapper Target: arm-linux-gnueabihf Configured with: ../src/configure -v --with-pkgversion='Debian 4.6.3-8+rpi1' --with-bugurl=file:///usr/share/doc/gcc-4.6/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.6 --enable-shared --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.6 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --enable-plugin --enable-objc-gc --disable-sjlj-exceptions --with-arch=armv6 --with-fpu=vfp --with-float=hard --enable-checking=release --build=arm-linux-gnueabihf --host=arm-linux-gnueabihf --target=arm-linux-gnueabihf Thread model: posix gcc version 4.6.3 (Debian 4.6.3-8+rpi1) DESTDIR='/«PKGBUILDDIR»/debian/git' /usr/bin/make all NO_OPENSSL=1 prefix=/usr gitexecdir=/usr/lib/git-core mandir=/usr/share/man htmldir=/usr/share/doc/git/html INSTALLDIRS=vendor NO_PYTHON=1 USE_SRV_RR=1 THREADED_DELTA_SEARCH=1 NO_CROSS_DIRECTORY_HARDLINKS=1 NO_HARDLINKS=1 DEFAULT_PAGER=pager DEFAULT_EDITOR=editor CC='gcc' CFLAGS='-Wall -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2' LDFLAGS='-Wl,-z,relro' make[1]: Entering directory `/«PKGBUILDDIR»' GIT_VERSION = 1.7.10.4 make[1]: Leaving directory `/«PKGBUILDDIR»' make[1]: Entering directory `/«PKGBUILDDIR»' * new build flags or prefix CC daemon.o * new link flags CC abspath.o CC advice.o CC alias.o CC alloc.o CC archive.o CC archive-tar.o CC archive-zip.o CC argv-array.o CC attr.o CC base85.o CC bisect.o CC blob.o CC branch.o CC bulk-checkin.o CC bundle.o CC cache-tree.o CC color.o CC combine-diff.o CC commit.o CC compat/obstack.o CC compat/terminal.o CC config.o CC connect.o CC connected.o CC convert.o CC copy.o CC credential.o CC csum-file.o CC ctype.o CC date.o CC decorate.o CC diffcore-break.o CC diffcore-delta.o CC diffcore-order.o CC diffcore-pickaxe.o CC diffcore-rename.o CC diff-delta.o CC diff-lib.o CC diff-no-index.o CC diff.o CC dir.o CC editor.o CC entry.o CC environment.o CC exec_cmd.o CC fsck.o CC gpg-interface.o CC gettext.o CC graph.o CC grep.o CC hash.o GEN common-cmds.h CC help.o CC hex.o CC ident.o CC kwset.o CC levenshtein.o CC list-objects.o CC ll-merge.o CC lockfile.o CC log-tree.o CC mailmap.o CC match-trees.o CC merge-file.o CC merge-recursive.o CC name-hash.o CC notes.o CC notes-cache.o CC notes-merge.o CC object.o CC pack-check.o CC pack-refs.o CC pack-revindex.o CC pack-write.o CC pager.o CC parse-options.o CC parse-options-cb.o CC patch-delta.o CC patch-ids.o CC path.o CC pkt-line.o CC preload-index.o CC pretty.o CC progress.o CC prompt.o CC quote.o CC reachable.o CC read-cache.o CC reflog-walk.o CC refs.o CC remote.o CC replace_object.o CC rerere.o CC resolve-undo.o CC revision.o CC run-command.o CC server-info.o CC setup.o CC sequencer.o CC sha1-array.o CC sha1-lookup.o CC sha1_file.o CC sha1_name.o CC shallow.o CC sideband.o CC sigchain.o CC strbuf.o CC streaming.o CC string-list.o CC submodule.o CC symlinks.o CC tag.o CC tcp.o CC trace.o CC transport.o CC transport-helper.o CC tree-diff.o CC tree.o CC tree-walk.o CC unpack-trees.o CC url.o CC usage.o CC userdiff.o CC utf8.o CC walker.o CC wrapper.o CC write_or_die.o CC ws.o CC wt-status.o CC xdiff-interface.o CC zlib.o CC srv.o CC dns-ipv6.o CC unix-socket.o CC block-sha1/sha1.o CC thread-utils.o CC compat/strlcpy.o AR libgit.a CC xdiff/xdiffi.o CC xdiff/xprepare.o CC xdiff/xutils.o CC xdiff/xemit.o CC xdiff/xmerge.o CC xdiff/xpatience.o CC xdiff/xhistogram.o AR xdiff/lib.a LINK git-daemon CC fast-import.o LINK git-fast-import CC imap-send.o LINK git-imap-send CC shell.o LINK git-shell CC show-index.o LINK git-show-index CC upload-pack.o LINK git-upload-pack CC http-backend.o LINK git-http-backend CC sh-i18n--envsubst.o LINK git-sh-i18n--envsubst CC credential-store.o LINK git-credential-store CC http.o CC http-walker.o CC http-fetch.o LINK git-http-fetch CC http-push.o LINK git-http-push CC credential-cache.o LINK git-credential-cache CC credential-cache--daemon.o LINK git-credential-cache--daemon CC remote-curl.o LINK git-remote-http LN/CP git-remote-https LN/CP git-remote-ftp LN/CP git-remote-ftps GEN git-am GEN git-bisect GEN git-difftool--helper GEN git-filter-branch GEN git-lost-found GEN git-merge-octopus GEN git-merge-one-file GEN git-merge-resolve GEN git-mergetool GEN git-pull GEN git-quiltimport GEN git-rebase GEN git-repack GEN git-request-pull GEN git-stash GEN git-submodule GEN git-web--browse make[2]: Entering directory `/«PKGBUILDDIR»/perl' /usr/bin/perl Makefile.PL PREFIX='/usr' INSTALL_BASE='' --localedir='/usr/share/locale' Writing perl.mak for Git Writing MYMETA.yml make[2]: Leaving directory `/«PKGBUILDDIR»/perl' GEN git-add--interactive GEN git-difftool GEN git-archimport GEN git-cvsexportcommit GEN git-cvsimport GEN git-cvsserver GEN git-relink GEN git-send-email GEN git-svn GEN git-remote-testgit make[2]: Entering directory `/«PKGBUILDDIR»/gitweb' make[3]: Entering directory `/«PKGBUILDDIR»' make[3]: `GIT-VERSION-FILE' is up to date. make[3]: Leaving directory `/«PKGBUILDDIR»' GEN gitweb.cgi GEN static/gitweb.js make[2]: Leaving directory `/«PKGBUILDDIR»/gitweb' GEN git-instaweb GEN git-mergetool--lib GEN git-parse-remote GEN git-rebase--am GEN git-rebase--interactive GEN git-rebase--merge GEN git-sh-setup GEN git-sh-i18n CC git.o CC builtin/add.o CC builtin/annotate.o CC builtin/apply.o CC builtin/archive.o CC builtin/bisect--helper.o CC builtin/blame.o CC builtin/branch.o CC builtin/bundle.o CC builtin/cat-file.o CC builtin/check-attr.o CC builtin/check-ref-format.o CC builtin/checkout-index.o CC builtin/checkout.o CC builtin/clean.o CC builtin/clone.o CC builtin/commit-tree.o CC builtin/commit.o CC builtin/config.o CC builtin/count-objects.o CC builtin/describe.o CC builtin/diff-files.o CC builtin/diff-index.o CC builtin/diff-tree.o CC builtin/diff.o CC builtin/fast-export.o CC builtin/fetch-pack.o CC builtin/fetch.o CC builtin/fmt-merge-msg.o CC builtin/for-each-ref.o CC builtin/fsck.o CC builtin/gc.o CC builtin/grep.o CC builtin/hash-object.o CC builtin/help.o CC builtin/index-pack.o CC builtin/init-db.o CC builtin/log.o CC builtin/ls-files.o CC builtin/ls-remote.o CC builtin/ls-tree.o CC builtin/mailinfo.o CC builtin/mailsplit.o CC builtin/merge.o CC builtin/merge-base.o CC builtin/merge-file.o CC builtin/merge-index.o CC builtin/merge-ours.o CC builtin/merge-recursive.o CC builtin/merge-tree.o CC builtin/mktag.o CC builtin/mktree.o CC builtin/mv.o CC builtin/name-rev.o CC builtin/notes.o CC builtin/pack-objects.o CC builtin/pack-redundant.o CC builtin/pack-refs.o CC builtin/patch-id.o CC builtin/prune-packed.o CC builtin/prune.o CC builtin/push.o CC builtin/read-tree.o CC builtin/receive-pack.o CC builtin/reflog.o CC builtin/remote.o CC builtin/remote-ext.o CC builtin/remote-fd.o CC builtin/replace.o CC builtin/rerere.o CC builtin/reset.o CC builtin/rev-list.o CC builtin/rev-parse.o CC builtin/revert.o CC builtin/rm.o CC builtin/send-pack.o CC builtin/shortlog.o CC builtin/show-branch.o CC builtin/show-ref.o CC builtin/stripspace.o CC builtin/symbolic-ref.o CC builtin/tag.o CC builtin/tar-tree.o CC builtin/unpack-file.o CC builtin/unpack-objects.o CC builtin/update-index.o CC builtin/update-ref.o CC builtin/update-server-info.o CC builtin/upload-archive.o CC builtin/var.o CC builtin/verify-pack.o CC builtin/verify-tag.o CC builtin/write-tree.o LINK git BUILTIN git-add BUILTIN git-annotate BUILTIN git-apply BUILTIN git-archive BUILTIN git-bisect--helper BUILTIN git-blame BUILTIN git-branch BUILTIN git-bundle BUILTIN git-cat-file BUILTIN git-check-attr BUILTIN git-check-ref-format BUILTIN git-checkout-index BUILTIN git-checkout BUILTIN git-clean BUILTIN git-clone BUILTIN git-commit-tree BUILTIN git-commit BUILTIN git-config BUILTIN git-count-objects BUILTIN git-describe BUILTIN git-diff-files BUILTIN git-diff-index BUILTIN git-diff-tree BUILTIN git-diff BUILTIN git-fast-export BUILTIN git-fetch-pack BUILTIN git-fetch BUILTIN git-fmt-merge-msg BUILTIN git-for-each-ref BUILTIN git-fsck BUILTIN git-gc BUILTIN git-grep BUILTIN git-hash-object BUILTIN git-help BUILTIN git-index-pack BUILTIN git-init-db BUILTIN git-log BUILTIN git-ls-files BUILTIN git-ls-remote BUILTIN git-ls-tree BUILTIN git-mailinfo BUILTIN git-mailsplit BUILTIN git-merge BUILTIN git-merge-base BUILTIN git-merge-file BUILTIN git-merge-index BUILTIN git-merge-ours BUILTIN git-merge-recursive BUILTIN git-merge-tree BUILTIN git-mktag BUILTIN git-mktree BUILTIN git-mv BUILTIN git-name-rev BUILTIN git-notes BUILTIN git-pack-objects BUILTIN git-pack-redundant BUILTIN git-pack-refs BUILTIN git-patch-id BUILTIN git-prune-packed BUILTIN git-prune BUILTIN git-push BUILTIN git-read-tree BUILTIN git-receive-pack BUILTIN git-reflog BUILTIN git-remote BUILTIN git-remote-ext BUILTIN git-remote-fd BUILTIN git-replace BUILTIN git-rerere BUILTIN git-reset BUILTIN git-rev-list BUILTIN git-rev-parse BUILTIN git-revert BUILTIN git-rm BUILTIN git-send-pack BUILTIN git-shortlog BUILTIN git-show-branch BUILTIN git-show-ref BUILTIN git-stripspace BUILTIN git-symbolic-ref BUILTIN git-tag BUILTIN git-tar-tree BUILTIN git-unpack-file BUILTIN git-unpack-objects BUILTIN git-update-index BUILTIN git-update-ref BUILTIN git-update-server-info BUILTIN git-upload-archive BUILTIN git-var BUILTIN git-verify-pack BUILTIN git-verify-tag BUILTIN git-write-tree BUILTIN git-cherry BUILTIN git-cherry-pick BUILTIN git-format-patch BUILTIN git-fsck-objects BUILTIN git-get-tar-commit-id BUILTIN git-init BUILTIN git-merge-subtree BUILTIN git-peek-remote BUILTIN git-repo-config BUILTIN git-show BUILTIN git-stage BUILTIN git-status BUILTIN git-whatchanged make[2]: Entering directory `/«PKGBUILDDIR»/git-gui' GITGUI_VERSION = 0.16.0 make[2]: Leaving directory `/«PKGBUILDDIR»/git-gui' make[2]: Entering directory `/«PKGBUILDDIR»/git-gui' * new locations or Tcl/Tk interpreter GEN git-gui INDEX lib/ MSGFMT po/de.msg 520 translated. MSGFMT po/el.msg 381 translated, 4 fuzzy, 6 untranslated. MSGFMT po/fr.msg 520 translated. MSGFMT po/hu.msg 514 translated. MSGFMT po/it.msg 519 translated, 1 untranslated. MSGFMT po/ja.msg 520 translated. MSGFMT po/nb.msg 474 translated, 39 untranslated. MSGFMT po/pt_br.msg 520 translated. MSGFMT po/ru.msg 516 translated, 4 untranslated. MSGFMT po/sv.msg 521 translated. MSGFMT po/zh_cn.msg 366 translated, 7 fuzzy, 17 untranslated. make[2]: Leaving directory `/«PKGBUILDDIR»/git-gui' make[2]: Entering directory `/«PKGBUILDDIR»/gitk-git' GEN gitk-wish Generating catalog po/de.msg msgfmt --statistics --tcl po/de.po -l de -d po/ 289 translated messages. Generating catalog po/es.msg msgfmt --statistics --tcl po/es.po -l es -d po/ 200 translated messages, 7 untranslated messages. Generating catalog po/fr.msg msgfmt --statistics --tcl po/fr.po -l fr -d po/ 276 translated messages, 4 fuzzy translations. Generating catalog po/hu.msg msgfmt --statistics --tcl po/hu.po -l hu -d po/ 288 translated messages. Generating catalog po/it.msg msgfmt --statistics --tcl po/it.po -l it -d po/ 283 translated messages, 6 untranslated messages. Generating catalog po/ja.msg msgfmt --statistics --tcl po/ja.po -l ja -d po/ 284 translated messages. Generating catalog po/pt_br.msg msgfmt --statistics --tcl po/pt_br.po -l pt_br -d po/ 290 translated messages. Generating catalog po/ru.msg msgfmt --statistics --tcl po/ru.po -l ru -d po/ 245 translated messages. Generating catalog po/sv.msg msgfmt --statistics --tcl po/sv.po -l sv -d po/ 290 translated messages. make[2]: Leaving directory `/«PKGBUILDDIR»/gitk-git' make[2]: Entering directory `/«PKGBUILDDIR»/perl' make[3]: Entering directory `/«PKGBUILDDIR»/perl' /usr/bin/perl -pe "s<\Q++LOCALEDIR++\E>" blib/lib/Git/I18N.pm /usr/bin/perl -pe "s<\Q++LOCALEDIR++\E>" blib/lib/Error.pm /usr/bin/perl -pe "s<\Q++LOCALEDIR++\E>" blib/lib/Git.pm Manifying blib/man3/private-Error.3pm Manifying blib/man3/Git::I18N.3pm Manifying blib/man3/Git.3pm make[3]: Leaving directory `/«PKGBUILDDIR»/perl' make[2]: Leaving directory `/«PKGBUILDDIR»/perl' make[2]: Entering directory `/«PKGBUILDDIR»/templates' make[2]: Leaving directory `/«PKGBUILDDIR»/templates' MSGFMT po/build/locale/da/LC_MESSAGES/git.mo 0 translated messages, 724 untranslated messages. MSGFMT po/build/locale/de/LC_MESSAGES/git.mo 728 translated messages. MSGFMT po/build/locale/is/LC_MESSAGES/git.mo 14 translated messages. MSGFMT po/build/locale/nl/LC_MESSAGES/git.mo 0 translated messages, 722 untranslated messages. MSGFMT po/build/locale/pt_PT/LC_MESSAGES/git.mo 218 translated messages, 506 untranslated messages. MSGFMT po/build/locale/sv/LC_MESSAGES/git.mo 728 translated messages. MSGFMT po/build/locale/zh_CN/LC_MESSAGES/git.mo 728 translated messages. CC test-chmtime.o LINK test-chmtime CC test-credential.o LINK test-credential CC test-ctype.o LINK test-ctype CC test-date.o LINK test-date CC test-delta.o LINK test-delta CC test-dump-cache-tree.o LINK test-dump-cache-tree CC test-scrap-cache-tree.o LINK test-scrap-cache-tree CC test-genrandom.o LINK test-genrandom CC test-index-version.o LINK test-index-version CC test-line-buffer.o CC vcs-svn/line_buffer.o CC vcs-svn/sliding_window.o CC vcs-svn/repo_tree.o CC vcs-svn/fast_export.o CC vcs-svn/svndiff.o CC vcs-svn/svndump.o AR vcs-svn/lib.a LINK test-line-buffer CC test-match-trees.o LINK test-match-trees CC test-mktemp.o LINK test-mktemp CC test-parse-options.o LINK test-parse-options CC test-path-utils.o LINK test-path-utils CC test-run-command.o LINK test-run-command CC test-sha1.o LINK test-sha1 CC test-sigchain.o LINK test-sigchain CC test-subprocess.o LINK test-subprocess CC test-svn-fe.o LINK test-svn-fe GEN bin-wrappers/git GEN bin-wrappers/git-upload-pack GEN bin-wrappers/git-receive-pack GEN bin-wrappers/git-upload-archive GEN bin-wrappers/git-shell GEN bin-wrappers/git-cvsserver GEN bin-wrappers/test-chmtime GEN bin-wrappers/test-credential GEN bin-wrappers/test-ctype GEN bin-wrappers/test-date GEN bin-wrappers/test-delta GEN bin-wrappers/test-dump-cache-tree GEN bin-wrappers/test-scrap-cache-tree GEN bin-wrappers/test-genrandom GEN bin-wrappers/test-index-version GEN bin-wrappers/test-line-buffer GEN bin-wrappers/test-match-trees GEN bin-wrappers/test-mktemp GEN bin-wrappers/test-parse-options GEN bin-wrappers/test-path-utils GEN bin-wrappers/test-run-command GEN bin-wrappers/test-sha1 GEN bin-wrappers/test-sigchain GEN bin-wrappers/test-subprocess GEN bin-wrappers/test-svn-fe make[1]: Leaving directory `/«PKGBUILDDIR»' test -z 'test' || \ DESTDIR='/«PKGBUILDDIR»/debian/git' /usr/bin/make test NO_OPENSSL=1 prefix=/usr gitexecdir=/usr/lib/git-core mandir=/usr/share/man htmldir=/usr/share/doc/git/html INSTALLDIRS=vendor NO_PYTHON=1 USE_SRV_RR=1 THREADED_DELTA_SEARCH=1 NO_CROSS_DIRECTORY_HARDLINKS=1 NO_HARDLINKS=1 DEFAULT_PAGER=pager DEFAULT_EDITOR=editor CC='gcc' CFLAGS='-Wall -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2' LDFLAGS='-Wl,-z,relro' || \ GIT_TEST_OPTS=--verbose DESTDIR='/«PKGBUILDDIR»/debian/git' /usr/bin/make test NO_OPENSSL=1 prefix=/usr gitexecdir=/usr/lib/git-core mandir=/usr/share/man htmldir=/usr/share/doc/git/html INSTALLDIRS=vendor NO_PYTHON=1 USE_SRV_RR=1 THREADED_DELTA_SEARCH=1 NO_CROSS_DIRECTORY_HARDLINKS=1 NO_HARDLINKS=1 DEFAULT_PAGER=pager DEFAULT_EDITOR=editor CC='gcc' CFLAGS='-Wall -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2' LDFLAGS='-Wl,-z,relro' make[1]: Entering directory `/«PKGBUILDDIR»' make[2]: Entering directory `/«PKGBUILDDIR»/gitweb' make[3]: Entering directory `/«PKGBUILDDIR»' make[3]: `GIT-VERSION-FILE' is up to date. make[3]: Leaving directory `/«PKGBUILDDIR»' make[2]: Leaving directory `/«PKGBUILDDIR»/gitweb' GEN git-instaweb make[2]: Entering directory `/«PKGBUILDDIR»/git-gui' make[2]: Leaving directory `/«PKGBUILDDIR»/git-gui' make[2]: Entering directory `/«PKGBUILDDIR»/gitk-git' make[2]: Nothing to be done for `all'. make[2]: Leaving directory `/«PKGBUILDDIR»/gitk-git' make[2]: Entering directory `/«PKGBUILDDIR»/perl' make[3]: Entering directory `/«PKGBUILDDIR»/perl' make[3]: Leaving directory `/«PKGBUILDDIR»/perl' make[2]: Leaving directory `/«PKGBUILDDIR»/perl' make[2]: Entering directory `/«PKGBUILDDIR»/templates' make[2]: Leaving directory `/«PKGBUILDDIR»/templates' /usr/bin/make -C t/ all make[2]: Entering directory `/«PKGBUILDDIR»/t' rm -f -r test-results /usr/bin/make aggregate-results-and-cleanup make[3]: Entering directory `/«PKGBUILDDIR»/t' *** t0000-basic.sh *** ok 1 - .git/objects should be empty after git init in an empty repo ok 2 - .git/objects should have 3 subdirectories ok 3 - success is reported like this not ok 4 - pretend we have a known breakage # TODO known breakage ok 5 - pretend we have fixed a known breakage (run in sub test-lib) ok 6 - test runs if prerequisite is satisfied ok 7 # skip unmet prerequisite causes test to be skipped (missing DONTHAVEIT) ok 8 - test runs if prerequisites are satisfied ok 9 # skip unmet prerequisites causes test to be skipped (missing DONTHAVEIT of HAVEIT,DONTHAVEIT) ok 10 # skip unmet prerequisites causes test to be skipped (missing DONTHAVEIT of DONTHAVEIT,HAVEIT) ok 11 - tests clean up after themselves ok 12 - tests clean up even on failures ok 13 - git update-index without --add should fail adding ok 14 - git update-index with --add should succeed ok 15 - writing tree out with git write-tree ok 16 - validate object ID of a known tree ok 17 - git update-index without --remove should fail removing ok 18 - git update-index with --remove should be able to remove ok 19 - git write-tree should be able to write an empty tree ok 20 - validate object ID of a known tree ok 21 - adding various types of objects with git update-index --add ok 22 - showing stage with git ls-files --stage ok 23 - validate git ls-files output for a known tree ok 24 - writing tree out with git write-tree ok 25 - validate object ID for a known tree ok 26 - showing tree with git ls-tree ok 27 - git ls-tree output for a known tree ok 28 - showing tree with git ls-tree -r ok 29 - git ls-tree -r output for a known tree ok 30 - showing tree with git ls-tree -r -t ok 31 - git ls-tree -r output for a known tree ok 32 - writing partial tree out with git write-tree --prefix ok 33 - validate object ID for a known tree ok 34 - writing partial tree out with git write-tree --prefix ok 35 - validate object ID for a known tree ok 36 - put invalid objects into the index ok 37 - writing this tree without --missing-ok ok 38 - writing this tree with --missing-ok ok 39 - git read-tree followed by write-tree should be idempotent ok 40 - validate git diff-files output for a know cache/work tree state ok 41 - git update-index --refresh should succeed ok 42 - no diff after checkout and git update-index --refresh ok 43 - git commit-tree records the correct tree in a commit ok 44 - git commit-tree records the correct parent in a commit ok 45 - git commit-tree omits duplicated parent in a commit ok 46 - update-index D/F conflict ok 47 - real path works as expected ok 48 - very long name in the index handled sanely # still have 1 known breakage(s) # passed all remaining 47 test(s) 1..48 *** t0001-init.sh *** ok 1 - plain ok 2 - plain nested in bare ok 3 - plain through aliased command, outside any git repo not ok 4 - plain nested through aliased command # TODO known breakage not ok 5 - plain nested in bare through aliased command # TODO known breakage ok 6 - plain with GIT_WORK_TREE ok 7 - plain bare ok 8 - plain bare with GIT_WORK_TREE ok 9 - GIT_DIR bare ok 10 - init --bare ok 11 - GIT_DIR non-bare ok 12 - GIT_DIR & GIT_WORK_TREE (1) ok 13 - GIT_DIR & GIT_WORK_TREE (2) ok 14 - reinit ok 15 - init with --template ok 16 - init with --template (blank) ok 17 - init with init.templatedir set ok 18 - init --bare/--shared overrides system/global config ok 19 - init honors global core.sharedRepository ok 20 - init rejects insanely long --template ok 21 - init creates a new directory ok 22 - init creates a new bare directory ok 23 - init recreates a directory ok 24 - init recreates a new bare directory ok 25 - init creates a new deep directory ok 26 - init creates a new deep directory (umask vs. shared) ok 27 - init notices EEXIST (1) ok 28 - init notices EEXIST (2) ok 29 - init notices EPERM ok 30 - init creates a new bare directory with global --bare ok 31 - init prefers command line to GIT_DIR ok 32 - init with separate gitdir ok 33 - re-init to update git link ok 34 - re-init to move gitdir ok 35 - re-init to move gitdir symlink # still have 2 known breakage(s) # passed all remaining 33 test(s) 1..35 *** t0002-gitfile.sh *** ok 1 - initial setup ok 2 - bad setup: invalid .git file format ok 3 - bad setup: invalid .git file path ok 4 - final setup + check rev-parse --git-dir ok 5 - check hash-object ok 6 - check cat-file ok 7 - check update-index ok 8 - check write-tree ok 9 - check commit-tree ok 10 - check rev-list # passed all 10 test(s) 1..10 *** t0003-attributes.sh *** ok 1 - setup ok 2 - command line checks ok 3 - attribute test ok 4 - attribute matching is case sensitive when core.ignorecase=0 ok 5 - attribute matching is case insensitive when core.ignorecase=1 ok 6 - check whether FS is case-insensitive ok 7 # skip additional case insensitivity tests (missing CASE_INSENSITIVE_FS) ok 8 - unnormalized paths ok 9 - relative paths ok 10 - prefixes are not confused with leading directories ok 11 - core.attributesfile ok 12 - attribute test: read paths from stdin ok 13 - attribute test: --all option ok 14 - attribute test: --cached option ok 15 - root subdir attribute test ok 16 - setup bare ok 17 - bare repository: check that .gitattribute is ignored ok 18 - bare repository: check that --cached honors index ok 19 - bare repository: test info/attributes # passed all 19 test(s) 1..19 *** t0004-unwritable.sh *** ok 1 - setup ok 2 - write-tree should notice unwritable repository ok 3 - commit should notice unwritable repository ok 4 - update-index should notice unwritable repository ok 5 - add should notice unwritable repository # passed all 5 test(s) 1..5 *** t0005-signals.sh *** ok 1 - sigchain works # passed all 1 test(s) 1..1 *** t0006-date.sh *** ok 1 - relative date (5 seconds ago) ok 2 - relative date (5 minutes ago) ok 3 - relative date (5 hours ago) ok 4 - relative date (5 days ago) ok 5 - relative date (3 weeks ago) ok 6 - relative date (5 months ago) ok 7 - relative date (1 year, 2 months ago) ok 8 - relative date (1 year, 9 months ago) ok 9 - relative date (20 years ago) ok 10 - relative date (12 months ago) ok 11 - relative date (2 years ago) ok 12 - parse date (2008) ok 13 - parse date (2008-02) ok 14 - parse date (2008-02-14) ok 15 - parse date (2008-02-14 20:30:45) ok 16 - parse date (2008-02-14 20:30:45 -0500) ok 17 - parse date (2008-02-14 20:30:45 -0015) ok 18 - parse date (2008-02-14 20:30:45 -5) ok 19 - parse date (2008-02-14 20:30:45 -5:) ok 20 - parse date (2008-02-14 20:30:45 -05) ok 21 - parse date (2008-02-14 20:30:45 -:30) ok 22 - parse date (2008-02-14 20:30:45 -05:00) ok 23 - parse date (2008-02-14 20:30:45 TZ=EST5) ok 24 - parse approxidate (now) ok 25 - parse approxidate (5 seconds ago) ok 26 - parse approxidate (5.seconds.ago) ok 27 - parse approxidate (10.minutes.ago) ok 28 - parse approxidate (yesterday) ok 29 - parse approxidate (3.days.ago) ok 30 - parse approxidate (3.weeks.ago) ok 31 - parse approxidate (3.months.ago) ok 32 - parse approxidate (2.years.3.months.ago) ok 33 - parse approxidate (6am yesterday) ok 34 - parse approxidate (6pm yesterday) ok 35 - parse approxidate (3:00) ok 36 - parse approxidate (15:00) ok 37 - parse approxidate (noon today) ok 38 - parse approxidate (noon yesterday) ok 39 - parse approxidate (last tuesday) ok 40 - parse approxidate (July 5th) ok 41 - parse approxidate (06/05/2009) ok 42 - parse approxidate (06.05.2009) ok 43 - parse approxidate (Jun 6, 5AM) ok 44 - parse approxidate (5AM Jun 6) ok 45 - parse approxidate (6AM, June 7, 2009) # passed all 45 test(s) 1..45 *** t0010-racy-git.sh *** ok 1 - Racy GIT trial #0 part A ok 2 - Racy GIT trial #0 part B ok 3 - Racy GIT trial #1 part A ok 4 - Racy GIT trial #1 part B ok 5 - Racy GIT trial #2 part A ok 6 - Racy GIT trial #2 part B ok 7 - Racy GIT trial #3 part A ok 8 - Racy GIT trial #3 part B ok 9 - Racy GIT trial #4 part A ok 10 - Racy GIT trial #4 part B # passed all 10 test(s) 1..10 *** t0020-crlf.sh *** ok 1 - setup ok 2 - safecrlf: autocrlf=input, all CRLF ok 3 - safecrlf: autocrlf=input, mixed LF/CRLF ok 4 - safecrlf: autocrlf=true, all LF ok 5 - safecrlf: autocrlf=true mixed LF/CRLF ok 6 - safecrlf: print warning only once ok 7 - switch off autocrlf, safecrlf, reset HEAD ok 8 - update with autocrlf=input ok 9 - update with autocrlf=true ok 10 - checkout with autocrlf=true ok 11 - checkout with autocrlf=input ok 12 - apply patch (autocrlf=input) ok 13 - apply patch --cached (autocrlf=input) ok 14 - apply patch --index (autocrlf=input) ok 15 - apply patch (autocrlf=true) ok 16 - apply patch --cached (autocrlf=true) ok 17 - apply patch --index (autocrlf=true) ok 18 - .gitattributes says two is binary ok 19 - .gitattributes says two is input ok 20 - .gitattributes says two and three are text ok 21 - in-tree .gitattributes (1) ok 22 - in-tree .gitattributes (2) ok 23 - in-tree .gitattributes (3) ok 24 - in-tree .gitattributes (4) ok 25 - checkout with existing .gitattributes ok 26 - checkout when deleting .gitattributes ok 27 - invalid .gitattributes (must not crash) ok 28 - setting up for new autocrlf tests ok 29 - report no change after setting autocrlf ok 30 - files are clean after checkout ok 31 - LF only file gets CRLF with autocrlf ok 32 - Mixed file is still mixed with autocrlf ok 33 - CRLF only file has CRLF with autocrlf ok 34 - New CRLF file gets LF in repo # passed all 34 test(s) 1..34 *** t0021-conversion.sh *** ok 1 - setup ok 2 - check ok 3 - expanded_in_repo ok 4 - filter shell-escaped filenames ok 5 - required filter success ok 6 - required filter smudge failure ok 7 - required filter clean failure # passed all 7 test(s) 1..7 *** t0022-crlf-rename.sh *** ok 1 - setup ok 2 - diff -M # passed all 2 test(s) 1..2 *** t0023-crlf-am.sh *** ok 1 - setup ok 2 - am # passed all 2 test(s) 1..2 *** t0024-crlf-archive.sh *** ok 1 - setup ok 2 - tar archive ok 3 - zip archive # passed all 3 test(s) 1..3 *** t0025-crlf-auto.sh *** ok 1 - setup ok 2 - default settings cause no changes ok 3 - crlf=true causes a CRLF file to be normalized ok 4 - text=true causes a CRLF file to be normalized ok 5 - eol=crlf gives a normalized file CRLFs with autocrlf=false ok 6 - eol=crlf gives a normalized file CRLFs with autocrlf=input ok 7 - eol=lf gives a normalized file LFs with autocrlf=true ok 8 - autocrlf=true does not normalize CRLF files ok 9 - text=auto, autocrlf=true _does_ normalize CRLF files ok 10 - text=auto, autocrlf=true does not normalize binary files ok 11 - eol=crlf _does_ normalize binary files # passed all 11 test(s) 1..11 *** t0026-eol-config.sh *** ok 1 - setup ok 2 - eol=lf puts LFs in normalized file ok 3 - eol=crlf puts CRLFs in normalized file ok 4 - autocrlf=true overrides eol=lf ok 5 - autocrlf=true overrides unset eol # passed all 5 test(s) 1..5 *** t0030-stripspace.sh *** ok 1 - long lines without spaces should be unchanged ok 2 - lines with spaces at the beginning should be unchanged ok 3 - lines with intermediate spaces should be unchanged ok 4 - consecutive blank lines should be unified ok 5 - only consecutive blank lines should be completely removed ok 6 - consecutive blank lines at the beginning should be removed ok 7 - consecutive blank lines at the end should be removed ok 8 - text without newline at end should end with newline ok 9 - text plus spaces without newline at end should end with newline ok 10 - text plus spaces without newline at end should not show spaces ok 11 - text plus spaces without newline should show the correct lines ok 12 - text plus spaces at end should not show spaces ok 13 - text plus spaces at end should be cleaned and newline must remain ok 14 - spaces with newline at end should be replaced with empty string ok 15 - spaces without newline at end should not show spaces ok 16 - spaces without newline at end should be replaced with empty string ok 17 - consecutive text lines should be unchanged ok 18 - strip comments, too # passed all 18 test(s) 1..18 *** t0040-parse-options.sh *** ok 1 - test help ok 2 - OPT_BOOL() #1 ok 3 - OPT_BOOL() #2 ok 4 - OPT_BOOL() #3 ok 5 - OPT_BOOL() #4 ok 6 - OPT_BOOL() #5 ok 7 - OPT_BOOL() is idempotent #1 ok 8 - OPT_BOOL() is idempotent #2 ok 9 - OPT_BOOL() negation #1 ok 10 - OPT_BOOL() negation #2 ok 11 - OPT_BOOL() no negation #1 ok 12 - OPT_BOOL() no negation #2 ok 13 - OPT_BOOL() positivation ok 14 - short options ok 15 - long options ok 16 - missing required value ok 17 - intermingled arguments ok 18 - unambiguously abbreviated option ok 19 - unambiguously abbreviated option with "=" ok 20 - ambiguously abbreviated option ok 21 - non ambiguous option (after two options it abbreviates) ok 22 - detect possible typos ok 23 - detect possible typos ok 24 - keep some options as arguments ok 25 - OPT_DATE() and OPT_SET_PTR() work ok 26 - OPT_CALLBACK() and OPT_BIT() work ok 27 - OPT_CALLBACK() and callback errors work ok 28 - OPT_BIT() and OPT_SET_INT() work ok 29 - OPT_NEGBIT() and OPT_SET_INT() work ok 30 - OPT_BIT() works ok 31 - OPT_NEGBIT() works ok 32 - OPT_COUNTUP() with PARSE_OPT_NODASH works ok 33 - OPT_NUMBER_CALLBACK() works ok 34 - negation of OPT_NONEG flags is not ambiguous ok 35 - --list keeps list of strings ok 36 - --no-list resets list # passed all 36 test(s) 1..36 *** t0050-filesystem.sh *** ok 1 - see what we expect ok 2 - detection of case insensitive filesystem during repo init ok 3 - detection of filesystem w/o symlink support during repo init ok 4 - setup case tests ok 5 - rename (case change) ok 6 - merge (case change) not ok 7 - add (with different case) # TODO known breakage ok 8 - setup unicode normalization tests ok 9 - rename (silent unicode normalization) ok 10 - merge (silent unicode normalization) # still have 1 known breakage(s) # passed all remaining 9 test(s) 1..10 *** t0055-beyond-symlinks.sh *** ok 1 - setup ok 2 - update-index --add beyond symlinks ok 3 - add beyond symlinks # passed all 3 test(s) 1..3 *** t0060-path-utils.sh *** ok 1 - normalize path: => ok 2 - normalize path: . => ok 3 - normalize path: ./ => ok 4 - normalize path: ./. => ok 5 - normalize path: ./.. => ++failed++ ok 6 - normalize path: ../. => ++failed++ ok 7 - normalize path: ./../.// => ++failed++ ok 8 - normalize path: dir/.. => ok 9 - normalize path: dir/sub/../.. => ok 10 - normalize path: dir/sub/../../.. => ++failed++ ok 11 - normalize path: dir => dir ok 12 - normalize path: dir// => dir/ ok 13 - normalize path: ./dir => dir ok 14 - normalize path: dir/. => dir/ ok 15 - normalize path: dir///./ => dir/ ok 16 - normalize path: dir//sub/.. => dir/ ok 17 - normalize path: dir/sub/../ => dir/ ok 18 - normalize path: dir/sub/../. => dir/ ok 19 - normalize path: dir/s1/../s2/ => dir/s2/ ok 20 - normalize path: d1/s1///s2/..//../s3/ => d1/s3/ ok 21 - normalize path: d1/s1//../s2/../../d2 => d2 ok 22 - normalize path: d1/.../d2 => d1/.../d2 ok 23 - normalize path: d1/..././../d2 => d1/d2 ok 24 - normalize path: / => / ok 25 - normalize path: // => / ok 26 - normalize path: /// => / ok 27 - normalize path: /. => / ok 28 - normalize path: /./ => / ok 29 - normalize path: /./.. => ++failed++ ok 30 - normalize path: /../. => ++failed++ ok 31 - normalize path: /./../.// => ++failed++ ok 32 - normalize path: /dir/.. => / ok 33 - normalize path: /dir/sub/../.. => / ok 34 - normalize path: /dir/sub/../../.. => ++failed++ ok 35 - normalize path: /dir => /dir ok 36 - normalize path: /dir// => /dir/ ok 37 - normalize path: /./dir => /dir ok 38 - normalize path: /dir/. => /dir/ ok 39 - normalize path: /dir///./ => /dir/ ok 40 - normalize path: /dir//sub/.. => /dir/ ok 41 - normalize path: /dir/sub/../ => /dir/ ok 42 - normalize path: //dir/sub/../. => /dir/ ok 43 - normalize path: /dir/s1/../s2/ => /dir/s2/ ok 44 - normalize path: /d1/s1///s2/..//../s3/ => /d1/s3/ ok 45 - normalize path: /d1/s1//../s2/../../d2 => /d2 ok 46 - normalize path: /d1/.../d2 => /d1/.../d2 ok 47 - normalize path: /d1/..././../d2 => /d1/d2 ok 48 - longest ancestor: / => -1 ok 49 - longest ancestor: / / => -1 ok 50 - longest ancestor: /foo => -1 ok 51 - longest ancestor: /foo : => -1 ok 52 - longest ancestor: /foo ::. => -1 ok 53 - longest ancestor: /foo ::..:: => -1 ok 54 - longest ancestor: /foo / => 0 ok 55 - longest ancestor: /foo /fo => -1 ok 56 - longest ancestor: /foo /foo => -1 ok 57 - longest ancestor: /foo /foo/ => -1 ok 58 - longest ancestor: /foo /bar => -1 ok 59 - longest ancestor: /foo /bar/ => -1 ok 60 - longest ancestor: /foo /foo/bar => -1 ok 61 - longest ancestor: /foo /foo:/bar/ => -1 ok 62 - longest ancestor: /foo /foo/:/bar/ => -1 ok 63 - longest ancestor: /foo /foo::/bar/ => -1 ok 64 - longest ancestor: /foo /:/foo:/bar/ => 0 ok 65 - longest ancestor: /foo /foo:/:/bar/ => 0 ok 66 - longest ancestor: /foo /:/bar/:/foo => 0 ok 67 - longest ancestor: /foo/bar => -1 ok 68 - longest ancestor: /foo/bar / => 0 ok 69 - longest ancestor: /foo/bar /fo => -1 ok 70 - longest ancestor: /foo/bar foo => -1 ok 71 - longest ancestor: /foo/bar /foo => 4 ok 72 - longest ancestor: /foo/bar /foo/ => 4 ok 73 - longest ancestor: /foo/bar /foo/ba => -1 ok 74 - longest ancestor: /foo/bar /:/fo => 0 ok 75 - longest ancestor: /foo/bar /foo:/foo/ba => 4 ok 76 - longest ancestor: /foo/bar /bar => -1 ok 77 - longest ancestor: /foo/bar /bar/ => -1 ok 78 - longest ancestor: /foo/bar /fo: => -1 ok 79 - longest ancestor: /foo/bar :/fo => -1 ok 80 - longest ancestor: /foo/bar /foo:/bar/ => 4 ok 81 - longest ancestor: /foo/bar /:/foo:/bar/ => 4 ok 82 - longest ancestor: /foo/bar /foo:/:/bar/ => 4 ok 83 - longest ancestor: /foo/bar /:/bar/:/fo => 0 ok 84 - longest ancestor: /foo/bar /:/bar/ => 0 ok 85 - longest ancestor: /foo/bar .:/foo/. => 4 ok 86 - longest ancestor: /foo/bar .:/foo/.:.: => 4 ok 87 - longest ancestor: /foo/bar /foo/./:.:/bar => 4 ok 88 - longest ancestor: /foo/bar .:/bar => -1 ok 89 - strip_path_suffix # passed all 89 test(s) 1..89 *** t0061-run-command.sh *** ok 1 - start_command reports ENOENT ok 2 - run_command can run a command ok 3 - run_command reports EACCES ok 4 - unreadable directory in PATH # passed all 4 test(s) 1..4 *** t0070-fundamental.sh *** ok 1 - character classes (isspace, isalpha etc.) ok 2 - mktemp to nonexistent directory prints filename ok 3 - mktemp to unwritable directory prints filename # passed all 3 test(s) 1..3 *** t0081-line-buffer.sh *** ok 1 - hello world ok 2 - 0-length read, send along greeting ok 3 - read from file descriptor ok 4 - skip, copy null byte ok 5 - read null byte ok 6 - long reads are truncated ok 7 - long copies are truncated ok 8 - long binary reads are truncated # passed all 8 test(s) 1..8 *** t0090-cache-tree.sh *** not ok 1 - initial commit has cache-tree # TODO known breakage ok 2 - read-tree HEAD establishes cache-tree ok 3 - git-add invalidates cache-tree ok 4 - update-index invalidates cache-tree ok 5 - write-tree establishes cache-tree ok 6 - test-scrap-cache-tree works ok 7 - second commit has cache-tree ok 8 - reset --hard gives cache-tree ok 9 - reset --hard without index gives cache-tree not ok 10 - checkout gives cache-tree # TODO known breakage # still have 2 known breakage(s) # passed all remaining 8 test(s) 1..10 *** t0100-previous.sh *** ok 1 - branch -d @{-1} ok 2 - branch -d @{-12} when there is not enough switches yet ok 3 - merge @{-1} ok 4 - merge @{-1} when there is not enough switches yet # passed all 4 test(s) 1..4 *** t0101-at-syntax.sh *** ok 1 - setup ok 2 - @{0} shows current ok 3 - @{1} shows old ok 4 - @{now} shows current ok 5 - @{2001-09-17} (before the first commit) shows old ok 6 - silly approxidates work ok 7 - notice misspelled upstream ok 8 - complain about total nonsense # passed all 8 test(s) 1..8 *** t0200-gettext-basic.sh *** # lib-gettext: No is_IS UTF-8 locale available # lib-gettext: No is_IS ISO-8859-1 locale available ok 1 - sanity: $GIT_INTERNAL_GETTEXT_SH_SCHEME is set (to gnu) ok 2 - sanity: $TEXTDOMAIN is git ok 3 - xgettext sanity: Perl _() strings are not extracted ok 4 - xgettext sanity: Comment extraction with --add-comments ok 5 - xgettext sanity: Comment extraction with --add-comments stops at statements ok 6 - sanity: $TEXTDOMAINDIR exists without NO_GETTEXT=YesPlease ok 7 - sanity: Icelandic locale was compiled ok 8 # skip sanity: gettext("") metadata is OK (missing GETTEXT_LOCALE) ok 9 # skip sanity: gettext(unknown) is passed through (missing GETTEXT_LOCALE) ok 10 # skip xgettext: C extraction of _() and N_() strings (missing GETTEXT_LOCALE) ok 11 # skip xgettext: C extraction with %s (missing GETTEXT_LOCALE) ok 12 # skip xgettext: Shell extraction (missing GETTEXT_LOCALE) ok 13 # skip xgettext: Shell extraction with $variable (missing GETTEXT_LOCALE) ok 14 # skip xgettext: Perl extraction (missing GETTEXT_LOCALE) ok 15 # skip xgettext: Perl extraction with %s (missing GETTEXT_LOCALE) ok 16 # skip sanity: Some gettext("") data for real locale (missing GETTEXT_LOCALE) # passed all 16 test(s) 1..16 *** t0201-gettext-fallbacks.sh *** # lib-gettext: No is_IS UTF-8 locale available # lib-gettext: No is_IS ISO-8859-1 locale available ok 1 - sanity: $GIT_INTERNAL_GETTEXT_SH_SCHEME is set (to fallthrough) ok 2 - sanity: $GIT_INTERNAL_GETTEXT_TEST_FALLBACKS is set ok 3 - sanity: $GIT_INTERNAL_GETTEXT_SH_SCHEME" is fallthrough ok 4 - gettext: our gettext() fallback has pass-through semantics ok 5 - eval_gettext: our eval_gettext() fallback has pass-through semantics ok 6 - eval_gettext: our eval_gettext() fallback can interpolate variables ok 7 - eval_gettext: our eval_gettext() fallback can interpolate variables with spaces ok 8 - eval_gettext: our eval_gettext() fallback can interpolate variables with spaces and quotes # passed all 8 test(s) 1..8 *** t0202-gettext-perl.sh *** # lib-gettext: No is_IS UTF-8 locale available # lib-gettext: No is_IS ISO-8859-1 locale available # run 1: Perl Git::I18N API (/usr/bin/perl /«PKGBUILDDIR»/t/t0202/test.pl) 1..8 ok 1 - Testing Git::I18N with NO Perl gettext library ok 2 - Git::I18N is located at /«PKGBUILDDIR»/t/../perl/blib/lib/Git/I18N.pm ok 3 - sanity: Git::I18N has 1 export(s) ok 4 - sanity: Git::I18N exports everything by default ok 5 - sanity: __ has a $ prototype ok 6 - Passing a string through __() in the C locale works ok 7 # skip GETTEXT_LOCALE must be set by lib-gettext.sh for exhaustive Git::I18N tests ok 8 # skip GETTEXT_LOCALE must be set by lib-gettext.sh for exhaustive Git::I18N tests # test_external test Perl Git::I18N API was ok # test_external_without_stderr test no stderr: Perl Git::I18N API was ok *** t0203-gettext-setlocale-sanity.sh *** # lib-gettext: No is_IS UTF-8 locale available # lib-gettext: No is_IS ISO-8859-1 locale available ok 1 - git show a ISO-8859-1 commit under C locale 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 *** t0204-gettext-reencode-sanity.sh *** # lib-gettext: No is_IS UTF-8 locale available # lib-gettext: No is_IS ISO-8859-1 locale available ok 1 # skip gettext: Emitting UTF-8 from our UTF-8 *.mo files / Icelandic (missing GETTEXT_LOCALE) ok 2 # skip gettext: Emitting UTF-8 from our UTF-8 *.mo files / Runes (missing GETTEXT_LOCALE) ok 3 # skip gettext: Emitting ISO-8859-1 from our UTF-8 *.mo files / Icelandic (missing GETTEXT_ISO_LOCALE) ok 4 # skip gettext: impossible ISO-8859-1 output (missing GETTEXT_ISO_LOCALE) ok 5 # skip gettext: Fetching a UTF-8 msgid -> UTF-8 (missing GETTEXT_LOCALE) ok 6 # skip gettext: Fetching a UTF-8 msgid -> ISO-8859-1 (missing GETTEXT_ISO_LOCALE) ok 7 # skip gettext.c: git init UTF-8 -> UTF-8 (missing GETTEXT_LOCALE) ok 8 # skip gettext.c: git init UTF-8 -> ISO-8859-1 (missing GETTEXT_ISO_LOCALE) # passed all 8 test(s) 1..8 *** t0205-gettext-poison.sh *** # lib-gettext: No is_IS UTF-8 locale available # lib-gettext: No is_IS ISO-8859-1 locale available ok 1 # skip sanity: $GIT_INTERNAL_GETTEXT_SH_SCHEME is set (to gnu) (missing GETTEXT_POISON) ok 2 # skip sanity: $GIT_INTERNAL_GETTEXT_SH_SCHEME" is poison (missing GETTEXT_POISON) ok 3 # skip gettext: our gettext() fallback has poison semantics (missing GETTEXT_POISON) ok 4 # skip eval_gettext: our eval_gettext() fallback has poison semantics (missing GETTEXT_POISON) # passed all 4 test(s) 1..4 *** t0300-credentials.sh *** ok 1 - setup helper scripts ok 2 - credential_fill invokes helper ok 3 - credential_fill invokes multiple helpers ok 4 - credential_fill stops when we get a full response ok 5 - credential_fill continues through partial response ok 6 - credential_fill passes along metadata ok 7 - credential_approve calls all helpers ok 8 - do not bother storing password-less credential ok 9 - credential_reject calls all helpers ok 10 - usernames can be preserved ok 11 - usernames can be overridden ok 12 - do not bother completing already-full credential ok 13 - empty helper list falls back to internal getpass ok 14 - internal getpass does not ask for known username ok 15 - respect configured credentials ok 16 - match configured credential ok 17 - do not match configured credential ok 18 - pull username from config ok 19 - http paths can be part of context # passed all 19 test(s) 1..19 *** t0301-credential-cache.sh *** ok 1 - helper (cache) has no existing data ok 2 - helper (cache) stores password ok 3 - helper (cache) can retrieve password ok 4 - helper (cache) requires matching protocol ok 5 - helper (cache) requires matching host ok 6 - helper (cache) requires matching username ok 7 - helper (cache) requires matching path ok 8 - helper (cache) can forget host ok 9 - helper (cache) can store multiple users ok 10 - helper (cache) can forget user ok 11 - helper (cache) remembers other user ok 12 - helper (cache --timeout=1) times out # passed all 12 test(s) 1..12 *** t0302-credential-store.sh *** ok 1 - helper (store) has no existing data ok 2 - helper (store) stores password ok 3 - helper (store) can retrieve password ok 4 - helper (store) requires matching protocol ok 5 - helper (store) requires matching host ok 6 - helper (store) requires matching username ok 7 - helper (store) requires matching path ok 8 - helper (store) can forget host ok 9 - helper (store) can store multiple users ok 10 - helper (store) can forget user ok 11 - helper (store) remembers other user # passed all 11 test(s) 1..11 *** t0303-credential-external.sh *** # skipping external helper tests (set GIT_TEST_CREDENTIAL_HELPER) # skipping external helper timeout tests # passed all 0 test(s) 1..0 *** t1000-read-tree-m-3way.sh *** ok 1 - adding test file NN and Z/NN ok 2 - adding test file ND and Z/ND ok 3 - adding test file NM and Z/NM ok 4 - adding test file DN and Z/DN ok 5 - adding test file DD and Z/DD ok 6 - adding test file DM and Z/DM ok 7 - adding test file MN and Z/MN ok 8 - adding test file MD and Z/MD ok 9 - adding test file MM and Z/MM ok 10 - adding test file SS ok 11 - adding test file TT ok 12 - prepare initial tree ok 13 - change in branch A (removal) ok 14 - change in branch A (modification) ok 15 - change in branch A (modification) ok 16 - change in branch A (modification) ok 17 - change in branch A (modification) ok 18 - change in branch A (modification) ok 19 - change in branch A (modification) ok 20 - change in branch A (addition) ok 21 - change in branch A (addition) ok 22 - change in branch A (addition) ok 23 - change in branch A (addition) ok 24 - change in branch A (addition) ok 25 - change in branch A (edit) ok 26 - change in branch A (change file to directory) ok 27 - recording branch A tree ok 28 - reading original tree and checking out ok 29 - change in branch B (removal) ok 30 - change in branch B (modification) ok 31 - change in branch B (modification) ok 32 - change in branch B (modification) ok 33 - change in branch B (modification) ok 34 - change in branch B (modification) ok 35 - change in branch B (modification) ok 36 - change in branch B (addition) ok 37 - change in branch B (addition) ok 38 - change in branch B (addition) ok 39 - change in branch B (addition) ok 40 - change in branch B (addition and modification) ok 41 - change in branch B (modification) ok 42 - change in branch B (addition of a file to conflict with directory) ok 43 - recording branch B tree ok 44 - keep contents of 3 trees for easy access ok 45 - 3-way merge with git read-tree -m, empty cache ok 46 - 3-way merge with git read-tree -m, match H ok 47 - 1 - must not have an entry not in A. ok 48 - 2 - must match B in !O && !A && B case. ok 49 - 2 - matching B alone is OK in !O && !A && B case. ok 50 - 3 - must match A in !O && A && !B case. ok 51 - 3 - matching A alone is OK in !O && A && !B case. ok 52 - 3 (fail) - must match A in !O && A && !B case. ok 53 - 4 - must match and be up-to-date in !O && A && B && A!=B case. ok 54 - 4 (fail) - must match and be up-to-date in !O && A && B && A!=B case. ok 55 - 4 (fail) - must match and be up-to-date in !O && A && B && A!=B case. ok 56 - 5 - must match in !O && A && B && A==B case. ok 57 - 5 - must match in !O && A && B && A==B case. ok 58 - 5 (fail) - must match A in !O && A && B && A==B case. ok 59 - 6 - must not exist in O && !A && !B case ok 60 - 7 - must not exist in O && !A && B && O!=B case ok 61 - 8 - must not exist in O && !A && B && O==B case ok 62 - 9 - must match and be up-to-date in O && A && !B && O!=A case ok 63 - 9 (fail) - must match and be up-to-date in O && A && !B && O!=A case ok 64 - 9 (fail) - must match and be up-to-date in O && A && !B && O!=A case ok 65 - 10 - must match and be up-to-date in O && A && !B && O==A case ok 66 - 10 (fail) - must match and be up-to-date in O && A && !B && O==A case ok 67 - 10 (fail) - must match and be up-to-date in O && A && !B && O==A case ok 68 - 11 - must match and be up-to-date in O && A && B && O!=A && O!=B && A!=B case ok 69 - 11 (fail) - must match and be up-to-date in O && A && B && O!=A && O!=B && A!=B case ok 70 - 11 (fail) - must match and be up-to-date in O && A && B && O!=A && O!=B && A!=B case ok 71 - 12 - must match A in O && A && B && O!=A && A==B case ok 72 - 12 - must match A in O && A && B && O!=A && A==B case ok 73 - 12 (fail) - must match A in O && A && B && O!=A && A==B case ok 74 - 13 - must match A in O && A && B && O!=A && O==B case ok 75 - 13 - must match A in O && A && B && O!=A && O==B case ok 76 - 14 - must match and be up-to-date in O && A && B && O==A && O!=B case ok 77 - 14 - may match B in O && A && B && O==A && O!=B case ok 78 - 14 (fail) - must match and be up-to-date in O && A && B && O==A && O!=B case ok 79 - 14 (fail) - must match and be up-to-date in O && A && B && O==A && O!=B case ok 80 - 15 - must match A in O && A && B && O==A && O==B case ok 81 - 15 - must match A in O && A && B && O==A && O==B case ok 82 - 15 (fail) - must match A in O && A && B && O==A && O==B case ok 83 - 16 - A matches in one and B matches in another. # passed all 83 test(s) 1..83 *** t1001-read-tree-m-2way.sh *** ok 1 - setup ok 2 - 1, 2, 3 - no carry forward ok 3 - 4 - carry forward local addition. ok 4 - 5 - carry forward local addition. ok 5 - 6 - local addition already has the same. ok 6 - 7 - local addition already has the same. ok 7 - 8 - conflicting addition. ok 8 - 9 - conflicting addition. ok 9 - 10 - path removed. ok 10 - 11 - dirty path removed. ok 11 - 12 - unmatching local changes being removed. ok 12 - 13 - unmatching local changes being removed. ok 13 - 14 - unchanged in two heads. ok 14 - 15 - unchanged in two heads. ok 15 - 16 - conflicting local change. ok 16 - 17 - conflicting local change. ok 17 - 18 - local change already having a good result. ok 18 - 19 - local change already having a good result, further modified. ok 19 - 20 - no local change, use new tree. ok 20 - 21 - no local change, dirty cache. ok 21 - 22 - local change cache updated. ok 22 - DF vs DF/DF case setup. ok 23 - DF vs DF/DF case test. ok 24 - a/b (untracked) vs a case setup. ok 25 - a/b (untracked) vs a, plus c/d case test. ok 26 - a/b vs a, plus c/d case setup. ok 27 - a/b vs a, plus c/d case test. ok 28 - -m references the correct modified tree # passed all 28 test(s) 1..28 *** t1002-read-tree-m-u-2way.sh *** ok 1 - setup ok 2 - 1, 2, 3 - no carry forward ok 3 - 4 - carry forward local addition. ok 4 - 5 - carry forward local addition. ok 5 - 6 - local addition already has the same. ok 6 - 7 - local addition already has the same. ok 7 - 8 - conflicting addition. ok 8 - 9 - conflicting addition. ok 9 - 10 - path removed. ok 10 - 11 - dirty path removed. ok 11 - 12 - unmatching local changes being removed. ok 12 - 13 - unmatching local changes being removed. ok 13 - 14 - unchanged in two heads. ok 14 - 15 - unchanged in two heads. ok 15 - 16 - conflicting local change. ok 16 - 17 - conflicting local change. ok 17 - 18 - local change already having a good result. ok 18 - 19 - local change already having a good result, further modified. ok 19 - 20 - no local change, use new tree. ok 20 - 21 - no local change, dirty cache. ok 21 - DF vs DF/DF case setup. ok 22 - DF vs DF/DF case test. # passed all 22 test(s) 1..22 *** t1003-read-tree-prefix.sh *** ok 1 - setup ok 2 - read-tree --prefix # passed all 2 test(s) 1..2 *** t1004-read-tree-m-u-wf.sh *** ok 1 - two-way setup ok 2 - two-way not clobbering ok 3 - two-way with incorrect --exclude-per-directory (1) ok 4 - two-way with incorrect --exclude-per-directory (2) ok 5 - two-way clobbering a ignored file ok 6 - three-way not complaining on an untracked path in both ok 7 - three-way not clobbering a working tree file ok 8 - three-way not complaining on an untracked file ok 9 - 3-way not overwriting local changes (setup) ok 10 - 3-way not overwriting local changes (our side) ok 11 - 3-way not overwriting local changes (their side) ok 12 - funny symlink in work tree ok 13 - funny symlink in work tree, un-unlink-able ok 14 - D/F setup ok 15 - D/F ok 16 - D/F resolve ok 17 - D/F recursive # passed all 17 test(s) 1..17 *** t1005-read-tree-reset.sh *** ok 1 - setup ok 2 - reset should work ok 3 - reset should remove remnants from a failed merge ok 4 - Porcelain reset should remove remnants too ok 5 - Porcelain checkout -f should remove remnants too ok 6 - Porcelain checkout -f HEAD should remove remnants too # passed all 6 test(s) 1..6 *** t1006-cat-file.sh *** ok 1 - setup ok 2 - blob exists ok 3 - Type of blob is correct ok 4 - Size of blob is correct ok 5 - Content of blob is correct ok 6 - Pretty content of blob is correct ok 7 - --batch output of blob is correct ok 8 - --batch-check output of blob is correct ok 9 - tree exists ok 10 - Type of tree is correct ok 11 - Size of tree is correct ok 12 - Pretty content of tree is correct ok 13 - --batch-check output of tree is correct ok 14 - commit exists ok 15 - Type of commit is correct ok 16 - Size of commit is correct ok 17 - Content of commit is correct ok 18 - Pretty content of commit is correct ok 19 - --batch output of commit is correct ok 20 - --batch-check output of commit is correct ok 21 - tag exists ok 22 - Type of tag is correct ok 23 - Size of tag is correct ok 24 - Content of tag is correct ok 25 - Pretty content of tag is correct ok 26 - --batch output of tag is correct ok 27 - --batch-check output of tag is correct ok 28 - Reach a blob from a tag pointing to it ok 29 - Passing -t with --batch fails ok 30 - Passing --batch with -t fails ok 31 - Passing -s with --batch fails ok 32 - Passing --batch with -s fails ok 33 - Passing -e with --batch fails ok 34 - Passing --batch with -e fails ok 35 - Passing -p with --batch fails ok 36 - Passing --batch with -p fails ok 37 - Passing with --batch fails ok 38 - Passing --batch with fails ok 39 - Passing sha1 with --batch fails ok 40 - Passing -t with --batch-check fails ok 41 - Passing --batch-check with -t fails ok 42 - Passing -s with --batch-check fails ok 43 - Passing --batch-check with -s fails ok 44 - Passing -e with --batch-check fails ok 45 - Passing --batch-check with -e fails ok 46 - Passing -p with --batch-check fails ok 47 - Passing --batch-check with -p fails ok 48 - Passing with --batch-check fails ok 49 - Passing --batch-check with fails ok 50 - Passing sha1 with --batch-check fails ok 51 - --batch-check for a non-existent named object ok 52 - --batch-check for a non-existent hash ok 53 - --batch for an existent and a non-existent hash ok 54 - --batch-check for an emtpy line ok 55 - --batch with multiple sha1s gives correct format ok 56 - --batch-check with multiple sha1s gives correct format # passed all 56 test(s) 1..56 *** t1007-hash-object.sh *** ok 1 - multiple '--stdin's are rejected ok 2 - Can't use --stdin and --stdin-paths together ok 3 - Can't pass filenames as arguments with --stdin-paths ok 4 - Can't use --path with --stdin-paths ok 5 - Can't use --path with --no-filters ok 6 - hash a file ok 7 - blob does not exist in database ok 8 - hash from stdin ok 9 - blob does not exist in database ok 10 - hash a file and write to database ok 11 - blob exists in database ok 12 - git hash-object --stdin file1 only packed objects # passed all 27 test(s) 1..27 *** t1300-repo-config.sh *** ok 1 - clear default config ok 2 - initial ok 3 - mixed case ok 4 - similar section ok 5 - uppercase section ok 6 - replace with non-match ok 7 - replace with non-match (actually matching) ok 8 - non-match result ok 9 - find mixed-case key by canonical name ok 10 - find mixed-case key by non-canonical name ok 11 - subsections are not canonicalized by git-config ok 12 - unset with cont. lines ok 13 - unset with cont. lines is correct ok 14 - multiple unset ok 15 - multiple unset is correct ok 16 - --replace-all missing value ok 17 - --replace-all ok 18 - all replaced ok 19 - really mean test ok 20 - really really mean test ok 21 - get value ok 22 - unset ok 23 - multivar ok 24 - non-match ok 25 - non-match value ok 26 - ambiguous get ok 27 - get multivar ok 28 - multivar replace ok 29 - ambiguous value ok 30 - ambiguous unset ok 31 - invalid unset ok 32 - multivar unset ok 33 - invalid key ok 34 - correct key ok 35 - hierarchical section ok 36 - hierarchical section value ok 37 - working --list ok 38 - --list without repo produces empty output ok 39 - --get-regexp ok 40 - --add ok 41 - get variable with no value ok 42 - get variable with empty value ok 43 - get-regexp variable with no value ok 44 - get-regexp --bool variable with no value ok 45 - get-regexp variable with empty value ok 46 - get bool variable with no value ok 47 - get bool variable with empty value ok 48 - no arguments, but no crash ok 49 - new section is partial match of another ok 50 - new variable inserts into proper section ok 51 - alternative GIT_CONFIG (non-existing file should fail) ok 52 - alternative GIT_CONFIG ok 53 - alternative GIT_CONFIG (--file) ok 54 - refer config from subdirectory ok 55 - refer config from subdirectory via GIT_CONFIG ok 56 - --set in alternative GIT_CONFIG ok 57 - rename section ok 58 - rename succeeded ok 59 - rename non-existing section ok 60 - rename succeeded ok 61 - rename another section ok 62 - rename succeeded ok 63 - rename a section with a var on the same line ok 64 - rename succeeded ok 65 - renaming empty section name is rejected ok 66 - renaming to bogus section is rejected ok 67 - remove section ok 68 - section was removed properly ok 69 - section ending ok 70 - numbers ok 71 - invalid unit ok 72 - bool ok 73 - invalid bool (--get) ok 74 - invalid bool (set) ok 75 - set --bool ok 76 - set --int ok 77 - get --bool-or-int ok 78 - set --bool-or-int ok 79 - set --path ok 80 - get --path ok 81 - get --path copes with unset $HOME ok 82 - quoting ok 83 - key with newline ok 84 - value with newline ok 85 - value continued on next line ok 86 - --null --list ok 87 - --null --get-regexp ok 88 - inner whitespace kept verbatim ok 89 - symlinked configuration ok 90 - nonexistent configuration ok 91 - symlink to nonexistent configuration ok 92 - check split_cmdline return ok 93 - git -c "key=value" support ok 94 - key sanity-checking ok 95 - git -c works with aliases of builtins ok 96 - git -c does not split values on equals ok 97 - git -c dies on bogus config ok 98 - git -c complains about empty key ok 99 - git -c complains about empty key and value ok 100 - git config --edit works ok 101 - git config --edit respects core.editor ok 102 - barf on syntax error ok 103 - barf on incomplete section header ok 104 - barf on incomplete string # passed all 104 test(s) 1..104 *** t1301-shared-repo.sh *** ok 1 - shared = 0400 (faulty permission u-w) ok 2 - shared=1 does not clear bits preset by umask 002 ok 3 - shared=1 does not clear bits preset by umask 022 ok 4 - shared=all ok 5 - update-server-info honors core.sharedRepository ok 6 - shared = 0660 (r--r-----) ro ok 7 - shared = 0660 (rw-rw----) rw ok 8 - shared = 0640 (r--r-----) ro ok 9 - shared = 0640 (rw-r-----) rw ok 10 - shared = 0600 (r--------) ro ok 11 - shared = 0600 (rw-------) rw ok 12 - shared = 0666 (r--r--r--) ro ok 13 - shared = 0666 (rw-rw-rw-) rw ok 14 - shared = 0664 (r--r--r--) ro ok 15 - shared = 0664 (rw-rw-r--) rw ok 16 - git reflog expire honors core.sharedRepository ok 17 - forced modes # passed all 17 test(s) 1..17 *** t1302-repo-version.sh *** ok 1 - setup ok 2 - gitdir selection on normal repos ok 3 - gitdir selection on unsupported repo ok 4 - gitdir not required mode ok 5 - gitdir required mode # passed all 5 test(s) 1..5 *** t1303-wacky-config.sh *** ok 1 - modify same key ok 2 - add key in same section ok 3 - add key in different section ok 4 - make sure git config escapes section names properly ok 5 - do not crash on special long config line # passed all 5 test(s) 1..5 *** t1304-default-acl.sh *** Unable to use setfacl (output: 't1304-default-acl.sh: 18: t1304-default-acl.sh: setfacl: not found'; return code: '127') ok 1 # skip Setup test repo (missing SETFACL) ok 2 # skip Objects creation does not break ACLs with restrictive umask (missing SETFACL) ok 3 # skip git gc does not break ACLs with restrictive umask (missing SETFACL) # passed all 3 test(s) 1..3 *** t1305-config-include.sh *** ok 1 - include file by absolute path ok 2 - include file by relative path ok 3 - chained relative paths ok 4 - include paths get tilde-expansion ok 5 - include options can still be examined ok 6 - listing includes option and expansion ok 7 - single file lookup does not expand includes by default ok 8 - single file list does not expand includes by default ok 9 - writing config file does not expand includes ok 10 - config modification does not affect includes ok 11 - missing include files are ignored ok 12 - absolute includes from command line work ok 13 - relative includes from command line fail ok 14 - include cycles are detected # passed all 14 test(s) 1..14 *** t1400-update-ref.sh *** ok 1 - setup ok 2 - create refs/heads/master ok 3 - create refs/heads/master ok 4 - fail to delete refs/heads/master with stale ref ok 5 - delete refs/heads/master ok 6 - delete refs/heads/master without oldvalue verification ok 7 - fail to create refs/heads/gu/fixes ok 8 - create refs/heads/master (by HEAD) ok 9 - create refs/heads/master (by HEAD) ok 10 - fail to delete refs/heads/master (by HEAD) with stale ref ok 11 - delete refs/heads/master (by HEAD) ok 12 - delete symref without dereference ok 13 - delete symref without dereference when the referred ref is packed ok 14 - (not) create HEAD with old sha1 ok 15 - (not) prior created .git/refs/heads/master ok 16 - create HEAD ok 17 - (not) change HEAD with wrong SHA1 ok 18 - (not) changed .git/refs/heads/master ok 19 - create refs/heads/master (logged by touch) ok 20 - update refs/heads/master (logged by touch) ok 21 - set refs/heads/master (logged by touch) ok 22 - verifying refs/heads/master's log ok 23 - enable core.logAllRefUpdates ok 24 - create refs/heads/master (logged by config) ok 25 - update refs/heads/master (logged by config) ok 26 - set refs/heads/master (logged by config) ok 27 - verifying refs/heads/master's log ok 28 - Query "master@{May 25 2005}" (before history) ok 29 - Query master@{2005-05-25} (before history) ok 30 - Query "master@{May 26 2005 23:31:59}" (1 second before history) ok 31 - Query "master@{May 26 2005 23:32:00}" (exactly history start) ok 32 - Query "master@{May 26 2005 23:32:30}" (first non-creation change) ok 33 - Query "master@{2005-05-26 23:33:01}" (middle of history with gap) ok 34 - Query "master@{2005-05-26 23:38:00}" (middle of history) ok 35 - Query "master@{2005-05-26 23:43:00}" (exact end of history) ok 36 - Query "master@{2005-05-28}" (past end of history) ok 37 - creating initial files ok 38 - git commit logged updates ok 39 - git cat-file blob master:F (expect OTHER) ok 40 - git cat-file blob master@{2005-05-26 23:30}:F (expect TEST) ok 41 - git cat-file blob master@{2005-05-26 23:42}:F (expect OTHER) # passed all 41 test(s) 1..41 *** t1401-symbolic-ref.sh *** ok 1 - symbolic-ref writes HEAD ok 2 - symbolic-ref reads HEAD ok 3 - symbolic-ref refuses non-ref for HEAD ok 4 - symbolic-ref refuses bare sha1 # passed all 4 test(s) 1..4 *** t1402-check-ref-format.sh *** ok 1 - ref name '' is invalid ok 2 - ref name '/' is invalid ok 3 - ref name '/' is invalid with options --allow-onelevel ok 4 - ref name '/' is invalid with options --normalize ok 5 - ref name '/' is invalid with options --allow-onelevel --normalize ok 6 - ref name 'foo/bar/baz' is valid ok 7 - ref name 'foo/bar/baz' is valid with options --normalize ok 8 - ref name 'refs///heads/foo' is invalid ok 9 - ref name 'refs///heads/foo' is valid with options --normalize ok 10 - ref name 'heads/foo/' is invalid ok 11 - ref name '/heads/foo' is invalid ok 12 - ref name '/heads/foo' is valid with options --normalize ok 13 - ref name '///heads/foo' is invalid ok 14 - ref name '///heads/foo' is valid with options --normalize ok 15 - ref name './foo' is invalid ok 16 - ref name './foo/bar' is invalid ok 17 - ref name 'foo/./bar' is invalid ok 18 - ref name 'foo/bar/.' is invalid ok 19 - ref name '.refs/foo' is invalid ok 20 - ref name 'heads/foo..bar' is invalid ok 21 - ref name 'heads/foo?bar' is invalid ok 22 - ref name 'foo./bar' is valid ok 23 - ref name 'heads/foo.lock' is invalid ok 24 - ref name 'heads///foo.lock' is invalid ok 25 - ref name 'foo.lock/bar' is invalid ok 26 - ref name 'foo.lock///bar' is invalid ok 27 - ref name 'heads/foo@bar' is valid ok 28 - ref name 'heads/v@{ation' is invalid ok 29 - ref name 'heads/fooar' is invalid ok 30 - ref name 'heads/foo ' is invalid ok 31 - ref name 'heads/foo' is invalid ok 32 - ref name 'heads/fuß' is valid ok 33 - ref name 'heads/*foo/bar' is invalid with options --refspec-pattern ok 34 - ref name 'heads/foo*/bar' is invalid with options --refspec-pattern ok 35 - ref name 'heads/f*o/bar' is invalid with options --refspec-pattern ok 36 - ref name 'foo' is invalid ok 37 - ref name 'foo' is valid with options --allow-onelevel ok 38 - ref name 'foo' is invalid with options --refspec-pattern ok 39 - ref name 'foo' is valid with options --refspec-pattern --allow-onelevel ok 40 - ref name 'foo' is invalid with options --normalize ok 41 - ref name 'foo' is valid with options --allow-onelevel --normalize ok 42 - ref name 'foo/bar' is valid ok 43 - ref name 'foo/bar' is valid with options --allow-onelevel ok 44 - ref name 'foo/bar' is valid with options --refspec-pattern ok 45 - ref name 'foo/bar' is valid with options --refspec-pattern --allow-onelevel ok 46 - ref name 'foo/bar' is valid with options --normalize ok 47 - ref name 'foo/*' is invalid ok 48 - ref name 'foo/*' is invalid with options --allow-onelevel ok 49 - ref name 'foo/*' is valid with options --refspec-pattern ok 50 - ref name 'foo/*' is valid with options --refspec-pattern --allow-onelevel ok 51 - ref name '*/foo' is invalid ok 52 - ref name '*/foo' is invalid with options --allow-onelevel ok 53 - ref name '*/foo' is valid with options --refspec-pattern ok 54 - ref name '*/foo' is valid with options --refspec-pattern --allow-onelevel ok 55 - ref name '*/foo' is invalid with options --normalize ok 56 - ref name '*/foo' is valid with options --refspec-pattern --normalize ok 57 - ref name 'foo/*/bar' is invalid ok 58 - ref name 'foo/*/bar' is invalid with options --allow-onelevel ok 59 - ref name 'foo/*/bar' is valid with options --refspec-pattern ok 60 - ref name 'foo/*/bar' is valid with options --refspec-pattern --allow-onelevel ok 61 - ref name '*' is invalid ok 62 - ref name '*' is invalid with options --allow-onelevel ok 63 - ref name '*' is invalid with options --refspec-pattern ok 64 - ref name '*' is valid with options --refspec-pattern --allow-onelevel ok 65 - ref name 'foo/*/*' is invalid with options --refspec-pattern ok 66 - ref name 'foo/*/*' is invalid with options --refspec-pattern --allow-onelevel ok 67 - ref name '*/foo/*' is invalid with options --refspec-pattern ok 68 - ref name '*/foo/*' is invalid with options --refspec-pattern --allow-onelevel ok 69 - ref name '*/*/foo' is invalid with options --refspec-pattern ok 70 - ref name '*/*/foo' is invalid with options --refspec-pattern --allow-onelevel ok 71 - ref name '/foo' is invalid ok 72 - ref name '/foo' is invalid with options --allow-onelevel ok 73 - ref name '/foo' is invalid with options --refspec-pattern ok 74 - ref name '/foo' is invalid with options --refspec-pattern --allow-onelevel ok 75 - ref name '/foo' is invalid with options --normalize ok 76 - ref name '/foo' is valid with options --allow-onelevel --normalize ok 77 - ref name '/foo' is invalid with options --refspec-pattern --normalize ok 78 - ref name '/foo' is valid with options --refspec-pattern --allow-onelevel --normalize ok 79 - check-ref-format --branch @{-1} ok 80 - check-ref-format --branch from subdir ok 81 - ref name 'heads/foo' simplifies to 'heads/foo' ok 82 - ref name 'refs///heads/foo' simplifies to 'refs/heads/foo' ok 83 - ref name '/heads/foo' simplifies to 'heads/foo' ok 84 - ref name '///heads/foo' simplifies to 'heads/foo' ok 85 - check-ref-format --normalize rejects 'foo' ok 86 - check-ref-format --normalize rejects '/foo' ok 87 - check-ref-format --normalize rejects 'heads/foo/../bar' ok 88 - check-ref-format --normalize rejects 'heads/./foo' ok 89 - check-ref-format --normalize rejects 'heads oo' ok 90 - check-ref-format --normalize rejects 'heads/foo.lock' ok 91 - check-ref-format --normalize rejects 'heads///foo.lock' ok 92 - check-ref-format --normalize rejects 'foo.lock/bar' ok 93 - check-ref-format --normalize rejects 'foo.lock///bar' # passed all 93 test(s) 1..93 *** t1410-reflog.sh *** ok 1 - setup ok 2 - rewind ok 3 - corrupt and check ok 4 - reflog expire --dry-run should not touch reflog ok 5 - reflog expire ok 6 - prune and fsck ok 7 - recover and check ok 8 - delete ok 9 - rewind2 ok 10 - --expire=never ok 11 - gc.reflogexpire=never ok 12 - gc.reflogexpire=false # passed all 12 test(s) 1..12 *** t1411-reflog-show.sh *** ok 1 - setup ok 2 - log -g shows reflog headers ok 3 - oneline reflog format ok 4 - reflog default format ok 5 - override reflog default format ok 6 - using @{now} syntax shows reflog date (multiline) ok 7 - using @{now} syntax shows reflog date (oneline) ok 8 - using @{now} syntax shows reflog date (format=%gd) ok 9 - using --date= shows reflog date (multiline) ok 10 - using --date= shows reflog date (oneline) ok 11 - using --date= shows reflog date (format=%gd) ok 12 - log.date does not invoke "--date" magic (multiline) ok 13 - log.date does not invoke "--date" magic (oneline) ok 14 - log.date does not invoke "--date" magic (format=%gd) ok 15 - --date magic does not override explicit @{0} syntax ok 16 - empty reflog file # passed all 16 test(s) 1..16 *** t1412-reflog-loop.sh *** ok 1 - setup commits ok 2 - setup reflog with alternating commits ok 3 - reflog shows all entries # passed all 3 test(s) 1..3 *** t1420-lost-found.sh *** ok 1 - setup ok 2 - lost and found something # passed all 2 test(s) 1..2 *** t1450-fsck.sh *** ok 1 - setup ok 2 - loose objects borrowed from alternate are not missing ok 3 - HEAD is part of refs, valid objects appear valid ok 4 - setup: helpers for corruption tests ok 5 - object with bad sha1 ok 6 - branch pointing to non-commit ok 7 - email without @ is okay ok 8 - email with embedded > is not okay ok 9 - missing < email delimiter is reported nicely ok 10 - missing email is reported nicely ok 11 - > in name is reported ok 12 - tag pointing to nonexistent ok 13 - tag pointing to something else than its type ok 14 - cleaned up ok 15 - rev-list --verify-objects ok 16 - rev-list --verify-objects with bad sha1 # passed all 16 test(s) 1..16 *** t1500-rev-parse.sh *** ok 1 - toplevel: is-bare-repository ok 2 - toplevel: is-inside-git-dir ok 3 - toplevel: is-inside-work-tree ok 4 - toplevel: prefix ok 5 - toplevel: git-dir ok 6 - .git/: is-bare-repository ok 7 - .git/: is-inside-git-dir ok 8 - .git/: is-inside-work-tree ok 9 - .git/: prefix ok 10 - .git/: git-dir ok 11 - .git/objects/: is-bare-repository ok 12 - .git/objects/: is-inside-git-dir ok 13 - .git/objects/: is-inside-work-tree ok 14 - .git/objects/: prefix ok 15 - .git/objects/: git-dir ok 16 - subdirectory: is-bare-repository ok 17 - subdirectory: is-inside-git-dir ok 18 - subdirectory: is-inside-work-tree ok 19 - subdirectory: prefix ok 20 - subdirectory: git-dir ok 21 - core.bare = true: is-bare-repository ok 22 - core.bare = true: is-inside-git-dir ok 23 - core.bare = true: is-inside-work-tree ok 24 - core.bare undefined: is-bare-repository ok 25 - core.bare undefined: is-inside-git-dir ok 26 - core.bare undefined: is-inside-work-tree ok 27 - GIT_DIR=../.git, core.bare = false: is-bare-repository ok 28 - GIT_DIR=../.git, core.bare = false: is-inside-git-dir ok 29 - GIT_DIR=../.git, core.bare = false: is-inside-work-tree ok 30 - GIT_DIR=../.git, core.bare = false: prefix ok 31 - GIT_DIR=../.git, core.bare = true: is-bare-repository ok 32 - GIT_DIR=../.git, core.bare = true: is-inside-git-dir ok 33 - GIT_DIR=../.git, core.bare = true: is-inside-work-tree ok 34 - GIT_DIR=../.git, core.bare = true: prefix ok 35 - GIT_DIR=../.git, core.bare undefined: is-bare-repository ok 36 - GIT_DIR=../.git, core.bare undefined: is-inside-git-dir ok 37 - GIT_DIR=../.git, core.bare undefined: is-inside-work-tree ok 38 - GIT_DIR=../.git, core.bare undefined: prefix ok 39 - GIT_DIR=../repo.git, core.bare = false: is-bare-repository ok 40 - GIT_DIR=../repo.git, core.bare = false: is-inside-git-dir ok 41 - GIT_DIR=../repo.git, core.bare = false: is-inside-work-tree ok 42 - GIT_DIR=../repo.git, core.bare = false: prefix ok 43 - GIT_DIR=../repo.git, core.bare = true: is-bare-repository ok 44 - GIT_DIR=../repo.git, core.bare = true: is-inside-git-dir ok 45 - GIT_DIR=../repo.git, core.bare = true: is-inside-work-tree ok 46 - GIT_DIR=../repo.git, core.bare = true: prefix ok 47 - GIT_DIR=../repo.git, core.bare undefined: is-bare-repository ok 48 - GIT_DIR=../repo.git, core.bare undefined: is-inside-git-dir ok 49 - GIT_DIR=../repo.git, core.bare undefined: is-inside-work-tree ok 50 - GIT_DIR=../repo.git, core.bare undefined: prefix # passed all 50 test(s) 1..50 *** t1501-worktree.sh *** ok 1 - setup ok 2 - setup: helper for testing rev-parse ok 3 - setup: core.worktree = relative path ok 4 - outside ok 5 - inside work tree ok 6 - empty prefix is actually written out ok 7 - subdir of work tree ok 8 - setup: core.worktree = absolute path ok 9 - outside ok 10 - inside work tree ok 11 - subdir of work tree ok 12 - setup: GIT_WORK_TREE=relative (override core.worktree) ok 13 - outside ok 14 - inside work tree ok 15 - subdir of work tree ok 16 - setup: GIT_WORK_TREE=absolute, below git dir ok 17 - outside ok 18 - in repo.git ok 19 - inside work tree ok 20 - subdir of work tree ok 21 - find work tree from repo ok 22 - find work tree from work tree ok 23 - _gently() groks relative GIT_DIR & GIT_WORK_TREE ok 24 - diff-index respects work tree under .git dir ok 25 - diff-files respects work tree under .git dir ok 26 - git diff respects work tree under .git dir ok 27 - git grep ok 28 - git commit ok 29 - absolute pathspec should fail gracefully ok 30 - make_relative_path handles double slashes in GIT_DIR ok 31 - relative $GIT_WORK_TREE and git subprocesses # passed all 31 test(s) 1..31 *** t1502-rev-parse-parseopt.sh *** ok 1 - test --parseopt help output ok 2 - test --parseopt ok 3 - test --parseopt with mixed options and arguments ok 4 - test --parseopt with -- ok 5 - test --parseopt --stop-at-non-option ok 6 - test --parseopt --keep-dashdash ok 7 - test --parseopt --keep-dashdash --stop-at-non-option with -- ok 8 - test --parseopt --keep-dashdash --stop-at-non-option without -- # passed all 8 test(s) 1..8 *** t1503-rev-parse-verify.sh *** ok 1 - set up basic repo with 1 file (hello) and 4 commits ok 2 - works with one good rev ok 3 - fails with any bad rev or many good revs ok 4 - fails silently when using -q ok 5 - no stdout output on error ok 6 - use --default ok 7 - master@{n} for various n # passed all 7 test(s) 1..7 *** t1504-ceiling-dirs.sh *** ok 1 - no_ceil ok 2 - ceil_empty ok 3 - ceil_at_parent ok 4 - ceil_at_parent_slash ok 5 - ceil_at_trash ok 6 - ceil_at_trash_slash ok 7 - ceil_at_sub ok 8 - ceil_at_sub_slash ok 9 - subdir_no_ceil ok 10 - subdir_ceil_empty ok 11 - subdir_ceil_at_trash: prefix ok 12 - subdir_ceil_at_trash_slash: prefix ok 13 - subdir_ceil_at_sub: prefix ok 14 - subdir_ceil_at_sub_slash: prefix ok 15 - subdir_ceil_at_subdir ok 16 - subdir_ceil_at_subdir_slash ok 17 - subdir_ceil_at_su ok 18 - subdir_ceil_at_su_slash ok 19 - subdir_ceil_at_sub_di ok 20 - subdir_ceil_at_sub_di_slash ok 21 - subdir_ceil_at_subdi ok 22 - subdir_ceil_at_subdi_slash ok 23 - second_of_two: prefix ok 24 - first_of_two: prefix ok 25 - second_of_three: prefix ok 26 - git_dir_specified ok 27 - sd_no_ceil ok 28 - sd_ceil_empty ok 29 - sd_ceil_at_trash: prefix ok 30 - sd_ceil_at_trash_slash: prefix ok 31 - sd_ceil_at_s: prefix ok 32 - sd_ceil_at_s_slash: prefix ok 33 - sd_ceil_at_sd ok 34 - sd_ceil_at_sd_slash ok 35 - sd_ceil_at_su ok 36 - sd_ceil_at_su_slash ok 37 - sd_ceil_at_s_di ok 38 - sd_ceil_at_s_di_slash ok 39 - sd_ceil_at_sdi ok 40 - sd_ceil_at_sdi_slash # passed all 40 test(s) 1..40 *** t1505-rev-parse-last.sh *** ok 1 - setup ok 2 - @{-1} works ok 3 - @{-1}~2 works ok 4 - @{-1}^2 works ok 5 - @{-1}@{1} works ok 6 - @{-2} works ok 7 - @{-3} fails # passed all 7 test(s) 1..7 *** t1506-rev-parse-diagnosis.sh *** ok 1 - set up basic repo ok 2 - correct file objects ok 3 - correct relative file objects (0) ok 4 - correct relative file objects (1) ok 5 - correct relative file objects (2) ok 6 - correct relative file objects (3) ok 7 - correct relative file objects (4) ok 8 - correct relative file objects (5) ok 9 - correct relative file objects (6) ok 10 - incorrect revision id ok 11 - incorrect file in sha1:path ok 12 - incorrect file in :path and :N:path ok 13 - invalid @{n} reference ok 14 - relative path not found ok 15 - relative path outside worktree ok 16 - relative path when cwd is outside worktree ok 17 - relative path when startup_info is NULL # passed all 17 test(s) 1..17 *** t1507-rev-parse-upstream.sh *** ok 1 - setup ok 2 - @{upstream} resolves to correct full name ok 3 - @{u} resolves to correct full name ok 4 - my-side@{upstream} resolves to correct full name ok 5 - my-side@{u} resolves to correct commit ok 6 - not-tracking@{u} fails ok 7 - @{u}@{1} resolves correctly ok 8 - @{u} without specifying branch fails on a detached HEAD ok 9 - checkout -b new my-side@{u} forks from the same ok 10 - merge my-side@{u} records the correct name ok 11 - branch -d other@{u} ok 12 - checkout other@{u} ok 13 - log -g other@{u} ok 14 - log -g other@{u}@{now} # passed all 14 test(s) 1..14 *** t1508-at-combinations.sh *** ok 1 - setup ok 2 - HEAD = new-two ok 3 - @{1} = new-one ok 4 - @{-1} = old-two ok 5 - @{-1}@{1} = old-one ok 6 - @{u} = upstream-two ok 7 - @{u}@{1} = upstream-one ok 8 - @{-1}@{u} = master-two ok 9 - @{-1}@{u}@{1} = master-one ok 10 - @{u}@{-1} is nonsensical ok 11 - @{1}@{u} is nonsensical # passed all 11 test(s) 1..11 *** t1509-root-worktree.sh *** # passed all 0 test(s) 1..0 # SKIP Dangerous test skipped. Read this test if you want to execute it *** t1510-repo-setup.sh *** ok 1 - #0: nonbare repo, no explicit configuration ok 2 - #1: GIT_WORK_TREE without explicit GIT_DIR is accepted ok 3 - #2: worktree defaults to cwd with explicit GIT_DIR ok 4 - #2b: relative GIT_DIR ok 5 - #3: setup ok 6 - #3: explicit GIT_WORK_TREE and GIT_DIR at toplevel ok 7 - #3: explicit GIT_WORK_TREE and GIT_DIR in subdir ok 8 - #3: explicit GIT_WORK_TREE from parent of worktree ok 9 - #3: explicit GIT_WORK_TREE from nephew of worktree ok 10 - #3: chdir_to_toplevel uses worktree, not git dir ok 11 - #3: chdir_to_toplevel uses worktree (from subdir) ok 12 - #4: core.worktree without GIT_DIR set is accepted ok 13 - #5: core.worktree + GIT_WORK_TREE is accepted ok 14 - #6: setting GIT_DIR brings core.worktree to life ok 15 - #6b: GIT_DIR set, core.worktree relative ok 16 - #6c: GIT_DIR set, core.worktree=../wt (absolute) ok 17 - #6d: GIT_DIR set, core.worktree=../wt (relative) ok 18 - #6e: GIT_DIR set, core.worktree=../.. (absolute) ok 19 - #6f: GIT_DIR set, core.worktree=../.. (relative) ok 20 - #7: setup ok 21 - #7: explicit GIT_WORK_TREE and GIT_DIR at toplevel ok 22 - #7: explicit GIT_WORK_TREE and GIT_DIR in subdir ok 23 - #7: explicit GIT_WORK_TREE from parent of worktree ok 24 - #7: explicit GIT_WORK_TREE from nephew of worktree ok 25 - #7: chdir_to_toplevel uses worktree, not git dir ok 26 - #7: chdir_to_toplevel uses worktree (from subdir) ok 27 - #8: gitfile, easy case ok 28 - #9: GIT_WORK_TREE accepted with gitfile ok 29 - #10: GIT_DIR can point to gitfile ok 30 - #10b: relative GIT_DIR can point to gitfile ok 31 - #11: setup ok 32 - #11: explicit GIT_WORK_TREE and GIT_DIR at toplevel ok 33 - #11: explicit GIT_WORK_TREE and GIT_DIR in subdir ok 34 - #11: explicit GIT_WORK_TREE from parent of worktree ok 35 - #11: explicit GIT_WORK_TREE from nephew of worktree ok 36 - #11: chdir_to_toplevel uses worktree, not git dir ok 37 - #11: chdir_to_toplevel uses worktree (from subdir) ok 38 - #12: core.worktree with gitfile is accepted ok 39 - #13: core.worktree+GIT_WORK_TREE accepted (with gitfile) ok 40 - #14: core.worktree with GIT_DIR pointing to gitfile ok 41 - #14b: core.worktree is relative to actual git dir ok 42 - #15: setup ok 43 - #15: explicit GIT_WORK_TREE and GIT_DIR at toplevel ok 44 - #15: explicit GIT_WORK_TREE and GIT_DIR in subdir ok 45 - #15: explicit GIT_WORK_TREE from parent of worktree ok 46 - #15: explicit GIT_WORK_TREE from nephew of worktree ok 47 - #15: chdir_to_toplevel uses worktree, not git dir ok 48 - #15: chdir_to_toplevel uses worktree (from subdir) ok 49 - #16a: implicitly bare repo (cwd inside .git dir) ok 50 - #16b: bare .git (cwd inside .git dir) ok 51 - #16c: bare .git has no worktree ok 52 - #17: GIT_WORK_TREE without explicit GIT_DIR is accepted (bare case) ok 53 - #18: bare .git named by GIT_DIR has no worktree ok 54 - #19: setup ok 55 - #19: explicit GIT_WORK_TREE and GIT_DIR at toplevel ok 56 - #19: explicit GIT_WORK_TREE and GIT_DIR in subdir ok 57 - #19: explicit GIT_WORK_TREE from parent of worktree ok 58 - #19: explicit GIT_WORK_TREE from nephew of worktree ok 59 - #19: chdir_to_toplevel uses worktree, not git dir ok 60 - #19: chdir_to_toplevel uses worktree (from subdir) ok 61 - #20a: core.worktree without GIT_DIR accepted (inside .git) ok 62 - #20b/c: core.worktree and core.bare conflict ok 63 - #21: setup, core.worktree warns before overriding core.bare ok 64 - #21: explicit GIT_WORK_TREE and GIT_DIR at toplevel ok 65 - #21: explicit GIT_WORK_TREE and GIT_DIR in subdir ok 66 - #21: explicit GIT_WORK_TREE from parent of worktree ok 67 - #21: explicit GIT_WORK_TREE from nephew of worktree ok 68 - #21: chdir_to_toplevel uses worktree, not git dir ok 69 - #21: chdir_to_toplevel uses worktree (from subdir) ok 70 - #22a: core.worktree = GIT_DIR = .git dir ok 71 - #22b: core.worktree child of .git, GIT_DIR=.git ok 72 - #22c: core.worktree = .git/.., GIT_DIR=.git ok 73 - #22.2: core.worktree and core.bare conflict ok 74 - #23: setup ok 75 - #23: explicit GIT_WORK_TREE and GIT_DIR at toplevel ok 76 - #23: explicit GIT_WORK_TREE and GIT_DIR in subdir ok 77 - #23: explicit GIT_WORK_TREE from parent of worktree ok 78 - #23: explicit GIT_WORK_TREE from nephew of worktree ok 79 - #23: chdir_to_toplevel uses worktree, not git dir ok 80 - #23: chdir_to_toplevel uses worktree (from subdir) ok 81 - #24: bare repo has no worktree (gitfile case) ok 82 - #25: GIT_WORK_TREE accepted if GIT_DIR unset (bare gitfile case) ok 83 - #26: bare repo has no worktree (GIT_DIR -> gitfile case) ok 84 - #27: setup ok 85 - #27: explicit GIT_WORK_TREE and GIT_DIR at toplevel ok 86 - #27: explicit GIT_WORK_TREE and GIT_DIR in subdir ok 87 - #27: explicit GIT_WORK_TREE from parent of worktree ok 88 - #27: explicit GIT_WORK_TREE from nephew of worktree ok 89 - #27: chdir_to_toplevel uses worktree, not git dir ok 90 - #27: chdir_to_toplevel uses worktree (from subdir) ok 91 - #28: core.worktree and core.bare conflict (gitfile case) ok 92 - #29: setup ok 93 - #29: explicit GIT_WORK_TREE and GIT_DIR at toplevel ok 94 - #29: explicit GIT_WORK_TREE and GIT_DIR in subdir ok 95 - #29: explicit GIT_WORK_TREE from parent of worktree ok 96 - #29: explicit GIT_WORK_TREE from nephew of worktree ok 97 - #29: chdir_to_toplevel uses worktree, not git dir ok 98 - #29: chdir_to_toplevel uses worktree (from subdir) ok 99 - #30: core.worktree and core.bare conflict (gitfile version) ok 100 - #31: setup ok 101 - #31: explicit GIT_WORK_TREE and GIT_DIR at toplevel ok 102 - #31: explicit GIT_WORK_TREE and GIT_DIR in subdir ok 103 - #31: explicit GIT_WORK_TREE from parent of worktree ok 104 - #31: explicit GIT_WORK_TREE from nephew of worktree ok 105 - #31: chdir_to_toplevel uses worktree, not git dir ok 106 - #31: chdir_to_toplevel uses worktree (from subdir) # passed all 106 test(s) 1..106 *** t1511-rev-parse-caret.sh *** ok 1 - setup ok 2 - ref^{non-existent} ok 3 - ref^{} ok 4 - ref^{commit} ok 5 - ref^{tree} ok 6 - ref^{/.} ok 7 - ref^{/non-existent} ok 8 - ref^{/Initial} # passed all 8 test(s) 1..8 *** t2000-checkout-cache-clash.sh *** ok 1 - git update-index --add various paths. ok 2 - git checkout-index without -f should fail on conflicting work tree. ok 3 - git checkout-index with -f should succeed. ok 4 - git checkout-index conflicting paths. ok 5 - checkout-index -f twice with --prefix # passed all 5 test(s) 1..5 *** t2001-checkout-cache-clash.sh *** ok 1 - git update-index --add path0/file0 ok 2 - writing tree out with git write-tree ok 3 - git update-index --add path1/file1 ok 4 - writing tree out with git write-tree ok 5 - read previously written tree and checkout. ok 6 - git update-index --add a symlink. ok 7 - writing tree out with git write-tree ok 8 - read previously written tree and checkout. ok 9 - checking out conflicting path with -f # passed all 9 test(s) 1..9 *** t2002-checkout-cache-u.sh *** ok 1 - preparation ok 2 - without -u, git checkout-index smudges stat information. ok 3 - with -u, git checkout-index picks up stat information from new files. # passed all 3 test(s) 1..3 *** t2003-checkout-cache-mkdir.sh *** ok 1 - setup ok 2 - have symlink in place where dir is expected. ok 3 - use --prefix=path2/ ok 4 - use --prefix=tmp- ok 5 - use --prefix=tmp- but with a conflicting file and dir ok 6 - use --prefix=tmp/orary/ where tmp is a symlink ok 7 - use --prefix=tmp/orary- where tmp is a symlink ok 8 - use --prefix=tmp- where tmp-path1 is a symlink # passed all 8 test(s) 1..8 *** t2004-checkout-cache-temp.sh *** ok 1 - preparation ok 2 - checkout one stage 0 to temporary file ok 3 - checkout all stage 0 to temporary files ok 4 - prepare 3-way merge ok 5 - checkout one stage 2 to temporary file ok 6 - checkout all stage 2 to temporary files ok 7 - checkout all stages/one file to nothing ok 8 - checkout all stages/one file to temporary files ok 9 - checkout some stages/one file to temporary files ok 10 - checkout all stages/all files to temporary files ok 11 - -- path0: no entry ok 12 - -- path1: all 3 stages ok 13 - -- path2: no stage 1, have stage 2 and 3 ok 14 - -- path3: no stage 2, have stage 1 and 3 ok 15 - -- path4: no stage 3, have stage 1 and 3 ok 16 - -- asubdir/path5: no stage 2 and 3 have stage 1 ok 17 - checkout --temp within subdir ok 18 - checkout --temp symlink # passed all 18 test(s) 1..18 *** t2005-checkout-index-symlinks.sh *** ok 1 - preparation ok 2 - the checked-out symlink must be a file ok 3 - the file must be the blob we added during the setup # passed all 3 test(s) 1..3 *** t2006-checkout-index-basic.sh *** ok 1 - checkout-index --gobbledegook ok 2 - checkout-index -h in broken repository # passed all 2 test(s) 1..2 *** t2007-checkout-symlink.sh *** ok 1 - setup ok 2 - switch from symlink to dir ok 3 - Remove temporary directories & switch to master ok 4 - switch from dir to symlink # passed all 4 test(s) 1..4 *** t2008-checkout-subdir.sh *** ok 1 - setup ok 2 - remove and restore with relative path ok 3 - checkout with empty prefix ok 4 - checkout with simple prefix ok 5 - relative path outside tree should fail ok 6 - incorrect relative path to file should fail (1) ok 7 - incorrect relative path should fail (2) ok 8 - incorrect relative path should fail (3) # passed all 8 test(s) 1..8 *** t2009-checkout-statinfo.sh *** ok 1 - setup ok 2 - branch switching ok 3 - path checkout # passed all 3 test(s) 1..3 *** t2010-checkout-ambiguous.sh *** ok 1 - setup ok 2 - reference must be a tree ok 3 - branch switching ok 4 - checkout world from the index ok 5 - non ambiguous call ok 6 - allow the most common case ok 7 - check ambiguity ok 8 - disambiguate checking out from a tree-ish # passed all 8 test(s) 1..8 *** t2011-checkout-invalid-head.sh *** ok 1 - setup ok 2 - checkout should not start branch from a tree ok 3 - checkout master from invalid HEAD # passed all 3 test(s) 1..3 *** t2012-checkout-last.sh *** ok 1 - setup ok 2 - "checkout -" does not work initially ok 3 - first branch switch ok 4 - "checkout -" switches back ok 5 - "checkout -" switches forth ok 6 - detach HEAD ok 7 - "checkout -" attaches again ok 8 - "checkout -" detaches again ok 9 - more switches ok 10 - switch to the last ok 11 - switch to second from the last ok 12 - switch to third from the last ok 13 - switch to fourth from the last ok 14 - switch to twelfth from the last ok 15 - merge base test setup ok 16 - another...master ok 17 - ...master ok 18 - master... # passed all 18 test(s) 1..18 *** t2013-checkout-submodule.sh *** ok 1 - setup ok 2 - "reset " updates the index ok 3 - "checkout " updates the index only ok 4 - "checkout " honors diff.ignoreSubmodules ok 5 - "checkout " honors submodule.*.ignore from .gitmodules ok 6 - "checkout " honors submodule.*.ignore from .git/config # passed all 6 test(s) 1..6 *** t2014-switch.sh *** ok 1 - setup ok 2 - check all changes are staged ok 3 - second commit ok 4 - check # passed all 4 test(s) 1..4 *** t2015-checkout-unborn.sh *** ok 1 - setup ok 2 - checkout from unborn preserves untracked files ok 3 - checkout from unborn preserves index contents ok 4 - checkout from unborn merges identical index contents ok 5 - checking out another branch from unborn state ok 6 - checking out in a newly created repo # passed all 6 test(s) 1..6 *** t2016-checkout-patch.sh *** ok 1 - setup ok 2 - saying "n" does nothing ok 3 - git checkout -p ok 4 - git checkout -p with staged changes ok 5 - git checkout -p HEAD with NO staged changes: abort ok 6 - git checkout -p HEAD with NO staged changes: apply ok 7 - git checkout -p HEAD with change already staged ok 8 - git checkout -p HEAD^ ok 9 - git checkout -p handles deletion ok 10 - path limiting works: dir ok 11 - path limiting works: -- dir ok 12 - path limiting works: HEAD^ -- dir ok 13 - path limiting works: foo inside dir ok 14 - none of this moved HEAD # passed all 14 test(s) 1..14 *** t2017-checkout-orphan.sh *** ok 1 - Setup ok 2 - --orphan creates a new orphan branch from HEAD ok 3 - --orphan creates a new orphan branch from ok 4 - --orphan must be rejected with -b ok 5 - --orphan must be rejected with -t ok 6 - --orphan ignores branch.autosetupmerge ok 7 - --orphan makes reflog by default ok 8 - --orphan does not make reflog when core.logAllRefUpdates = false ok 9 - --orphan with -l makes reflog when core.logAllRefUpdates = false ok 10 - giving up --orphan not committed when -l and core.logAllRefUpdates = false deletes reflog ok 11 - --orphan is rejected with an existing name ok 12 - --orphan refuses to switch if a merge is needed # passed all 12 test(s) 1..12 *** t2018-checkout-branch.sh *** ok 1 - setup ok 2 - checkout -b to a new branch, set to HEAD ok 3 - checkout -b to a new branch, set to an explicit ref ok 4 - checkout -b to a new branch with unmergeable changes fails ok 5 - checkout -f -b to a new branch with unmergeable changes discards changes ok 6 - checkout -b to a new branch preserves mergeable changes ok 7 - checkout -f -b to a new branch with mergeable changes discards changes ok 8 - checkout -b to an existing branch fails ok 9 - checkout -b to @{-1} fails with the right branch name ok 10 - checkout -B to an existing branch resets branch to HEAD ok 11 - checkout -B to an existing branch from detached HEAD resets branch to HEAD ok 12 - checkout -B to an existing branch with an explicit ref resets branch to that ref ok 13 - checkout -B to an existing branch with unmergeable changes fails ok 14 - checkout -f -B to an existing branch with unmergeable changes discards changes ok 15 - checkout -B to an existing branch preserves mergeable changes ok 16 - checkout -f -B to an existing branch with mergeable changes discards changes ok 17 - checkout -b ok 18 - checkout -B to the current branch works # passed all 18 test(s) 1..18 *** t2019-checkout-ambiguous-ref.sh *** ok 1 - setup ambiguous refs ok 2 - checkout ambiguous ref succeeds ok 3 - checkout produces ambiguity warning ok 4 - checkout chooses branch over tag ok 5 - checkout reports switch to branch ok 6 - checkout vague ref succeeds ok 7 - checkout produces ambiguity warning ok 8 - checkout chooses branch over tag ok 9 - checkout reports switch to branch # passed all 9 test(s) 1..9 *** t2020-checkout-detach.sh *** ok 1 - setup ok 2 - checkout branch does not detach ok 3 - checkout tag detaches ok 4 - checkout branch by full name detaches ok 5 - checkout non-ref detaches ok 6 - checkout ref^0 detaches ok 7 - checkout --detach detaches ok 8 - checkout --detach without branch name ok 9 - checkout --detach errors out for non-commit ok 10 - checkout --detach errors out for extra argument ok 11 - checkout --detached and -b are incompatible ok 12 - checkout --detach moves HEAD ok 13 - checkout warns on orphan commits ok 14 - checkout warns on orphan commits: output ok 15 - checkout warns orphaning 1 of 2 commits ok 16 - checkout warns orphaning 1 of 2 commits: output ok 17 - checkout does not warn leaving ref tip ok 18 - checkout does not warn leaving ref tip ok 19 - checkout does not warn leaving reachable commit ok 20 - checkout does not warn leaving reachable commit ok 21 - tracking count is accurate after orphan check # passed all 21 test(s) 1..21 *** t2021-checkout-overwrite.sh *** ok 1 - setup ok 2 - create a commit where dir a/b changed to file ok 3 - checkout commit with dir must not remove untracked a/b ok 4 - create a commit where dir a/b changed to symlink ok 5 - checkout commit with dir must not remove untracked a/b # passed all 5 test(s) 1..5 *** t2022-checkout-paths.sh *** ok 1 - setup ok 2 - checking out paths out of a tree does not clobber unrelated paths # passed all 2 test(s) 1..2 *** t2023-checkout-m.sh *** ok 1 - setup ok 2 - git merge master ok 3 - -m restores 2-way conflicted+resolved file ok 4 - -m restores 3-way conflicted+resolved file # passed all 4 test(s) 1..4 *** t2030-unresolve-info.sh *** ok 1 - setup ok 2 - add records switch clears ok 3 - rm records reset clears ok 4 - plumbing clears ok 5 - add records checkout -m undoes ok 6 - unmerge with plumbing ok 7 - rerere and rerere forget ok 8 - rerere and rerere forget (subdirectory) # passed all 8 test(s) 1..8 *** t2050-git-dir-relative.sh *** ok 1 - Setting up post-commit hook ok 2 - post-commit hook used ordinarily ok 3 - post-commit-hook created and used from top dir ok 4 - post-commit-hook from sub dir # passed all 4 test(s) 1..4 *** t2100-update-cache-badpath.sh *** ok 1 - git update-index --add to add various paths. ok 2 - git update-index to add conflicting path path0/file0 should fail. ok 3 - git update-index to add conflicting path path1/file1 should fail. ok 4 - git update-index to add conflicting path path2 should fail. ok 5 - git update-index to add conflicting path path3 should fail. # passed all 5 test(s) 1..5 *** t2101-update-index-reupdate.sh *** ok 1 - update-index --add ok 2 - update-index --again ok 3 - update-index --remove --again ok 4 - first commit ok 5 - update-index again ok 6 - update-index --update from subdir ok 7 - update-index --update with pathspec # passed all 7 test(s) 1..7 *** t2102-update-index-symlinks.sh *** ok 1 - preparation ok 2 - modify the symbolic link ok 3 - the index entry must still be a symbolic link # passed all 3 test(s) 1..3 *** t2103-update-index-ignore-missing.sh *** ok 1 - basics ok 2 - --ignore-missing --refresh ok 3 - --unmerged --refresh ok 4 - --ignore-submodules --refresh (1) ok 5 - --ignore-submodules --refresh (2) # passed all 5 test(s) 1..5 *** t2104-update-index-skip-worktree.sh *** ok 1 - setup ok 2 - index is at version 2 ok 3 - update-index --skip-worktree ok 4 - index is at version 3 after having some skip-worktree entries ok 5 - ls-files -t ok 6 - update-index --no-skip-worktree ok 7 - index version is back to 2 when there is no skip-worktree entry # passed all 7 test(s) 1..7 *** t2105-update-index-gitfile.sh *** ok 1 - submodule with absolute .git file ok 2 - add gitlink to absolute .git file ok 3 - submodule with relative .git file ok 4 - add gitlink to relative .git file # passed all 4 test(s) 1..4 *** t2106-update-index-assume-unchanged.sh *** ok 1 - setup ok 2 - do not switch branches with dirty file # passed all 2 test(s) 1..2 *** t2107-update-index-basic.sh *** ok 1 - update-index --nonsense fails ok 2 - update-index --nonsense dumps usage ok 3 - update-index -h with corrupt index # passed all 3 test(s) 1..3 *** t2200-add-update.sh *** ok 1 - setup ok 2 - update ok 3 - update noticed a removal ok 4 - update touched correct path ok 5 - update did not touch other tracked files ok 6 - update did not touch untracked files ok 7 - cache tree has not been corrupted ok 8 - update from a subdirectory ok 9 - change gets noticed ok 10 - replace a file with a symlink ok 11 - add everything changed ok 12 - touch and then add -u ok 13 - touch and then add explicitly ok 14 - add -n -u should not add but just report ok 15 - add -u resolves unmerged paths ok 16 - "add -u non-existent" should fail # passed all 16 test(s) 1..16 *** t2201-add-update-typechange.sh *** ok 1 - setup ok 2 - modify ok 3 - diff-files ok 4 - diff-index ok 5 - add -u ok 6 - commit -a # passed all 6 test(s) 1..6 *** t2202-add-addremove.sh *** ok 1 - setup ok 2 - git add --all # passed all 2 test(s) 1..2 *** t2203-add-intent.sh *** ok 1 - intent to add ok 2 - check result of "add -N" ok 3 - intent to add is just an ordinary empty blob ok 4 - intent to add does not clobber existing paths ok 5 - i-t-a entry is simply ignored ok 6 - can commit with an unrelated i-t-a entry in index ok 7 - can "commit -a" with an i-t-a entry # passed all 7 test(s) 1..7 *** t2204-add-ignored.sh *** ok 1 - setup ok 2 - no complaints for unignored file ok 3 - no complaints for unignored dir/file ok 4 - no complaints for unignored dir ok 5 - no complaints for unignored d* ok 6 - complaints for ignored ign ok 7 - complaints for ignored ign output ok 8 - complaints for ignored ign with unignored file ok 9 - complaints for ignored ign with unignored file output ok 10 - complaints for ignored dir/ign ok 11 - complaints for ignored dir/ign output ok 12 - complaints for ignored dir/ign with unignored file ok 13 - complaints for ignored dir/ign with unignored file output ok 14 - complaints for ignored dir/sub ok 15 - complaints for ignored dir/sub output ok 16 - complaints for ignored dir/sub with unignored file ok 17 - complaints for ignored dir/sub with unignored file output ok 18 - complaints for ignored dir/sub/ign ok 19 - complaints for ignored dir/sub/ign output ok 20 - complaints for ignored dir/sub/ign with unignored file ok 21 - complaints for ignored dir/sub/ign with unignored file output ok 22 - complaints for ignored sub/file ok 23 - complaints for ignored sub/file output ok 24 - complaints for ignored sub/file with unignored file ok 25 - complaints for ignored sub/file with unignored file output ok 26 - complaints for ignored sub ok 27 - complaints for ignored sub output ok 28 - complaints for ignored sub with unignored file ok 29 - complaints for ignored sub with unignored file output ok 30 - complaints for ignored sub/file ok 31 - complaints for ignored sub/file output ok 32 - complaints for ignored sub/file with unignored file ok 33 - complaints for ignored sub/file with unignored file output ok 34 - complaints for ignored sub/ign ok 35 - complaints for ignored sub/ign output ok 36 - complaints for ignored sub/ign with unignored file ok 37 - complaints for ignored sub/ign with unignored file output ok 38 - complaints for ignored sub in dir ok 39 - complaints for ignored sub in dir output ok 40 - complaints for ignored sub/file in dir ok 41 - complaints for ignored sub/file in dir output ok 42 - complaints for ignored sub/ign in dir ok 43 - complaints for ignored sub/ign in dir output ok 44 - complaints for ignored ign in sub ok 45 - complaints for ignored ign in sub output ok 46 - complaints for ignored file in sub ok 47 - complaints for ignored file in sub output # passed all 47 test(s) 1..47 *** t2300-cd-to-toplevel.sh *** ok 1 - at physical root ok 2 - at physical subdir ok 3 - at symbolic root ok 4 - at symbolic subdir ok 5 - at internal symbolic subdir # passed all 5 test(s) 1..5 *** t3000-ls-files-others.sh *** ok 1 - setup ok 2 - setup: expected output ok 3 - ls-files --others ok 4 - ls-files --others --directory ok 5 - --no-empty-directory hides empty directory ok 6 - ls-files --others with symlinked submodule # passed all 6 test(s) 1..6 *** t3001-ls-files-others-exclude.sh *** ok 1 - git ls-files --others with various exclude options. ok 2 - git ls-files --others with line endings. ok 3 - setup skip-worktree gitignore ok 4 - git ls-files --others with various exclude options. ok 5 - restore gitignore ok 6 - git status honors core.excludesfile ok 7 - trailing slash in exclude allows directory match(1) ok 8 - trailing slash in exclude allows directory match (2) ok 9 - trailing slash in exclude forces directory match (1) ok 10 - trailing slash in exclude forces directory match (2) ok 11 - negated exclude matches can override previous ones ok 12 - subdirectory ignore (setup) ok 13 - subdirectory ignore (toplevel) ok 14 - subdirectory ignore (l1/l2) ok 15 - subdirectory ignore (l1) # passed all 15 test(s) 1..15 *** t3002-ls-files-dashpath.sh *** ok 1 - setup ok 2 - git ls-files without path restriction. ok 3 - git ls-files with path restriction. ok 4 - git ls-files with path restriction with --. ok 5 - git ls-files with path restriction with -- --. ok 6 - git ls-files with no path restriction. # passed all 6 test(s) 1..6 *** t3003-ls-files-exclude.sh *** ok 1 - create repo with file ok 2 - ls-files output contains file (cached) ok 3 - ls-files output contains file (modified) ok 4 - add file to gitignore ok 5 - ls-files output contains file (cached) ok 6 - ls-files output contains file (modified) ok 7 - ls-files -i lists only tracked-but-ignored files # passed all 7 test(s) 1..7 *** t3004-ls-files-basic.sh *** ok 1 - ls-files in empty repository ok 2 - ls-files with nonexistent path ok 3 - ls-files with nonsense option ok 4 - ls-files -h in corrupt repository # passed all 4 test(s) 1..4 *** t3005-ls-files-relative.sh *** ok 1 - prepare ok 2 - ls-files with mixed levels ok 3 - ls-files -c ok 4 - ls-files -o # passed all 4 test(s) 1..4 *** t3010-ls-files-killed-modified.sh *** ok 1 - git update-index --add to add various paths. ok 2 - git ls-files -k to show killed files. ok 3 - validate git ls-files -k output. ok 4 - git ls-files -m to show modified files. ok 5 - validate git ls-files -m output. # passed all 5 test(s) 1..5 *** t3020-ls-files-error-unmatch.sh *** ok 1 - setup ok 2 - git ls-files --error-unmatch should fail with unmatched path. ok 3 - git ls-files --error-unmatch should succeed eith matched paths. # passed all 3 test(s) 1..3 *** t3030-merge-recursive.sh *** ok 1 - setup 1 ok 2 - setup 2 ok 3 - setup 3 ok 4 - setup 4 ok 5 - setup 5 ok 6 - setup 6 ok 7 - setup 7 ok 8 - setup 8 ok 9 - setup 9 ok 10 - merge-recursive simple ok 11 - merge-recursive result ok 12 - fail if the index has unresolved entries ok 13 - merge-recursive remove conflict ok 14 - merge-recursive remove conflict ok 15 - merge-recursive d/f simple ok 16 - merge-recursive result ok 17 - merge-recursive d/f conflict ok 18 - merge-recursive d/f conflict result ok 19 - merge-recursive d/f conflict the other way ok 20 - merge-recursive d/f conflict result the other way ok 21 - merge-recursive d/f conflict ok 22 - merge-recursive d/f conflict result ok 23 - merge-recursive d/f conflict ok 24 - merge-recursive d/f conflict result ok 25 - reset and 3-way merge ok 26 - reset and bind merge ok 27 - merge removes empty directories not ok 28 - merge-recursive simple w/submodule # TODO known breakage not ok 29 - merge-recursive simple w/submodule result # TODO known breakage ok 30 - merge-recursive copy vs. rename not ok 31 - merge-recursive rename vs. rename/symlink # TODO known breakage # still have 3 known breakage(s) # passed all remaining 28 test(s) 1..31 *** t3031-merge-criscross.sh *** ok 1 - setup repo with criss-cross history ok 2 - recursive merge between F and G, causes segfault # passed all 2 test(s) 1..2 *** t3032-merge-recursive-options.sh *** ok 1 - setup ok 2 - naive merge fails ok 3 - --ignore-space-change makes merge succeed ok 4 - naive cherry-pick fails ok 5 - -Xignore-space-change makes cherry-pick succeed ok 6 - --ignore-space-change: our w/s-only change wins ok 7 - --ignore-space-change: their real change wins over w/s ok 8 - --ignore-space-change: does not ignore new spaces ok 9 - --ignore-all-space drops their new spaces ok 10 - --ignore-all-space keeps our new spaces ok 11 - --ignore-space-at-eol # passed all 11 test(s) 1..11 *** t3040-subprojects-basic.sh *** ok 1 - setup: create superproject ok 2 - setup: create subprojects ok 3 - check if fsck ignores the subprojects ok 4 - check if commit in a subproject detected ok 5 - check if a changed subproject HEAD can be committed ok 6 - check if diff-index works for subproject elements ok 7 - check if diff-tree works for subproject elements ok 8 - check if git diff works for subproject elements ok 9 - check if clone works ok 10 - removing and adding subproject ok 11 - checkout in superproject # passed all 11 test(s) 1..11 *** t3050-subprojects-fetch.sh *** ok 1 - setup ok 2 - clone ok 3 - advance ok 4 - fetch # passed all 4 test(s) 1..4 *** t3060-ls-files-with-tree.sh *** ok 1 - setup ok 2 - git -ls-files --with-tree should succeed from subdir ok 3 - git -ls-files --with-tree should add entries from named tree. # passed all 3 test(s) 1..3 *** t3100-ls-tree-restrict.sh *** ok 1 - setup ok 2 - ls-tree plain ok 3 - ls-tree recursive ok 4 - ls-tree recursive with -t ok 5 - ls-tree recursive with -d ok 6 - ls-tree filtered with path ok 7 - ls-tree filtered with path1 path0 ok 8 - ls-tree filtered with path0/ ok 9 - ls-tree filtered with path2 ok 10 - ls-tree filtered with path2/ ok 11 - ls-tree filtered with path2/baz ok 12 - ls-tree filtered with path2/bak ok 13 - ls-tree -t filtered with path2/bak ok 14 - ls-tree with one path a prefix of the other # passed all 14 test(s) 1..14 *** t3101-ls-tree-dirname.sh *** ok 1 - setup ok 2 - ls-tree plain ok 3 - ls-tree recursive ok 4 - ls-tree filter 1.txt ok 5 - ls-tree filter path1/b/c/1.txt ok 6 - ls-tree filter all 1.txt files ok 7 - ls-tree filter directories ok 8 - ls-tree filter odd names ok 9 - ls-tree filter missing files and extra slashes ok 10 - ls-tree filter is leading path match ok 11 - ls-tree --full-name ok 12 - ls-tree --full-tree ok 13 - ls-tree --full-tree -r ok 14 - ls-tree --abbrev=5 ok 15 - ls-tree --name-only ok 16 - ls-tree --name-only -r # passed all 16 test(s) 1..16 *** t3102-ls-tree-wildcards.sh *** ok 1 - setup ok 2 - ls-tree a[a] matches literally # passed all 2 test(s) 1..2 *** t3103-ls-tree-misc.sh *** ok 1 - setup ok 2 - ls-tree fails with non-zero exit code on broken tree # passed all 2 test(s) 1..2 *** t3200-branch.sh *** ok 1 - prepare a trivial repository ok 2 - git branch --help should not have created a bogus branch ok 3 - branch -h in broken repository ok 4 - git branch abc should create a branch ok 5 - git branch a/b/c should create a branch ok 6 - git branch -l d/e/f should create a branch and a log ok 7 - git branch -d d/e/f should delete a branch and a log ok 8 - git branch j/k should work after branch j has been deleted ok 9 - git branch l should work after branch l/m has been deleted ok 10 - git branch -m dumps usage ok 11 - git branch -m m m/m should work ok 12 - git branch -m n/n n should work ok 13 - git branch -m o/o o should fail when o/p exists ok 14 - git branch -m q r/q should fail when r exists ok 15 - git branch -M foo bar should fail when bar is checked out ok 16 - git branch -M baz bam should succeed when baz is checked out ok 17 - git branch -M master should work when master is checked out ok 18 - git branch -M master master should work when master is checked out ok 19 - git branch -M master2 master2 should work when master is checked out ok 20 - git branch -v -d t should work ok 21 - git branch -v -m t s should work ok 22 - git branch -m -d t s should fail ok 23 - git branch --list -d t should fail ok 24 - git branch -m q q2 without config should succeed ok 25 - git branch -m s/s s should work when s/t is deleted ok 26 - config information was renamed, too ok 27 - renaming a symref is not allowed ok 28 - git branch -m u v should fail when the reflog for u is a symlink ok 29 - test tracking setup via --track ok 30 - test tracking setup (non-wildcard, matching) ok 31 - test tracking setup (non-wildcard, not matching) ok 32 - test tracking setup via config ok 33 - test overriding tracking setup via --no-track ok 34 - no tracking without .fetch entries ok 35 - test tracking setup via --track but deeper ok 36 - test deleting branch deletes branch config ok 37 - test deleting branch without config ok 38 - test --track without .fetch entries ok 39 - branch from non-branch HEAD w/autosetupmerge=always ok 40 - branch from non-branch HEAD w/--track causes failure ok 41 - branch from tag w/--track causes failure ok 42 - git checkout -b g/h/i -l should create a branch and a log ok 43 - checkout -b makes reflog by default ok 44 - checkout -b does not make reflog when core.logAllRefUpdates = false ok 45 - checkout -b with -l makes reflog when core.logAllRefUpdates = false ok 46 - avoid ambiguous track ok 47 - autosetuprebase local on a tracked local branch ok 48 - autosetuprebase always on a tracked local branch ok 49 - autosetuprebase remote on a tracked local branch ok 50 - autosetuprebase never on a tracked local branch ok 51 - autosetuprebase local on a tracked remote branch ok 52 - autosetuprebase never on a tracked remote branch ok 53 - autosetuprebase remote on a tracked remote branch ok 54 - autosetuprebase always on a tracked remote branch ok 55 - autosetuprebase unconfigured on a tracked remote branch ok 56 - autosetuprebase unconfigured on a tracked local branch ok 57 - autosetuprebase unconfigured on untracked local branch ok 58 - autosetuprebase unconfigured on untracked remote branch ok 59 - autosetuprebase never on an untracked local branch ok 60 - autosetuprebase local on an untracked local branch ok 61 - autosetuprebase remote on an untracked local branch ok 62 - autosetuprebase always on an untracked local branch ok 63 - autosetuprebase never on an untracked remote branch ok 64 - autosetuprebase local on an untracked remote branch ok 65 - autosetuprebase remote on an untracked remote branch ok 66 - autosetuprebase always on an untracked remote branch ok 67 - autosetuprebase always on detached HEAD ok 68 - detect misconfigured autosetuprebase (bad value) ok 69 - detect misconfigured autosetuprebase (no value) ok 70 - attempt to delete a branch without base and unmerged to HEAD ok 71 - attempt to delete a branch merged to its base ok 72 - attempt to delete a branch merged to its base ok 73 - use set-upstream on the current branch ok 74 - use --edit-description ok 75 - detect typo in branch name when using --edit-description ok 76 - refuse --edit-description on unborn branch for now ok 77 - --merged catches invalid object names # passed all 77 test(s) 1..77 *** t3201-branch-contains.sh *** ok 1 - setup ok 2 - branch --contains=master ok 3 - branch --contains master ok 4 - branch --contains=side ok 5 - side: branch --merged ok 6 - side: branch --no-merged ok 7 - master: branch --merged ok 8 - master: branch --no-merged # passed all 8 test(s) 1..8 *** t3202-show-branch-octopus.sh *** ok 1 - setup ok 2 - show-branch with more than 8 branches ok 3 - show-branch with showbranch.default # passed all 3 test(s) 1..3 *** t3203-branch-output.sh *** ok 1 - make commits ok 2 - make branches ok 3 - make remote branches ok 4 - git branch shows local branches ok 5 - git branch --list shows local branches ok 6 - git branch --list pattern shows matching local branches ok 7 - git branch -r shows remote branches ok 8 - git branch -a shows local and remote branches ok 9 - git branch -v shows branch summaries ok 10 - git branch --list -v pattern shows branch summaries ok 11 - git branch -v pattern does not show branch summaries ok 12 - git branch shows detached HEAD properly # passed all 12 test(s) 1..12 *** t3210-pack-refs.sh *** ok 1 - prepare a trivial repository ok 2 - see if git show-ref works as expected ok 3 - see if a branch still exists when packed ok 4 - git branch c/d should barf if branch c exists ok 5 - see if a branch still exists after git pack-refs --prune ok 6 - see if git pack-refs --prune remove ref files ok 7 - see if git pack-refs --prune removes empty dirs ok 8 - git branch g should work when git branch g/h has been deleted ok 9 - git branch i/j/k should barf if branch i exists ok 10 - test git branch k after branch k/l/m and k/lm have been deleted ok 11 - test git branch n after some branch deletion and pruning ok 12 - see if up-to-date packed refs are preserved ok 13 - pack, prune and repack # passed all 13 test(s) 1..13 *** t3300-funny-names.sh *** ok 1 - setup expect ok 2 - git ls-files no-funny ok 3 - setup expect ok 4 - git ls-files with-funny ok 5 - setup expect ok 6 - git ls-files -z with-funny ok 7 - setup expect ok 8 - git ls-tree with funny ok 9 - setup expect ok 10 - git diff-index with-funny ok 11 - git diff-tree with-funny ok 12 - setup expect ok 13 - git diff-index -z with-funny ok 14 - git diff-tree -z with-funny ok 15 - setup expect ok 16 - git diff-tree -C with-funny ok 17 - setup expect ok 18 - git diff-tree delete with-funny ok 19 - setup expect ok 20 - git diff-tree delete with-funny ok 21 - setup expect ok 22 - git diff-tree delete with-funny ok 23 - setup expect ok 24 - git diff-tree rename with-funny applied ok 25 - setup expect ok 26 - git diff-tree delete with-funny applied ok 27 - git apply non-git diff # passed all 27 test(s) 1..27 *** t3301-notes.sh *** ok 1 - cannot annotate non-existing HEAD ok 2 - setup ok 3 - need valid notes ref ok 4 - refusing to add notes in refs/heads/ ok 5 - refusing to edit notes in refs/remotes/ ok 6 - handle empty notes gracefully ok 7 - show non-existent notes entry with %N ok 8 - create notes ok 9 - show notes entry with %N ok 10 - create reflog entry ok 11 - edit existing notes ok 12 - cannot "git notes add -m" where notes already exists ok 13 - can overwrite existing note with "git notes add -f -m" ok 14 - add w/no options on existing note morphs into edit ok 15 - can overwrite existing note with "git notes add -f" ok 16 - show notes ok 17 - create multi-line notes (setup) ok 18 - show multi-line notes ok 19 - create -F notes (setup) ok 20 - show -F notes ok 21 - Re-adding -F notes without -f fails ok 22 - git log --pretty=raw does not show notes ok 23 - git log --show-notes ok 24 - git log --no-notes ok 25 - git format-patch does not show notes ok 26 - git format-patch --show-notes does show notes ok 27 - git show does show notes ok 28 - git show --pretty does not show notes ok 29 - git show --pretty=raw does not show notes ok 30 - git show --pretty=short does not show notes ok 31 - git show --pretty=medium does not show notes ok 32 - git show --pretty=full does not show notes ok 33 - git show --pretty=fuller does not show notes ok 34 - git show --pretty=format:%s does not show notes ok 35 - git show --oneline does not show notes ok 36 - setup alternate notes ref ok 37 - git log --notes shows default notes ok 38 - git log --notes=X shows only X ok 39 - git log --notes --notes=X shows both ok 40 - git log --no-notes resets default state ok 41 - git log --no-notes resets ref list ok 42 - create -m notes (setup) ok 43 - show -m notes ok 44 - remove note with add -f -F /dev/null (setup) ok 45 - verify note removal with -F /dev/null ok 46 - do not create empty note with -m "" (setup) ok 47 - verify non-creation of note with -m "" ok 48 - create note with combination of -m and -F ok 49 - remove note with "git notes remove" (setup) ok 50 - verify note removal with "git notes remove" ok 51 - removing non-existing note should not create new commit ok 52 - removing more than one ok 53 - removing is atomic ok 54 - removing with --ignore-missing ok 55 - removing with --ignore-missing but bogus ref ok 56 - remove reads from --stdin ok 57 - remove --stdin is also atomic ok 58 - removing with --stdin --ignore-missing ok 59 - list notes with "git notes list" ok 60 - list notes with "git notes" ok 61 - list specific note with "git notes list " ok 62 - listing non-existing notes fails ok 63 - append to existing note with "git notes append" ok 64 - "git notes list" does not expand to "git notes list HEAD" ok 65 - appending empty string does not change existing note ok 66 - git notes append == add when there is no existing note ok 67 - appending empty string to non-existing note does not create note ok 68 - create other note on a different notes ref (setup) ok 69 - Do not show note on other ref by default ok 70 - Do show note when ref is given in GIT_NOTES_REF ok 71 - Do show note when ref is given in core.notesRef config ok 72 - Do not show note when core.notesRef is overridden ok 73 - Show all notes when notes.displayRef=refs/notes/* ok 74 - core.notesRef is implicitly in notes.displayRef ok 75 - notes.displayRef can be given more than once ok 76 - notes.displayRef respects order ok 77 - GIT_NOTES_DISPLAY_REF works ok 78 - GIT_NOTES_DISPLAY_REF overrides config ok 79 - --show-notes=* adds to GIT_NOTES_DISPLAY_REF ok 80 - --no-standard-notes ok 81 - --standard-notes ok 82 - --show-notes=ref accumulates ok 83 - Allow notes on non-commits (trees, blobs, tags) ok 84 - create note from other note with "git notes add -C" ok 85 - create note from non-existing note with "git notes add -C" fails ok 86 - create note from other note with "git notes add -c" ok 87 - create note from non-existing note with "git notes add -c" fails ok 88 - append to note from other note with "git notes append -C" ok 89 - create note from other note with "git notes append -c" ok 90 - append to note from other note with "git notes append -c" ok 91 - copy note with "git notes copy" ok 92 - prevent overwrite with "git notes copy" ok 93 - allow overwrite with "git notes copy -f" ok 94 - cannot copy note from object without notes ok 95 - git notes copy --stdin ok 96 - git notes copy --for-rewrite (unconfigured) ok 97 - git notes copy --for-rewrite (enabled) ok 98 - git notes copy --for-rewrite (disabled) ok 99 - git notes copy --for-rewrite (overwrite) ok 100 - git notes copy --for-rewrite (ignore) ok 101 - git notes copy --for-rewrite (append) ok 102 - git notes copy --for-rewrite (append two to one) ok 103 - git notes copy --for-rewrite (append empty) ok 104 - GIT_NOTES_REWRITE_MODE works ok 105 - GIT_NOTES_REWRITE_REF works ok 106 - GIT_NOTES_REWRITE_REF overrides config ok 107 - git notes copy diagnoses too many or too few parameters ok 108 - git notes get-ref (no overrides) ok 109 - git notes get-ref (core.notesRef) ok 110 - git notes get-ref (GIT_NOTES_REF) ok 111 - git notes get-ref (--ref) # passed all 111 test(s) 1..111 *** t3302-notes-index-expensive.sh *** ok 1 - setup / mkdir ok 2 - setup 10 ok 3 - notes work ok 4 # skip notes timing with /usr/bin/time (missing USR_BIN_TIME of USR_BIN_TIME,NOT_EXPENSIVE) ok 5 - teardown / cd .. ok 6 # skip setup / mkdir (missing EXPENSIVE) ok 7 # skip setup 100 (missing EXPENSIVE) ok 8 # skip notes work (missing EXPENSIVE) ok 9 # skip notes timing with /usr/bin/time (missing EXPENSIVE,USR_BIN_TIME of USR_BIN_TIME,EXPENSIVE) ok 10 # skip teardown / cd .. (missing EXPENSIVE) ok 11 # skip setup / mkdir (missing EXPENSIVE) ok 12 # skip setup 1000 (missing EXPENSIVE) ok 13 # skip notes work (missing EXPENSIVE) ok 14 # skip notes timing with /usr/bin/time (missing EXPENSIVE,USR_BIN_TIME of USR_BIN_TIME,EXPENSIVE) ok 15 # skip teardown / cd .. (missing EXPENSIVE) ok 16 # skip setup / mkdir (missing EXPENSIVE) ok 17 # skip setup 10000 (missing EXPENSIVE) ok 18 # skip notes work (missing EXPENSIVE) ok 19 # skip notes timing with /usr/bin/time (missing EXPENSIVE,USR_BIN_TIME of USR_BIN_TIME,EXPENSIVE) ok 20 # skip teardown / cd .. (missing EXPENSIVE) # passed all 20 test(s) 1..20 *** t3303-notes-subtrees.sh *** ok 1 - setup: create 100 commits ok 2 - test notes in 2/38-fanout ok 3 - verify notes in 2/38-fanout ok 4 - test notes in 2/2/36-fanout ok 5 - verify notes in 2/2/36-fanout ok 6 - test notes in 2/2/2/34-fanout ok 7 - verify notes in 2/2/2/34-fanout ok 8 - test same notes in no fanout and 2/38-fanout ok 9 - verify same notes in no fanout and 2/38-fanout ok 10 - test same notes in no fanout and 2/2/36-fanout ok 11 - verify same notes in no fanout and 2/2/36-fanout ok 12 - test same notes in 2/38-fanout and 2/2/36-fanout ok 13 - verify same notes in 2/38-fanout and 2/2/36-fanout ok 14 - test same notes in 2/2/2/34-fanout and 2/2/36-fanout ok 15 - verify same notes in 2/2/2/34-fanout and 2/2/36-fanout ok 16 - test notes in no fanout concatenated with 2/38-fanout ok 17 - verify notes in no fanout concatenated with 2/38-fanout ok 18 - test notes in no fanout concatenated with 2/2/36-fanout ok 19 - verify notes in no fanout concatenated with 2/2/36-fanout ok 20 - test notes in 2/38-fanout concatenated with 2/2/36-fanout ok 21 - verify notes in 2/38-fanout concatenated with 2/2/36-fanout ok 22 - test notes in 2/2/36-fanout concatenated with 2/2/2/34-fanout ok 23 - verify notes in 2/2/36-fanout concatenated with 2/2/2/34-fanout # passed all 23 test(s) 1..23 *** t3304-notes-mixed.sh *** ok 1 - setup: create a couple of commits ok 2 - create a notes tree with both notes and non-notes ok 3 - verify contents of notes ok 4 - verify contents of non-notes ok 5 - git-notes preserves non-notes ok 6 - verify contents of non-notes after git-notes # passed all 6 test(s) 1..6 *** t3305-notes-fanout.sh *** ok 1 - creating many notes with git-notes ok 2 - many notes created correctly with git-notes ok 3 - many notes created with git-notes triggers fanout ok 4 - deleting most notes with git-notes ok 5 - most notes deleted correctly with git-notes ok 6 - deleting most notes triggers fanout consolidation # passed all 6 test(s) 1..6 *** t3306-notes-prune.sh *** ok 1 - setup: create a few commits with notes ok 2 - verify commits and notes ok 3 - remove some commits ok 4 - verify that commits are gone ok 5 - verify that notes are still present ok 6 - prune -n does not remove notes ok 7 - prune -n lists prunable notes ok 8 - prune notes ok 9 - verify that notes are gone ok 10 - remove some commits ok 11 - prune -v notes ok 12 - verify that notes are gone # passed all 12 test(s) 1..12 *** t3307-notes-man.sh *** ok 1 - setup ok 2 - example 1: notes to add an Acked-by line ok 3 - example 2: binary notes # passed all 3 test(s) 1..3 *** t3308-notes-merge.sh *** ok 1 - setup ok 2 - verify initial notes (x) ok 3 - fail to merge empty notes ref into empty notes ref (z => y) ok 4 - fail to merge into various non-notes refs ok 5 - fail to merge various non-note-trees ok 6 - merge notes into empty notes ref (x => y) ok 7 - merge empty notes ref (z => y) ok 8 - change notes on other notes ref (y) ok 9 - merge previous notes commit (y^ => y) => No-op ok 10 - verify changed notes on other notes ref (y) ok 11 - verify unchanged notes on original notes ref (x) ok 12 - merge original notes (x) into changed notes (y) => No-op ok 13 - merge changed (y) into original (x) => Fast-forward ok 14 - merge empty notes ref (z => y) ok 15 - change notes on other notes ref (y) ok 16 - change notes on notes ref (x) ok 17 - merge y into x => Non-conflicting 3-way merge ok 18 - create notes on new, separate notes ref (w) ok 19 - merge w into x => Non-conflicting history-less merge # passed all 19 test(s) 1..19 *** t3309-notes-merge-auto-resolve.sh *** ok 1 - setup commits ok 2 - setup merge base (x) ok 3 - verify state of merge base (x) ok 4 - setup local branch (y) ok 5 - verify state of local branch (y) ok 6 - setup remote branch (z) ok 7 - verify state of remote branch (z) ok 8 - merge z into y with invalid strategy => Fail/No changes ok 9 - merge z into y with "ours" strategy => Non-conflicting 3-way merge ok 10 - reset to pre-merge state (y) ok 11 - merge z into y with "theirs" strategy => Non-conflicting 3-way merge ok 12 - reset to pre-merge state (y) ok 13 - merge z into y with "union" strategy => Non-conflicting 3-way merge ok 14 - reset to pre-merge state (y) ok 15 - merge y into z with "union" strategy => Non-conflicting 3-way merge ok 16 - reset to pre-merge state (z) ok 17 - merge y into z with "cat_sort_uniq" strategy => Non-conflicting 3-way merge # passed all 17 test(s) 1..17 *** t3310-notes-merge-manual-resolve.sh *** ok 1 - setup commits ok 2 - setup merge base (x) ok 3 - setup local branch (y) ok 4 - setup remote branch (z) ok 5 - merge z into m (== y) with default ("manual") resolver => Conflicting 3-way merge ok 6 - change notes in z ok 7 - cannot do merge w/conflicts when previous merge is unfinished ok 8 - setup unrelated notes ref (w) ok 9 - can do merge without conflicts even if previous merge is unfinished (x => w) ok 10 - finalize conflicting merge (z => m) ok 11 - redo merge of z into m (== y) with default ("manual") resolver => Conflicting 3-way merge ok 12 - abort notes merge ok 13 - redo merge of z into m (== y) with default ("manual") resolver => Conflicting 3-way merge ok 14 - add + remove notes in finalized merge (z => m) ok 15 - redo merge of z into m (== y) with default ("manual") resolver => Conflicting 3-way merge ok 16 - reset notes ref m to somewhere else (w) ok 17 - fail to finalize conflicting merge if underlying ref has moved in the meantime (m != NOTES_MERGE_PARTIAL^1) ok 18 - resolve situation by aborting the notes merge ok 19 - switch cwd before committing notes merge # passed all 19 test(s) 1..19 *** t3311-notes-merge-fanout.sh *** ok 1 - setup a few initial commits with notes (notes ref: x) ok 2 - sanity check (x) ok 3 - Add a few hundred commits w/notes to trigger fanout (x -> y) ok 4 - notes tree has fanout (y) ok 5 - No-op merge (already included) (x => y) ok 6 - Fast-forward merge (y => x) ok 7 - change some of the initial 5 notes (x -> z) ok 8 - notes tree has no fanout (z) ok 9 - successful merge without conflicts (y => z) ok 10 - notes tree still has fanout after merge (m) ok 11 - introduce conflicting changes (y -> w) ok 12 - successful merge using "ours" strategy (z => w) ok 13 - notes tree still has fanout after merge (m) ok 14 - successful merge using "theirs" strategy (z => w) ok 15 - notes tree still has fanout after merge (m) ok 16 - successful merge using "union" strategy (z => w) ok 17 - notes tree still has fanout after merge (m) ok 18 - successful merge using "cat_sort_uniq" strategy (z => w) ok 19 - notes tree still has fanout after merge (m) ok 20 - fails to merge using "manual" strategy (z => w) ok 21 - notes tree still has fanout after merge (m) ok 22 - verify conflict entries (with no fanout) ok 23 - resolve and finalize merge (z => w) ok 24 - notes tree still has fanout after merge (m) # passed all 24 test(s) 1..24 *** t3400-rebase.sh *** ok 1 - prepare repository with topic branches ok 2 - rebase on dirty worktree ok 3 - rebase on dirty cache ok 4 - rebase against master ok 5 - rebase against master twice ok 6 - rebase against master twice with --force ok 7 - rebase against master twice from another branch ok 8 - rebase fast-forward to master ok 9 - the rebase operation should not have destroyed author information ok 10 - the rebase operation should not have destroyed author information (2) ok 11 - HEAD was detached during rebase ok 12 - rebase after merge master ok 13 - rebase of history with merges is linearized ok 14 - rebase of history with merges after upstream merge is linearized ok 15 - rebase a single mode change ok 16 - rebase is not broken by diff.renames ok 17 - setup: recover ok 18 - Show verbose error when HEAD could not be detached ok 19 - fail when upstream arg is missing and not on branch ok 20 - fail when upstream arg is missing and not configured ok 21 - default to @{upstream} when upstream arg is missing ok 22 - rebase -q is quiet ok 23 - Rebase a commit that sprinkles CRs in ok 24 - rebase can copy notes ok 25 - rebase -m can copy notes ok 26 - rebase commit with an ancient timestamp # passed all 26 test(s) 1..26 *** t3401-rebase-partial.sh *** ok 1 - prepare repository with topic branch ok 2 - pick top patch from topic branch into master ok 3 - rebase topic branch against new master and check git am did not get halted ok 4 - rebase --merge topic branch that was partially merged upstream # passed all 4 test(s) 1..4 *** t3402-rebase-merge.sh *** ok 1 - setup ok 2 - reference merge ok 3 - rebase ok 4 - test-rebase@{1} is pre rebase ok 5 - merge and rebase should match ok 6 - rebase the other way ok 7 - rebase -Xtheirs ok 8 - merge and rebase should match ok 9 - picking rebase ok 10 - rebase -s funny -Xopt # passed all 10 test(s) 1..10 *** t3403-rebase-skip.sh *** ok 1 - setup ok 2 - rebase with git am -3 (default) ok 3 - rebase --skip can not be used with other options ok 4 - rebase --skip with am -3 ok 5 - rebase moves back to skip-reference ok 6 - checkout skip-merge ok 7 - rebase with --merge ok 8 - rebase --skip with --merge ok 9 - merge and reference trees equal ok 10 - moved back to branch correctly # passed all 10 test(s) 1..10 *** t3404-rebase-interactive.sh *** ok 1 - setup ok 2 - rebase -i with the exec command ok 3 - rebase -i with the exec command runs from tree root ok 4 - rebase -i with the exec command checks tree cleanness ok 5 - no changes are a nop ok 6 - test the [branch] option ok 7 - test --onto ok 8 - rebase on top of a non-conflicting commit ok 9 - reflog for the branch shows state before rebase ok 10 - exchange two commits ok 11 - stop on conflicting pick ok 12 - abort ok 13 - abort with error when new base cannot be checked out ok 14 - retain authorship ok 15 - squash ok 16 - retain authorship when squashing ok 17 - -p handles "no changes" gracefully not ok 18 - exchange two commits with -p # TODO known breakage ok 19 - preserve merges with -p ok 20 - edit ancestor with -p ok 21 - --continue tries to commit ok 22 - verbose flag is heeded, even after --continue ok 23 - multi-squash only fires up editor once ok 24 - multi-fixup does not fire up editor ok 25 - commit message used after conflict ok 26 - commit message retained after conflict ok 27 - squash and fixup generate correct log messages ok 28 - squash ignores comments ok 29 - squash ignores blank lines ok 30 - squash works as expected ok 31 - interrupted squash works as expected ok 32 - interrupted squash works as expected (case 2) ok 33 - ignore patch if in upstream ok 34 - --continue tries to commit, even for "edit" ok 35 - aborted --continue does not squash commits after "edit" ok 36 - auto-amend only edited commits after "edit" ok 37 - clean error after failed "exec" ok 38 - rebase a detached HEAD ok 39 - rebase a commit violating pre-commit ok 40 - rebase with a file named HEAD in worktree ok 41 - do "noop" when there is nothing to cherry-pick ok 42 - submodule rebase setup ok 43 - submodule rebase -i ok 44 - submodule conflict setup ok 45 - rebase -i continue with only submodule staged ok 46 - rebase -i continue with unstaged submodule ok 47 - avoid unnecessary reset ok 48 - reword ok 49 - rebase -i can copy notes ok 50 - rebase -i can copy notes over a fixup ok 51 - rebase while detaching HEAD ok 52 - always cherry-pick with --no-ff ok 53 - set up commits with funny messages ok 54 - rebase-i history with funny messages # still have 1 known breakage(s) # passed all remaining 53 test(s) 1..54 *** t3405-rebase-malformed.sh *** ok 1 - setup ok 2 - rebase # passed all 2 test(s) 1..2 *** t3406-rebase-message.sh *** ok 1 - setup ok 2 - rebase -m ok 3 - rebase --stat ok 4 - rebase w/config rebase.stat ok 5 - rebase -n overrides config rebase.stat config ok 6 - rebase --onto outputs the invalid ref # passed all 6 test(s) 1..6 *** t3407-rebase-abort.sh *** ok 1 - setup ok 2 - rebase --abort ok 3 - rebase --abort after --skip ok 4 - rebase --abort after --continue ok 5 - rebase --abort does not update reflog ok 6 - rebase --abort can not be used with other options ok 7 - rebase --merge --abort ok 8 - rebase --merge --abort after --skip ok 9 - rebase --merge --abort after --continue ok 10 - rebase --merge --abort does not update reflog ok 11 - rebase --abort can not be used with other options # passed all 11 test(s) 1..11 *** t3408-rebase-multi-line.sh *** ok 1 - setup ok 2 - rebase # passed all 2 test(s) 1..2 *** t3409-rebase-preserve-merges.sh *** ok 1 - setup for merge-preserving rebase ok 2 - rebase -p fakes interactive rebase ok 3 - --continue works after a conflict ok 4 - rebase -p preserves no-ff merges ok 5 - rebase -p works when base inside second parent # passed all 5 test(s) 1..5 *** t3410-rebase-preserve-dropped-merges.sh *** ok 1 - setup ok 2 - skip same-resolution merges with -p ok 3 - keep different-resolution merges with -p # passed all 3 test(s) 1..3 *** t3411-rebase-preserve-around-merges.sh *** ok 1 - setup ok 2 - squash F1 into D1 ok 3 - rebase two levels of merge # passed all 3 test(s) 1..3 *** t3412-rebase-root.sh *** ok 1 - prepare repository ok 2 - rebase --root expects --onto ok 3 - setup pre-rebase hook ok 4 - rebase --root --onto ok 5 - pre-rebase got correct input (1) ok 6 - rebase --root --onto ok 7 - pre-rebase got correct input (2) ok 8 - rebase -i --root --onto ok 9 - pre-rebase got correct input (3) ok 10 - rebase -i --root --onto ok 11 - pre-rebase got correct input (4) ok 12 - rebase -i -p with linear history ok 13 - pre-rebase got correct input (5) ok 14 - set up merge history ok 15 - rebase -i -p with merge ok 16 - set up second root and merge ok 17 - rebase -i -p with two roots ok 18 - setup pre-rebase hook that fails ok 19 - pre-rebase hook stops rebase ok 20 - pre-rebase hook stops rebase -i ok 21 - remove pre-rebase hook ok 22 - set up a conflict ok 23 - rebase --root with conflict (first part) ok 24 - fix the conflict ok 25 - rebase --root with conflict (second part) ok 26 - rebase -i --root with conflict (first part) ok 27 - fix the conflict ok 28 - rebase -i --root with conflict (second part) ok 29 - rebase -i -p --root with conflict (first part) ok 30 - fix the conflict ok 31 - rebase -i -p --root with conflict (second part) # passed all 31 test(s) 1..31 *** t3413-rebase-hook.sh *** ok 1 - setup ok 2 - rebase ok 3 - rebase -i ok 4 - setup pre-rebase hook ok 5 - pre-rebase hook gets correct input (1) ok 6 - pre-rebase hook gets correct input (2) ok 7 - pre-rebase hook gets correct input (3) ok 8 - pre-rebase hook gets correct input (4) ok 9 - pre-rebase hook gets correct input (5) ok 10 - pre-rebase hook gets correct input (6) ok 11 - setup pre-rebase hook that fails ok 12 - pre-rebase hook stops rebase (1) ok 13 - pre-rebase hook stops rebase (2) ok 14 - rebase --no-verify overrides pre-rebase (1) ok 15 - rebase --no-verify overrides pre-rebase (2) # passed all 15 test(s) 1..15 *** t3414-rebase-preserve-onto.sh *** ok 1 - setup ok 2 - rebase from B1 onto H1 ok 3 - rebase from E1 onto H1 ok 4 - rebase from C1 onto H1 # passed all 4 test(s) 1..4 *** t3415-rebase-autosquash.sh *** ok 1 - setup ok 2 - auto fixup (option) ok 3 - auto fixup (config) ok 4 - auto squash (option) ok 5 - auto squash (config) ok 6 - misspelled auto squash ok 7 - auto squash that matches 2 commits ok 8 - auto squash that matches a commit after the squash ok 9 - auto squash that matches a sha1 ok 10 - auto squash that matches longer sha1 ok 11 - use commit --fixup ok 12 - use commit --squash # passed all 12 test(s) 1..12 *** t3416-rebase-onto-threedots.sh *** ok 1 - setup ok 2 - rebase --onto master...topic ok 3 - rebase --onto master... ok 4 - rebase --onto master...side ok 5 - rebase -i --onto master...topic ok 6 - rebase -i --onto master... ok 7 - rebase -i --onto master...side # passed all 7 test(s) 1..7 *** t3417-rebase-whitespace-fix.sh *** ok 1 - blank line at end of file; extend at end of file ok 2 - two blanks line at end of file; extend at end of file ok 3 - same, but do not remove trailing spaces ok 4 - at beginning of file # passed all 4 test(s) 1..4 *** t3418-rebase-continue.sh *** ok 1 - setup ok 2 - interactive rebase --continue works with touched file ok 3 - non-interactive rebase --continue works with touched file ok 4 - rebase --continue can not be used with other options ok 5 - rebase --continue remembers merge strategy and options ok 6 - rebase --continue remembers --rerere-autoupdate # passed all 6 test(s) 1..6 *** t3419-rebase-patch-id.sh *** ok 1 - setup ok 2 - setup: 500 lines ok 3 - setup attributes ok 4 - detect upstream patch ok 5 - do not drop patch ok 6 # skip setup: 50000 lines (missing EXPENSIVE) ok 7 # skip setup attributes (missing EXPENSIVE) ok 8 # skip detect upstream patch (missing EXPENSIVE) ok 9 # skip do not drop patch (missing EXPENSIVE) # passed all 9 test(s) 1..9 *** t3500-cherry.sh *** ok 1 - prepare repository with topic branch, and check cherry finds the 2 patches from there ok 2 - check that cherry with limit returns only the top patch ok 3 - cherry-pick one of the 2 patches, and check cherry recognized one and only one as new # passed all 3 test(s) 1..3 *** t3501-revert-cherry-pick.sh *** ok 1 - setup ok 2 - cherry-pick --nonsense ok 3 - revert --nonsense ok 4 - cherry-pick after renaming branch ok 5 - revert after renaming branch ok 6 - cherry-pick on stat-dirty working tree ok 7 - revert forbidden on dirty working tree # passed all 7 test(s) 1..7 *** t3502-cherry-pick-merge.sh *** ok 1 - setup ok 2 - cherry-pick a non-merge with -m should fail ok 3 - cherry pick a merge without -m should fail ok 4 - cherry pick a merge (1) ok 5 - cherry pick a merge (2) ok 6 - cherry pick a merge relative to nonexistent parent should fail ok 7 - revert a non-merge with -m should fail ok 8 - revert a merge without -m should fail ok 9 - revert a merge (1) ok 10 - revert a merge (2) ok 11 - revert a merge relative to nonexistent parent should fail # passed all 11 test(s) 1..11 *** t3503-cherry-pick-root.sh *** ok 1 - setup ok 2 - cherry-pick a root commit ok 3 - revert a root commit ok 4 - cherry-pick a root commit with an external strategy ok 5 - revert a root commit with an external strategy ok 6 - cherry-pick two root commits # passed all 6 test(s) 1..6 *** t3504-cherry-pick-rerere.sh *** ok 1 - setup ok 2 - conflicting merge ok 3 - fixup ok 4 - cherry-pick conflict ok 5 - reconfigure ok 6 - cherry-pick conflict without rerere # passed all 6 test(s) 1..6 *** t3505-cherry-pick-empty.sh *** ok 1 - setup ok 2 - cherry-pick an empty commit ok 3 - index lockfile was removed ok 4 - cherry-pick a commit with an empty message ok 5 - index lockfile was removed # passed all 5 test(s) 1..5 *** t3506-cherry-pick-ff.sh *** ok 1 - setup ok 2 - cherry-pick using --ff fast forwards ok 3 - cherry-pick not using --ff does not fast forwards ok 4 - merge setup ok 5 - cherry-pick a non-merge with --ff and -m should fail ok 6 - cherry pick a merge with --ff but without -m should fail ok 7 - cherry pick with --ff a merge (1) ok 8 - cherry pick with --ff a merge (2) ok 9 - cherry pick a merge relative to nonexistent parent with --ff should fail ok 10 - cherry pick a root commit with --ff # passed all 10 test(s) 1..10 *** t3507-cherry-pick-conflict.sh *** ok 1 - setup ok 2 - failed cherry-pick does not advance HEAD ok 3 - advice from failed cherry-pick ok 4 - advice from failed cherry-pick --no-commit ok 5 - failed cherry-pick sets CHERRY_PICK_HEAD ok 6 - successful cherry-pick does not set CHERRY_PICK_HEAD ok 7 - cherry-pick --no-commit does not set CHERRY_PICK_HEAD ok 8 - cherry-pick w/dirty tree does not set CHERRY_PICK_HEAD ok 9 - cherry-pick --strategy=resolve w/dirty tree does not set CHERRY_PICK_HEAD ok 10 - GIT_CHERRY_PICK_HELP suppresses CHERRY_PICK_HEAD ok 11 - git reset clears CHERRY_PICK_HEAD ok 12 - failed commit does not clear CHERRY_PICK_HEAD ok 13 - cancelled commit does not clear CHERRY_PICK_HEAD ok 14 - successful commit clears CHERRY_PICK_HEAD ok 15 - failed cherry-pick produces dirty index ok 16 - failed cherry-pick registers participants in index ok 17 - failed cherry-pick describes conflict in work tree ok 18 - diff3 -m style ok 19 - revert also handles conflicts sanely ok 20 - failed revert sets REVERT_HEAD ok 21 - successful revert does not set REVERT_HEAD ok 22 - revert --no-commit sets REVERT_HEAD ok 23 - revert w/dirty tree does not set REVERT_HEAD ok 24 - GIT_CHERRY_PICK_HELP does not suppress REVERT_HEAD ok 25 - git reset clears REVERT_HEAD ok 26 - failed commit does not clear REVERT_HEAD ok 27 - revert conflict, diff3 -m style # passed all 27 test(s) 1..27 *** t3508-cherry-pick-many-commits.sh *** ok 1 - setup ok 2 - cherry-pick first..fourth works ok 3 - cherry-pick --strategy resolve first..fourth works ok 4 - cherry-pick --ff first..fourth works ok 5 - cherry-pick -n first..fourth works ok 6 - revert first..fourth works ok 7 - revert ^first fourth works ok 8 - revert fourth fourth~1 fourth~2 works ok 9 - cherry-pick -3 fourth works ok 10 - cherry-pick --stdin works # passed all 10 test(s) 1..10 *** t3509-cherry-pick-merge-df.sh *** ok 1 - Initialize repository ok 2 - Setup rename across paths each below D/F conflicts ok 3 - Cherry-pick succeeds with rename across D/F conflicts ok 4 - Setup rename with file on one side matching directory name on other ok 5 - Cherry-pick succeeds with was_a_dir/file -> was_a_dir (resolve) ok 6 - Cherry-pick succeeds with was_a_dir/file -> was_a_dir (recursive) ok 7 - Setup rename with file on one side matching different dirname on other ok 8 - Cherry-pick with rename to different D/F conflict succeeds (resolve) ok 9 - Cherry-pick with rename to different D/F conflict succeeds (recursive) # passed all 9 test(s) 1..9 *** t3510-cherry-pick-sequence.sh *** ok 1 - setup ok 2 - cherry-pick persists data on failure ok 3 - cherry-pick mid-cherry-pick-sequence ok 4 - cherry-pick persists opts correctly ok 5 - cherry-pick cleans up sequencer state upon success ok 6 - --quit does not complain when no cherry-pick is in progress ok 7 - --abort requires cherry-pick in progress ok 8 - --quit cleans up sequencer state ok 9 - --quit keeps HEAD and conflicted index intact ok 10 - --abort to cancel multiple cherry-pick ok 11 - --abort to cancel single cherry-pick ok 12 - cherry-pick --abort to cancel multiple revert ok 13 - revert --abort works, too ok 14 - --abort to cancel single revert ok 15 - --abort keeps unrelated change, easy case ok 16 - --abort refuses to clobber unrelated change, harder case ok 17 - cherry-pick still writes sequencer state when one commit is left ok 18 - --abort after last commit in sequence ok 19 - cherry-pick does not implicitly stomp an existing operation ok 20 - --continue complains when no cherry-pick is in progress ok 21 - --continue complains when there are unresolved conflicts ok 22 - --continue of single cherry-pick ok 23 - --continue of single revert ok 24 - --continue after resolving conflicts ok 25 - --continue after resolving conflicts and committing ok 26 - --continue asks for help after resolving patch to nil ok 27 - follow advice and skip nil patch ok 28 - --continue respects opts ok 29 - --continue of single-pick respects -x ok 30 - --continue respects -x in first commit in multi-pick ok 31 - --signoff is not automatically propagated to resolved conflict ok 32 - --signoff dropped for implicit commit of resolution, multi-pick case ok 33 - sign-off needs to be reaffirmed after conflict resolution, single-pick case ok 34 - malformed instruction sheet 1 ok 35 - malformed instruction sheet 2 ok 36 - empty commit set ok 37 - malformed instruction sheet 3 ok 38 - instruction sheet, fat-fingers version ok 39 - commit descriptions in insn sheet are optional # passed all 39 test(s) 1..39 *** t3600-rm.sh *** ok 1 - Initialize test directory ok 2 - add files with funny names ok 3 - Pre-check that foo exists and is in index before git rm foo ok 4 - Test that git rm foo succeeds ok 5 - Test that git rm --cached foo succeeds if the index matches the file ok 6 - Test that git rm --cached foo succeeds if the index matches the file ok 7 - Test that git rm --cached foo fails if the index matches neither the file nor HEAD ok 8 - Test that git rm --cached -f foo works in case where --cached only did not ok 9 - Post-check that foo exists but is not in index after git rm foo ok 10 - Pre-check that bar exists and is in index before "git rm bar" ok 11 - Test that "git rm bar" succeeds ok 12 - Post-check that bar does not exist and is not in index after "git rm -f bar" ok 13 - Test that "git rm -- -q" succeeds (remove a file that looks like an option) ok 14 - Test that "git rm -f" succeeds with embedded space, tab, or newline characters. ok 15 - Test that "git rm -f" fails if its rm fails ok 16 - When the rm in "git rm -f" fails, it should not remove the file from the index ok 17 - Remove nonexistent file with --ignore-unmatch ok 18 - "rm" command printed ok 19 - "rm" command suppressed with --quiet ok 20 - Re-add foo and baz ok 21 - Modify foo -- rm should refuse ok 22 - Modified foo -- rm -f should work ok 23 - Re-add foo and baz for HEAD tests ok 24 - foo is different in index from HEAD -- rm should refuse ok 25 - but with -f it should work. ok 26 - refuse to remove cached empty file with modifications ok 27 - remove intent-to-add file without --force ok 28 - Recursive test setup ok 29 - Recursive without -r fails ok 30 - Recursive with -r but dirty ok 31 - Recursive with -r -f ok 32 - Remove nonexistent file returns nonzero exit status ok 33 - Call "rm" from outside the work tree ok 34 - refresh index before checking if it is up-to-date ok 35 - choking "git rm" should not let it die with cruft ok 36 - rm removes subdirectories recursively # passed all 36 test(s) 1..36 *** t3700-add.sh *** ok 1 - Test of git add ok 2 - Post-check that foo is in the index ok 3 - Test that "git add -- -q" works ok 4 - git add: Test that executable bit is not used if core.filemode=0 ok 5 - git add: filemode=0 should not get confused by symlink ok 6 - git update-index --add: Test that executable bit is not used... ok 7 - git add: filemode=0 should not get confused by symlink ok 8 - git update-index --add: Test that executable bit is not used... ok 9 - .gitignore test setup ok 10 - .gitignore is honored ok 11 - error out when attempting to add ignored ones without -f ok 12 - error out when attempting to add ignored ones without -f ok 13 - add ignored ones with -f ok 14 - add ignored ones with -f ok 15 - add ignored ones with -f ok 16 - .gitignore with subdirectory ok 17 - check correct prefix detection ok 18 - git add with filemode=0, symlinks=0, and unmerged entries ok 19 - git add with filemode=0, symlinks=0 prefers stage 2 over stage 1 ok 20 - git add --refresh ok 21 - git add --refresh with pathspec ok 22 - git add should fail atomically upon an unreadable file ok 23 - git add --ignore-errors ok 24 - git add (add.ignore-errors) ok 25 - git add (add.ignore-errors = false) ok 26 - --no-ignore-errors overrides config ok 27 - git add 'fo\[ou\]bar' ignores foobar ok 28 - git add to resolve conflicts on otherwise ignored path ok 29 - "add non-existent" should fail ok 30 - git add --dry-run of existing changed file ok 31 - git add --dry-run of non-existing file ok 32 - git add --dry-run of an existing file output ok 33 - git add --dry-run --ignore-missing of non-existing file ok 34 - git add --dry-run --ignore-missing of non-existing file output # passed all 34 test(s) 1..34 *** t3701-add-interactive.sh *** ok 1 - setup (initial) ok 2 - status works (initial) ok 3 - setup expected ok 4 - diff works (initial) ok 5 - revert works (initial) ok 6 - setup (commit) ok 7 - status works (commit) ok 8 - setup expected ok 9 - diff works (commit) ok 10 - revert works (commit) ok 11 - setup expected ok 12 - setup fake editor ok 13 - dummy edit works ok 14 - setup patch ok 15 - setup fake editor ok 16 - bad edit rejected ok 17 - setup patch ok 18 - garbage edit rejected ok 19 - setup patch ok 20 - setup expected ok 21 - real edit works ok 22 - skip files similarly as commit -a ok 23 - patch does not affect mode ok 24 - stage mode but not hunk ok 25 - stage mode and hunk ok 26 - setup again ok 27 - setup patch ok 28 - setup expected ok 29 - add first line works ok 30 - setup expected ok 31 - deleting a non-empty file ok 32 - setup expected ok 33 - deleting an empty file ok 34 - split hunk setup ok 35 - split hunk "add -p (edit)" ok 36 - patch mode ignores unmerged entries # passed all 36 test(s) 1..36 *** t3702-add-edit.sh *** ok 1 - setup ok 2 - add -e # passed all 2 test(s) 1..2 *** t3703-add-magic-pathspec.sh *** ok 1 - setup ok 2 - add :/ ok 3 - add :/anothersub ok 4 - add :/non-existent ok 5 - a file with the same (long) magic name exists ok 6 - a file with the same (short) magic name exists # passed all 6 test(s) 1..6 *** t3800-mktag.sh *** ok 1 - setup ok 2 - Tag object length check ok 3 - "object" line label check ok 4 - "object" line SHA1 check ok 5 - "type" line label check ok 6 - "type" line eol check ok 7 - "tag" line label check #1 ok 8 - "tag" line label check #2 ok 9 - "type" line type-name length check ok 10 - verify object (SHA1/type) check ok 11 - verify tag-name check ok 12 - "tagger" line label check #1 ok 13 - "tagger" line label check #2 ok 14 - disallow missing tag author name ok 15 - disallow malformed tagger ok 16 - allow empty tag email ok 17 - disallow spaces in tag email ok 18 - disallow missing tag timestamp ok 19 - detect invalid tag timestamp1 ok 20 - detect invalid tag timestamp2 ok 21 - detect invalid tag timezone1 ok 22 - detect invalid tag timezone2 ok 23 - detect invalid tag timezone3 ok 24 - detect invalid header entry ok 25 - create valid tag ok 26 - check mytag # passed all 26 test(s) 1..26 *** t3900-i18n-commit.sh *** ok 1 - setup ok 2 - no encoding header for base case not ok 3 - UTF-16 refused because of NULs # TODO known breakage ok 4 - ISO8859-1 setup ok 5 - eucJP setup ok 6 - ISO-2022-JP setup ok 7 - check encoding header for ISO8859-1 ok 8 - check encoding header for eucJP ok 9 - check encoding header for ISO-2022-JP ok 10 - config to remove customization ok 11 - ISO8859-1 should be shown in UTF-8 now ok 12 - eucJP should be shown in UTF-8 now ok 13 - ISO-2022-JP should be shown in UTF-8 now ok 14 - config to add customization ok 15 - ISO8859-1 should be shown in itself now ok 16 - eucJP should be shown in itself now ok 17 - ISO-2022-JP should be shown in itself now ok 18 - config to tweak customization ok 19 - ISO8859-1 should be shown in UTF-8 now ok 20 - eucJP should be shown in UTF-8 now ok 21 - ISO-2022-JP should be shown in UTF-8 now ok 22 - eucJP should be shown in eucJP now ok 23 - ISO-2022-JP should be shown in eucJP now ok 24 - eucJP should be shown in ISO-2022-JP now ok 25 - ISO-2022-JP should be shown in ISO-2022-JP now ok 26 - No conversion with ISO8859-1 ok 27 - No conversion with eucJP ok 28 - No conversion with ISO-2022-JP ok 29 - commit --fixup with eucJP encoding ok 30 - commit --squash with ISO-2022-JP encoding # still have 1 known breakage(s) # passed all remaining 29 test(s) 1..30 *** t3901-i18n-patch.sh *** ok 1 - setup ok 2 - format-patch output (ISO-8859-1) ok 3 - format-patch output (UTF-8) ok 4 - rebase (U/U) ok 5 - rebase (U/L) ok 6 - rebase (L/L) ok 7 - rebase (L/U) ok 8 - cherry-pick(U/U) ok 9 - cherry-pick(L/L) ok 10 - cherry-pick(U/L) ok 11 - cherry-pick(L/U) ok 12 - rebase --merge (U/U) ok 13 - rebase --merge (U/L) ok 14 - rebase --merge (L/L) ok 15 - rebase --merge (L/U) # passed all 15 test(s) 1..15 *** t3902-quoted.sh *** ok 1 - setup ok 2 - setup expected files ok 3 - check fully quoted output from ls-files ok 4 - check fully quoted output from diff-files ok 5 - check fully quoted output from diff-index ok 6 - check fully quoted output from diff-tree ok 7 - check fully quoted output from ls-tree ok 8 - setting core.quotepath ok 9 - check fully quoted output from ls-files ok 10 - check fully quoted output from diff-files ok 11 - check fully quoted output from diff-index ok 12 - check fully quoted output from diff-tree ok 13 - check fully quoted output from ls-tree # passed all 13 test(s) 1..13 *** t3903-stash.sh *** ok 1 - stash some dirty working directory ok 2 - parents of stash ok 3 - applying bogus stash does nothing ok 4 - apply does not need clean working directory ok 5 - apply does not clobber working directory changes ok 6 - apply stashed changes ok 7 - apply stashed changes (including index) ok 8 - unstashing in a subdirectory ok 9 - drop top stash ok 10 - drop middle stash ok 11 - stash pop ok 12 - stash branch ok 13 - apply -q is quiet ok 14 - save -q is quiet ok 15 - pop -q is quiet ok 16 - pop -q --index works and is quiet ok 17 - drop -q is quiet ok 18 - stash -k ok 19 - stash --no-keep-index ok 20 - stash --invalid-option ok 21 - stash an added file ok 22 - stash rm then recreate ok 23 - stash rm and ignore ok 24 - stash rm and ignore (stage .gitignore) ok 25 - stash file to symlink ok 26 - stash file to symlink (stage rm) ok 27 - stash file to symlink (full stage) ok 28 - stash symlink to file ok 29 - stash symlink to file (stage rm) ok 30 - stash symlink to file (full stage) not ok 31 - stash directory to file # TODO known breakage not ok 32 - stash file to directory # TODO known breakage ok 33 - stash branch - no stashes on stack, stash-like argument ok 34 - stash branch - stashes on stack, stash-like argument ok 35 - stash show - stashes on stack, stash-like argument ok 36 - stash show -p - stashes on stack, stash-like argument ok 37 - stash show - no stashes on stack, stash-like argument ok 38 - stash show -p - no stashes on stack, stash-like argument ok 39 - stash drop - fail early if specified stash is not a stash reference ok 40 - stash pop - fail early if specified stash is not a stash reference ok 41 - ref with non-existent reflog ok 42 - invalid ref of the form stash@{n}, n >= N ok 43 - stash branch should not drop the stash if the branch exists ok 44 - stash apply shows status same as git status (relative to current directory) ok 45 - stash where working directory contains "HEAD" file # still have 2 known breakage(s) # passed all remaining 43 test(s) 1..45 *** t3904-stash-patch.sh *** ok 1 - setup ok 2 - saying "n" does nothing ok 3 - git stash -p ok 4 - git stash -p --no-keep-index ok 5 - git stash --no-keep-index -p ok 6 - none of this moved HEAD # passed all 6 test(s) 1..6 *** t3905-stash-include-untracked.sh *** ok 1 - stash save --include-untracked some dirty working directory ok 2 - stash save --include-untracked cleaned the untracked files ok 3 - stash save --include-untracked stashed the untracked files ok 4 - stash save --patch --include-untracked fails ok 5 - stash save --patch --all fails ok 6 - stash pop after save --include-untracked leaves files untracked again ok 7 - stash save -u dirty index ok 8 - stash save --include-untracked dirty index got stashed ok 9 - stash save --include-untracked -q is quiet ok 10 - stash save --include-untracked removed files ok 11 - stash save --include-untracked removed files got stashed ok 12 - stash save --include-untracked respects .gitignore ok 13 - stash save -u can stash with only untracked files different ok 14 - stash save --all does not respect .gitignore ok 15 - stash save --all is stash poppable # passed all 15 test(s) 1..15 *** t4000-diff-format.sh *** ok 1 - update-index --add two files with and without +x. ok 2 - git diff-files -p after editing work tree. ok 3 - validate git diff-files -p output. # passed all 3 test(s) 1..3 *** t4001-diff-rename.sh *** ok 1 - update-index --add a file. ok 2 - write that tree. ok 3 - renamed and edited the file. ok 4 - git diff-index -p -M after rename and editing. ok 5 - validate the output. ok 6 - favour same basenames over different ones ok 7 - favour same basenames even with minor differences ok 8 - setup for many rename source candidates # passed all 8 test(s) 1..8 *** t4002-diff-basic.sh *** ok 1 - adding test file NN and Z/NN ok 2 - adding test file ND and Z/ND ok 3 - adding test file NM and Z/NM ok 4 - adding test file DN and Z/DN ok 5 - adding test file DD and Z/DD ok 6 - adding test file DM and Z/DM ok 7 - adding test file MN and Z/MN ok 8 - adding test file MD and Z/MD ok 9 - adding test file MM and Z/MM ok 10 - adding test file SS ok 11 - adding test file TT ok 12 - prepare initial tree ok 13 - change in branch A (removal) ok 14 - change in branch A (modification) ok 15 - change in branch A (modification) ok 16 - change in branch A (modification) ok 17 - change in branch A (modification) ok 18 - change in branch A (modification) ok 19 - change in branch A (modification) ok 20 - change in branch A (addition) ok 21 - change in branch A (addition) ok 22 - change in branch A (addition) ok 23 - change in branch A (addition) ok 24 - change in branch A (addition) ok 25 - change in branch A (edit) ok 26 - change in branch A (change file to directory) ok 27 - recording branch A tree ok 28 - reading original tree and checking out ok 29 - change in branch B (removal) ok 30 - change in branch B (modification) ok 31 - change in branch B (modification) ok 32 - change in branch B (modification) ok 33 - change in branch B (modification) ok 34 - change in branch B (modification) ok 35 - change in branch B (modification) ok 36 - change in branch B (addition) ok 37 - change in branch B (addition) ok 38 - change in branch B (addition) ok 39 - change in branch B (addition) ok 40 - change in branch B (addition and modification) ok 41 - change in branch B (modification) ok 42 - change in branch B (addition of a file to conflict with directory) ok 43 - recording branch B tree ok 44 - keep contents of 3 trees for easy access ok 45 - diff-tree of known trees. ok 46 - diff-tree of known trees. ok 47 - diff-tree of known trees. ok 48 - diff-tree of known trees. ok 49 - diff-tree of known trees. ok 50 - diff-tree of known trees. ok 51 - diff-tree --stdin of known trees. ok 52 - diff-tree --stdin of known trees. ok 53 - diff-cache O with A in cache ok 54 - diff-cache O with B in cache ok 55 - diff-cache A with B in cache ok 56 - diff-files with O in cache and A checked out ok 57 - diff-files with O in cache and B checked out ok 58 - diff-files with A in cache and B checked out ok 59 - diff-tree O A == diff-tree -R A O ok 60 - diff-tree -r O A == diff-tree -r -R A O ok 61 - diff-tree B A == diff-tree -R A B ok 62 - diff-tree -r B A == diff-tree -r -R A B ok 63 - diff can read from stdin # passed all 63 test(s) 1..63 *** t4003-diff-rename-1.sh *** ok 1 - prepare reference tree ok 2 - prepare work tree ok 3 - validate output from rename/copy detection (#1) ok 4 - prepare work tree again ok 5 - validate output from rename/copy detection (#2) ok 6 - prepare work tree once again ok 7 - validate output from rename/copy detection (#3) # passed all 7 test(s) 1..7 *** t4004-diff-rename-symlink.sh *** ok 1 - prepare reference tree ok 2 - prepare work tree ok 3 - setup diff output ok 4 - validate diff output # passed all 4 test(s) 1..4 *** t4005-diff-rename-2.sh *** ok 1 - prepare reference tree ok 2 - prepare work tree ok 3 - validate output from rename/copy detection (#1) ok 4 - prepare work tree again ok 5 - validate output from rename/copy detection (#2) ok 6 - prepare work tree once again ok 7 - validate output from rename/copy detection (#3) # passed all 7 test(s) 1..7 *** t4006-diff-mode.sh *** ok 1 - setup ok 2 - chmod ok 3 - verify # passed all 3 test(s) 1..3 *** t4007-rename-3.sh *** ok 1 - prepare reference tree ok 2 - prepare work tree ok 3 - copy detection ok 4 - copy detection, cached ok 5 - copy, limited to a subtree ok 6 - tweak work tree ok 7 - rename detection ok 8 - rename, limited to a subtree # passed all 8 test(s) 1..8 *** t4008-diff-break-rewrite.sh *** ok 1 - setup ok 2 - change file1 with copy-edit of file0 and remove file0 ok 3 - run diff with -B ok 4 - validate result of -B (#1) ok 5 - run diff with -B and -M ok 6 - validate result of -B -M (#2) ok 7 - swap file0 and file1 ok 8 - run diff with -B ok 9 - validate result of -B (#3) ok 10 - run diff with -B and -M ok 11 - validate result of -B -M (#4) ok 12 - make file0 into something completely different ok 13 - run diff with -B ok 14 - validate result of -B (#5) ok 15 - run diff with -B -M ok 16 - validate result of -B -M (#6) ok 17 - run diff with -M ok 18 - validate result of -M (#7) ok 19 - file1 edited to look like file0 and file0 rename-edited to file2 ok 20 - run diff with -B ok 21 - validate result of -B (#8) ok 22 - run diff with -B -C ok 23 - validate result of -B -M (#9) # passed all 23 test(s) 1..23 *** t4009-diff-rename-4.sh *** ok 1 - prepare reference tree ok 2 - prepare work tree ok 3 - validate output from rename/copy detection (#1) ok 4 - prepare work tree again ok 5 - validate output from rename/copy detection (#2) ok 6 - prepare work tree once again ok 7 - validate output from rename/copy detection (#3) # passed all 7 test(s) 1..7 *** t4010-diff-pathspec.sh *** ok 1 - setup ok 2 - limit to path should show nothing ok 3 - limit to path1 should show path1/file1 ok 4 - limit to path1/ should show path1/file1 ok 5 - "*file1" should show path1/file1 ok 6 - limit to file0 should show file0 ok 7 - limit to file0/ should emit nothing. ok 8 - diff-tree pathspec ok 9 - diff-tree with wildcard shows dir also matches ok 10 - diff-tree -r with wildcard ok 11 - diff-tree with wildcard shows dir also matches ok 12 - diff-tree -r with wildcard from beginning ok 13 - diff-tree -r with wildcard # passed all 13 test(s) 1..13 *** t4011-diff-symlink.sh *** ok 1 - diff new symlink and file ok 2 - diff unchanged symlink and file ok 3 - diff removed symlink and file ok 4 - diff identical, but newly created symlink and file ok 5 - diff different symlink and file ok 6 - diff symlinks with non-existing targets ok 7 - setup symlinks with attributes ok 8 - symlinks do not respect userdiff config by path # passed all 8 test(s) 1..8 *** t4012-diff-binary.sh *** ok 1 - prepare repository ok 2 - diff without --binary ok 3 - diff with --binary ok 4 - apply detecting corrupt patch correctly ok 5 - apply detecting corrupt patch correctly ok 6 - initial commit ok 7 - diff-index with --binary ok 8 - apply binary patch ok 9 - diff --no-index with binary creation # passed all 9 test(s) 1..9 *** t4013-diff-various.sh *** ok 1 - setup ok 2 - git diff-tree initial ok 3 - git diff-tree -r initial ok 4 - git diff-tree -r --abbrev initial ok 5 - git diff-tree -r --abbrev=4 initial ok 6 - git diff-tree --root initial ok 7 - git diff-tree --root --abbrev initial ok 8 - git diff-tree --root -r initial ok 9 - git diff-tree --root -r --abbrev initial ok 10 - git diff-tree --root -r --abbrev=4 initial ok 11 - git diff-tree -p initial ok 12 - git diff-tree --root -p initial ok 13 - git diff-tree --patch-with-stat initial ok 14 - git diff-tree --root --patch-with-stat initial ok 15 - git diff-tree --patch-with-raw initial ok 16 - git diff-tree --root --patch-with-raw initial ok 17 - git diff-tree --pretty initial ok 18 - git diff-tree --pretty --root initial ok 19 - git diff-tree --pretty -p initial ok 20 - git diff-tree --pretty --stat initial ok 21 - git diff-tree --pretty --summary initial ok 22 - git diff-tree --pretty --stat --summary initial ok 23 - git diff-tree --pretty --root -p initial ok 24 - git diff-tree --pretty --root --stat initial ok 25 - git diff-tree --pretty --root --summary initial ok 26 - git diff-tree --pretty --root --summary -r initial ok 27 - git diff-tree --pretty --root --stat --summary initial ok 28 - git diff-tree --pretty --patch-with-stat initial ok 29 - git diff-tree --pretty --root --patch-with-stat initial ok 30 - git diff-tree --pretty --patch-with-raw initial ok 31 - git diff-tree --pretty --root --patch-with-raw initial ok 32 - git diff-tree --pretty=oneline initial ok 33 - git diff-tree --pretty=oneline --root initial ok 34 - git diff-tree --pretty=oneline -p initial ok 35 - git diff-tree --pretty=oneline --root -p initial ok 36 - git diff-tree --pretty=oneline --patch-with-stat initial ok 37 - git diff-tree --pretty=oneline --root --patch-with-stat initial ok 38 - git diff-tree --pretty=oneline --patch-with-raw initial ok 39 - git diff-tree --pretty=oneline --root --patch-with-raw initial ok 40 - git diff-tree --pretty side ok 41 - git diff-tree --pretty -p side ok 42 - git diff-tree --pretty --patch-with-stat side ok 43 - git diff-tree master ok 44 - git diff-tree -p master ok 45 - git diff-tree -p -m master ok 46 - git diff-tree -c master ok 47 - git diff-tree -c --abbrev master ok 48 - git diff-tree --cc master ok 49 - git diff-tree -c --stat master ok 50 - git diff-tree --cc --stat master ok 51 - git diff-tree -c --stat --summary master ok 52 - git diff-tree --cc --stat --summary master ok 53 - git diff-tree -c --stat --summary side ok 54 - git diff-tree --cc --stat --summary side ok 55 - git diff-tree --cc --patch-with-stat master ok 56 - git diff-tree --cc --patch-with-stat --summary master ok 57 - git diff-tree --cc --patch-with-stat --summary side ok 58 - git log master ok 59 - git log -p master ok 60 - git log --root master ok 61 - git log --root -p master ok 62 - git log --patch-with-stat master ok 63 - git log --root --patch-with-stat master ok 64 - git log --root --patch-with-stat --summary master ok 65 - git log --root -c --patch-with-stat --summary master ok 66 - git log --root --cc --patch-with-stat --summary master ok 67 - git log -p --first-parent master ok 68 - git log -m -p --first-parent master ok 69 - git log -m -p master ok 70 - git log -SF master ok 71 - git log -S F master ok 72 - git log -SF -p master ok 73 - git log -SF master --max-count=0 ok 74 - git log -SF master --max-count=1 ok 75 - git log -SF master --max-count=2 ok 76 - git log -GF master ok 77 - git log -GF -p master ok 78 - git log -GF -p --pickaxe-all master ok 79 - git log --decorate --all ok 80 - git log --decorate=full --all ok 81 - git rev-list --parents HEAD ok 82 - git rev-list --children HEAD ok 83 - git whatchanged master ok 84 - git whatchanged -p master ok 85 - git whatchanged --root master ok 86 - git whatchanged --root -p master ok 87 - git whatchanged --patch-with-stat master ok 88 - git whatchanged --root --patch-with-stat master ok 89 - git whatchanged --root --patch-with-stat --summary master ok 90 - git whatchanged --root -c --patch-with-stat --summary master ok 91 - git whatchanged --root --cc --patch-with-stat --summary master ok 92 - git whatchanged -SF master ok 93 - git whatchanged -SF -p master ok 94 - git log --patch-with-stat master -- dir/ ok 95 - git whatchanged --patch-with-stat master -- dir/ ok 96 - git log --patch-with-stat --summary master -- dir/ ok 97 - git whatchanged --patch-with-stat --summary master -- dir/ ok 98 - git show initial ok 99 - git show --root initial ok 100 - git show side ok 101 - git show master ok 102 - git show -c master ok 103 - git show -m master ok 104 - git show --first-parent master ok 105 - git show --stat side ok 106 - git show --stat --summary side ok 107 - git show --patch-with-stat side ok 108 - git show --patch-with-raw side ok 109 - git show --patch-with-stat --summary side ok 110 - git format-patch --stdout initial..side ok 111 - git format-patch --stdout initial..master^ ok 112 - git format-patch --stdout initial..master ok 113 - git format-patch --stdout --no-numbered initial..master ok 114 - git format-patch --stdout --numbered initial..master ok 115 - git format-patch --attach --stdout initial..side ok 116 - git format-patch --attach --stdout --suffix=.diff initial..side ok 117 - git format-patch --attach --stdout initial..master^ ok 118 - git format-patch --attach --stdout initial..master ok 119 - git format-patch --inline --stdout initial..side ok 120 - git format-patch --inline --stdout initial..master^ ok 121 - git format-patch --inline --stdout --numbered-files initial..master ok 122 - git format-patch --inline --stdout initial..master ok 123 - git format-patch --inline --stdout --subject-prefix=TESTCASE initial..master ok 124 - git config format.subjectprefix DIFFERENT_PREFIX ok 125 - git format-patch --inline --stdout initial..master^^ ok 126 - git format-patch --stdout --cover-letter -n initial..master^ ok 127 - git diff --abbrev initial..side ok 128 - git diff -r initial..side ok 129 - git diff --stat initial..side ok 130 - git diff -r --stat initial..side ok 131 - git diff initial..side ok 132 - git diff --patch-with-stat initial..side ok 133 - git diff --patch-with-raw initial..side ok 134 - git diff --patch-with-stat -r initial..side ok 135 - git diff --patch-with-raw -r initial..side ok 136 - git diff --name-status dir2 dir ok 137 - git diff --no-index --name-status dir2 dir ok 138 - git diff --no-index --name-status -- dir2 dir ok 139 - git diff --no-index dir dir3 ok 140 - git diff master master^ side ok 141 - git diff --dirstat master~1 master~2 ok 142 - git diff --dirstat initial rearrange ok 143 - git diff --dirstat-by-file initial rearrange ok 144 - log -S requires an argument ok 145 - diff --cached on unborn branch ok 146 - diff --cached -- file on unborn branch # passed all 146 test(s) 1..146 *** t4014-format-patch.sh *** ok 1 - set up terminal for tests ok 2 - setup ok 3 - format-patch --ignore-if-in-upstream ok 4 - format-patch --ignore-if-in-upstream ok 5 - format-patch doesn't consider merge commits ok 6 - format-patch result applies ok 7 - format-patch --ignore-if-in-upstream result applies ok 8 - commit did not screw up the log message ok 9 - format-patch did not screw up the log message ok 10 - replay did not screw up the log message ok 11 - extra headers ok 12 - extra headers without newlines ok 13 - extra headers with multiple To:s ok 14 - additional command line cc ok 15 - command line headers ok 16 - configuration headers and command line headers ok 17 - command line To: header ok 18 - configuration To: header ok 19 - --no-to overrides config.to ok 20 - --no-to and --to replaces config.to ok 21 - --no-cc overrides config.cc ok 22 - --no-add-header overrides config.headers ok 23 - multiple files ok 24 - no threading ok 25 - thread ok 26 - thread in-reply-to ok 27 - thread cover-letter ok 28 - thread cover-letter in-reply-to ok 29 - thread explicit shallow ok 30 - thread deep ok 31 - thread deep in-reply-to ok 32 - thread deep cover-letter ok 33 - thread deep cover-letter in-reply-to ok 34 - thread via config ok 35 - thread deep via config ok 36 - thread config + override ok 37 - thread config + --no-thread ok 38 - excessive subject ok 39 - cover-letter inherits diff options ok 40 - shortlog of cover-letter wraps overly-long onelines ok 41 - format-patch respects -U ok 42 - format-patch -p suppresses stat ok 43 - format-patch from a subdirectory (1) ok 44 - format-patch from a subdirectory (2) ok 45 - format-patch from a subdirectory (3) ok 46 - format-patch --in-reply-to ok 47 - format-patch --signoff ok 48 - options no longer allowed for format-patch ok 49 - format-patch --numstat should produce a patch ok 50 - format-patch -- ok 51 - format-patch --ignore-if-in-upstream HEAD ok 52 - format-patch --signature ok 53 - format-patch with format.signature config ok 54 - format-patch --signature overrides format.signature ok 55 - format-patch --no-signature ignores format.signature ok 56 - format-patch --signature --cover-letter ok 57 - format.signature="" supresses signatures ok 58 - format-patch --no-signature supresses signatures ok 59 - format-patch --signature="" supresses signatures ok 60 - format-patch --stdout paginates ok 61 - format-patch --stdout pagination can be disabled ok 62 - format-patch handles multi-line subjects ok 63 - format-patch handles multi-line encoded subjects ok 64 - format-patch wraps extremely long headers (ascii) ok 65 - format-patch wraps extremely long headers (rfc2047) ok 66 - format-patch wraps non-quotable headers ok 67 - format-patch quotes dot in headers ok 68 - format-patch quotes double-quote in headers ok 69 - rfc2047-encoded headers also double-quote 822 specials ok 70 - subject lines do not have 822 atom-quoting ok 71 - subject prefixes have space prepended ok 72 - empty subject prefix does not have extra space ok 73 - format patch ignores color.ui # passed all 73 test(s) 1..73 *** t4015-diff-whitespace.sh *** ok 1 - Ray's example without options ok 2 - Ray's example with -w ok 3 - Ray's example with -b ok 4 - another test, without options ok 5 - another test, with -w ok 6 - another test, with -w -b ok 7 - another test, with -w --ignore-space-at-eol ok 8 - another test, with -w -b --ignore-space-at-eol ok 9 - another test, with -b ok 10 - another test, with -b --ignore-space-at-eol ok 11 - another test, with --ignore-space-at-eol ok 12 - check mixed spaces and tabs in indent ok 13 - check mixed tabs and spaces in indent ok 14 - check with no whitespace errors ok 15 - check with trailing whitespace ok 16 - check with space before tab in indent ok 17 - --check and --exit-code are not exclusive ok 18 - --check and --quiet are not exclusive ok 19 - check staged with no whitespace errors ok 20 - check staged with trailing whitespace ok 21 - check staged with space before tab in indent ok 22 - check with no whitespace errors (diff-index) ok 23 - check with trailing whitespace (diff-index) ok 24 - check with space before tab in indent (diff-index) ok 25 - check staged with no whitespace errors (diff-index) ok 26 - check staged with trailing whitespace (diff-index) ok 27 - check staged with space before tab in indent (diff-index) ok 28 - check with no whitespace errors (diff-tree) ok 29 - check with trailing whitespace (diff-tree) ok 30 - check with space before tab in indent (diff-tree) ok 31 - check trailing whitespace (trailing-space: off) ok 32 - check trailing whitespace (trailing-space: on) ok 33 - check space before tab in indent (space-before-tab: off) ok 34 - check space before tab in indent (space-before-tab: on) ok 35 - check spaces as indentation (indent-with-non-tab: off) ok 36 - check spaces as indentation (indent-with-non-tab: on) ok 37 - ditto, but tabwidth=9 ok 38 - check tabs and spaces as indentation (indent-with-non-tab: on) ok 39 - ditto, but tabwidth=10 ok 40 - ditto, but tabwidth=20 ok 41 - check tabs as indentation (tab-in-indent: off) ok 42 - check tabs as indentation (tab-in-indent: on) ok 43 - check tabs and spaces as indentation (tab-in-indent: on) ok 44 - ditto, but tabwidth=1 (must be irrelevant) ok 45 - check tab-in-indent and indent-with-non-tab conflict ok 46 - check tab-in-indent excluded from wildcard whitespace attribute ok 47 - line numbers in --check output are correct ok 48 - checkdiff detects new trailing blank lines (1) ok 49 - checkdiff detects new trailing blank lines (2) ok 50 - checkdiff allows new blank lines ok 51 - whitespace-only changes not reported ok 52 - whitespace-only changes reported across renames ok 53 - rename empty ok 54 - combined diff with autocrlf conversion ok 55 - setup diff colors ok 56 - diff that introduces a line with only tabs # passed all 56 test(s) 1..56 *** t4016-diff-quote.sh *** ok 1 - setup ok 2 - setup expected files ok 3 - git diff --summary -M HEAD ok 4 - setup expected files ok 5 - git diff --stat -M HEAD # passed all 5 test(s) 1..5 *** t4017-diff-retval.sh *** ok 1 - setup ok 2 - git diff --quiet -w HEAD^^ HEAD^ ok 3 - git diff --quiet HEAD^^ HEAD^ ok 4 - git diff --quiet -w HEAD^ HEAD ok 5 - git diff-tree HEAD^ HEAD ok 6 - git diff-tree HEAD^ HEAD -- a ok 7 - git diff-tree HEAD^ HEAD -- b ok 8 - echo HEAD | git diff-tree --stdin ok 9 - git diff-tree HEAD HEAD ok 10 - git diff-files ok 11 - git diff-index --cached HEAD ok 12 - git diff-index --cached HEAD^ ok 13 - git diff-index --cached HEAD^ ok 14 - git diff-tree -Stext HEAD^ HEAD -- b ok 15 - git diff-tree -Snot-found HEAD^ HEAD -- b ok 16 - git diff-files ok 17 - git diff-index --cached HEAD ok 18 - --check --exit-code returns 0 for no difference ok 19 - --check --exit-code returns 1 for a clean difference ok 20 - --check --exit-code returns 3 for a dirty difference ok 21 - --check with --no-pager returns 2 for dirty difference ok 22 - check should test not just the last line ok 23 - check detects leftover conflict markers ok 24 - check honors conflict marker length # passed all 24 test(s) 1..24 *** t4018-diff-funcname.sh *** ok 1 - builtin bibtex pattern compiles ok 2 - builtin bibtex wordRegex pattern compiles ok 3 - builtin cpp pattern compiles ok 4 - builtin cpp wordRegex pattern compiles ok 5 - builtin csharp pattern compiles ok 6 - builtin csharp wordRegex pattern compiles ok 7 - builtin fortran pattern compiles ok 8 - builtin fortran wordRegex pattern compiles ok 9 - builtin html pattern compiles ok 10 - builtin html wordRegex pattern compiles ok 11 - builtin java pattern compiles ok 12 - builtin java wordRegex pattern compiles ok 13 - builtin matlab pattern compiles ok 14 - builtin matlab wordRegex pattern compiles ok 15 - builtin objc pattern compiles ok 16 - builtin objc wordRegex pattern compiles ok 17 - builtin pascal pattern compiles ok 18 - builtin pascal wordRegex pattern compiles ok 19 - builtin perl pattern compiles ok 20 - builtin perl wordRegex pattern compiles ok 21 - builtin php pattern compiles ok 22 - builtin php wordRegex pattern compiles ok 23 - builtin python pattern compiles ok 24 - builtin python wordRegex pattern compiles ok 25 - builtin ruby pattern compiles ok 26 - builtin ruby wordRegex pattern compiles ok 27 - builtin tex pattern compiles ok 28 - builtin tex wordRegex pattern compiles ok 29 - default behaviour ok 30 - set up .gitattributes declaring drivers to test ok 31 - preset java pattern ok 32 - preset perl pattern ok 33 - perl pattern accepts K&R style brace placement, too ok 34 - but is not distracted by end of <blob), --cached ok 9 - typechanged submodule(submodule->blob) ok 10 - typechanged submodule(submodule->blob) ok 11 - nonexistent commit ok 12 - typechanged submodule(blob->submodule) ok 13 - submodule is up to date ok 14 - submodule contains untracked content ok 15 - submodule contains untracked content (untracked ignored) ok 16 - submodule contains untracked content (dirty ignored) ok 17 - submodule contains untracked content (all ignored) ok 18 - submodule contains untracked and modifed content ok 19 - submodule contains untracked and modifed content (untracked ignored) ok 20 - submodule contains untracked and modifed content (dirty ignored) ok 21 - submodule contains untracked and modifed content (all ignored) ok 22 - submodule contains modifed content ok 23 - submodule is modified ok 24 - modified submodule contains untracked content ok 25 - modified submodule contains untracked content (untracked ignored) ok 26 - modified submodule contains untracked content (dirty ignored) ok 27 - modified submodule contains untracked content (all ignored) ok 28 - modified submodule contains untracked and modifed content ok 29 - modified submodule contains untracked and modifed content (untracked ignored) ok 30 - modified submodule contains untracked and modifed content (dirty ignored) ok 31 - modified submodule contains untracked and modifed content (all ignored) ok 32 - modified submodule contains modifed content ok 33 - deleted submodule ok 34 - multiple submodules ok 35 - path filter ok 36 - given commit ok 37 - given commit --submodule ok 38 - given commit --submodule=short ok 39 - setup .git file for sm2 ok 40 - diff --submodule with .git file ok 41 - diff --submodule with objects referenced by alternates # passed all 41 test(s) 1..41 *** t4042-diff-textconv-caching.sh *** ok 1 - setup ok 2 - first textconv works ok 3 - cached textconv produces same output ok 4 - cached textconv does not run helper ok 5 - changing textconv invalidates cache ok 6 - switching diff driver produces correct results # passed all 6 test(s) 1..6 *** t4043-diff-rename-binary.sh *** ok 1 - prepare repository ok 2 - move the files into a "sub" directory ok 3 - git show -C -C report renames # passed all 3 test(s) 1..3 *** t4044-diff-index-unique-abbrev.sh *** ok 1 - setup ok 2 - diff does not produce ambiguous index line # passed all 2 test(s) 1..2 *** t4045-diff-relative.sh *** ok 1 - setup ok 2 - -p --relative=subdir/ ok 3 - -p --relative=subdir ok 4 - -p --relative=sub ok 5 - --stat --relative=subdir/ ok 6 - --stat --relative=subdir ok 7 - --stat --relative=sub ok 8 - --raw --relative=subdir/ ok 9 - --raw --relative=subdir ok 10 - --raw --relative=sub # passed all 10 test(s) 1..10 *** t4046-diff-unmerged.sh *** ok 1 - setup ok 2 - diff-files -0 ok 3 - diff-files -1 ok 4 - diff-files -2 ok 5 - diff-files -3 # passed all 5 test(s) 1..5 *** t4047-diff-dirstat.sh *** ok 1 - setup ok 2 - sanity check setup (--stat) ok 3 - various ways to misspell --dirstat ok 4 - vanilla --dirstat ok 5 - vanilla -X ok 6 - explicit defaults: --dirstat=changes,noncumulative,3 ok 7 - explicit defaults: -Xchanges,noncumulative,3 ok 8 - later options override earlier options: ok 9 - non-defaults in config overridden by explicit defaults on command line ok 10 - --dirstat=0 ok 11 - -X0 ok 12 - diff.dirstat=0 ok 13 - --dirstat=0 --cumulative ok 14 - --dirstat=0,cumulative ok 15 - -X0,cumulative ok 16 - diff.dirstat=0,cumulative ok 17 - diff.dirstat=0 & --dirstat=cumulative ok 18 - --dirstat-by-file ok 19 - --dirstat=files ok 20 - diff.dirstat=files ok 21 - --dirstat-by-file=10 ok 22 - --dirstat=files,10 ok 23 - diff.dirstat=10,files ok 24 - --dirstat-by-file --cumulative ok 25 - --dirstat=files,cumulative ok 26 - diff.dirstat=cumulative,files ok 27 - --dirstat=files,cumulative,10 ok 28 - diff.dirstat=10,cumulative,files ok 29 - --dirstat=files,cumulative,16.7 ok 30 - diff.dirstat=16.7,cumulative,files ok 31 - diff.dirstat=16.70,cumulative,files ok 32 - --dirstat=files,cumulative,27.2 ok 33 - --dirstat=files,cumulative,27.09 ok 34 - --dirstat=lines ok 35 - diff.dirstat=lines ok 36 - --dirstat=lines,0 ok 37 - diff.dirstat=0,lines ok 38 - --dirstat=future_param,lines,0 should fail loudly ok 39 - --dirstat=dummy1,cumulative,2dummy should report both unrecognized parameters ok 40 - diff.dirstat=future_param,0,lines should warn, but still work # passed all 40 test(s) 1..40 *** t4048-diff-combined-binary.sh *** ok 1 - setup binary merge conflict ok 2 - diff -m indicates binary-ness ok 3 - diff -c indicates binary-ness ok 4 - diff --cc indicates binary-ness ok 5 - setup non-binary with binary attribute ok 6 - diff -m respects binary attribute ok 7 - diff -c respects binary attribute ok 8 - diff --cc respects binary attribute ok 9 - setup textconv attribute ok 10 - diff -m respects textconv attribute ok 11 - diff -c respects textconv attribute ok 12 - diff --cc respects textconv attribute ok 13 - diff-tree plumbing does not respect textconv ok 14 - diff --cc respects textconv on worktree file # passed all 14 test(s) 1..14 *** t4049-diff-stat-count.sh *** ok 1 - setup # passed all 1 test(s) 1..1 *** t4050-diff-histogram.sh *** ok 1 - histogram diff ok 2 - histogram diff output is valid ok 3 - completely different files # passed all 3 test(s) 1..3 *** t4051-diff-function-context.sh *** ok 1 - setup ok 2 - diff -U0 -W ok 3 - diff -W # passed all 3 test(s) 1..3 *** t4052-stat-output.sh *** ok 1 - set up terminal for tests ok 2 - preparation ok 3 - format-patch: small change with long name gives more space to the name ok 4 - format-patch --stat=width: a long name is given more room when the bar is short ok 5 - format-patch --stat-width=width with long name ok 6 - format-patch --stat=...,name-width with long name ok 7 - format-patch --stat-name-width with long name ok 8 - diff: small change with long name gives more space to the name ok 9 - diff --stat=width: a long name is given more room when the bar is short ok 10 - diff --stat-width=width with long name ok 11 - diff --stat=...,name-width with long name ok 12 - diff --stat-name-width with long name ok 13 - show: small change with long name gives more space to the name ok 14 - show --stat=width: a long name is given more room when the bar is short ok 15 - show --stat-width=width with long name ok 16 - show --stat=...,name-width with long name ok 17 - show --stat-name-width with long name ok 18 - log: small change with long name gives more space to the name ok 19 - log --stat=width: a long name is given more room when the bar is short ok 20 - log --stat-width=width with long name ok 21 - log --stat=...,name-width with long name ok 22 - log --stat-name-width with long name ok 23 - preparation for big change tests ok 24 - format-patch ignores COLUMNS (big change) ok 25 - format-patch --graph ignores COLUMNS (big change) ok 26 - diff respects COLUMNS (big change) ok 27 - show respects COLUMNS (big change) ok 28 - show --graph respects COLUMNS (big change) ok 29 - log respects COLUMNS (big change) ok 30 - log --graph respects COLUMNS (big change) ok 31 - format-patch ignores not enough COLUMNS (big change) ok 32 - format-patch --graph ignores not enough COLUMNS (big change) ok 33 - diff respects not enough COLUMNS (big change) ok 34 - show respects not enough COLUMNS (big change) ok 35 - show --graph respects not enough COLUMNS (big change) ok 36 - log respects not enough COLUMNS (big change) ok 37 - log --graph respects not enough COLUMNS (big change) ok 38 - format-patch ignores statGraphWidth config ok 39 - format-patch --graph ignores statGraphWidth config ok 40 - diff respects statGraphWidth config ok 41 - show respects statGraphWidth config ok 42 - show --graph respects statGraphWidth config ok 43 - log respects statGraphWidth config ok 44 - log --graph respects statGraphWidth config ok 45 - format-patch --stat=width with big change ok 46 - format-patch --stat-width=width with big change ok 47 - format-patch --stat-graph-width with big change ok 48 - format-patch --stat-width=width --graph with big change ok 49 - format-patch --stat-graph-width --graph with big change ok 50 - diff --stat=width with big change ok 51 - diff --stat-width=width with big change ok 52 - diff --stat-graph-width with big change ok 53 - show --stat=width with big change ok 54 - show --stat-width=width with big change ok 55 - show --stat-graph-width with big change ok 56 - show --stat-width=width --graph with big change ok 57 - show --stat-graph-width --graph with big change ok 58 - log --stat=width with big change ok 59 - log --stat-width=width with big change ok 60 - log --stat-graph-width with big change ok 61 - log --stat-width=width --graph with big change ok 62 - log --stat-graph-width --graph with big change ok 63 - preparation for long filename tests ok 64 - format-patch --stat=width with big change is more balanced ok 65 - format-patch --stat=width --graph with big change is balanced ok 66 - diff --stat=width with big change is more balanced ok 67 - show --stat=width with big change is more balanced ok 68 - show --stat=width --graph with big change is balanced ok 69 - log --stat=width with big change is more balanced ok 70 - log --stat=width --graph with big change is balanced ok 71 - format-patch ignores COLUMNS (long filename) ok 72 - format-patch --graph ignores COLUMNS (long filename) ok 73 - diff respects COLUMNS (long filename) ok 74 - show respects COLUMNS (long filename) ok 75 - show --graph respects COLUMNS (long filename) ok 76 - log respects COLUMNS (long filename) ok 77 - log --graph respects COLUMNS (long filename) ok 78 - format-patch ignores prefix greater than COLUMNS (big change) ok 79 - format-patch --graph ignores prefix greater than COLUMNS (big change) ok 80 - diff respects prefix greater than COLUMNS (big change) ok 81 - show respects prefix greater than COLUMNS (big change) ok 82 - show --graph respects prefix greater than COLUMNS (big change) ok 83 - log respects prefix greater than COLUMNS (big change) ok 84 - log --graph respects prefix greater than COLUMNS (big change) ok 85 - merge --stat respects COLUMNS (big change) ok 86 - merge --stat respects COLUMNS (long filename) # passed all 86 test(s) 1..86 *** t4053-diff-no-index.sh *** ok 1 - setup ok 2 - git diff --no-index directories # passed all 2 test(s) 1..2 *** t4100-apply-stat.sh *** ok 1 - rename ok 2 - rename with recount ok 3 - copy ok 4 - copy with recount ok 5 - rewrite ok 6 - rewrite with recount ok 7 - mode ok 8 - mode with recount ok 9 - non git (1) ok 10 - non git (1) with recount ok 11 - non git (2) ok 12 - non git (2) with recount ok 13 - non git (3) ok 14 - non git (3) with recount ok 15 - incomplete (1) ok 16 - incomplete (1) with recount ok 17 - incomplete (2) ok 18 - incomplete (2) with recount # passed all 18 test(s) 1..18 *** t4101-apply-nonl.sh *** ok 1 - apply diff between 0 and 1 ok 2 - apply diff between 0 and 2 ok 3 - apply diff between 0 and 3 ok 4 - apply diff between 1 and 0 ok 5 - apply diff between 1 and 2 ok 6 - apply diff between 1 and 3 ok 7 - apply diff between 2 and 0 ok 8 - apply diff between 2 and 1 ok 9 - apply diff between 2 and 3 ok 10 - apply diff between 3 and 0 ok 11 - apply diff between 3 and 1 ok 12 - apply diff between 3 and 2 # passed all 12 test(s) 1..12 *** t4102-apply-rename.sh *** ok 1 - setup ok 2 - apply ok 3 - validate ok 4 - apply reverse ok 5 - apply copy # passed all 5 test(s) 1..5 *** t4103-apply-binary.sh *** ok 1 - setup ok 2 - stat binary diff -- should not fail. ok 3 - stat binary diff (copy) -- should not fail. ok 4 - check binary diff -- should fail. ok 5 - check binary diff (copy) -- should fail. ok 6 - check incomplete binary diff with replacement -- should fail. ok 7 - check incomplete binary diff with replacement (copy) -- should fail. ok 8 - check binary diff with replacement. ok 9 - check binary diff with replacement (copy). ok 10 - apply binary diff -- should fail. ok 11 - apply binary diff -- should fail. ok 12 - apply binary diff (copy) -- should fail. ok 13 - apply binary diff (copy) -- should fail. ok 14 - apply binary diff with full-index ok 15 - apply binary diff with full-index (copy) ok 16 - apply full-index binary diff in new repo ok 17 - apply binary diff without replacement. ok 18 - apply binary diff without replacement (copy). ok 19 - apply binary diff. ok 20 - apply binary diff (copy). # passed all 20 test(s) 1..20 *** t4104-apply-boundary.sh *** ok 1 - setup ok 2 - apply add-a-patch with context ok 3 - apply add-z-patch with context ok 4 - apply insert-a-patch with context ok 5 - apply mod-a-patch with context ok 6 - apply mod-z-patch with context ok 7 - apply del-a-patch with context ok 8 - apply del-z-patch with context ok 9 - apply add-a-patch without context ok 10 - apply add-z-patch without context ok 11 - apply insert-a-patch without context ok 12 - apply mod-a-patch without context ok 13 - apply mod-z-patch without context ok 14 - apply del-a-patch without context ok 15 - apply del-z-patch without context ok 16 - apply non-git add-a-patch without context ok 17 - apply non-git add-z-patch without context ok 18 - apply non-git insert-a-patch without context ok 19 - apply non-git mod-a-patch without context ok 20 - apply non-git mod-z-patch without context ok 21 - apply non-git del-a-patch without context ok 22 - apply non-git del-z-patch without context ok 23 - two lines ok 24 - apply patch with 3 context lines matching at end # passed all 24 test(s) 1..24 *** t4105-apply-fuzz.sh *** ok 1 - setup ok 2 - unmodified patch ok 3 - minus offset ok 4 - plus offset ok 5 - big offset ok 6 - fuzz with no offset ok 7 - fuzz with minus offset ok 8 - fuzz with plus offset ok 9 - fuzz with big offset # passed all 9 test(s) 1..9 *** t4106-apply-stdin.sh *** ok 1 - setup ok 2 - git apply --numstat - < patch ok 3 - git apply --numstat - < patch patch # passed all 3 test(s) 1..3 *** t4107-apply-ignore-whitespace.sh *** ok 1 - file creation ok 2 - patch2 fails (retab) ok 3 - patch2 applies with --ignore-whitespace ok 4 - patch2 reverse applies with --ignore-space-change ok 5 - patch2 applies (apply.ignorewhitespace = change) ok 6 - patch3 fails (missing string at EOL) ok 7 - patch4 fails (missing EOL at EOF) ok 8 - patch5 applies (leading whitespace) ok 9 - patches do not mangle whitespace ok 10 - re-create file (with --ignore-whitespace) ok 11 - patch5 fails (--no-ignore-whitespace) # passed all 11 test(s) 1..11 *** t4109-apply-multifrag.sh *** ok 1 - git apply (1) ok 2 - git apply (2) ok 3 - git apply (3) # passed all 3 test(s) 1..3 *** t4110-apply-scan.sh *** ok 1 - git apply scan # passed all 1 test(s) 1..1 *** t4111-apply-subdir.sh *** ok 1 - setup ok 2 - setup: subdir ok 3 - apply from subdir of toplevel ok 4 - apply --cached from subdir of toplevel ok 5 - apply --index from subdir of toplevel ok 6 - apply from .git dir ok 7 - apply from subdir of .git dir ok 8 - apply --cached from .git dir ok 9 - apply --cached from subdir of .git dir # passed all 9 test(s) 1..9 *** t4112-apply-renames.sh *** ok 1 - check rename/copy patch ok 2 - apply rename/copy patch # passed all 2 test(s) 1..2 *** t4113-apply-ending.sh *** ok 1 - setup ok 2 - apply at the end ok 3 - apply at the beginning # passed all 3 test(s) 1..3 *** t4114-apply-typechange.sh *** ok 1 - setup repository and commits ok 2 - file renamed from foo to foo/baz ok 3 - file renamed from foo/baz to foo ok 4 - directory becomes file ok 5 - file becomes directory ok 6 - file becomes symlink ok 7 - symlink becomes file ok 8 - binary file becomes symlink ok 9 - symlink becomes binary file ok 10 - symlink becomes directory ok 11 - directory becomes symlink # passed all 11 test(s) 1..11 *** t4115-apply-symlink.sh *** ok 1 - setup ok 2 - apply symlink patch ok 3 - apply --index symlink patch # passed all 3 test(s) 1..3 *** t4116-apply-reverse.sh *** ok 1 - setup ok 2 - apply in forward ok 3 - apply in reverse ok 4 - setup separate repository lacking postimage ok 5 - apply in forward without postimage ok 6 - apply in reverse without postimage ok 7 - reversing a whitespace introduction # passed all 7 test(s) 1..7 *** t4117-apply-reject.sh *** ok 1 - setup ok 2 - apply without --reject should fail ok 3 - apply without --reject should fail ok 4 - apply with --reject should fail but update the file ok 5 - apply with --reject should fail but update the file ok 6 - the same test with --verbose ok 7 - apply cleanly with --verbose # passed all 7 test(s) 1..7 *** t4118-apply-empty-context.sh *** ok 1 - setup ok 2 - apply --numstat ok 3 - apply --apply # passed all 3 test(s) 1..3 *** t4119-apply-config.sh *** ok 1 - setup ok 2 - apply --whitespace=strip ok 3 - apply --whitespace=strip from config ok 4 - apply --whitespace=strip in subdir ok 5 - apply --whitespace=strip from config in subdir ok 6 - same in subdir but with traditional patch input ok 7 - same but with traditional patch input of depth 1 ok 8 - same but with traditional patch input of depth 2 ok 9 - same but with traditional patch input of depth 1 ok 10 - same but with traditional patch input of depth 2 # passed all 10 test(s) 1..10 *** t4120-apply-popt.sh *** ok 1 - setup ok 2 - apply git diff with -p2 ok 3 - apply with too large -p ok 4 - apply (-p2) traditional diff with funny filenames ok 5 - apply with too large -p and fancy filename ok 6 - apply (-p2) diff, mode change only ok 7 - file mode was changed ok 8 - apply (-p2) diff, rename # passed all 8 test(s) 1..8 *** t4121-apply-diffs.sh *** ok 1 - setup ok 2 - check if contextually independent diffs for the same file apply # passed all 2 test(s) 1..2 *** t4122-apply-symlink-inside.sh *** ok 1 - setup ok 2 - apply ok 3 - check result # passed all 3 test(s) 1..3 *** t4123-apply-shrink.sh *** ok 1 - setup ok 2 - apply should fail gracefully # passed all 2 test(s) 1..2 *** t4124-apply-ws-rule.sh *** ok 1 - setup ok 2 - whitespace=nowarn, default rule ok 3 - whitespace=warn, default rule ok 4 - whitespace=error-all, default rule ok 5 - whitespace=error-all, no rule ok 6 - whitespace=error-all, no rule (attribute) ok 7 - spaces inserted by tab-in-indent ok 8 - rule=-trailing,-space,-indent,-tab ok 9 - rule=-trailing,-space,-indent,-tab,tabwidth=16 ok 10 - rule=-trailing,-space,-indent,-tab (attributes) ok 11 - rule=-trailing,-space,-indent,-tab,tabwidth=16 (attributes) ok 12 - rule=-trailing,-space,-indent,tab ok 13 - rule=-trailing,-space,-indent,tab,tabwidth=16 ok 14 - rule=-trailing,-space,-indent,tab (attributes) ok 15 - rule=-trailing,-space,-indent,tab,tabwidth=16 (attributes) ok 16 - rule=-trailing,-space,indent,-tab ok 17 - rule=-trailing,-space,indent,-tab,tabwidth=16 ok 18 - rule=-trailing,-space,indent,-tab (attributes) ok 19 - rule=-trailing,-space,indent,-tab,tabwidth=16 (attributes) ok 20 - rule=-trailing,space,-indent,-tab ok 21 - rule=-trailing,space,-indent,-tab,tabwidth=16 ok 22 - rule=-trailing,space,-indent,-tab (attributes) ok 23 - rule=-trailing,space,-indent,-tab,tabwidth=16 (attributes) ok 24 - rule=-trailing,space,-indent,tab ok 25 - rule=-trailing,space,-indent,tab,tabwidth=16 ok 26 - rule=-trailing,space,-indent,tab (attributes) ok 27 - rule=-trailing,space,-indent,tab,tabwidth=16 (attributes) ok 28 - rule=-trailing,space,indent,-tab ok 29 - rule=-trailing,space,indent,-tab,tabwidth=16 ok 30 - rule=-trailing,space,indent,-tab (attributes) ok 31 - rule=-trailing,space,indent,-tab,tabwidth=16 (attributes) ok 32 - rule=trailing,-space,-indent,-tab ok 33 - rule=trailing,-space,-indent,-tab,tabwidth=16 ok 34 - rule=trailing,-space,-indent,-tab (attributes) ok 35 - rule=trailing,-space,-indent,-tab,tabwidth=16 (attributes) ok 36 - rule=trailing,-space,-indent,tab ok 37 - rule=trailing,-space,-indent,tab,tabwidth=16 ok 38 - rule=trailing,-space,-indent,tab (attributes) ok 39 - rule=trailing,-space,-indent,tab,tabwidth=16 (attributes) ok 40 - rule=trailing,-space,indent,-tab ok 41 - rule=trailing,-space,indent,-tab,tabwidth=16 ok 42 - rule=trailing,-space,indent,-tab (attributes) ok 43 - rule=trailing,-space,indent,-tab,tabwidth=16 (attributes) ok 44 - rule=trailing,space,-indent,-tab ok 45 - rule=trailing,space,-indent,-tab,tabwidth=16 ok 46 - rule=trailing,space,-indent,-tab (attributes) ok 47 - rule=trailing,space,-indent,-tab,tabwidth=16 (attributes) ok 48 - rule=trailing,space,-indent,tab ok 49 - rule=trailing,space,-indent,tab,tabwidth=16 ok 50 - rule=trailing,space,-indent,tab (attributes) ok 51 - rule=trailing,space,-indent,tab,tabwidth=16 (attributes) ok 52 - rule=trailing,space,indent,-tab ok 53 - rule=trailing,space,indent,-tab,tabwidth=16 ok 54 - rule=trailing,space,indent,-tab (attributes) ok 55 - rule=trailing,space,indent,-tab,tabwidth=16 (attributes) ok 56 - trailing whitespace & no newline at the end of file ok 57 - blank at EOF with --whitespace=fix (1) ok 58 - blank at EOF with --whitespace=fix (2) ok 59 - blank at EOF with --whitespace=fix (3) ok 60 - blank at end of hunk, not at EOF with --whitespace=fix ok 61 - blank at EOF with --whitespace=warn ok 62 - blank at EOF with --whitespace=error ok 63 - blank but not empty at EOF ok 64 - applying beyond EOF requires one non-blank context line ok 65 - tons of blanks at EOF should not apply ok 66 - missing blank line at end with --whitespace=fix ok 67 - two missing blank lines at end with --whitespace=fix ok 68 - missing blank line at end, insert before end, --whitespace=fix ok 69 - shrink file with tons of missing blanks at end of file ok 70 - missing blanks at EOF must only match blank lines ok 71 - missing blank line should match context line with spaces ok 72 - same, but with the --ignore-space-option ok 73 - same, but with CR-LF line endings && cr-at-eol set ok 74 - same, but with CR-LF line endings && cr-at-eol unset # passed all 74 test(s) 1..74 *** t4125-apply-ws-fuzz.sh *** ok 1 - setup ok 2 - nofix ok 3 - withfix (forward) ok 4 - withfix (backward) # passed all 4 test(s) 1..4 *** t4126-apply-empty.sh *** ok 1 - setup ok 2 - apply empty ok 3 - apply --index empty ok 4 - apply create ok 5 - apply --index create # passed all 5 test(s) 1..5 *** t4127-apply-same-fn.sh *** ok 1 - setup ok 2 - apply same filename with independent changes ok 3 - apply same filename with overlapping changes ok 4 - apply same new filename after rename ok 5 - apply same old filename after rename -- should fail. ok 6 - apply A->B (rename), C->A (rename), A->A -- should pass. # passed all 6 test(s) 1..6 *** t4128-apply-root.sh *** ok 1 - setup ok 2 - apply --directory -p (1) ok 3 - apply --directory -p (2) ok 4 - apply --directory (new file) ok 5 - apply --directory -p (new file) ok 6 - apply --directory (delete file) ok 7 - apply --directory (quoted filename) # passed all 7 test(s) 1..7 *** t4129-apply-samemode.sh *** ok 1 - setup ok 2 - same mode (no index) ok 3 - same mode (with index) ok 4 - same mode (index only) ok 5 - mode update (no index) ok 6 - mode update (with index) ok 7 - mode update (index only) # passed all 7 test(s) 1..7 *** t4130-apply-criss-cross-rename.sh *** ok 1 - setup ok 2 - criss-cross rename ok 3 - diff -M -B ok 4 - apply ok 5 - criss-cross rename ok 6 - diff -M -B ok 7 - apply # passed all 7 test(s) 1..7 *** t4131-apply-fake-ancestor.sh *** ok 1 - setup ok 2 - apply --build-fake-ancestor ok 3 - apply --build-fake-ancestor in a subdirectory # passed all 3 test(s) 1..3 *** t4132-apply-removal.sh *** ok 1 - setup ok 2 - test addEast.patch ok 3 - test addGMT.patch ok 4 - test addWest.patch ok 5 - test createEast.patch ok 6 - test createGMT.patch ok 7 - test createWest.patch ok 8 - test emptyEast.patch ok 9 - test emptyGMT.patch ok 10 - test emptyWest.patch ok 11 - test removeEast.patch ok 12 - test removeGMT.patch ok 13 - test removeWest.patch ok 14 - test removeWest2.patch # passed all 14 test(s) 1..14 *** t4133-apply-filenames.sh *** ok 1 - setup ok 2 - apply diff with inconsistent filenames in headers # passed all 2 test(s) 1..2 *** t4134-apply-submodule.sh *** ok 1 - setup ok 2 - removing a submodule also removes all leading subdirectories # passed all 2 test(s) 1..2 *** t4135-apply-weird-filenames.sh *** ok 1 - setup ok 2 - plain, git-style file creation patch ok 3 - plain, traditional patch ok 4 - plain, traditional file creation patch ok 5 - with spaces, git-style file creation patch ok 6 - with spaces, traditional patch ok 7 - with spaces, traditional file creation patch ok 8 - with tab, git-style file creation patch ok 9 - with tab, traditional patch ok 10 - with tab, traditional file creation patch ok 11 - with backslash, git-style file creation patch ok 12 - with backslash, traditional patch ok 13 - with backslash, traditional file creation patch ok 14 - with quote, git-style file creation patch not ok 15 - with quote, traditional patch # TODO known breakage ok 16 - with quote, traditional file creation patch ok 17 - whitespace-damaged traditional patch ok 18 - traditional patch with colon in timezone ok 19 - traditional, whitespace-damaged, colon in timezone # still have 1 known breakage(s) # passed all remaining 18 test(s) 1..19 *** t4136-apply-check.sh *** ok 1 - setup ok 2 - apply --check exits non-zero with unrecognized input # passed all 2 test(s) 1..2 *** t4150-am.sh *** ok 1 - setup: messages ok 2 - setup ok 3 - am applies patch correctly ok 4 - am applies patch e-mail not in a mbox ok 5 - am applies patch e-mail not in a mbox with CRLF ok 6 - am applies patch e-mail with preceding whitespace ok 7 - setup: new author and committer ok 8 - am changes committer and keeps author ok 9 - am --signoff adds Signed-off-by: line ok 10 - am stays in branch ok 11 - am --signoff does not add Signed-off-by: line if already there ok 12 - am without --keep removes Re: and [PATCH] stuff ok 13 - am --keep really keeps the subject ok 14 - am --keep-non-patch really keeps the non-patch part ok 15 - am -3 falls back to 3-way merge ok 16 - am -3 -p0 can read --no-prefix patch ok 17 - am can rename a file ok 18 - am -3 can rename a file ok 19 - am -3 can rename a file after falling back to 3-way merge ok 20 - am -3 -q is quiet ok 21 - am pauses on conflict ok 22 - am --skip works ok 23 - am --resolved works ok 24 - am takes patches from a Pine mailbox ok 25 - am fails on mail without patch ok 26 - am fails on empty patch ok 27 - am works from stdin in subdirectory ok 28 - am works from file (relative path given) in subdirectory ok 29 - am works from file (absolute path given) in subdirectory ok 30 - am --committer-date-is-author-date ok 31 - am without --committer-date-is-author-date ok 32 - am --ignore-date ok 33 - am into an unborn branch ok 34 - am newline in subject ok 35 - am -q is quiet ok 36 - am empty-file does not infloop # passed all 36 test(s) 1..36 *** t4151-am-abort.sh *** ok 1 - setup ok 2 - am stops at a patch that does not apply ok 3 - am --skip continue after failed am ok 4 - am --abort goes back after failed am ok 5 - am -3 stops at a patch that does not apply ok 6 - am -3 --skip continue after failed am -3 ok 7 - am --abort goes back after failed am -3 ok 8 - am --abort will keep the local commits intact # passed all 8 test(s) 1..8 *** t4152-am-subjects.sh *** ok 1 - setup baseline commit ok 2 - create patches with short subject ok 3 - create patches with long subject ok 4 - create patches with multiline subject ok 5 - short subject preserved (format-patch | am) ok 6 - short subject preserved (format-patch -k | am) ok 7 - short subject preserved (format-patch -k | am -k) ok 8 - long subject preserved (format-patch | am) ok 9 - long subject preserved (format-patch -k | am) ok 10 - long subject preserved (format-patch -k | am -k) ok 11 - multiline subject unwrapped (format-patch | am) ok 12 - multiline subject unwrapped (format-patch -k | am) ok 13 - multiline subject preserved (format-patch -k | am -k) # passed all 13 test(s) 1..13 *** t4200-rerere.sh *** ok 1 - setup ok 2 - nothing recorded without rerere ok 3 - activate rerere, old style (conflicting merge) ok 4 - rerere.enabled works, too ok 5 - set up rr-cache ok 6 - rr-cache looks sane ok 7 - rerere diff ok 8 - rerere status ok 9 - first postimage wins ok 10 - rerere updates postimage timestamp ok 11 - rerere clear ok 12 - set up for garbage collection tests ok 13 - gc preserves young or recently used records ok 14 - old records rest in peace ok 15 - setup: file2 added differently in two branches ok 16 - resolution was recorded properly ok 17 - rerere.autoupdate ok 18 - merge --rerere-autoupdate ok 19 - merge --no-rerere-autoupdate ok 20 - set up an unresolved merge ok 21 - explicit rerere ok 22 - explicit rerere with autoupdate ok 23 - explicit rerere --rerere-autoupdate overrides ok 24 - rerere --no-no-rerere-autoupdate ok 25 - rerere -h # passed all 25 test(s) 1..25 *** t4201-shortlog.sh *** ok 1 - setup ok 2 - default output format ok 3 - pretty format ok 4 - --abbrev ok 5 - output from user-defined format is re-wrapped ok 6 - shortlog wrapping ok 7 - shortlog from non-git directory ok 8 - shortlog encoding # passed all 8 test(s) 1..8 *** t4202-log.sh *** ok 1 - setup ok 2 - pretty ok 3 - pretty (tformat) ok 4 - pretty (shortcut) ok 5 - format ok 6 - format %w(12,1,2) ok 7 - format %w(,1,2) ok 8 - oneline ok 9 - diff-filter=A ok 10 - diff-filter=M ok 11 - diff-filter=D ok 12 - diff-filter=R ok 13 - diff-filter=C ok 14 - git log --follow ok 15 - git log --no-walk sorts by commit time ok 16 - git show leaves list of commits as given ok 17 - setup case sensitivity tests ok 18 - log --grep ok 19 - log --grep option parsing ok 20 - log -i --grep ok 21 - log --grep -i ok 22 - simple log --graph ok 23 - set up merge history ok 24 - log --graph with merge ok 25 - log --graph with full output ok 26 - set up more tangled history ok 27 - log --graph with merge ok 28 - log.decorate configuration ok 29 - reflog is expected format ok 30 - whatchanged is expected format ok 31 - log.abbrevCommit configuration ok 32 - show added path under "--follow -M" ok 33 - log --graph with diff and stats # passed all 33 test(s) 1..33 *** t4203-mailmap.sh *** ok 1 - setup ok 2 - No mailmap ok 3 - default .mailmap ok 4 - mailmap.file set ok 5 - mailmap.file override ok 6 - mailmap.file non-existent ok 7 - name entry after email entry ok 8 - name entry after email entry, case-insensitive ok 9 - No mailmap files, but configured ok 10 - Shortlog output (complex mapping) ok 11 - Log output (complex mapping) ok 12 - Blame output (complex mapping) # passed all 12 test(s) 1..12 *** t4204-patch-id.sh *** ok 1 - setup ok 2 - patch-id output is well-formed ok 3 - patch-id detects equality ok 4 - patch-id detects inequality ok 5 - patch-id supports git-format-patch output ok 6 - whitespace is irrelevant in footer ok 7 - patch-id supports git-format-patch MIME output ok 8 - patch-id handles no-nl-at-eof markers # passed all 8 test(s) 1..8 *** t4205-log-pretty-formats.sh *** ok 1 - set up basic repos ok 2 - alias builtin format ok 3 - alias masking builtin format ok 4 - alias user-defined format ok 5 - alias user-defined tformat ok 6 - alias non-existent format ok 7 - alias of an alias ok 8 - alias masking an alias ok 9 - alias loop ok 10 - NUL separation ok 11 - NUL termination ok 12 - NUL separation with --stat not ok 13 - NUL termination with --stat # TODO known breakage # still have 1 known breakage(s) # passed all remaining 12 test(s) 1..13 *** t4206-log-follow-harder-copies.sh *** ok 1 - add a file path0 and commit. ok 2 - Change path0. ok 3 - copy path0 to path1. ok 4 - find the copy path0 -> path1 harder ok 5 - validate the output. # passed all 5 test(s) 1..5 *** t4207-log-decoration-colors.sh *** ok 1 - setup ok 2 - Commit Decorations Colored Correctly # passed all 2 test(s) 1..2 *** t4208-log-magic-pathspec.sh *** ok 1 - setup ok 2 - "git log :/" should be ambiguous ok 3 - "git log :" should be ambiguous ok 4 - git log -- : ok 5 - git log HEAD -- :/ # passed all 5 test(s) 1..5 *** t4209-log-pickaxe.sh *** ok 1 - setup ok 2 - log --grep ok 3 - log --grep --regexp-ignore-case ok 4 - log --grep -i ok 5 - log --author --regexp-ignore-case ok 6 - log --author -i ok 7 - log -G (nomatch) ok 8 - log -G (match) ok 9 - log -G --regexp-ignore-case (nomatch) ok 10 - log -G -i (nomatch) ok 11 - log -G --regexp-ignore-case (match) ok 12 - log -G -i (match) ok 13 - log -S (nomatch) ok 14 - log -S (match) ok 15 - log -S --regexp-ignore-case (match) ok 16 - log -S -i (match) ok 17 - log -S --regexp-ignore-case (nomatch) ok 18 - log -S -i (nomatch) # passed all 18 test(s) 1..18 *** t4252-am-options.sh *** ok 1 - setup ok 2 - interrupted am --whitespace=fix ok 3 - interrupted am -C1 ok 4 - interrupted am -p2 ok 5 - interrupted am -C1 -p2 ok 6 - interrupted am --directory="frotz nitfol" ok 7 - apply to a funny path ok 8 - am --reject # passed all 8 test(s) 1..8 *** t4253-am-keep-cr-dos.sh *** ok 1 - setup repository with dos files ok 2 - am with dos files without --keep-cr ok 3 - am with dos files with --keep-cr ok 4 - am with dos files config am.keepcr ok 5 - am with dos files config am.keepcr overriden by --no-keep-cr ok 6 - am with dos files with --keep-cr continue ok 7 - am with unix files config am.keepcr overriden by --no-keep-cr # passed all 7 test(s) 1..7 *** t4254-am-corrupt.sh *** ok 1 - setup ok 2 - try to apply corrupted patch ok 3 - compare diagnostic; ensure file is still here # passed all 3 test(s) 1..3 *** t4300-merge-tree.sh *** ok 1 - setup ok 2 - file add A, !B ok 3 - file add !A, B ok 4 - file add A, B (same) ok 5 - file add A, B (different) ok 6 - file change A, !B ok 7 - file change !A, B ok 8 - file change A, B (same) ok 9 - file change A, B (different) ok 10 - file change A, B (mixed) ok 11 - file remove A, !B ok 12 - file remove !A, B ok 13 - file change A, remove B ok 14 - file remove A, change B # passed all 14 test(s) 1..14 *** t5000-tar-tree.sh *** ok 1 - populate workdir ok 2 - add ignored file ok 3 - add files to repository ok 4 - create bare clone ok 5 - remove ignored file ok 6 - git archive ok 7 - git tar-tree ok 8 - git archive vs. git tar-tree ok 9 - git archive in a bare repo ok 10 - git archive vs. the same in a bare repo ok 11 - git archive with --output ok 12 - git archive --remote ok 13 - validate file modification time ok 14 - git get-tar-commit-id ok 15 - extract tar archive ok 16 - validate filenames ok 17 - validate file contents ok 18 - git tar-tree with prefix ok 19 - extract tar archive with prefix ok 20 - validate filenames with prefix ok 21 - validate file contents with prefix ok 22 - create archives with substfiles ok 23 - extract substfiles ok 24 - validate substfile contents ok 25 - extract substfiles from archive with prefix ok 26 - validate substfile contents from archive with prefix ok 27 - git archive --format=zip ok 28 - git archive --format=zip in a bare repo ok 29 - git archive --format=zip vs. the same in a bare repo ok 30 - git archive --format=zip with --output ok 31 - git archive with --output, inferring format ok 32 - git archive with --output, override inferred format ok 33 - extract ZIP archive ok 34 - validate filenames ok 35 - validate file contents ok 36 - git archive --format=zip with prefix ok 37 - extract ZIP archive with prefix ok 38 - validate filenames with prefix ok 39 - validate file contents with prefix ok 40 - git archive --list outside of a git repo ok 41 - clients cannot access unreachable commits ok 42 - git-archive --prefix=olde- ok 43 - setup tar filters ok 44 - archive --list mentions user filter ok 45 - archive --list shows only enabled remote filters ok 46 - invoke tar filter by format ok 47 - invoke tar filter by extension ok 48 - default output format remains tar ok 49 - extension matching requires dot ok 50 - only enabled filters are available remotely ok 51 - git archive --format=tgz ok 52 - git archive --format=tar.gz ok 53 - infer tgz from .tgz filename ok 54 - infer tgz from .tar.gz filename ok 55 - extract tgz file ok 56 - remote tar.gz is allowed by default ok 57 - remote tar.gz can be disabled # passed all 57 test(s) 1..57 *** t5001-archive-attr.sh *** ok 1 - setup ok 2 - git archive ok 3 - archive/ignored does not exist ok 4 - archive/ignored-by-tree does not exist ok 5 - archive/ignored-by-worktree exists ok 6 - git archive with worktree attributes ok 7 - worktree/ignored does not exist ok 8 - worktree/ignored-by-tree exists ok 9 - worktree/ignored-by-worktree does not exist ok 10 - git archive --worktree-attributes option ok 11 - worktree2/ignored does not exist ok 12 - worktree2/ignored-by-tree exists ok 13 - worktree2/ignored-by-worktree does not exist ok 14 - git archive vs. bare ok 15 - git archive with worktree attributes, bare ok 16 - bare-worktree/ignored does not exist ok 17 - bare-worktree/ignored-by-tree exists ok 18 - bare-worktree/ignored-by-worktree exists ok 19 - export-subst ok 20 - git tar-tree vs. git archive with worktree attributes ok 21 - git tar-tree vs. git archive with worktree attrs, bare # passed all 21 test(s) 1..21 *** t5100-mailinfo.sh *** ok 1 - split sample box ok 2 - mailinfo 0001 ok 3 - mailinfo 0002 ok 4 - mailinfo 0003 ok 5 - mailinfo 0004 ok 6 - mailinfo 0005 ok 7 - mailinfo 0006 ok 8 - mailinfo 0007 ok 9 - mailinfo 0008 ok 10 - mailinfo 0009 ok 11 - mailinfo 0010 ok 12 - mailinfo 0011 ok 13 - mailinfo 0012 ok 14 - mailinfo 0013 ok 15 - mailinfo 0014 ok 16 - mailinfo 0015 ok 17 - mailinfo 0016 ok 18 - split box with rfc2047 samples ok 19 - mailinfo rfc2047/0001 ok 20 - mailinfo rfc2047/0002 ok 21 - mailinfo rfc2047/0003 ok 22 - mailinfo rfc2047/0004 ok 23 - mailinfo rfc2047/0005 ok 24 - mailinfo rfc2047/0006 ok 25 - mailinfo rfc2047/0007 ok 26 - mailinfo rfc2047/0008 ok 27 - mailinfo rfc2047/0009 ok 28 - mailinfo rfc2047/0010 ok 29 - mailinfo rfc2047/0011 ok 30 - respect NULs ok 31 - Preserve NULs out of MIME encoded message ok 32 - mailinfo on from header without name works # passed all 32 test(s) 1..32 *** t5150-request-pull.sh *** ok 1 - setup ok 2 - setup: two scripts for reading pull requests ok 3 - pull request when forgot to push ok 4 - pull request after push ok 5 - request names an appropriate branch ok 6 - pull request format ok 7 - request-pull ignores OPTIONS_KEEPDASHDASH poison # passed all 7 test(s) 1..7 *** t5300-pack-object.sh *** ok 1 - setup ok 2 - pack without delta ok 3 - pack-objects with bogus arguments ok 4 - unpack without delta ok 5 - check unpack without delta ok 6 - pack with REF_DELTA ok 7 - unpack with REF_DELTA ok 8 - check unpack with REF_DELTA ok 9 - pack with OFS_DELTA ok 10 - unpack with OFS_DELTA ok 11 - check unpack with OFS_DELTA ok 12 - compare delta flavors ok 13 - use packed objects ok 14 - use packed deltified (REF_DELTA) objects ok 15 - use packed deltified (OFS_DELTA) objects ok 16 - survive missing objects/pack directory ok 17 - verify pack ok 18 - verify pack -v ok 19 - verify-pack catches mismatched .idx and .pack files ok 20 - verify-pack catches a corrupted pack signature ok 21 - verify-pack catches a corrupted pack version ok 22 - verify-pack catches a corrupted type/size of the 1st packed object data ok 23 - verify-pack catches a corrupted sum of the index file itself ok 24 - build pack index for an existing pack ok 25 - unpacking with --strict ok 26 - index-pack with --strict ok 27 - honor pack.packSizeLimit ok 28 - verify resulting packs ok 29 - tolerate packsizelimit smaller than biggest object ok 30 - verify resulting packs ok 31 - fake a SHA1 hash collision ok 32 - make sure index-pack detects the SHA1 collision # passed all 32 test(s) 1..32 *** t5301-sliding-window.sh *** ok 1 - setup ok 2 - verify-pack -v, defaults ok 3 - verify-pack -v, packedGitWindowSize == 1 page ok 4 - verify-pack -v, packedGit{WindowSize,Limit} == 1 page ok 5 - repack -a -d, packedGit{WindowSize,Limit} == 1 page ok 6 - verify-pack -v, defaults # passed all 6 test(s) 1..6 *** t5302-pack-index.sh *** ok 1 - setup ok 2 - pack-objects with index version 1 ok 3 - pack-objects with index version 2 ok 4 - both packs should be identical ok 5 - index v1 and index v2 should be different ok 6 - index-pack with index version 1 ok 7 - index-pack with index version 2 ok 8 - index-pack results should match pack-objects ones ok 9 - index-pack --verify on index version 1 ok 10 - index-pack --verify on index version 2 ok 11 - pack-objects --index-version=2, is not accepted ok 12 - index v2: force some 64-bit offsets with pack-objects ok 13 - index v2: verify a pack with some 64-bit offsets ok 14 - 64-bit offsets: should be different from previous index v2 results ok 15 - index v2: force some 64-bit offsets with index-pack ok 16 - 64-bit offsets: index-pack result should match pack-objects one ok 17 - index-pack --verify on 64-bit offset v2 (cheat) ok 18 - index-pack --verify on 64-bit offset v2 ok 19 - [index v1] 1) stream pack to repository ok 20 - [index v1] 2) create a stealth corruption in a delta base reference ok 21 - [index v1] 3) corrupted delta happily returned wrong data ok 22 - [index v1] 4) confirm that the pack is actually corrupted ok 23 - [index v1] 5) pack-objects happily reuses corrupted data ok 24 - [index v1] 6) newly created pack is BAD ! ok 25 - [index v2] 1) stream pack to repository ok 26 - [index v2] 2) create a stealth corruption in a delta base reference ok 27 - [index v2] 3) corrupted delta happily returned wrong data ok 28 - [index v2] 4) confirm that the pack is actually corrupted ok 29 - [index v2] 5) pack-objects refuses to reuse corrupted data ok 30 - [index v2] 6) verify-pack detects CRC mismatch ok 31 - running index-pack in the object store # passed all 31 test(s) 1..31 *** t5303-pack-corruption-resilience.sh *** ok 1 - initial setup validation ok 2 - create corruption in header of first object ok 3 - ... but having a loose copy allows for full recovery ok 4 - ... and loose copy of first delta allows for partial recovery ok 5 - create corruption in data of first object ok 6 - ... but having a loose copy allows for full recovery ok 7 - ... and loose copy of second object allows for partial recovery ok 8 - create corruption in header of first delta ok 9 - ... but having a loose copy allows for full recovery ok 10 - ... and then a repack "clears" the corruption ok 11 - create corruption in data of first delta ok 12 - ... but having a loose copy allows for full recovery ok 13 - ... and then a repack "clears" the corruption ok 14 - corruption in delta base reference of first delta (OBJ_REF_DELTA) ok 15 - ... but having a loose copy allows for full recovery ok 16 - ... and then a repack "clears" the corruption ok 17 - corruption #0 in delta base reference of first delta (OBJ_OFS_DELTA) ok 18 - ... but having a loose copy allows for full recovery ok 19 - ... and then a repack "clears" the corruption ok 20 - corruption #1 in delta base reference of first delta (OBJ_OFS_DELTA) ok 21 - ... but having a loose copy allows for full recovery ok 22 - ... and then a repack "clears" the corruption ok 23 - ... and a redundant pack allows for full recovery too ok 24 - corrupting header to have too small output buffer fails unpack # passed all 24 test(s) 1..24 *** t5304-prune.sh *** ok 1 - setup ok 2 - prune stale packs ok 3 - prune --expire ok 4 - gc: implicit prune --expire ok 5 - gc: refuse to start with invalid gc.pruneExpire ok 6 - gc: start with ok gc.pruneExpire ok 7 - prune: prune nonsense parameters ok 8 - prune: prune unreachable heads ok 9 - prune: do not prune heads listed as an argument ok 10 - gc --no-prune ok 11 - gc respects gc.pruneExpire ok 12 - gc --prune= ok 13 - gc --prune=never ok 14 - gc respects gc.pruneExpire=never ok 15 - prune --expire=never ok 16 - gc: prune old objects after local clone # passed all 16 test(s) 1..16 *** t5305-include-tag.sh *** ok 1 - setup ok 2 - pack without --include-tag ok 3 - unpack objects ok 4 - check unpacked result (have commit, no tag) ok 5 - pack with --include-tag ok 6 - unpack objects ok 7 - check unpacked result (have commit, have tag) # passed all 7 test(s) 1..7 *** t5306-pack-nobase.sh *** ok 1 - setup base ok 2 - setup patch_clone ok 3 - indirectly clone patch_clone ok 4 - clone of patch_clone is incomplete # passed all 4 test(s) 1..4 *** t5307-pack-missing-commit.sh *** ok 1 - setup ok 2 - check corruption ok 3 - rev-list notices corruption (1) ok 4 - rev-list notices corruption (2) ok 5 - pack-objects notices corruption # passed all 5 test(s) 1..5 *** t5400-send-pack.sh *** ok 1 - setup ok 2 - pack the source repository ok 3 - pack the destination repository ok 4 - refuse pushing rewound head without --force ok 5 - push can be used to delete a ref ok 6 - refuse deleting push with denyDeletes ok 7 - cannot override denyDeletes with git -c send-pack ok 8 - override denyDeletes with git -c receive-pack ok 9 - denyNonFastforwards trumps --force ok 10 - push --all excludes remote-tracking hierarchy ok 11 - pushing explicit refspecs respects forcing ok 12 - pushing wildcard refspecs respects forcing ok 13 - deny pushing to delete current branch # passed all 13 test(s) 1..13 *** t5401-update-hooks.sh *** ok 1 - setup ok 2 - push ok 3 - updated as expected ok 4 - hooks ran ok 5 - pre-receive hook input ok 6 - update hook arguments ok 7 - post-receive hook input ok 8 - post-update hook arguments ok 9 - all hook stdin is /dev/null ok 10 - all *-receive hook args are empty ok 11 - send-pack produced no output ok 12 - send-pack stderr contains hook messages # passed all 12 test(s) 1..12 *** t5402-post-merge-hook.sh *** ok 1 - setup ok 2 - post-merge does not run for up-to-date ok 3 - post-merge runs as expected ok 4 - post-merge from normal merge receives the right argument ok 5 - post-merge from squash merge runs as expected ok 6 - post-merge from squash merge receives the right argument # passed all 6 test(s) 1..6 *** t5403-post-checkout-hook.sh *** ok 1 - setup ok 2 - post-checkout runs as expected ok 3 - post-checkout receives the right arguments with HEAD unchanged ok 4 - post-checkout runs as expected ok 5 - post-checkout args are correct with git checkout -b ok 6 - post-checkout receives the right args with HEAD changed ok 7 - post-checkout receives the right args when not switching branches ok 8 - post-checkout hook is triggered by clone # passed all 8 test(s) 1..8 *** t5404-tracking-branches.sh *** ok 1 - setup ok 2 - prepare pushable branches ok 3 - mixed-success push returns error ok 4 - check tracking branches updated correctly after push ok 5 - check tracking branches not updated for failed refs ok 6 - deleted branches have their tracking branches removed ok 7 - already deleted tracking branches ignored # passed all 7 test(s) 1..7 *** t5405-send-pack-rewind.sh *** ok 1 - setup ok 2 - non forced push should die not segfault ok 3 - forced push should succeed # passed all 3 test(s) 1..3 *** t5406-remote-rejects.sh *** ok 1 - setup ok 2 - push reports error ok 3 - individual ref reports error # passed all 3 test(s) 1..3 *** t5407-post-rewrite-hook.sh *** ok 1 - setup ok 2 - git commit --amend ok 3 - git commit --amend --no-post-rewrite ok 4 - git rebase ok 5 - git rebase --skip ok 6 - git rebase --skip the last one ok 7 - git rebase -m ok 8 - git rebase -m --skip ok 9 - git rebase -i (unchanged) ok 10 - git rebase -i (skip) ok 11 - git rebase -i (squash) ok 12 - git rebase -i (fixup without conflict) ok 13 - git rebase -i (double edit) # passed all 13 test(s) 1..13 *** t5500-fetch-pack.sh *** ok 1 - setup ok 2 - 1st pull ok 3 - post 1st pull setup ok 4 - 2nd pull ok 5 - 3rd pull ok 6 - single branch clone ok 7 - single branch object count ok 8 - clone shallow ok 9 - clone shallow object count ok 10 - clone shallow object count (part 2) ok 11 - fsck in shallow repo ok 12 - simple fetch in shallow repo ok 13 - no changes expected ok 14 - fetch same depth in shallow repo ok 15 - no changes expected ok 16 - add two more ok 17 - pull in shallow repo ok 18 - clone shallow object count ok 19 - add two more (part 2) ok 20 - deepening pull in shallow repo ok 21 - clone shallow object count ok 22 - deepening fetch in shallow repo ok 23 - clone shallow object count ok 24 - pull in shallow repo with missing merge base ok 25 - additional simple shallow deepenings ok 26 - clone shallow object count ok 27 - clone shallow without --no-single-branch ok 28 - clone shallow object count ok 29 - clone shallow with --branch ok 30 - clone shallow object count ok 31 - clone shallow with detached HEAD ok 32 - shallow clone pulling tags ok 33 - shallow cloning single tag ok 34 - setup tests for the --stdin parameter ok 35 - fetch refs from cmdline ok 36 - fetch refs from stdin ok 37 - fetch mixed refs from cmdline and stdin ok 38 - test duplicate refs from stdin # passed all 38 test(s) 1..38 *** t5501-fetch-push-alternates.sh *** ok 1 - setup ok 2 - pushing into a repository with the same alternate ok 3 - fetching from a repository with the same alternate # passed all 3 test(s) 1..3 *** t5502-quickfetch.sh *** ok 1 - setup ok 2 - clone without alternate ok 3 - further commits in the original ok 4 - copy commit and tree but not blob by hand ok 5 - quickfetch should not leave a corrupted repository ok 6 - quickfetch should not copy from alternate ok 7 - quickfetch should handle ~1000 refs (on Windows) # passed all 7 test(s) 1..7 *** t5503-tagfollow.sh *** ok 1 - setup ok 2 - setup expect ok 3 - fetch A (new commit : 1 connection) ok 4 - create tag T on A, create C on branch cat ok 5 - setup expect ok 6 - fetch C, T (new branch, tag : 1 connection) ok 7 - create commits O, B, tag S on B ok 8 - setup expect ok 9 - fetch B, S (commit and tag : 1 connection) ok 10 - setup expect ok 11 - new clone fetch master and tags # passed all 11 test(s) 1..11 *** t5504-fetch-receive-strict.sh *** ok 1 - setup ok 2 - fetch without strict ok 3 - fetch with !fetch.fsckobjects ok 4 - fetch with fetch.fsckobjects ok 5 - fetch with transfer.fsckobjects ok 6 - push without strict ok 7 - push with !receive.fsckobjects ok 8 - push with receive.fsckobjects ok 9 - push with transfer.fsckobjects # passed all 9 test(s) 1..9 *** t5505-remote.sh *** ok 1 - setup ok 2 - remote information for the origin ok 3 - add another remote ok 4 - remote forces tracking branches ok 5 - remove remote ok 6 - remove remote ok 7 - remove remote protects local branches ok 8 - show ok 9 - show -n ok 10 - prune ok 11 - set-head --delete ok 12 - set-head --auto ok 13 - set-head --auto fails w/multiple HEADs ok 14 - set-head explicit ok 15 - prune --dry-run ok 16 - add --mirror && prune ok 17 - add --mirror=fetch ok 18 - fetch mirrors act as mirrors during fetch ok 19 - fetch mirrors can prune ok 20 - fetch mirrors do not act as mirrors during push ok 21 - add fetch mirror with specific branches ok 22 - fetch mirror respects specific branches ok 23 - add --mirror=push ok 24 - push mirrors act as mirrors during push ok 25 - push mirrors do not act as mirrors during fetch ok 26 - push mirrors do not allow you to specify refs ok 27 - add alt && prune ok 28 - add with reachable tags (default) ok 29 - add --tags ok 30 - add --no-tags ok 31 - reject --no-no-tags ok 32 - update ok 33 - update with arguments ok 34 - update --prune ok 35 - update default ok 36 - update default (overridden, with funny whitespace) ok 37 - update (with remotes.default defined) ok 38 - "remote show" does not show symbolic refs ok 39 - reject adding remote with an invalid name ok 40 - rename a remote ok 41 - rename does not update a non-default fetch refspec ok 42 - rename a remote with name part of fetch spec ok 43 - rename a remote with name prefix of other remote ok 44 - migrate a remote from named file in $GIT_DIR/remotes ok 45 - migrate a remote from named file in $GIT_DIR/branches ok 46 - remote prune to cause a dangling symref ok 47 - show empty remote ok 48 - remote set-branches requires a remote ok 49 - remote set-branches ok 50 - remote set-branches with --mirror ok 51 - new remote ok 52 - remote set-url bar ok 53 - remote set-url baz bar ok 54 - remote set-url zot bar ok 55 - remote set-url --push zot baz ok 56 - remote set-url --push zot ok 57 - remote set-url --push qux zot ok 58 - remote set-url --push foo qu+x ok 59 - remote set-url --push --add aaa ok 60 - remote set-url --push bar aaa ok 61 - remote set-url --push --delete bar ok 62 - remote set-url --push --delete foo ok 63 - remote set-url --add bbb ok 64 - remote set-url --delete .* ok 65 - remote set-url --delete bbb ok 66 - remote set-url --delete baz ok 67 - remote set-url --add ccc ok 68 - remote set-url --delete baz # passed all 68 test(s) 1..68 *** t5506-remote-groups.sh *** ok 1 - setup ok 2 - no group updates all ok 3 - nonexistent group produces error ok 4 - updating group updates all members (remote update) ok 5 - updating group updates all members (fetch) ok 6 - updating group does not update non-members (remote update) ok 7 - updating group does not update non-members (fetch) ok 8 - updating remote name updates that remote # passed all 8 test(s) 1..8 *** t5509-fetch-push-namespaces.sh *** ok 1 - setup ok 2 - pushing into a repository using a ref namespace ok 3 - pulling from a repository using a ref namespace ok 4 - mirroring a repository using a ref namespace # passed all 4 test(s) 1..4 *** t5510-fetch.sh *** ok 1 - setup ok 2 - clone and setup child repos ok 3 - fetch test ok 4 - fetch test for-merge ok 5 - fetch --prune on its own works as expected ok 6 - fetch --prune with a branch name keeps branches ok 7 - fetch --prune with a namespace keeps other namespaces ok 8 - fetch --prune --tags does not delete the remote-tracking branches ok 9 - fetch --prune --tags with branch does not delete other remote-tracking branches ok 10 - fetch tags when there is no tags ok 11 - fetch following tags ok 12 - fetch uses remote ref names to describe new refs ok 13 - fetch must not resolve short tag name ok 14 - fetch can now resolve short remote name ok 15 - create bundle 1 ok 16 - header of bundle looks right ok 17 - create bundle 2 ok 18 - unbundle 1 ok 19 - bundle 1 has only 3 files ok 20 - unbundle 2 ok 21 - bundle does not prerequisite objects ok 22 - bundle should be able to create a full history Skipping rsync tests because rsync was not found ok 23 - fetch with a non-applying branch..merge ok 24 - fetch from GIT URL with a non-applying branch..merge [1] ok 25 - fetch from GIT URL with a non-applying branch..merge [2] ok 26 - fetch from GIT URL with a non-applying branch..merge [3] ok 27 - quoting of a strangely named repo ok 28 - bundle should record HEAD correctly ok 29 - explicit fetch should not update tracking ok 30 - explicit pull should not update tracking ok 31 - configured fetch updates tracking ok 32 - pushing nonexistent branch by mistake should not segv ok 33 - auto tag following fetches minimum ok 34 - refuse to fetch into the current branch ok 35 - fetch into the current branch with --update-head-ok ok 36 - fetch --dry-run ok 37 - should be able to fetch with duplicate refspecs ok 38 - all boundary commits are excluded # passed all 38 test(s) 1..38 *** t5511-refspec.sh *** ok 1 - push (invalid) ok 2 - push : ok 3 - push :: (invalid) ok 4 - push +: ok 5 - fetch ok 6 - fetch : ok 7 - fetch :: (invalid) ok 8 - push refs/heads/*:refs/remotes/frotz/* ok 9 - push refs/heads/*:refs/remotes/frotz (invalid) ok 10 - push refs/heads:refs/remotes/frotz/* (invalid) ok 11 - push refs/heads/master:refs/remotes/frotz/xyzzy ok 12 - fetch refs/heads/*:refs/remotes/frotz/* ok 13 - fetch refs/heads/*:refs/remotes/frotz (invalid) ok 14 - fetch refs/heads:refs/remotes/frotz/* (invalid) ok 15 - fetch refs/heads/master:refs/remotes/frotz/xyzzy ok 16 - fetch refs/heads/master::refs/remotes/frotz/xyzzy (invalid) ok 17 - fetch refs/heads/maste :refs/remotes/frotz/xyzzy (invalid) ok 18 - push master~1:refs/remotes/frotz/backup ok 19 - fetch master~1:refs/remotes/frotz/backup (invalid) ok 20 - push HEAD~4:refs/remotes/frotz/new ok 21 - fetch HEAD~4:refs/remotes/frotz/new (invalid) ok 22 - push HEAD ok 23 - fetch HEAD ok 24 - push refs/heads/ nitfol (invalid) ok 25 - fetch refs/heads/ nitfol (invalid) ok 26 - push HEAD: (invalid) ok 27 - fetch HEAD: ok 28 - push refs/heads/ nitfol: (invalid) ok 29 - fetch refs/heads/ nitfol: (invalid) ok 30 - push :refs/remotes/frotz/deleteme ok 31 - fetch :refs/remotes/frotz/HEAD-to-me ok 32 - push :refs/remotes/frotz/delete me (invalid) ok 33 - fetch :refs/remotes/frotz/HEAD to me (invalid) ok 34 - fetch refs/heads/*/for-linus:refs/remotes/mine/*-blah (invalid) ok 35 - push refs/heads/*/for-linus:refs/remotes/mine/*-blah (invalid) ok 36 - fetch refs/heads*/for-linus:refs/remotes/mine/* (invalid) ok 37 - push refs/heads*/for-linus:refs/remotes/mine/* (invalid) ok 38 - fetch refs/heads/*/*/for-linus:refs/remotes/mine/* (invalid) ok 39 - push refs/heads/*/*/for-linus:refs/remotes/mine/* (invalid) ok 40 - fetch refs/heads/*/for-linus:refs/remotes/mine/* ok 41 - push refs/heads/*/for-linus:refs/remotes/mine/* # passed all 41 test(s) 1..41 *** t5512-ls-remote.sh *** ok 1 - setup ok 2 - ls-remote --tags .git ok 3 - ls-remote .git ok 4 - ls-remote --tags self ok 5 - ls-remote self ok 6 - dies when no remote specified and no default remotes found ok 7 - use "origin" when no remote specified ok 8 - suppress "From " with -q ok 9 - use branch..remote if possible ok 10 - confuses pattern as remote when no remote specified ok 11 - die with non-2 for wrong repository even with --exit-code ok 12 - Report success even when nothing matches ok 13 - Report no-match with --exit-code ok 14 - Report match with --exit-code # passed all 14 test(s) 1..14 *** t5513-fetch-track.sh *** ok 1 - setup ok 2 - fetch # passed all 2 test(s) 1..2 *** t5514-fetch-multiple.sh *** ok 1 - setup ok 2 - git fetch --all ok 3 - git fetch --all should continue if a remote has errors ok 4 - git fetch --all does not allow non-option arguments ok 5 - git fetch --multiple (but only one remote) ok 6 - git fetch --multiple (two remotes) ok 7 - git fetch --multiple (bad remote names) ok 8 - git fetch --all (skipFetchAll) ok 9 - git fetch --multiple (ignoring skipFetchAll) # passed all 9 test(s) 1..9 *** t5515-fetch-merge-logic.sh *** ok 1 - setup ok 2 - br-config-explicit ok 3 - br-config-explicit config-explicit ok 4 - br-config-explicit-merge ok 5 - br-config-explicit-merge config-explicit ok 6 - br-config-explicit-octopus ok 7 - br-config-explicit-octopus config-explicit ok 8 - br-config-glob ok 9 - br-config-glob config-glob ok 10 - br-config-glob-merge ok 11 - br-config-glob-merge config-glob ok 12 - br-config-glob-octopus ok 13 - br-config-glob-octopus config-glob ok 14 - br-remote-explicit ok 15 - br-remote-explicit remote-explicit ok 16 - br-remote-explicit-merge ok 17 - br-remote-explicit-merge remote-explicit ok 18 - br-remote-explicit-octopus ok 19 - br-remote-explicit-octopus remote-explicit ok 20 - br-remote-glob ok 21 - br-remote-glob remote-glob ok 22 - br-remote-glob-merge ok 23 - br-remote-glob-merge remote-glob ok 24 - br-remote-glob-octopus ok 25 - br-remote-glob-octopus remote-glob ok 26 - br-branches-default ok 27 - br-branches-default branches-default ok 28 - br-branches-default-merge ok 29 - br-branches-default-merge branches-default ok 30 - br-branches-default-octopus ok 31 - br-branches-default-octopus branches-default ok 32 - br-branches-one ok 33 - br-branches-one branches-one ok 34 - br-branches-one-merge ok 35 - br-branches-one-merge branches-one ok 36 - br-branches-one-octopus ok 37 - br-branches-one-octopus branches-one ok 38 - master ok 39 - master config-explicit ok 40 - master config-glob ok 41 - master remote-explicit ok 42 - master remote-glob ok 43 - master branches-default ok 44 - master branches-one ok 45 - br-unconfig ok 46 - br-unconfig config-explicit ok 47 - br-unconfig config-glob ok 48 - br-unconfig remote-explicit ok 49 - br-unconfig remote-glob ok 50 - br-unconfig branches-default ok 51 - br-unconfig branches-one ok 52 - master ../.git ok 53 - master ../.git one ok 54 - master ../.git one two ok 55 - master --tags ../.git ok 56 - master ../.git tag tag-one tag tag-three ok 57 - master ../.git tag tag-one-tree tag tag-three-file ok 58 - master ../.git one tag tag-one tag tag-three-file ok 59 - br-unconfig ../.git ok 60 - br-unconfig ../.git one ok 61 - br-unconfig ../.git one two ok 62 - br-unconfig --tags ../.git ok 63 - br-unconfig ../.git tag tag-one tag tag-three ok 64 - br-unconfig ../.git tag tag-one-tree tag tag-three-file ok 65 - br-unconfig ../.git one tag tag-one tag tag-three-file # passed all 65 test(s) 1..65 *** t5516-fetch-push.sh *** ok 1 - setup ok 2 - fetch without wildcard ok 3 - fetch with wildcard ok 4 - fetch with insteadOf ok 5 - fetch with pushInsteadOf (should not rewrite) ok 6 - push without wildcard ok 7 - push with wildcard ok 8 - push with insteadOf ok 9 - push with pushInsteadOf ok 10 - push with pushInsteadOf and explicit pushurl (pushInsteadOf should not rewrite) ok 11 - push with matching heads ok 12 - push with matching heads on the command line ok 13 - failed (non-fast-forward) push with matching heads ok 14 - push --force with matching heads ok 15 - push with matching heads and forced update ok 16 - push with no ambiguity (1) ok 17 - push with no ambiguity (2) ok 18 - push with colon-less refspec, no ambiguity ok 19 - push with weak ambiguity (1) ok 20 - push with weak ambiguity (2) ok 21 - push with ambiguity ok 22 - push with colon-less refspec (1) ok 23 - push with colon-less refspec (2) ok 24 - push with colon-less refspec (3) ok 25 - push with colon-less refspec (4) ok 26 - push head with non-existent, incomplete dest ok 27 - push tag with non-existent, incomplete dest ok 28 - push sha1 with non-existent, incomplete dest ok 29 - push ref expression with non-existent, incomplete dest ok 30 - push with HEAD ok 31 - push with HEAD nonexisting at remote ok 32 - push with +HEAD ok 33 - push HEAD with non-existent, incomplete dest ok 34 - push with config remote.*.push = HEAD ok 35 - push with config remote.*.pushurl ok 36 - push with dry-run ok 37 - push updates local refs ok 38 - push updates up-to-date local refs ok 39 - push preserves up-to-date packed refs ok 40 - push does not update local refs on failure ok 41 - allow deleting an invalid remote ref ok 42 - pushing valid refs triggers post-receive and post-update hooks ok 43 - deleting dangling ref triggers hooks with correct args ok 44 - deletion of a non-existent ref is not fed to post-receive and post-update hooks ok 45 - deletion of a non-existent ref alone does trigger post-receive and post-update hooks ok 46 - mixed ref updates, deletes, invalid deletes trigger hooks with correct input ok 47 - allow deleting a ref using --delete ok 48 - allow deleting a tag using --delete ok 49 - push --delete without args aborts ok 50 - push --delete refuses src:dest refspecs ok 51 - warn on push to HEAD of non-bare repository ok 52 - deny push to HEAD of non-bare repository ok 53 - allow push to HEAD of bare repository (bare) ok 54 - allow push to HEAD of non-bare repository (config) ok 55 - fetch with branches ok 56 - fetch with branches containing # ok 57 - push with branches ok 58 - push with branches containing # ok 59 - push into aliased refs (consistent) ok 60 - push into aliased refs (inconsistent) ok 61 - push --porcelain ok 62 - push --porcelain bad url ok 63 - push --porcelain rejected ok 64 - push --porcelain --dry-run rejected ok 65 - push --prune ok 66 - push --prune refspec # passed all 66 test(s) 1..66 *** t5517-push-mirror.sh *** ok 1 - push mirror creates new branches ok 2 - push mirror updates existing branches ok 3 - push mirror force updates existing branches ok 4 - push mirror removes branches ok 5 - push mirror adds, updates and removes branches together ok 6 - push mirror creates new tags ok 7 - push mirror updates existing tags ok 8 - push mirror force updates existing tags ok 9 - push mirror removes tags ok 10 - push mirror adds, updates and removes tags together ok 11 - remote.foo.mirror adds and removes branches ok 12 - remote.foo.mirror=no has no effect # passed all 12 test(s) 1..12 *** t5518-fetch-exit-status.sh *** ok 1 - setup ok 2 - non-fast-forward fetch ok 3 - forced update # passed all 3 test(s) 1..3 *** t5519-push-alternates.sh *** ok 1 - setup ok 2 - alice works and pushes ok 3 - bob fetches from alice, works and pushes ok 4 - clean-up in case the previous failed ok 5 - alice works and pushes again ok 6 - bob works and pushes ok 7 - alice works and pushes yet again ok 8 - bob works and pushes again # passed all 8 test(s) 1..8 *** t5520-pull.sh *** ok 1 - setup ok 2 - pulling into void ok 3 - checking the results ok 4 - pulling into void using master:master ok 5 - pulling into void does not overwrite untracked files ok 6 - test . as a remote ok 7 - the default remote . should not break explicit pull ok 8 - --rebase ok 9 - pull.rebase ok 10 - branch.to-rebase.rebase ok 11 - branch.to-rebase.rebase should override pull.rebase ok 12 - --rebase with rebased upstream ok 13 - --rebase with rebased default upstream ok 14 - rebased upstream + fetch + pull --rebase ok 15 - pull --rebase dies early with dirty working directory ok 16 - pull --rebase works on branch yet to be born ok 17 - setup for detecting upstreamed changes ok 18 - git pull --rebase detects upstreamed changes ok 19 - setup for avoiding reapplying old patches ok 20 - git pull --rebase does not reapply old patches ok 21 - git pull --rebase against local branch # passed all 21 test(s) 1..21 *** t5521-pull-options.sh *** ok 1 - setup ok 2 - git pull -q ok 3 - git pull ok 4 - git pull -v ok 5 - git pull -v -q ok 6 - git pull -q -v ok 7 - git pull --force ok 8 - git pull --all # passed all 8 test(s) 1..8 *** t5522-pull-symlink.sh *** ok 1 - setup ok 2 - pulling from real subdir ok 3 - pulling from symlinked subdir ok 4 - pushing from symlinked subdir # passed all 4 test(s) 1..4 *** t5523-push-upstream.sh *** ok 1 - set up terminal for tests ok 2 - setup bare parent ok 3 - setup local commit ok 4 - push -u master:master ok 5 - push -u master:other ok 6 - push -u --dry-run master:otherX ok 7 - push -u master2:master2 ok 8 - push -u master2:other2 ok 9 - push -u :master2 ok 10 - push -u --all ok 11 - push -u HEAD ok 12 - progress messages go to tty ok 13 - progress messages do not go to non-tty ok 14 - progress messages go to non-tty (forced) ok 15 - push -q suppresses progress ok 16 - push --no-progress suppresses progress ok 17 - quiet push # passed all 17 test(s) 1..17 *** t5524-pull-msg.sh *** ok 1 - setup ok 2 - pull # passed all 2 test(s) 1..2 *** t5525-fetch-tagopt.sh *** ok 1 - setup ok 2 - fetch with tagopt=--no-tags does not get tag ok 3 - fetch --tags with tagopt=--no-tags gets tag ok 4 - fetch --no-tags with tagopt=--tags does not get tag ok 5 - fetch with tagopt=--tags gets tag # passed all 5 test(s) 1..5 *** t5526-fetch-submodules.sh *** ok 1 - setup ok 2 - fetch --recurse-submodules recurses into submodules ok 3 - fetch alone only fetches superproject ok 4 - fetch --no-recurse-submodules only fetches superproject ok 5 - using fetchRecurseSubmodules=true in .gitmodules recurses into submodules ok 6 - --no-recurse-submodules overrides .gitmodules config ok 7 - using fetchRecurseSubmodules=false in .git/config overrides setting in .gitmodules ok 8 - --recurse-submodules overrides fetchRecurseSubmodules setting from .git/config ok 9 - --quiet propagates to submodules ok 10 - --dry-run propagates to submodules ok 11 - Without --dry-run propagates to submodules ok 12 - recurseSubmodules=true propagates into submodules ok 13 - --recurse-submodules overrides config in submodule ok 14 - --no-recurse-submodules overrides config setting ok 15 - Recursion doesn't happen when no new commits are fetched in the superproject ok 16 - Recursion stops when no new submodule commits are fetched ok 17 - Recursion doesn't happen when new superproject commits don't change any submodules ok 18 - Recursion picks up config in submodule ok 19 - Recursion picks up all submodules when necessary ok 20 - '--recurse-submodules=on-demand' doesn't recurse when no new commits are fetched in the superproject (and ignores config) ok 21 - '--recurse-submodules=on-demand' recurses as deep as necessary (and ignores config) ok 22 - '--recurse-submodules=on-demand' stops when no new submodule commits are found in the superproject (and ignores config) ok 23 - 'fetch.recurseSubmodules=on-demand' overrides global config ok 24 - 'submodule..fetchRecurseSubmodules=on-demand' overrides fetch.recurseSubmodules ok 25 - don't fetch submodule when newly recorded commits are already present # passed all 25 test(s) 1..25 *** t5527-fetch-odd-refs.sh *** ok 1 - setup repo with odd suffix ref ok 2 - suffix ref is ignored during fetch # passed all 2 test(s) 1..2 *** t5528-push-default.sh *** ok 1 - setup bare remotes ok 2 - "upstream" pushes to configured upstream ok 3 - "upstream" does not push on unconfigured remote ok 4 - "upstream" does not push on unconfigured branch ok 5 - "upstream" does not push when remotes do not match # passed all 5 test(s) 1..5 *** t5530-upload-pack-error.sh *** ok 1 - setup and corrupt repository ok 2 - fsck fails ok 3 - upload-pack fails due to error in pack-objects packing ok 4 - corrupt repo differently ok 5 - fsck fails ok 6 - upload-pack fails due to error in rev-list ok 7 - upload-pack error message when bad ref requested ok 8 - upload-pack fails due to error in pack-objects enumeration ok 9 - create empty repository ok 10 - fetch fails # passed all 10 test(s) 1..10 *** t5531-deep-submodule-push.sh *** ok 1 - setup ok 2 - push ok 3 - push if submodule has no remote ok 4 - push fails if submodule commit not on remote ok 5 - push succeeds after commit was pushed to remote ok 6 - push fails when commit on multiple branches if one branch has no remote ok 7 - push succeeds if submodule has no remote and is on the first superproject commit # passed all 7 test(s) 1..7 *** t5532-fetch-proxy.sh *** ok 1 - setup remote repo ok 2 - setup local repo ok 3 - fetch through proxy works # passed all 3 test(s) 1..3 *** t5540-http-push.sh *** # passed all 0 test(s) 1..0 # SKIP Network testing disabled (define GIT_TEST_HTTPD to enable) *** t5541-http-push.sh *** # passed all 0 test(s) 1..0 # SKIP Network testing disabled (define GIT_TEST_HTTPD to enable) *** t5550-http-fetch.sh *** # passed all 0 test(s) 1..0 # SKIP Network testing disabled (define GIT_TEST_HTTPD to enable) *** t5551-http-fetch.sh *** # passed all 0 test(s) 1..0 # SKIP Network testing disabled (define GIT_TEST_HTTPD to enable) *** t5560-http-backend-noserver.sh *** ok 1 - setup repository ok 2 - direct refs/heads/master not found ok 3 - static file is ok ok 4 - no export by default ok 5 - export if git-daemon-export-ok ok 6 - static file if http.getanyfile true is ok ok 7 - static file if http.getanyfile false fails ok 8 - http.uploadpack default enabled ok 9 - http.uploadpack true ok 10 - http.uploadpack false ok 11 - http.receivepack default disabled ok 12 - http.receivepack true ok 13 - http.receivepack false ok 14 - http-backend blocks bad PATH_INFO # passed all 14 test(s) 1..14 *** t5561-http-backend.sh *** # passed all 0 test(s) 1..0 # SKIP Network testing disabled (define GIT_TEST_HTTPD to enable) *** t5570-git-daemon.sh *** # passed all 0 test(s) 1..0 # SKIP git-daemon testing disabled (define GIT_TEST_GIT_DAEMON to enable) *** t5600-clone-fail-cleanup.sh *** ok 1 - clone of non-existent source should fail ok 2 - failed clone should not leave a directory ok 3 - clone of non-existent (relative to $PWD) source should fail ok 4 - clone should work now that source exists ok 5 - successful clone must leave the directory # passed all 5 test(s) 1..5 *** t5601-clone.sh *** ok 1 - setup ok 2 - clone with excess parameters (1) ok 3 - clone with excess parameters (2) ok 4 - output from clone ok 5 - clone does not keep pack ok 6 - clone checks out files ok 7 - clone respects GIT_WORK_TREE ok 8 - clone creates intermediate directories ok 9 - clone creates intermediate directories for bare repo ok 10 - clone --mirror ok 11 - clone --mirror with detached HEAD ok 12 - clone --bare with detached HEAD ok 13 - clone --bare names the local repository .git ok 14 - clone --mirror does not repeat tags ok 15 - clone to destination with trailing / ok 16 - clone to destination with extra trailing / ok 17 - clone to an existing empty directory ok 18 - clone to an existing non-empty directory ok 19 - clone to an existing path ok 20 - clone a void ok 21 - clone respects global branch.autosetuprebase ok 22 - respect url-encoding of file:// ok 23 - do not query-string-decode + in URLs ok 24 - do not respect url-encoding of non-url path ok 25 - clone separate gitdir ok 26 - clone separate gitdir: output ok 27 - clone from .git file ok 28 - fetch from .git gitfile ok 29 - fetch from gitfile parent ok 30 - clone separate gitdir where target already exists ok 31 - clone --reference from original ok 32 - clone with more than one --reference ok 33 - clone from original with relative alternate ok 34 - clone checking out a tag # passed all 34 test(s) 1..34 *** t5602-clone-remote-exec.sh *** ok 1 - setup ok 2 - clone calls git upload-pack unqualified with no -u option ok 3 - clone calls specified git upload-pack with -u option # passed all 3 test(s) 1..3 *** t5700-clone-reference.sh *** ok 1 - preparing first repository ok 2 - preparing second repository ok 3 - cloning with reference (-l -s) ok 4 - existence of info/alternates ok 5 - pulling from reference ok 6 - that reference gets used ok 7 - cloning with reference (no -l -s) ok 8 - fetched no objects ok 9 - existence of info/alternates ok 10 - pulling from reference ok 11 - that reference gets used ok 12 - updating origin ok 13 - pulling changes from origin ok 14 - that alternate to origin gets used ok 15 - pulling changes from origin ok 16 - check objects expected to exist locally ok 17 - preparing alternate repository #1 ok 18 - cloning alternate repo #2 and adding changes to repo #1 ok 19 - cloning alternate repo #1, using #2 as reference ok 20 - cloning with reference being subset of source (-l -s) ok 21 - clone with reference from a tagged repository ok 22 - prepare branched repository ok 23 - fetch with incomplete alternates # passed all 23 test(s) 1..23 *** t5701-clone-local.sh *** ok 1 - preparing origin repository ok 2 - local clone without .git suffix ok 3 - local clone with .git suffix ok 4 - local clone from x ok 5 - local clone from x.git that does not exist ok 6 - With -no-hardlinks, local will make a copy ok 7 - Even without -l, local will make a hardlink ok 8 - local clone of repo with nonexistent ref in HEAD ok 9 - bundle clone without .bundle suffix ok 10 - bundle clone with .bundle suffix ok 11 - bundle clone from b4 ok 12 - bundle clone from b4.bundle that does not exist ok 13 - bundle clone with nonexistent HEAD ok 14 - clone empty repository ok 15 - clone empty repository, and then push should not segfault. ok 16 - cloning non-existent directory fails ok 17 - cloning non-git directory fails # passed all 17 test(s) 1..17 *** t5702-clone-options.sh *** ok 1 - setup ok 2 - clone -o ok 3 - redirected clone ok 4 - redirected clone -v # passed all 4 test(s) 1..4 *** t5704-bundle.sh *** ok 1 - setup ok 2 - tags can be excluded by rev-list options ok 3 - die if bundle file cannot be created not ok 4 - bundle --stdin # TODO known breakage not ok 5 - bundle --stdin # TODO known breakage ok 6 - empty bundle file is rejected ok 7 - ridiculously long subject in boundary # still have 2 known breakage(s) # passed all remaining 5 test(s) 1..7 *** t5705-clone-2gb.sh *** Skipping expensive 2GB clone test; enable it with GIT_TEST_CLONE_2GB=t ok 1 # skip setup (missing CLONE_2GB) ok 2 # skip clone - bare (missing CLONE_2GB) ok 3 # skip clone - with worktree, file:// protocol (missing CLONE_2GB) # passed all 3 test(s) 1..3 *** t5706-clone-branch.sh *** ok 1 - setup ok 2 - vanilla clone chooses HEAD ok 3 - clone -b chooses specified branch ok 4 - clone -b sets up tracking ok 5 - clone -b does not munge remotes/origin/HEAD ok 6 - clone -b with bogus branch # passed all 6 test(s) 1..6 *** t5707-clone-detached.sh *** ok 1 - setup ok 2 - clone repo (detached HEAD points to branch) ok 3 - cloned HEAD matches not ok 4 - cloned HEAD is detached # TODO known breakage ok 5 - clone repo (detached HEAD points to tag) ok 6 - cloned HEAD matches ok 7 - cloned HEAD is detached ok 8 - clone repo (detached HEAD points to history) ok 9 - cloned HEAD matches ok 10 - cloned HEAD is detached ok 11 - clone repo (orphan detached HEAD) ok 12 - cloned HEAD matches ok 13 - cloned HEAD is detached # still have 1 known breakage(s) # passed all remaining 12 test(s) 1..13 *** t5708-clone-config.sh *** ok 1 - clone -c sets config in cloned repo ok 2 - clone -c can set multi-keys ok 3 - clone -c without a value is boolean true ok 4 - clone -c config is available during clone # passed all 4 test(s) 1..4 *** t5710-info-alternate.sh *** ok 1 - preparing first repository ok 2 - preparing second repository ok 3 - preparing third repository ok 4 - creating too deep nesting ok 5 - invalidity of deepest repository ok 6 - validity of third repository ok 7 - validity of fourth repository ok 8 - breaking of loops ok 9 - that info/alternates is necessary ok 10 - that relative alternate is possible for current dir ok 11 - that relative alternate is only possible for current dir # passed all 11 test(s) 1..11 *** t5800-remote-helpers.sh *** # passed all 0 test(s) 1..0 # SKIP skipping git-remote-hg tests, python not available *** t5900-repo-selection.sh *** ok 1 - find .git dir in worktree ok 2 - automagically add .git suffix ok 3 - automagically add .git suffix to worktree ok 4 - prefer worktree foo over bare foo.git ok 5 - prefer bare foo over bare foo.git ok 6 - disambiguate with full foo.git ok 7 - we are not fooled by non-git foo directory ok 8 - prefer inner .git over outer bare # passed all 8 test(s) 1..8 *** t6000-rev-list-misc.sh *** ok 1 - setup ok 2 - rev-list --objects heeds pathspecs ok 3 - rev-list --objects with pathspecs and deeper paths ok 4 - rev-list --objects with pathspecs and copied files # passed all 4 test(s) 1..4 *** t6001-rev-list-graft.sh *** ok 1 - setup ok 2 - without grafts ok 3 - with grafts ok 4 - without grafts, with pathlimit ok 5 - with grafts, with pathlimit ok 6 - without grafts ok 7 - with grafts ok 8 - without grafts, with pathlimit ok 9 - with grafts, with pathlimit ok 10 - without grafts ok 11 - with grafts ok 12 - without grafts, with pathlimit ok 13 - with grafts, with pathlimit # passed all 13 test(s) 1..13 *** t6002-rev-list-bisect.sh *** ok 1 - bisection diff --bisect l0 ^root <= 0 ok 2 - bisection diff --bisect l1 ^root <= 0 ok 3 - bisection diff --bisect l2 ^root <= 0 ok 4 - bisection diff --bisect a0 ^root <= 0 ok 5 - bisection diff --bisect a1 ^root <= 0 ok 6 - bisection diff --bisect a2 ^root <= 0 ok 7 - bisection diff --bisect a3 ^root <= 0 ok 8 - bisection diff --bisect b1 ^root <= 0 ok 9 - bisection diff --bisect b2 ^root <= 0 ok 10 - bisection diff --bisect b3 ^root <= 0 ok 11 - bisection diff --bisect c1 ^root <= 0 ok 12 - bisection diff --bisect c2 ^root <= 0 ok 13 - bisection diff --bisect c3 ^root <= 0 ok 14 - bisection diff --bisect E ^F <= 0 ok 15 - bisection diff --bisect e1 ^F <= 0 ok 16 - bisection diff --bisect e2 ^F <= 0 ok 17 - bisection diff --bisect e3 ^F <= 0 ok 18 - bisection diff --bisect e4 ^F <= 0 ok 19 - bisection diff --bisect e5 ^F <= 0 ok 20 - bisection diff --bisect e6 ^F <= 0 ok 21 - bisection diff --bisect e7 ^F <= 0 ok 22 - bisection diff --bisect f1 ^F <= 0 ok 23 - bisection diff --bisect f2 ^F <= 0 ok 24 - bisection diff --bisect f3 ^F <= 0 ok 25 - bisection diff --bisect f4 ^F <= 0 ok 26 - bisection diff --bisect E ^F <= 0 ok 27 - bisection diff --bisect V ^U <= 1 ok 28 - bisection diff --bisect V ^U ^u1 ^u2 ^u3 <= 0 ok 29 - bisection diff --bisect u1 ^U <= 0 ok 30 - bisection diff --bisect u2 ^U <= 0 ok 31 - bisection diff --bisect u3 ^U <= 0 ok 32 - bisection diff --bisect u4 ^U <= 0 ok 33 - bisection diff --bisect u5 ^U <= 0 ok 34 - --bisect l5 ^root ok 35 - --bisect l5 ^root ^c3 ok 36 - --bisect l5 ^root ^c3 ^b4 ok 37 - --bisect l3 ^root ^c3 ^b4 ok 38 - --bisect l5 ^b3 ^a3 ^b4 ^a4 ok 39 - --bisect l4 ^a2 ^a3 ^b ^a4 ok 40 - --bisect l3 ^a2 ^a3 ^b ^a4 ok 41 - --bisect a4 ^a2 ^a3 ^b4 ok 42 - --bisect a4 ^a2 ^a3 ^b4 ^c2 ok 43 - --bisect a4 ^a2 ^a3 ^b4 ^c2 ^c3 ok 44 - --bisect a4 ^a2 ^a3 ^b4 ok 45 - --bisect c3 ^a2 ^a3 ^b4 ^c2 # passed all 45 test(s) 1..45 *** t6003-rev-list-topo-order.sh *** ok 1 - rev-list has correct number of entries ok 2 - simple topo order ok 3 - two diamonds topo order (g6) ok 4 - multiple heads ok 5 - multiple heads, prune at a1 ok 6 - multiple heads, prune at l1 ok 7 - cross-epoch, head at l5, prune at l1 ok 8 - duplicated head arguments ok 9 - prune near topo ok 10 - head has no parent ok 11 - two nodes - one head, one base ok 12 - three nodes one head, one internal, one base ok 13 - linear prune l2 ^root ok 14 - linear prune l2 ^l0 ok 15 - linear prune l2 ^l1 ok 16 - linear prune l5 ^a4 ok 17 - linear prune l5 ^l3 ok 18 - linear prune l5 ^l4 ok 19 - max-count 10 - topo order ok 20 - max-count 10 - non topo order ok 21 - --max-age=c3, no --topo-order ok 22 - one specified head reachable from another a4, c3, --topo-order ok 23 - one specified head reachable from another c3, a4, --topo-order ok 24 - one specified head reachable from another a4, c3, no --topo-order ok 25 - one specified head reachable from another c3, a4, no --topo-order ok 26 - graph with c3 and a4 parents of head ok 27 - graph with a4 and c3 parents of head ok 28 - head ^head --topo-order ok 29 - head ^head no --topo-order ok 30 - simple topo order (l5r1) ok 31 - simple topo order (r1l5) ok 32 - don't print things unreachable from one branch ok 33 - --topo-order a4 l3 # passed all 33 test(s) 1..33 *** t6004-rev-list-path-optim.sh *** ok 1 - setup ok 2 - path-optimization ok 3 - further setup ok 4 - path optimization 2 ok 5 - pathspec with leading path ok 6 - pathspec with glob (1) ok 7 - pathspec with glob (2) # passed all 7 test(s) 1..7 *** t6005-rev-list-count.sh *** ok 1 - setup ok 2 - no options ok 3 - --max-count ok 4 - --max-count all forms ok 5 - --skip ok 6 - --skip --max-count # passed all 6 test(s) 1..6 *** t6006-rev-list-format.sh *** ok 1 - setup ok 2 - format percent ok 3 - format hash ok 4 - format tree ok 5 - format parents ok 6 - format author ok 7 - format committer ok 8 - format encoding ok 9 - format subject ok 10 - format body ok 11 - format raw-body ok 12 - format colors ok 13 - format advanced-colors ok 14 - setup complex body ok 15 - format complex-encoding ok 16 - format complex-subject ok 17 - format complex-body ok 18 - %x00 shows NUL ok 19 - %ad respects --date= ok 20 - empty email ok 21 - del LF before empty (1) ok 22 - del LF before empty (2) ok 23 - add LF before non-empty (1) ok 24 - add LF before non-empty (2) ok 25 - add SP before non-empty (1) ok 26 - add SP before non-empty (2) ok 27 - --abbrev ok 28 - %H is not affected by --abbrev-commit ok 29 - %h is not affected by --abbrev-commit ok 30 - "%h %gD: %gs" is same as git-reflog ok 31 - "%h %gD: %gs" is same as git-reflog (with date) ok 32 - "%h %gD: %gs" is same as git-reflog (with --abbrev) ok 33 - %gd shortens ref name ok 34 - reflog identity ok 35 - oneline with empty message ok 36 - single-character name is parsed correctly # passed all 36 test(s) 1..36 *** t6007-rev-list-cherry-pick-file.sh *** ok 1 - setup ok 2 - --left-right ok 3 - --count ok 4 - --cherry-pick foo comes up empty ok 5 - --cherry-pick bar does not come up empty ok 6 - bar does not come up empty ok 7 - --cherry-pick bar does not come up empty (II) ok 8 - --cherry-mark ok 9 - --cherry-mark --left-right ok 10 - --cherry-pick --right-only ok 11 - --cherry-pick --left-only ok 12 - --cherry ok 13 - --cherry --count ok 14 - --cherry-mark --count ok 15 - --cherry-mark --left-right --count ok 16 - --cherry-pick with independent, but identical branches ok 17 - --count --left-right # passed all 17 test(s) 1..17 *** t6008-rev-list-submodule.sh *** ok 1 - setup ok 2 - Ilari's test # passed all 2 test(s) 1..2 *** t6009-rev-list-parent.sh *** ok 1 - setup ok 2 - one is ancestor of others and should not be shown ok 3 - setup roots, merges and octopuses ok 4 - rev-list roots ok 5 - rev-list no merges ok 6 - rev-list no octopuses ok 7 - rev-list no roots ok 8 - rev-list merges ok 9 - rev-list octopus ok 10 - rev-list ordinary commits ok 11 - rev-list --merges --no-merges yields empty set ok 12 - rev-list override and infinities ok 13 - dodecapus # passed all 13 test(s) 1..13 *** t6010-merge-base.sh *** ok 1 - setup ok 2 - set up G and H ok 3 - merge-base G H ok 4 - merge-base/show-branch --independent ok 5 - unsynchronized clocks ok 6 - --independent with unsynchronized clocks ok 7 - merge-base for octopus-step (setup) ok 8 - merge-base A B C ok 9 - criss-cross merge-base for octopus-step # passed all 9 test(s) 1..9 *** t6011-rev-list-with-bad-commit.sh *** ok 1 - setup ok 2 - verify number of revisions ok 3 - corrupt second commit object ok 4 - rev-list should fail ok 5 - git repack _MUST_ fail ok 6 - first commit is still available # passed all 6 test(s) 1..6 *** t6012-rev-list-simplify.sh *** ok 1 - setup ok 2 - log --full-history ok 3 - log --full-history -- file ok 4 - log --full-history --topo-order -- file ok 5 - log --full-history --date-order -- file ok 6 - log --simplify-merges -- file ok 7 - log -- file ok 8 - log --topo-order -- file ok 9 - log --first-parent -- another-file # passed all 9 test(s) 1..9 *** t6013-rev-list-reverse-parents.sh *** ok 1 - set up --reverse example ok 2 - --reverse --parents --full-history combines correctly ok 3 - --boundary does too # passed all 3 test(s) 1..3 *** t6014-rev-list-all.sh *** ok 1 - setup ok 2 - rev-list --all lists detached HEAD ok 3 - repack does not lose detached HEAD # passed all 3 test(s) 1..3 *** t6015-rev-list-show-all-parents.sh *** ok 1 - set up --show-all --parents test ok 2 - --parents rewrites TREESAME parents correctly ok 3 - --parents --show-all does not rewrites TREESAME parents # passed all 3 test(s) 1..3 *** t6016-rev-list-graph-simplify-history.sh *** ok 1 - set up rev-list --graph test ok 2 - --graph --all ok 3 - --graph --simplify-by-decoration ok 4 - setup: get rid of decorations on B ok 5 - --graph --simplify-by-decoration prune branch B ok 6 - --graph --full-history -- bar.txt ok 7 - --graph --full-history --simplify-merges -- bar.txt ok 8 - --graph -- bar.txt ok 9 - --graph --sparse -- bar.txt ok 10 - --graph ^C4 ok 11 - --graph ^C3 ok 12 - --graph --boundary ^C3 # passed all 12 test(s) 1..12 *** t6017-rev-list-stdin.sh *** ok 1 - setup ok 2 - check rev-list master ok 3 - check log --stat master ok 4 - check rev-list side-1 ^side-4 ok 5 - check log --stat side-1 ^side-4 ok 6 - check rev-list side-1 ^side-7 -- ok 7 - check log --stat side-1 ^side-7 -- ok 8 - check rev-list side-1 ^side-7 -- file-1 ok 9 - check log --stat side-1 ^side-7 -- file-1 ok 10 - check rev-list side-1 ^side-7 -- file-2 ok 11 - check log --stat side-1 ^side-7 -- file-2 ok 12 - check rev-list side-3 ^side-4 -- file-3 ok 13 - check log --stat side-3 ^side-4 -- file-3 ok 14 - check rev-list side-3 ^side-2 ok 15 - check log --stat side-3 ^side-2 ok 16 - check rev-list side-3 ^side-2 -- file-1 ok 17 - check log --stat side-3 ^side-2 -- file-1 ok 18 - not only --stdin # passed all 18 test(s) 1..18 *** t6018-rev-list-glob.sh *** ok 1 - setup ok 2 - rev-parse --glob=refs/heads/subspace/* ok 3 - rev-parse --glob=heads/subspace/* ok 4 - rev-parse --glob=refs/heads/subspace/ ok 5 - rev-parse --glob=heads/subspace/ ok 6 - rev-parse --glob=heads/subspace not ok 7 - rev-parse accepts --glob as detached option # TODO known breakage not ok 8 - rev-parse is not confused by option-like glob # TODO known breakage ok 9 - rev-parse --branches=subspace/* ok 10 - rev-parse --branches=subspace/ ok 11 - rev-parse --branches=subspace ok 12 - rev-parse --glob=heads/subspace/* --glob=heads/other/* ok 13 - rev-parse --glob=heads/someref/* master ok 14 - rev-parse --glob=heads/* ok 15 - rev-parse --tags=foo ok 16 - rev-parse --remotes=foo ok 17 - rev-list --glob=refs/heads/subspace/* ok 18 - rev-list --glob refs/heads/subspace/* ok 19 - rev-list not confused by option-like --glob arg ok 20 - rev-list --glob=heads/subspace/* ok 21 - rev-list --glob=refs/heads/subspace/ ok 22 - rev-list --glob=heads/subspace/ ok 23 - rev-list --glob=heads/subspace ok 24 - rev-list --branches=subspace/* ok 25 - rev-list --branches=subspace/ ok 26 - rev-list --branches=subspace ok 27 - rev-list --branches ok 28 - rev-list --glob=heads/someref/* master ok 29 - rev-list --glob=heads/subspace/* --glob=heads/other/* ok 30 - rev-list --glob=heads/* ok 31 - rev-list --tags=foo ok 32 - rev-list --tags ok 33 - rev-list --remotes=foo ok 34 - shortlog accepts --glob/--tags/--remotes not ok 35 - shortlog accepts --glob as detached option # TODO known breakage not ok 36 - shortlog --glob is not confused by option-like argument # TODO known breakage # still have 4 known breakage(s) # passed all remaining 32 test(s) 1..36 *** t6019-rev-list-ancestry-path.sh *** ok 1 - setup ok 2 - rev-list D..M ok 3 - rev-list --ancestry-path D..M ok 4 - rev-list D..M -- M.t ok 5 - rev-list --ancestry-patch D..M -- M.t ok 6 - setup criss-cross ok 7 - criss-cross: rev-list --ancestry-path cb..bc ok 8 - criss-cross: rev-list --ancestry-path --all ^cb # passed all 8 test(s) 1..8 *** t6020-merge-df.sh *** ok 1 - prepare repository ok 2 - Merge with d/f conflicts ok 3 - F/D conflict ok 4 - setup modify/delete + directory/file conflict ok 5 - modify/delete + directory/file conflict ok 6 - modify/delete + directory/file conflict; other way # passed all 6 test(s) 1..6 *** t6021-merge-criss-cross.sh *** ok 1 - prepare repository ok 2 - Criss-cross merge ok 3 - Criss-cross merge result ok 4 - Criss-cross merge fails (-s resolve) # passed all 4 test(s) 1..4 *** t6022-merge-rename.sh *** ok 1 - setup ok 2 - pull renaming branch into unrenaming one ok 3 - pull renaming branch into another renaming one ok 4 - pull unrenaming branch into renaming one ok 5 - pull conflicting renames ok 6 - interference with untracked working tree file ok 7 - interference with untracked working tree file ok 8 - interference with untracked working tree file ok 9 - updated working tree file should prevent the merge ok 10 - updated working tree file should prevent the merge ok 11 - interference with untracked working tree file ok 12 - merge of identical changes in a renamed file ok 13 - setup for rename + d/f conflicts ok 14 - Rename+D/F conflict; renamed file merges + dir not in way ok 15 - Rename+D/F conflict; renamed file merges but dir in way ok 16 - Same as previous, but merged other way ok 17 - Rename+D/F conflict; renamed file cannot merge, dir not in way ok 18 - Rename+D/F conflict; renamed file cannot merge and dir in the way ok 19 - Same as previous, but merged other way ok 20 - setup both rename source and destination involved in D/F conflict ok 21 - both rename source and destination involved in D/F conflict ok 22 - setup pair rename to parent of other (D/F conflicts) ok 23 - pair rename to parent of other (D/F conflicts) w/ untracked dir ok 24 - pair rename to parent of other (D/F conflicts) w/ clean start ok 25 - setup rename of one file to two, with directories in the way ok 26 - check handling of differently renamed file with D/F conflicts ok 27 - setup rename one file to two; directories moving out of the way ok 28 - check handling of differently renamed file with D/F conflicts ok 29 - setup avoid unnecessary update, normal rename ok 30 - avoid unnecessary update, normal rename ok 31 - setup to test avoiding unnecessary update, with D/F conflict ok 32 - avoid unnecessary update, with D/F conflict ok 33 - setup avoid unnecessary update, dir->(file,nothing) ok 34 - avoid unnecessary update, dir->(file,nothing) ok 35 - setup avoid unnecessary update, modify/delete ok 36 - avoid unnecessary update, modify/delete ok 37 - setup avoid unnecessary update, rename/add-dest ok 38 - avoid unnecessary update, rename/add-dest ok 39 - setup merge of rename + small change ok 40 - merge rename + small change ok 41 - setup for use of extended merge markers ok 42 - merge master into rename has correct extended markers ok 43 - merge rename into master has correct extended markers ok 44 - setup spurious "refusing to lose untracked" message ok 45 - no spurious "refusing to lose untracked" message ok 46 - do not follow renames for empty files # passed all 46 test(s) 1..46 *** t6023-merge-file.sh *** ok 1 - merge with no changes ok 2 - merge without conflict ok 3 - works in subdirectory ok 4 - merge without conflict (--quiet) ok 5 - merge without conflict (missing LF at EOF) ok 6 - merge result added missing LF ok 7 - merge with conflicts ok 8 - expected conflict markers ok 9 - merge with conflicts, using -L ok 10 - expected conflict markers, with -L ok 11 - conflict in removed tail ok 12 - expected conflict markers ok 13 - binary files cannot be merged ok 14 - MERGE_ZEALOUS simplifies non-conflicts ok 15 - ZEALOUS_ALNUM ok 16 - "diff3 -m" style output (1) ok 17 - "diff3 -m" style output (2) ok 18 - marker size # passed all 18 test(s) 1..18 *** t6024-recursive-merge.sh *** ok 1 - setup tests ok 2 - combined merge conflicts ok 3 - result contains a conflict ok 4 - virtual trees were processed ok 5 - refuse to merge binary files ok 6 - mark rename/delete as unmerged # passed all 6 test(s) 1..6 *** t6025-merge-symlinks.sh *** ok 1 - setup ok 2 - merge master into b-symlink, which has a different symbolic link ok 3 - the merge result must be a file ok 4 - merge master into b-file, which has a file instead of a symbolic link ok 5 - the merge result must be a file ok 6 - merge b-file, which has a file instead of a symbolic link, into master ok 7 - the merge result must be a file # passed all 7 test(s) 1..7 *** t6026-merge-attr.sh *** ok 1 - setup ok 2 - merge ok 3 - check merge result in index ok 4 - check merge result in working tree ok 5 - retry the merge with longer context ok 6 - custom merge backend ok 7 - custom merge backend ok 8 - up-to-date merge without common ancestor # passed all 8 test(s) 1..8 *** t6027-merge-binary.sh *** ok 1 - setup ok 2 - resolve ok 3 - recursive # passed all 3 test(s) 1..3 *** t6028-merge-up-to-date.sh *** ok 1 - setup ok 2 - merge -s recursive up-to-date ok 3 - merge -s recursive fast-forward ok 4 - merge -s ours up-to-date ok 5 - merge -s ours fast-forward ok 6 - merge -s subtree up-to-date ok 7 - merge fast-forward octopus # passed all 7 test(s) 1..7 *** t6029-merge-subtree.sh *** ok 1 - setup ok 2 - subtree available and works like recursive ok 3 - setup ok 4 - initial merge ok 5 - merge update ok 6 - initial ambiguous subtree ok 7 - merge using explicit ok 8 - merge2 using explicit # passed all 8 test(s) 1..8 *** t6030-bisect-porcelain.sh *** ok 1 - set up basic repo with 1 file (hello) and 4 commits ok 2 - bisect starts with only one bad ok 3 - bisect does not start with only one good ok 4 - bisect start with one bad and good ok 5 - bisect fails if given any junk instead of revs ok 6 - bisect reset: back in the master branch ok 7 - bisect reset: back in another branch ok 8 - bisect reset when not bisecting ok 9 - bisect reset removes packed refs ok 10 - bisect reset removes bisect state after --no-checkout ok 11 - bisect start: back in good branch ok 12 - bisect start: no ".git/BISECT_START" created if junk rev ok 13 - bisect start: existing ".git/BISECT_START" not modified if junk rev ok 14 - bisect start: no ".git/BISECT_START" if mistaken rev ok 15 - bisect start: no ".git/BISECT_START" if checkout error ok 16 - bisect skip: successfull result ok 17 - bisect skip: cannot tell between 3 commits ok 18 - bisect skip: cannot tell between 2 commits ok 19 - bisect skip: with commit both bad and skipped ok 20 - "git bisect run" simple case ok 21 - "git bisect run" with more complex "git bisect start" ok 22 - bisect skip: add line and then a new test ok 23 - bisect skip and bisect replay ok 24 - bisect run & skip: cannot tell between 2 ok 25 - bisect run & skip: find first bad ok 26 - bisect skip only one range ok 27 - bisect skip many ranges ok 28 - bisect starting with a detached HEAD ok 29 - bisect errors out if bad and good are mistaken ok 30 - bisect does not create a "bisect" branch ok 31 - side branch creation ok 32 - good merge base when good and bad are siblings ok 33 - skipped merge base when good and bad are siblings ok 34 - bad merge base when good and bad are siblings ok 35 - many merge bases creation ok 36 - good merge bases when good and bad are siblings ok 37 - optimized merge base checks ok 38 - "parallel" side branch creation ok 39 - restricting bisection on one dir ok 40 - restricting bisection on one dir and a file ok 41 - skipping away from skipped commit ok 42 - erroring out when using bad path parameters ok 43 - test bisection on bare repo - --no-checkout specified ok 44 - test bisection on bare repo - --no-checkout defaulted ok 45 - broken branch creation ok 46 - bisect fails if tree is broken on start commit ok 47 - bisect fails if tree is broken on trial commit ok 48 - bisect: --no-checkout - start commit bad ok 49 - bisect: --no-checkout - trial commit bad ok 50 - bisect: --no-checkout - target before breakage ok 51 - bisect: --no-checkout - target in breakage ok 52 - bisect: --no-checkout - target after breakage ok 53 - bisect: demonstrate identification of damage boundary # passed all 53 test(s) 1..53 *** t6031-merge-recursive.sh *** ok 1 - mode change in one branch: keep changed version ok 2 - verify executable bit on file ok 3 - mode change in both branches: expect conflict ok 4 - verify executable bit on file ok 5 - merging with triple rename across D/F conflict # passed all 5 test(s) 1..5 *** t6032-merge-large-rename.sh *** ok 1 - setup (initial) ok 2 - rename (5, ok) ok 3 - set diff.renamelimit to 4 ok 4 - rename (4, ok) ok 5 - rename (5, fail) ok 6 - set merge.renamelimit to 5 ok 7 - rename (5, ok) ok 8 - rename (6, fail) ok 9 - setup large simple rename ok 10 - massive simple rename does not spam added files # passed all 10 test(s) 1..10 *** t6033-merge-crlf.sh *** ok 1 - setup ok 2 - Check "ours" is CRLF ok 3 - Check that conflict file is CRLF # passed all 3 test(s) 1..3 *** t6034-merge-rename-nocruft.sh *** ok 1 - setup ok 2 - merge white into red (A->B,M->N) ok 3 - merge blue into white (A->B, mod A, A untracked) # passed all 3 test(s) 1..3 *** t6035-merge-dir-to-symlink.sh *** ok 1 - create a commit where dir a/b changed to symlink ok 2 - checkout does not clobber untracked symlink ok 3 - a/b-2/c/d is kept when clobbering symlink b ok 4 - checkout should not have deleted a/b-2/c/d ok 5 - setup for merge test ok 6 - Handle D/F conflict, do not lose a/b-2/c/d in merge (resolve) ok 7 - Handle D/F conflict, do not lose a/b-2/c/d in merge (recursive) ok 8 - Handle F/D conflict, do not lose a/b-2/c/d in merge (resolve) ok 9 - Handle F/D conflict, do not lose a/b-2/c/d in merge (recursive) not ok 10 - do not lose untracked in merge (resolve) # TODO known breakage ok 11 - do not lose untracked in merge (recursive) ok 12 - do not lose modifications in merge (resolve) ok 13 - do not lose modifications in merge (recursive) ok 14 - setup a merge where dir a/b-2 changed to symlink ok 15 - merge should not have D/F conflicts (resolve) ok 16 - merge should not have D/F conflicts (recursive) ok 17 - merge should not have F/D conflicts (recursive) # still have 1 known breakage(s) # passed all remaining 16 test(s) 1..17 *** t6036-recursive-corner-cases.sh *** ok 1 - setup basic criss-cross + rename with no modifications ok 2 - merge simple rename+criss-cross with no modifications ok 3 - setup criss-cross + rename merges with basic modification ok 4 - merge criss-cross + rename merges with basic modification ok 5 - setup differently handled merges of rename/add conflict ok 6 - git detects differently handled merges conflict ok 7 - setup criss-cross + modify/delete resolved differently ok 8 - git detects conflict merging criss-cross+modify/delete ok 9 - git detects conflict merging criss-cross+modify/delete, reverse direction ok 10 - setup differently handled merges of content conflict not ok 11 - git detects conflict w/ criss-cross+contrived resolution # TODO known breakage ok 12 - setup differently handled merges of directory/file conflict ok 13 - merge of D & E1 fails but has appropriate contents ok 14 - merge of E1 & D fails but has appropriate contents ok 15 - merge of D & E2 fails but has appropriate contents ok 16 - merge of E2 & D fails but has appropriate contents ok 17 - setup rename/rename(1to2)/modify followed by what looks like rename/rename(2to1)/modify ok 18 - handle rename/rename(1to2)/modify followed by what looks like rename/rename(2to1)/modify ok 19 - setup criss-cross + rename/rename/add + modify/modify not ok 20 - detect rename/rename/add-source for virtual merge-base # TODO known breakage ok 21 - setup criss-cross+rename/rename/add-dest + simple modify ok 22 - virtual merge base handles rename/rename(1to2)/add-dest # still have 2 known breakage(s) # passed all remaining 20 test(s) 1..22 *** t6037-merge-ours-theirs.sh *** ok 1 - setup ok 2 - plain recursive - should conflict ok 3 - recursive favouring theirs ok 4 - recursive favouring ours ok 5 - pull with -X # passed all 5 test(s) 1..5 *** t6038-merge-text-auto.sh *** ok 1 - setup ok 2 - set up fuzz_conflict() helper ok 3 - Merge after setting text=auto ok 4 - Merge addition of text=auto ok 5 - Detect CRLF/LF conflict after setting text=auto ok 6 - Detect LF/CRLF conflict from addition of text=auto not ok 7 - checkout -m after setting text=auto # TODO known breakage not ok 8 - checkout -m addition of text=auto # TODO known breakage not ok 9 - cherry-pick patch from after text=auto was added # TODO known breakage ok 10 - Test delete/normalize conflict # still have 3 known breakage(s) # passed all remaining 7 test(s) 1..10 *** t6040-tracking-info.sh *** ok 1 - setup ok 2 - branch -v ok 3 - branch -vv ok 4 - checkout ok 5 - checkout with local tracked branch ok 6 - status ok 7 - fail to track lightweight tags ok 8 - fail to track annotated tags ok 9 - setup tracking with branch --set-upstream on existing branch ok 10 - --set-upstream does not change branch ok 11 - --set-upstream @{-1} # passed all 11 test(s) 1..11 *** t6042-merge-rename-corner-cases.sh *** ok 1 - setup rename/delete + untracked file ok 2 - Does git preserve Gollum's precious artifact? ok 3 - setup rename/modify/add-source conflict not ok 4 - rename/modify/add-source conflict resolvable # TODO known breakage ok 5 - setup resolvable conflict missed if rename missed not ok 6 - conflict caused if rename not detected # TODO known breakage ok 7 - setup conflict resolved wrong if rename missed not ok 8 - missed conflict if rename not detected # TODO known breakage ok 9 - setup undetected rename/add-source causes data loss not ok 10 - detect rename/add-source and preserve all data # TODO known breakage not ok 11 - detect rename/add-source and preserve all data, merge other way # TODO known breakage ok 12 - setup content merge + rename/directory conflict ok 13 - rename/directory conflict + clean content merge ok 14 - rename/directory conflict + content merge conflict ok 15 - setup content merge + rename/directory conflict w/ disappearing dir ok 16 - disappearing dir in rename/directory conflict handled ok 17 - setup rename/rename (2to1) + modify/modify ok 18 - handle rename/rename (2to1) conflict correctly ok 19 - setup simple rename/rename (1to2) conflict ok 20 - merge has correct working tree contents ok 21 - setup rename/rename(1to2)/add-source conflict not ok 22 - detect conflict with rename/rename(1to2)/add-source merge # TODO known breakage ok 23 - setup rename/rename(1to2)/add-source resolvable conflict not ok 24 - rename/rename/add-source still tracks new a file # TODO known breakage ok 25 - setup rename/rename(1to2)/add-dest conflict ok 26 - rename/rename/add-dest merge still knows about conflicting file versions # still have 7 known breakage(s) # passed all remaining 19 test(s) 1..26 *** t6050-replace.sh *** ok 1 - set up buggy branch ok 2 - replace the author ok 3 - test --no-replace-objects option ok 4 - test GIT_NO_REPLACE_OBJECTS env variable ok 5 - tag replaced commit ok 6 - "git fsck" works ok 7 - repack, clone and fetch work ok 8 - "git replace" listing and deleting ok 9 - "git replace" replacing ok 10 - create parallel branch without the bug ok 11 - push to cloned repo ok 12 - push branch with replacement ok 13 - fetch branch with replacement ok 14 - bisect and replacements ok 15 - index-pack and replacements ok 16 - not just commits # passed all 16 test(s) 1..16 *** t6060-merge-index.sh *** ok 1 - setup diverging branches ok 2 - read-tree does not resolve content merge ok 3 - git merge-index git-merge-one-file resolves ok 4 - setup bare merge ok 5 - merge-one-file fails without a work tree ok 6 - merge-one-file respects GIT_WORK_TREE ok 7 - merge-one-file respects core.worktree # passed all 7 test(s) 1..7 *** t6101-rev-parse-parents.sh *** ok 1 - start is valid ok 2 - start^0 ok 3 - start^1 not valid ok 4 - second^1 = second^ ok 5 - final^1^1^1 ok 6 - final^1^1^1 = final^^^ ok 7 - final^1^2 ok 8 - final^1^2 != final^1^1 ok 9 - final^1^3 not valid ok 10 - --verify start2^1 ok 11 - --verify start2^0 ok 12 - final^1^@ = final^1^1 final^1^2 ok 13 - final^1^! = final^1 ^final^1^1 ^final^1^2 ok 14 - repack for next test ok 15 - short SHA-1 works # passed all 15 test(s) 1..15 *** t6110-rev-list-sparse.sh *** ok 1 - setup ok 2 - rev-list --first-parent --boundary # passed all 2 test(s) 1..2 *** t6120-describe.sh *** ok 1 - setup ok 2 - describe HEAD ok 3 - describe HEAD^ ok 4 - describe HEAD^^ ok 5 - describe HEAD^^2 ok 6 - describe HEAD^^2^ ok 7 - describe HEAD^^^ ok 8 - describe --tags HEAD ok 9 - describe --tags HEAD^ ok 10 - describe --tags HEAD^^ ok 11 - describe --tags HEAD^^2 ok 12 - describe --tags HEAD^^2^ ok 13 - describe --tags HEAD^^^ ok 14 - describe --all HEAD ok 15 - describe --all HEAD^ ok 16 - describe --all HEAD^^^ ok 17 - describe --long HEAD^^2^ ok 18 - describe --long HEAD^^2 ok 19 - describe --all A^0 ok 20 - no warning was displayed for A ok 21 - rename tag A to Q locally ok 22 - describe HEAD ok 23 - warning was displayed for Q ok 24 - rename tag Q back to A ok 25 - pack tag refs ok 26 - describe HEAD ok 27 - describe --dirty ok 28 - set-up dirty work tree ok 29 - describe --dirty ok 30 - describe --dirty=.mod ok 31 - describe --dirty HEAD ok 32 - set-up matching pattern tests ok 33 - describe --match=test-* ok 34 - describe --tags --match=test1-* ok 35 - describe --tags --match=test2-* ok 36 - describe --long --tags --match=test2-* HEAD^ # passed all 36 test(s) 1..36 *** t6200-fmt-merge-msg.sh *** ok 1 - setup ok 2 - message for merging local branch ok 3 - message for merging external branch ok 4 - [merge] summary/log configuration ok 5 - setup: clear [merge] configuration ok 6 - setup FETCH_HEAD ok 7 - merge.log=3 limits shortlog length ok 8 - merge.log=5 shows all 5 commits ok 9 - merge.log=0 disables shortlog ok 10 - --log=3 limits shortlog length ok 11 - --log=5 shows all 5 commits ok 12 - --no-log disables shortlog ok 13 - --log=0 disables shortlog ok 14 - fmt-merge-msg -m ok 15 - setup: expected shortlog for two branches ok 16 - shortlog for two branches ok 17 - merge-msg -F ok 18 - merge-msg -F in subdirectory ok 19 - merge-msg with nothing to merge ok 20 - merge-msg tag ok 21 - merge-msg two tags ok 22 - merge-msg tag and branch ok 23 - merge-msg lots of commits # passed all 23 test(s) 1..23 *** t6300-for-each-ref.sh *** ok 1 - Create sample commit with known timestamp ok 2 - Create upstream config ok 3 - basic atom: head refname ok 4 - basic atom: head upstream ok 5 - basic atom: head objecttype ok 6 - basic atom: head objectsize ok 7 - basic atom: head objectname ok 8 - basic atom: head tree ok 9 - basic atom: head parent ok 10 - basic atom: head numparent ok 11 - basic atom: head object ok 12 - basic atom: head type ok 13 - basic atom: head author ok 14 - basic atom: head authorname ok 15 - basic atom: head authoremail ok 16 - basic atom: head authordate ok 17 - basic atom: head committer ok 18 - basic atom: head committername ok 19 - basic atom: head committeremail ok 20 - basic atom: head committerdate ok 21 - basic atom: head tag ok 22 - basic atom: head tagger ok 23 - basic atom: head taggername ok 24 - basic atom: head taggeremail ok 25 - basic atom: head taggerdate ok 26 - basic atom: head creator ok 27 - basic atom: head creatordate ok 28 - basic atom: head subject ok 29 - basic atom: head contents:subject ok 30 - basic atom: head body ok 31 - basic atom: head contents:body ok 32 - basic atom: head contents:signature ok 33 - basic atom: head contents ok 34 - basic atom: tag refname ok 35 - basic atom: tag upstream ok 36 - basic atom: tag objecttype ok 37 - basic atom: tag objectsize ok 38 - basic atom: tag objectname ok 39 - basic atom: tag tree ok 40 - basic atom: tag parent ok 41 - basic atom: tag numparent ok 42 - basic atom: tag object ok 43 - basic atom: tag type ok 44 - basic atom: tag author ok 45 - basic atom: tag authorname ok 46 - basic atom: tag authoremail ok 47 - basic atom: tag authordate ok 48 - basic atom: tag committer ok 49 - basic atom: tag committername ok 50 - basic atom: tag committeremail ok 51 - basic atom: tag committerdate ok 52 - basic atom: tag tag ok 53 - basic atom: tag tagger ok 54 - basic atom: tag taggername ok 55 - basic atom: tag taggeremail ok 56 - basic atom: tag taggerdate ok 57 - basic atom: tag creator ok 58 - basic atom: tag creatordate ok 59 - basic atom: tag subject ok 60 - basic atom: tag contents:subject ok 61 - basic atom: tag body ok 62 - basic atom: tag contents:body ok 63 - basic atom: tag contents:signature ok 64 - basic atom: tag contents ok 65 - Check invalid atoms names are errors ok 66 - Check format specifiers are ignored in naming date atoms ok 67 - Check valid format specifiers for date fields ok 68 - Check invalid format specifiers are errors ok 69 - Check unformatted date fields output ok 70 - Check format "default" formatted date fields output ok 71 - Check format "relative" date fields output ok 72 - Check format "short" date fields output ok 73 - Check format "local" date fields output ok 74 - Check format "iso8601" date fields output ok 75 - Check format "rfc2822" date fields output ok 76 - Verify ascending sort ok 77 - Verify descending sort ok 78 - Quoting style: shell ok 79 - Quoting style: perl ok 80 - Quoting style: python ok 81 - Quoting style: tcl ok 82 - more than one quoting style: --perl --shell ok 83 - more than one quoting style: -s --python ok 84 - more than one quoting style: --python --tcl ok 85 - more than one quoting style: --tcl --perl ok 86 - Check short refname format ok 87 - Check short upstream format ok 88 - Check short objectname format ok 89 - Check for invalid refname format ok 90 - Check ambiguous head and tag refs (strict) ok 91 - Check ambiguous head and tag refs (loose) ok 92 - Check ambiguous head and tag refs II (loose) ok 93 - an unusual tag with an incomplete line ok 94 - create tag with subject and body content ok 95 - basic atom: refs/tags/subject-body subject ok 96 - basic atom: refs/tags/subject-body body ok 97 - basic atom: refs/tags/subject-body contents ok 98 - create tag with multiline subject ok 99 - basic atom: refs/tags/multiline subject ok 100 - basic atom: refs/tags/multiline contents:subject ok 101 - basic atom: refs/tags/multiline body ok 102 - basic atom: refs/tags/multiline contents:body ok 103 - basic atom: refs/tags/multiline contents:signature ok 104 - basic atom: refs/tags/multiline contents ok 105 - create signed tags ok 106 - basic atom: refs/tags/signed-empty subject ok 107 - basic atom: refs/tags/signed-empty contents:subject ok 108 - basic atom: refs/tags/signed-empty body ok 109 - basic atom: refs/tags/signed-empty contents:body ok 110 - basic atom: refs/tags/signed-empty contents:signature ok 111 - basic atom: refs/tags/signed-empty contents ok 112 - basic atom: refs/tags/signed-short subject ok 113 - basic atom: refs/tags/signed-short contents:subject ok 114 - basic atom: refs/tags/signed-short body ok 115 - basic atom: refs/tags/signed-short contents:body ok 116 - basic atom: refs/tags/signed-short contents:signature ok 117 - basic atom: refs/tags/signed-short contents ok 118 - basic atom: refs/tags/signed-long subject ok 119 - basic atom: refs/tags/signed-long contents:subject ok 120 - basic atom: refs/tags/signed-long body ok 121 - basic atom: refs/tags/signed-long contents:body ok 122 - basic atom: refs/tags/signed-long contents:signature ok 123 - basic atom: refs/tags/signed-long contents # passed all 123 test(s) 1..123 *** t6500-gc.sh *** ok 1 - gc empty repository ok 2 - gc --gobbledegook ok 3 - gc -h with invalid configuration # passed all 3 test(s) 1..3 *** t7001-mv.sh *** ok 1 - prepare reference tree ok 2 - moving the file out of subdirectory ok 3 - commiting the change ok 4 - checking the commit ok 5 - moving the file back into subdirectory ok 6 - commiting the change ok 7 - checking the commit ok 8 - checking -k on non-existing file ok 9 - checking -k on untracked file ok 10 - checking -k on multiple untracked files ok 11 - checking -f on untracked file with existing target ok 12 - adding another file ok 13 - moving whole subdirectory ok 14 - commiting the change ok 15 - checking the commit ok 16 - succeed when source is a prefix of destination ok 17 - moving whole subdirectory into subdirectory ok 18 - commiting the change ok 19 - checking the commit ok 20 - do not move directory over existing directory ok 21 - move into "." ok 22 - Michael Cassar's test case ok 23 - Sergey Vlasov's test case ok 24 - absolute pathname ok 25 - absolute pathname outside should fail ok 26 - git mv to move multiple sources into a directory ok 27 - git mv should not change sha1 of moved cache entry ok 28 - git mv should overwrite symlink to a file ok 29 - git mv should overwrite file with a symlink # passed all 29 test(s) 1..29 *** t7003-filter-branch.sh *** ok 1 - setup ok 2 - rewrite identically ok 3 - result is really identical ok 4 - rewrite bare repository identically ok 5 - result is really identical ok 6 - correct GIT_DIR while using -d ok 7 - Fail if commit filter fails ok 8 - rewrite, renaming a specific file ok 9 - test that the file was renamed ok 10 - rewrite, renaming a specific directory ok 11 - test that the directory was renamed ok 12 - rewrite one branch, keeping a side branch ok 13 - common ancestor is still common (unchanged) ok 14 - filter subdirectory only ok 15 - subdirectory filter result looks okay ok 16 - more setup ok 17 - use index-filter to move into a subdirectory ok 18 - stops when msg filter fails ok 19 - author information is preserved ok 20 - remove a certain author's commits ok 21 - barf on invalid name ok 22 - "map" works in commit filter ok 23 - Name needing quotes ok 24 - Subdirectory filter with disappearing trees ok 25 - Tag name filtering retains tag message ok 26 - Tag name filtering strips gpg signature ok 27 - Tag name filtering allows slashes in tag names ok 28 - Prune empty commits ok 29 - --remap-to-ancestor with filename filters ok 30 - automatic remapping to ancestor with filename filters ok 31 - setup submodule ok 32 - rewrite submodule with another content ok 33 - replace submodule revision # passed all 33 test(s) 1..33 *** t7004-tag.sh *** ok 1 - listing all tags in an empty tree should succeed ok 2 - listing all tags in an empty tree should output nothing ok 3 - looking for a tag in an empty tree should fail ok 4 - creating a tag in an empty tree should fail ok 5 - creating a tag for HEAD in an empty tree should fail ok 6 - creating a tag for an unknown revision should fail ok 7 - creating a tag using default HEAD should succeed ok 8 - listing all tags if one exists should succeed ok 9 - listing all tags if one exists should output that tag ok 10 - listing a tag using a matching pattern should succeed ok 11 - listing a tag using a matching pattern should output that tag ok 12 - listing tags using a non-matching pattern should suceed ok 13 - listing tags using a non-matching pattern should output nothing ok 14 - trying to create a tag with the name of one existing should fail ok 15 - trying to create a tag with a non-valid name should fail ok 16 - creating a tag using HEAD directly should succeed ok 17 - trying to delete an unknown tag should fail ok 18 - trying to delete tags without params should succeed and do nothing ok 19 - deleting two existing tags in one command should succeed ok 20 - creating a tag with the name of another deleted one should succeed ok 21 - trying to delete two tags, existing and not, should fail in the 2nd ok 22 - trying to delete an already deleted tag should fail ok 23 - listing all tags should print them ordered ok 24 - listing tags with substring as pattern must print those matching ok 25 - listing tags with a suffix as pattern must print those matching ok 26 - listing tags with a prefix as pattern must print those matching ok 27 - listing tags using a name as pattern must print that one matching ok 28 - listing tags using a name as pattern must print that one matching ok 29 - listing tags with ? in the pattern should print those matching ok 30 - listing tags using v.* should print nothing because none have v. ok 31 - listing tags using v* should print only those having v ok 32 - tag -l can accept multiple patterns ok 33 - a non-annotated tag created without parameters should point to HEAD ok 34 - trying to verify an unknown tag should fail ok 35 - trying to verify a non-annotated and non-signed tag should fail ok 36 - trying to verify many non-annotated or unknown tags, should fail ok 37 - creating an annotated tag with -m message should succeed ok 38 - creating an annotated tag with -F messagefile should succeed ok 39 - creating an annotated tag with -F - should succeed ok 40 - trying to create a tag with a non-existing -F file should fail ok 41 - trying to create tags giving both -m or -F options should fail ok 42 - creating a tag with an empty -m message should succeed ok 43 - creating a tag with an empty -F messagefile should succeed ok 44 - extra blanks in the message for an annotated tag should be removed ok 45 - creating a tag with blank -m message with spaces should succeed ok 46 - creating a tag with blank -F messagefile with spaces should succeed ok 47 - creating a tag with -F file of spaces and no newline should succeed ok 48 - creating a tag using a -F messagefile with #comments should succeed ok 49 - creating a tag with a #comment in the -m message should succeed ok 50 - creating a tag with #comments in the -F messagefile should succeed ok 51 - creating a tag with a file of #comment and no newline should succeed ok 52 - listing the one-line message of a non-signed tag should succeed ok 53 - listing the zero-lines message of a non-signed tag should succeed ok 54 - listing many message lines of a non-signed tag should succeed ok 55 - annotations for blobs are empty ok 56 - trying to verify an annotated non-signed tag should fail ok 57 - trying to verify a file-annotated non-signed tag should fail ok 58 - trying to verify two annotated non-signed tags should fail ok 59 - creating a signed tag with -m message should succeed ok 60 - sign with a given key id ok 61 - sign with an unknown id (1) ok 62 - sign with an unknown id (2) ok 63 - -u implies signed tag ok 64 - creating a signed tag with -F messagefile should succeed ok 65 - creating a signed tag with -F - should succeed ok 66 - -s implies annotated tag ok 67 - trying to create a signed tag with non-existing -F file should fail ok 68 - verifying a signed tag should succeed ok 69 - verifying two signed tags in one command should succeed ok 70 - verifying many signed and non-signed tags should fail ok 71 - verifying a forged tag should fail ok 72 - creating a signed tag with an empty -m message should succeed ok 73 - creating a signed tag with an empty -F messagefile should succeed ok 74 - extra blanks in the message for a signed tag should be removed ok 75 - creating a signed tag with a blank -m message should succeed ok 76 - creating a signed tag with blank -F file with spaces should succeed ok 77 - creating a signed tag with spaces and no newline should succeed ok 78 - creating a signed tag with a -F file with #comments should succeed ok 79 - creating a signed tag with #commented -m message should succeed ok 80 - creating a signed tag with #commented -F messagefile should succeed ok 81 - creating a signed tag with a #comment and no newline should succeed ok 82 - listing the one-line message of a signed tag should succeed ok 83 - listing the zero-lines message of a signed tag should succeed ok 84 - listing many message lines of a signed tag should succeed ok 85 - creating a signed tag pointing to a tree should succeed ok 86 - creating a signed tag pointing to a blob should succeed ok 87 - creating a signed tag pointing to another tag should succeed ok 88 - creating a signed tag with rfc1991 ok 89 - reediting a signed tag body omits signature ok 90 - verifying rfc1991 signature ok 91 - list tag with rfc1991 signature ok 92 - verifying rfc1991 signature without --rfc1991 ok 93 - list tag with rfc1991 signature without --rfc1991 ok 94 - reediting a signed tag body omits signature ok 95 - git tag -s fails if gpg is misconfigured ok 96 - verify signed tag fails when public key is not present ok 97 - git tag -a fails if tag annotation is empty ok 98 - message in editor has initial comment ok 99 - message in editor has initial comment: first line ok 100 - message in editor has initial comment: remainder ok 101 - overwriting an annoted tag should use its previous body ok 102 - filename for the message is relative to cwd ok 103 - filename for the message is relative to cwd ok 104 - creating second commit and tag ok 105 - creating third commit without tag ok 106 - checking that first commit is in all tags (hash) ok 107 - checking that first commit is in all tags (tag) ok 108 - checking that first commit is in all tags (relative) ok 109 - checking that second commit only has one tag ok 110 - checking that third commit has no tags ok 111 - creating simple branch ok 112 - checking that branch head only has one tag ok 113 - merging original branch into this branch ok 114 - checking that original branch head has one tag now ok 115 - checking that initial commit is in all tags ok 116 - mixing incompatibles modes and options is forbidden ok 117 - --points-at cannot be used in non-list mode ok 118 - --points-at finds lightweight tags ok 119 - --points-at finds annotated tags of commits ok 120 - --points-at finds annotated tags of tags ok 121 - multiple --points-at are OR-ed together # passed all 121 test(s) 1..121 *** t7005-editor.sh *** ok 1 - determine default editor ok 2 - setup ok 3 - dumb should error out when falling back on vi ok 4 - dumb should prefer EDITOR to VISUAL ok 5 - Using editor ok 6 - Using EDITOR ok 7 - Using VISUAL ok 8 - Using core_editor ok 9 - Using GIT_EDITOR ok 10 - Using editor (override) ok 11 - Using EDITOR (override) ok 12 - Using VISUAL (override) ok 13 - Using core_editor (override) ok 14 - Using GIT_EDITOR (override) ok 15 - editor with a space ok 16 - core.editor with a space # passed all 16 test(s) 1..16 *** t7006-pager.sh *** ok 1 - determine default pager ok 2 - set up terminal for tests ok 3 - setup ok 4 - some commands use a pager not ok 5 - pager runs from subdir # TODO known breakage ok 6 - some commands do not use a pager ok 7 - no pager when stdout is a pipe ok 8 - no pager when stdout is a regular file ok 9 - git --paginate rev-list uses a pager ok 10 - no pager even with --paginate when stdout is a pipe ok 11 - no pager with --no-pager ok 12 - configuration can disable pager ok 13 - git config uses a pager if configured to ok 14 - configuration can enable pager (from subdir) ok 15 - tests can detect color ok 16 - no color when stdout is a regular file ok 17 - color when writing to a pager ok 18 - colors are suppressed by color.pager ok 19 - color when writing to a file intended for a pager ok 20 - colors are sent to pager for external commands ok 21 - setup: some aliases ok 22 - git log - default pager is used by default ok 23 - git log - PAGER overrides default pager ok 24 - git log - repository-local core.pager setting overrides PAGER ok 25 - git log - core.pager overrides PAGER from subdirectory ok 26 - git log - GIT_PAGER overrides core.pager ok 27 - git -p log - default pager is used by default ok 28 - git -p log - PAGER overrides default pager ok 29 - git -p log - repository-local core.pager setting overrides PAGER ok 30 - git -p log - core.pager overrides PAGER from subdirectory ok 31 - git -p log - GIT_PAGER overrides core.pager ok 32 - git aliasedlog - default pager is used by default ok 33 - git aliasedlog - PAGER overrides default pager ok 34 - git aliasedlog - repository-local core.pager setting overrides PAGER ok 35 - git aliasedlog - core.pager overrides PAGER from subdirectory ok 36 - git aliasedlog - GIT_PAGER overrides core.pager ok 37 - git -p aliasedlog - default pager is used by default ok 38 - git -p aliasedlog - PAGER overrides default pager ok 39 - git -p aliasedlog - repository-local core.pager setting overrides PAGER not ok 40 - git -p aliasedlog - core.pager overrides PAGER from subdirectory # TODO known breakage ok 41 - git -p aliasedlog - GIT_PAGER overrides core.pager ok 42 - git -p true - default pager is used by default ok 43 - git -p true - PAGER overrides default pager ok 44 - git -p true - repository-local core.pager setting overrides PAGER not ok 45 - git -p true - core.pager overrides PAGER from subdirectory # TODO known breakage ok 46 - git -p true - GIT_PAGER overrides core.pager ok 47 - git -p request-pull - default pager is used by default ok 48 - git -p request-pull - PAGER overrides default pager ok 49 - git -p request-pull - repository-local core.pager setting overrides PAGER not ok 50 - git -p request-pull - core.pager overrides PAGER from subdirectory # TODO known breakage ok 51 - git -p request-pull - GIT_PAGER overrides core.pager ok 52 - git -p - default pager is used by default ok 53 - git -p - PAGER overrides default pager not ok 54 - git -p - repository-local core.pager setting is not used # TODO known breakage ok 55 - git -p - core.pager is not used from subdirectory ok 56 - git -p - GIT_PAGER overrides core.pager not ok 57 - no pager for 'git -p nonsense' # TODO known breakage ok 58 - git shortlog - default pager is used by default ok 59 - git shortlog - PAGER overrides default pager ok 60 - git shortlog - repository-local core.pager setting overrides PAGER ok 61 - git shortlog - core.pager overrides PAGER from subdirectory ok 62 - git shortlog - GIT_PAGER overrides core.pager ok 63 - setup: configure shortlog not to paginate ok 64 - no pager for 'git shortlog' ok 65 - git shortlog - core.pager is not used from subdirectory ok 66 - git -p shortlog - default pager is used by default ok 67 - git -p shortlog - core.pager overrides PAGER from subdirectory ok 68 - git -p apply f a ok 14 - git grep -F yx a ok 15 - git grep -Fi Yf a ok 16 - git grep -Fi Yx a ok 17 - git grep yf a ok 18 - git grep yx a ok 19 - grep respects binary diff attribute ok 20 - grep respects not-binary diff attribute # still have 1 known breakage(s) # passed all remaining 19 test(s) 1..20 *** t7010-setup.sh *** ok 1 - setup ok 2 - git add (absolute) ok 3 - git add (funny relative) ok 4 - git rm (absolute) ok 5 - git rm (funny relative) ok 6 - git ls-files (absolute) ok 7 - git ls-files (relative #1) ok 8 - git ls-files (relative #2) ok 9 - git ls-files (relative #3) ok 10 - commit using absolute path names ok 11 - log using absolute path names ok 12 - blame using absolute path names ok 13 - setup deeper work tree ok 14 - add a directory outside the work tree ok 15 - add a file outside the work tree, nasty case 1 ok 16 - add a file outside the work tree, nasty case 2 # passed all 16 test(s) 1..16 *** t7011-skip-worktree-reading.sh *** ok 1 - setup ok 2 - update-index ok 3 - update-index ok 4 - update-index --remove ok 5 - update-index --remove ok 6 - ls-files --delete ok 7 - ls-files --delete ok 8 - ls-files --modified ok 9 - ls-files --modified ok 10 - grep with skip-worktree file ok 11 - diff-index does not examine skip-worktree absent entries ok 12 - diff-index does not examine skip-worktree dirty entries ok 13 - diff-files does not examine skip-worktree absent entries ok 14 - diff-files does not examine skip-worktree dirty entries ok 15 - git-rm succeeds on skip-worktree absent entries ok 16 - commit on skip-worktree absent entries ok 17 - commit on skip-worktree dirty entries # passed all 17 test(s) 1..17 *** t7012-skip-worktree-writing.sh *** ok 1 - setup ok 2 - read-tree updates worktree, absent case ok 3 - read-tree updates worktree, dirty case ok 4 - read-tree removes worktree, absent case ok 5 - read-tree removes worktree, dirty case ok 6 - index setup ok 7 - git-add ignores worktree content ok 8 - git-add ignores worktree content ok 9 - git-rm fails if worktree is dirty ok 10 - git-clean, absent case ok 11 - git-clean, dirty case # passed all 11 test(s) 1..11 *** t7060-wtstatus.sh *** ok 1 - setup ok 2 - A/A conflict ok 3 - Report path with conflict ok 4 - Report new path with conflict ok 5 - M/D conflict does not segfault ok 6 - rename & unmerged setup ok 7 - rename & unmerged status ok 8 - git diff-index --cached shows 2 added + 1 unmerged ok 9 - git diff-index --cached -M shows 2 added + 1 unmerged ok 10 - git diff-index --cached -C shows 2 copies + 1 unmerged # passed all 10 test(s) 1..10 *** t7101-reset.sh *** ok 1 - creating initial files ok 2 - creating second files ok 3 - resetting tree HEAD^ ok 4 - checking initial files exist after rewind ok 5 - checking lack of path1/path2/COPYING ok 6 - checking lack of path1/COPYING ok 7 - checking lack of COPYING ok 8 - checking checking lack of path1/COPYING-TOO ok 9 - checking lack of path1/path2 ok 10 - checking lack of path1 # passed all 10 test(s) 1..10 *** t7102-reset.sh *** ok 1 - creating initial files and commits ok 2 - giving a non existing revision should fail ok 3 - reset --soft with unmerged index should fail ok 4 - giving paths with options different than --mixed should fail ok 5 - giving unrecognized options should fail ok 6 - trying to do reset --soft with pending merge should fail ok 7 - trying to do reset --soft with pending checkout merge should fail ok 8 - resetting to HEAD with no changes should succeed and do nothing ok 9 - --soft reset only should show changes in diff --cached ok 10 - changing files and redo the last commit should succeed ok 11 - --hard reset should change the files and undo commits permanently ok 12 - redoing changes adding them without commit them should succeed ok 13 - --mixed reset to HEAD should unadd the files ok 14 - redoing the last two commits should succeed ok 15 - --hard reset to HEAD should clear a failed merge ok 16 - --hard reset to ORIG_HEAD should clear a fast-forward merge ok 17 - test --mixed ok 18 - test resetting the index at give paths ok 19 - resetting an unmodified path is a no-op ok 20 - --mixed refreshes the index ok 21 - resetting specific path that is unmerged ok 22 - disambiguation (1) ok 23 - disambiguation (2) ok 24 - disambiguation (3) ok 25 - disambiguation (4) # passed all 25 test(s) 1..25 *** t7103-reset-bare.sh *** ok 1 - setup non-bare ok 2 - "hard" reset requires a worktree ok 3 - "merge" reset requires a worktree ok 4 - "keep" reset requires a worktree ok 5 - "mixed" reset is ok ok 6 - "soft" reset is ok ok 7 - hard reset works with GIT_WORK_TREE ok 8 - setup bare ok 9 - "hard" reset is not allowed in bare ok 10 - "merge" reset is not allowed in bare ok 11 - "keep" reset is not allowed in bare ok 12 - "mixed" reset is not allowed in bare ok 13 - "soft" reset is allowed in bare # passed all 13 test(s) 1..13 *** t7104-reset.sh *** ok 1 - setup ok 2 - reset --hard should restore unmerged ones ok 3 - reset --hard did not corrupt index nor cached-tree # passed all 3 test(s) 1..3 *** t7105-reset-patch.sh *** ok 1 - setup ok 2 - saying "n" does nothing ok 3 - git reset -p ok 4 - git reset -p HEAD^ ok 5 - git reset -p dir ok 6 - git reset -p -- foo (inside dir) ok 7 - git reset -p HEAD^ -- dir ok 8 - none of this moved HEAD # passed all 8 test(s) 1..8 *** t7110-reset-merge.sh *** ok 1 - setup ok 2 - reset --merge is ok with changes in file it does not touch ok 3 - reset --merge is ok when switching back ok 4 - reset --keep is ok with changes in file it does not touch ok 5 - reset --keep is ok when switching back ok 6 - reset --merge discards changes added to index (1) ok 7 - reset --merge is ok again when switching back (1) ok 8 - reset --keep fails with changes in index in files it touches ok 9 - reset --merge discards changes added to index (2) ok 10 - reset --merge is ok again when switching back (2) ok 11 - reset --keep keeps changes it does not touch ok 12 - reset --keep keeps changes when switching back ok 13 - reset --merge fails with changes in file it touches ok 14 - reset --keep fails with changes in file it touches ok 15 - setup 3 different branches ok 16 - "reset --merge HEAD^" is ok with pending merge ok 17 - "reset --keep HEAD^" fails with pending merge ok 18 - "reset --merge HEAD" is ok with pending merge ok 19 - "reset --keep HEAD" fails with pending merge ok 20 - --merge is ok with added/deleted merge ok 21 - --keep fails with added/deleted merge # passed all 21 test(s) 1..21 *** t7111-reset-table.sh *** ok 1 - creating initial commits ok 2 - check: A B C D --soft A B D ok 3 - check: A B C D --mixed A D D ok 4 - check: A B C D --hard D D D ok 5 - check: A B C D --merge XXXXX ok 6 - check: A B C D --keep XXXXX ok 7 - check: A B C C --soft A B C ok 8 - check: A B C C --mixed A C C ok 9 - check: A B C C --hard C C C ok 10 - check: A B C C --merge XXXXX ok 11 - check: A B C C --keep A C C ok 12 - check: B B C D --soft B B D ok 13 - check: B B C D --mixed B D D ok 14 - check: B B C D --hard D D D ok 15 - check: B B C D --merge D D D ok 16 - check: B B C D --keep XXXXX ok 17 - check: B B C C --soft B B C ok 18 - check: B B C C --mixed B C C ok 19 - check: B B C C --hard C C C ok 20 - check: B B C C --merge C C C ok 21 - check: B B C C --keep B C C ok 22 - check: B C C D --soft B C D ok 23 - check: B C C D --mixed B D D ok 24 - check: B C C D --hard D D D ok 25 - check: B C C D --merge XXXXX ok 26 - check: B C C D --keep XXXXX ok 27 - check: B C C C --soft B C C ok 28 - check: B C C C --mixed B C C ok 29 - check: B C C C --hard C C C ok 30 - check: B C C C --merge B C C ok 31 - check: B C C C --keep B C C ok 32 - setting up branches to test with unmerged entries ok 33 - check: X U B C --soft XXXXX ok 34 - check: X U B C --mixed X C C ok 35 - check: X U B C --hard C C C ok 36 - check: X U B C --merge C C C ok 37 - check: X U B C --keep XXXXX ok 38 - check: X U B B --soft XXXXX ok 39 - check: X U B B --mixed X B B ok 40 - check: X U B B --hard B B B ok 41 - check: X U B B --merge B B B ok 42 - check: X U B B --keep XXXXX # passed all 42 test(s) 1..42 *** t7201-co.sh *** ok 1 - setup ok 2 - checkout from non-existing branch ok 3 - checkout with dirty tree without -m ok 4 - checkout with unrelated dirty tree without -m ok 5 - checkout -m with dirty tree ok 6 - checkout -m with dirty tree, renamed ok 7 - checkout -m with merge conflict ok 8 - format of merge conflict from checkout -m ok 9 - checkout --merge --conflict=diff3 ok 10 - checkout to detach HEAD (with advice declined) ok 11 - checkout to detach HEAD ok 12 - checkout to detach HEAD with branchname^ ok 13 - checkout to detach HEAD with :/message ok 14 - checkout to detach HEAD with HEAD^0 ok 15 - checkout with ambiguous tag/branch names ok 16 - checkout with ambiguous tag/branch names ok 17 - switch branches while in subdirectory ok 18 - checkout specific path while in subdirectory ok 19 - checkout w/--track sets up tracking ok 20 - checkout w/autosetupmerge=always sets up tracking ok 21 - checkout w/--track from non-branch HEAD fails ok 22 - checkout w/--track from tag fails ok 23 - detach a symbolic link HEAD ok 24 - checkout with --track fakes a sensible -b ok 25 - checkout with --track, but without -b, fails with too short tracked name ok 26 - checkout an unmerged path should fail ok 27 - checkout with an unmerged path can be ignored ok 28 - checkout unmerged stage ok 29 - checkout with --merge ok 30 - checkout with --merge, in diff3 -m style ok 31 - checkout --conflict=merge, overriding config ok 32 - checkout --conflict=diff3 ok 33 - failing checkout -b should not break working tree ok 34 - switch out of non-branch ok 35 - custom merge driver with checkout -m # passed all 35 test(s) 1..35 *** t7300-clean.sh *** ok 1 - setup ok 2 - git clean with skip-worktree .gitignore ok 3 - git clean ok 4 - git clean src/ ok 5 - git clean src/ src/ ok 6 - git clean with prefix ok 7 - git clean with relative prefix ok 8 - git clean with absolute path ok 9 - git clean with out of work tree relative path ok 10 - git clean with out of work tree absolute path ok 11 - git clean -d with prefix and path ok 12 - git clean symbolic link ok 13 - git clean with wildcard ok 14 - git clean -n ok 15 - git clean -d ok 16 - git clean -d src/ examples/ ok 17 - git clean -x ok 18 - git clean -d -x ok 19 - git clean -X ok 20 - git clean -d -X ok 21 - clean.requireForce defaults to true ok 22 - clean.requireForce ok 23 - clean.requireForce and -n ok 24 - clean.requireForce and -f ok 25 - core.excludesfile ok 26 - removal failure ok 27 - nested git work tree ok 28 - force removal of nested git work tree ok 29 - git clean -e ok 30 - git clean -d with an unreadable empty directory # passed all 30 test(s) 1..30 *** t7400-submodule-basic.sh *** ok 1 - setup - initial commit ok 2 - setup - repository in init subdirectory ok 3 - setup - commit with gitlink ok 4 - setup - hide init subdirectory ok 5 - setup - repository to add submodules to ok 6 - submodule add ok 7 - submodule add to .gitignored path fails ok 8 - submodule add to .gitignored path with --force ok 9 - submodule add --branch ok 10 - submodule add with ./ in path ok 11 - submodule add with // in path ok 12 - submodule add with /.. in path ok 13 - submodule add with ./, /.. and // in path ok 14 - setup - add an example entry to .gitmodules ok 15 - status should fail for unmapped paths ok 16 - setup - map path in .gitmodules ok 17 - status should only print one line ok 18 - setup - fetch commit name from submodule ok 19 - status should initially be "missing" ok 20 - init should register submodule url in .git/config ok 21 - update should fail when path is used by a file ok 22 - update should fail when path is used by a nonempty directory ok 23 - update should work when path is an empty dir ok 24 - status should be "up-to-date" after update ok 25 - status should be "modified" after submodule commit ok 26 - the --cached sha1 should be rev1 ok 27 - git diff should report the SHA1 of the new submodule commit ok 28 - update should checkout rev1 ok 29 - status should be "up-to-date" after update ok 30 - checkout superproject with subproject already present ok 31 - apply submodule diff ok 32 - update --init ok 33 - do not add files from a submodule ok 34 - gracefully add submodule with a trailing slash ok 35 - ls-files gracefully handles trailing slash ok 36 - moving to a commit without submodule does not leave empty dir ok 37 - submodule warns ok 38 - add submodules without specifying an explicit path ok 39 - add should fail when path is used by a file ok 40 - add should fail when path is used by an existing directory ok 41 - use superproject as upstream when path is relative and no url is set there ok 42 - set up for relative path tests ok 43 - relative path works with URL ok 44 - relative path works with user@host:path ok 45 - moving the superproject does not break submodules # passed all 45 test(s) 1..45 *** t7401-submodule-summary.sh *** ok 1 - added submodule ok 2 - modified submodule(forward) ok 3 - modified submodule(forward), --files ok 4 - modified submodule(backward) ok 5 - modified submodule(backward and forward) ok 6 - --summary-limit ok 7 - typechanged submodule(submodule->blob), --cached ok 8 - typechanged submodule(submodule->blob), --files ok 9 - typechanged submodule(submodule->blob) ok 10 - nonexistent commit ok 11 - typechanged submodule(blob->submodule) ok 12 - deleted submodule ok 13 - multiple submodules ok 14 - path filter ok 15 - given commit ok 16 - --for-status ok 17 - fail when using --files together with --cached ok 18 - should not fail in an empty repo # passed all 18 test(s) 1..18 *** t7402-submodule-rebase.sh *** ok 1 - setup ok 2 - rebase with a dirty submodule ok 3 - interactive rebase with a dirty submodule ok 4 - rebase with dirty file and submodule fails ok 5 - stash with a dirty submodule # passed all 5 test(s) 1..5 *** t7403-submodule-sync.sh *** ok 1 - setup ok 2 - change submodule ok 3 - change submodule url ok 4 - "git submodule sync" should update submodule URLs ok 5 - "git submodule sync" should update known submodule URLs ok 6 - "git submodule sync" should not vivify uninteresting submodule # passed all 6 test(s) 1..6 *** t7405-submodule-merge.sh *** ok 1 - setup ok 2 - setup for merge search ok 3 - merge with one side as a fast-forward of the other ok 4 - merging should conflict for non fast-forward ok 5 - merging should fail for ambiguous common parent ok 6 - merging should fail for changes that are backwards ok 7 - git submodule status should display the merge conflict properly with merge base ok 8 - git submodule status should display the merge conflict properly without merge-base ok 9 - merging with a modify/modify conflict between merge bases ok 10 - setup for recursive merge with submodule ok 11 - recursive merge with submodule # passed all 11 test(s) 1..11 *** t7406-submodule-update.sh *** ok 1 - setup a submodule tree ok 2 - submodule update detaching the HEAD ok 3 - submodule update does not fetch already present commits ok 4 - submodule update should fail due to local changes ok 5 - submodule update should throw away changes with --force ok 6 - submodule update --rebase staying on master ok 7 - submodule update --merge staying on master ok 8 - submodule update - rebase in .git/config ok 9 - submodule update - checkout in .git/config but --rebase given ok 10 - submodule update - merge in .git/config ok 11 - submodule update - checkout in .git/config but --merge given ok 12 - submodule update - checkout in .git/config ok 13 - submodule init picks up rebase ok 14 - submodule init picks up merge ok 15 - submodule update --merge - ignores --merge for new submodules ok 16 - submodule update --rebase - ignores --rebase for new submodules ok 17 - submodule update ignores update=merge config for new submodules ok 18 - submodule update ignores update=rebase config for new submodules ok 19 - submodule init picks up update=none ok 20 - submodule update - update=none in .git/config ok 21 - submodule update - update=none in .git/config but --checkout given ok 22 - submodule update --init skips submodule with update=none ok 23 - submodule update continues after checkout error ok 24 - submodule update continues after recursive checkout error ok 25 - submodule update exit immediately in case of merge conflict ok 26 - submodule update exit immediately after recursive rebase error ok 27 - add different submodules to the same path ok 28 - submodule add places git-dir in superprojects git-dir ok 29 - submodule update places git-dir in superprojects git-dir ok 30 - submodule add places git-dir in superprojects git-dir recursive ok 31 - submodule update places git-dir in superprojects git-dir recursive ok 32 - submodule add properly re-creates deeper level submodules ok 33 - submodule update properly revives a moved submodule # passed all 33 test(s) 1..33 *** t7407-submodule-foreach.sh *** ok 1 - setup a submodule tree ok 2 - test basic "submodule foreach" usage ok 3 - setup nested submodules ok 4 - use "submodule foreach" to checkout 2nd level submodule ok 5 - use "foreach --recursive" to checkout all submodules ok 6 - test messages from "foreach --recursive" ok 7 - test "foreach --quiet --recursive" ok 8 - use "update --recursive" to checkout all submodules ok 9 - test "status --recursive" ok 10 - ensure "status --cached --recursive" preserves the --cached flag ok 11 - use "git clone --recursive" to checkout all submodules ok 12 - test "update --recursive" with a flag with spaces ok 13 - use "update --recursive nested1" to checkout all submodules rooted in nested1 ok 14 - command passed to foreach retains notion of stdin ok 15 - command passed to foreach --recursive retains notion of stdin # passed all 15 test(s) 1..15 *** t7408-submodule-reference.sh *** ok 1 - preparing first repository ok 2 - preparing second repository ok 3 - preparing superproject ok 4 - submodule add --reference ok 5 - after add: existence of info/alternates ok 6 - that reference gets used with add ok 7 - cloning superproject ok 8 - update with reference ok 9 - after update: existence of info/alternates ok 10 - that reference gets used with update # passed all 10 test(s) 1..10 *** t7500-commit.sh *** ok 1 - a basic commit in an empty tree should succeed ok 2 - nonexistent template file should return error ok 3 - nonexistent template file in config should return error ok 4 - unedited template should not commit ok 5 - unedited template with comments should not commit ok 6 - a Signed-off-by line by itself should not commit ok 7 - adding comments to a template should not commit ok 8 - adding real content to a template should commit ok 9 - -t option should be short for --template ok 10 - config-specified template should commit ok 11 - explicit commit message should override template ok 12 - commit message from file should override template ok 13 - commit message from template with whitespace issue ok 14 - using alternate GIT_INDEX_FILE (1) ok 15 - using alternate GIT_INDEX_FILE (2) ok 16 - --signoff ok 17 - commit message from file (1) ok 18 - commit message from file (2) ok 19 - commit message from stdin ok 20 - commit -F overrides -t ok 21 - Commit without message is allowed with --allow-empty-message ok 22 - Commit without message is no-no without --allow-empty-message ok 23 - Commit a message with --allow-empty-message ok 24 - commit --fixup provides correct one-line commit message ok 25 - commit --squash works with -F ok 26 - commit --squash works with -m ok 27 - commit --squash works with -C ok 28 - commit --squash works with -c ok 29 - commit --squash works with -C for same commit ok 30 - commit --squash works with -c for same commit ok 31 - commit --squash works with editor ok 32 - invalid message options when using --fixup # passed all 32 test(s) 1..32 *** t7501-commit.sh *** ok 1 - initial status ok 2 - fail initial amend ok 3 - setup: initial commit ok 4 - -m and -F do not mix ok 5 - -m and -C do not mix ok 6 - paths and -a do not mix ok 7 - can use paths with --interactive ok 8 - using invalid commit with -C ok 9 - nothing to commit ok 10 - setup: non-initial commit ok 11 - commit message from non-existing file ok 12 - empty commit message ok 13 - template "emptyness" check does not kick in with -F ok 14 - template "emptyness" check ok 15 - setup: commit message from file ok 16 - amend commit ok 17 - set up editor ok 18 - amend without launching editor ok 19 - --amend --edit ok 20 - -m --edit ok 21 - -m and -F do not mix ok 22 - using message from other commit ok 23 - editing message from other commit ok 24 - message from stdin ok 25 - overriding author from command line ok 26 - interactive add ok 27 - commit --interactive doesn't change index if editor aborts ok 28 - editor not invoked if -F is given ok 29 - partial commit that involves removal (1) ok 30 - partial commit that involves removal (2) ok 31 - partial commit that involves removal (3) ok 32 - amend commit to fix author ok 33 - amend commit to fix date ok 34 - commit complains about bogus date ok 35 - sign off (1) ok 36 - sign off (2) ok 37 - signoff gap ok 38 - signoff gap 2 ok 39 - multiple -m ok 40 - amend commit to fix author ok 41 - git commit with dirty index ok 42 - same tree (single parent) ok 43 - same tree (single parent) --allow-empty ok 44 - same tree (merge and amend merge) ok 45 - amend using the message from another commit ok 46 - amend using the message from a commit named with tag ok 47 - amend can copy notes # passed all 47 test(s) 1..47 *** t7502-commit.sh *** ok 1 - output summary format ok 2 - output summary format: root-commit ok 3 - output summary format for commit with an empty diff ok 4 - output summary format for merges ok 5 - the basics ok 6 - partial ok 7 - partial modification in a subdirectory ok 8 - partial removal ok 9 - sign off ok 10 - multiple -m ok 11 - verbose ok 12 - verbose respects diff config ok 13 - cleanup commit messages (verbatim,-t) ok 14 - cleanup commit messages (verbatim,-F) ok 15 - cleanup commit messages (verbatim,-m) ok 16 - cleanup commit messages (whitespace,-F) ok 17 - cleanup commit messages (strip,-F) ok 18 - cleanup commit messages (strip,-F,-e) ok 19 - cleanup commit messages (strip,-F,-e): output ok 20 - author different from committer ok 21 - committer is automatic ok 22 - do not fire editor in the presence of conflicts ok 23 - a SIGTERM should break locks ok 24 - Hand committing of a redundant merge removes dups ok 25 - A single-liner subject with a token plus colon is not a footer ok 26 - commit ok 27 - commit ok 28 - commit --status ok 29 - commit --no-status ok 30 - commit with commit.status = yes ok 31 - commit with commit.status = no ok 32 - commit --status with commit.status = yes ok 33 - commit --no-status with commit.status = yes ok 34 - commit --status with commit.status = no ok 35 - commit --no-status with commit.status = no ok 36 - commit ok 37 - commit ok 38 - commit --status ok 39 - commit --no-status ok 40 - commit with commit.status = yes ok 41 - commit with commit.status = no ok 42 - commit --status with commit.status = yes ok 43 - commit --no-status with commit.status = yes ok 44 - commit --status with commit.status = no ok 45 - commit --no-status with commit.status = no # passed all 45 test(s) 1..45 *** t7503-pre-commit-hook.sh *** ok 1 - with no hook ok 2 - --no-verify with no hook ok 3 - with succeeding hook ok 4 - --no-verify with succeeding hook ok 5 - with failing hook ok 6 - --no-verify with failing hook ok 7 - with non-executable hook ok 8 - --no-verify with non-executable hook ok 9 - with hook requiring GIT_PREFIX ok 10 - with failing hook requiring GIT_PREFIX ok 11 - check the author in hook # passed all 11 test(s) 1..11 *** t7504-commit-msg-hook.sh *** ok 1 - with no hook ok 2 - with no hook (editor) ok 3 - --no-verify with no hook ok 4 - --no-verify with no hook (editor) ok 5 - with succeeding hook ok 6 - with succeeding hook (editor) ok 7 - --no-verify with succeeding hook ok 8 - --no-verify with succeeding hook (editor) ok 9 - with failing hook ok 10 - with failing hook (editor) ok 11 - --no-verify with failing hook ok 12 - --no-verify with failing hook (editor) ok 13 - with non-executable hook ok 14 - with non-executable hook (editor) ok 15 - --no-verify with non-executable hook ok 16 - --no-verify with non-executable hook (editor) ok 17 - hook edits commit message ok 18 - hook edits commit message (editor) ok 19 - hook doesn't edit commit message ok 20 - hook doesn't edit commit message (editor) # passed all 20 test(s) 1..20 *** t7505-prepare-commit-msg-hook.sh *** ok 1 - with no hook ok 2 - with hook (-m) ok 3 - with hook (-m editor) ok 4 - with hook (-t) ok 5 - with hook (-F) ok 6 - with hook (-F editor) ok 7 - with hook (-C) ok 8 - with hook (editor) ok 9 - with hook (--amend) ok 10 - with hook (-c) ok 11 - with hook (merge) ok 12 - with failing hook ok 13 - with failing hook (--no-verify) # passed all 13 test(s) 1..13 *** t7506-status-submodule.sh *** ok 1 - setup ok 2 - status clean ok 3 - commit --dry-run -a clean ok 4 - status with modified file in submodule ok 5 - status with modified file in submodule (porcelain) ok 6 - status with added file in submodule ok 7 - status with added file in submodule (porcelain) ok 8 - status with untracked file in submodule ok 9 - status -uno with untracked file in submodule ok 10 - status with untracked file in submodule (porcelain) ok 11 - status with added and untracked file in submodule ok 12 - status with added and untracked file in submodule (porcelain) ok 13 - status with modified file in modified submodule ok 14 - status with modified file in modified submodule (porcelain) ok 15 - status with added file in modified submodule ok 16 - status with added file in modified submodule (porcelain) ok 17 - status with untracked file in modified submodule ok 18 - status with untracked file in modified submodule (porcelain) ok 19 - status with added and untracked file in modified submodule ok 20 - status with added and untracked file in modified submodule (porcelain) ok 21 - setup .git file for sub ok 22 - status with added file in modified submodule with .git file ok 23 - rm submodule contents ok 24 - status clean (empty submodule dir) ok 25 - status -a clean (empty submodule dir) ok 26 - status with merge conflict in .gitmodules ok 27 - diff with merge conflict in .gitmodules ok 28 - diff --submodule with merge conflict in .gitmodules # passed all 28 test(s) 1..28 *** t7507-commit-verbose.sh *** ok 1 - setup ok 2 - initial commit shows verbose diff ok 3 - second commit ok 4 - verbose diff is stripped out ok 5 - verbose diff is stripped out (mnemonicprefix) ok 6 - diff in message is retained without -v not ok 7 - diff in message is retained with -v # TODO known breakage # still have 1 known breakage(s) # passed all remaining 6 test(s) 1..7 *** t7508-status.sh *** ok 1 - status -h in broken repository ok 2 - commit -h in broken repository ok 3 - setup ok 4 - status (1) ok 5 - status (2) ok 6 - status (advice.statusHints false) ok 7 - status -s ok 8 - status with gitignore ok 9 - status with gitignore (nothing untracked) ok 10 - status -s -b ok 11 - status -s -z -b ok 12 - setup dir3 ok 13 - status -uno ok 14 - status (status.showUntrackedFiles no) ok 15 - status -uno (advice.statusHints false) ok 16 - status -s -uno ok 17 - status -s (status.showUntrackedFiles no) ok 18 - status -unormal ok 19 - status (status.showUntrackedFiles normal) ok 20 - status -s -unormal ok 21 - status -s (status.showUntrackedFiles normal) ok 22 - status -uall ok 23 - status (status.showUntrackedFiles all) ok 24 - teardown dir3 ok 25 - status -s -uall ok 26 - status -s (status.showUntrackedFiles all) ok 27 - status with relative paths ok 28 - status -s with relative paths ok 29 - status --porcelain ignores relative paths setting ok 30 - setup unique colors ok 31 - status with color.ui ok 32 - status with color.status ok 33 - status -s with color.ui ok 34 - status -s with color.status ok 35 - status -s -b with color.status ok 36 - status --porcelain ignores color.ui ok 37 - status --porcelain ignores color.status ok 38 - status --porcelain respects -b ok 39 - status without relative paths ok 40 - status -s without relative paths ok 41 - dry-run of partial commit excluding new file in index ok 42 - status refreshes the index ok 43 - setup status submodule summary ok 44 - status submodule summary is disabled by default ok 45 - status --untracked-files=all does not show submodule ok 46 - status -s submodule summary is disabled by default ok 47 - status -s --untracked-files=all does not show submodule ok 48 - status submodule summary ok 49 - status -s submodule summary ok 50 - status submodule summary (clean submodule): commit ok 51 - status -s submodule summary (clean submodule) ok 52 - status -z implies porcelain ok 53 - commit --dry-run submodule summary (--amend) ok 54 - status succeeds in a read-only repository ok 55 - --ignore-submodules=untracked suppresses submodules with untracked content ok 56 - .gitmodules ignore=untracked suppresses submodules with untracked content ok 57 - .git/config ignore=untracked suppresses submodules with untracked content ok 58 - --ignore-submodules=dirty suppresses submodules with untracked content ok 59 - .gitmodules ignore=dirty suppresses submodules with untracked content ok 60 - .git/config ignore=dirty suppresses submodules with untracked content ok 61 - --ignore-submodules=dirty suppresses submodules with modified content ok 62 - .gitmodules ignore=dirty suppresses submodules with modified content ok 63 - .git/config ignore=dirty suppresses submodules with modified content ok 64 - --ignore-submodules=untracked doesn't suppress submodules with modified content ok 65 - .gitmodules ignore=untracked doesn't suppress submodules with modified content ok 66 - .git/config ignore=untracked doesn't suppress submodules with modified content ok 67 - --ignore-submodules=untracked doesn't suppress submodule summary ok 68 - .gitmodules ignore=untracked doesn't suppress submodule summary ok 69 - .git/config ignore=untracked doesn't suppress submodule summary ok 70 - --ignore-submodules=dirty doesn't suppress submodule summary ok 71 - .gitmodules ignore=dirty doesn't suppress submodule summary ok 72 - .git/config ignore=dirty doesn't suppress submodule summary ok 73 - --ignore-submodules=all suppresses submodule summary not ok 74 - .gitmodules ignore=all suppresses submodule summary # TODO known breakage not ok 75 - .git/config ignore=all suppresses submodule summary # TODO known breakage # still have 2 known breakage(s) # passed all remaining 73 test(s) 1..75 *** t7509-commit.sh *** ok 1 - -C option copies authorship and message ok 2 - -C option copies only the message with --reset-author ok 3 - -c option copies authorship and message ok 4 - -c option copies only the message with --reset-author ok 5 - --amend option copies authorship ok 6 - --amend option with empty author ok 7 - --amend option with missing author ok 8 - --reset-author makes the commit ours even with --amend option ok 9 - --reset-author and --author are mutually exclusive ok 10 - --reset-author should be rejected without -c/-C/--amend ok 11 - commit respects CHERRY_PICK_HEAD and MERGE_MSG ok 12 - --reset-author with CHERRY_PICK_HEAD # passed all 12 test(s) 1..12 *** t7510-signed-commit.sh *** ok 1 - create signed commits ok 2 - show signatures ok 3 - detect fudged signature ok 4 - detect fudged signature with NUL ok 5 - amending already signed commit # passed all 5 test(s) 1..5 *** t7511-status-index.sh *** ok 1 - status, filename length 1 ok 2 - status, filename length 2 ok 3 - status, filename length 3 ok 4 - status, filename length 4 ok 5 - status, filename length 5 ok 6 - status, filename length 6 ok 7 - status, filename length 7 ok 8 - status, filename length 8 ok 9 - status, filename length 9 ok 10 - status, filename length 10 ok 11 - status, filename length 11 ok 12 - status, filename length 12 ok 13 - status, filename length 13 ok 14 - status, filename length 14 ok 15 - status, filename length 15 ok 16 - status, filename length 16 ok 17 - status, filename length 17 ok 18 - status, filename length 18 ok 19 - status, filename length 19 ok 20 - status, filename length 20 ok 21 - status, filename length 21 ok 22 - status, filename length 22 ok 23 - status, filename length 23 ok 24 - status, filename length 24 # passed all 24 test(s) 1..24 *** t7600-merge.sh *** ok 1 - setup ok 2 - test option parsing ok 3 - merge -h with invalid index ok 4 - reject non-strategy with a git-merge-foo name ok 5 - merge c0 with c1 ok 6 - merge c0 with c1 with --ff-only ok 7 - merge from unborn branch ok 8 - merge c1 with c2 ok 9 - merge c1 with c2 and c3 ok 10 - merges with --ff-only ok 11 - merges with merge.ff=only ok 12 - merge c0 with c1 (no-commit) ok 13 - merge c1 with c2 (no-commit) ok 14 - merge c1 with c2 and c3 (no-commit) ok 15 - merge c0 with c1 (squash) ok 16 - merge c0 with c1 (squash, ff-only) ok 17 - merge c1 with c2 (squash) ok 18 - unsuccesful merge of c1 with c2 (squash, ff-only) ok 19 - merge c1 with c2 and c3 (squash) ok 20 - merge c1 with c2 (no-commit in config) ok 21 - merge c1 with c2 (log in config) ok 22 - merge c1 with c2 (log in config gets overridden) ok 23 - merge c1 with c2 (squash in config) ok 24 - override config option -n with --summary ok 25 - override config option -n with --stat ok 26 - override config option --stat ok 27 - merge c1 with c2 (override --no-commit) ok 28 - merge c1 with c2 (override --squash) ok 29 - merge c0 with c1 (no-ff) ok 30 - merge c0 with c1 (merge.ff=false) ok 31 - combine branch.master.mergeoptions with merge.ff ok 32 - tolerate unknown values for merge.ff ok 33 - combining --squash and --no-ff is refused ok 34 - combining --ff-only and --no-ff is refused ok 35 - merge c0 with c1 (ff overrides no-ff) ok 36 - merge log message ok 37 - merge c1 with c0, c2, c0, and c1 ok 38 - merge c1 with c0, c2, c0, and c1 ok 39 - merge c1 with c1 and c2 ok 40 - merge fast-forward in a dirty tree ok 41 - in-index merge ok 42 - refresh the index before merging ok 43 - merge early part of c2 ok 44 - merge --no-ff --no-commit && commit ok 45 - amending no-ff merge commit ok 46 - merge --no-ff --edit ok 47 - merge --ff-only tag ok 48 - merge --no-edit tag should skip editor # passed all 48 test(s) 1..48 *** t7601-merge-pull-config.sh *** ok 1 - setup ok 2 - merge c1 with c2 ok 3 - merge c1 with c2 (ours in pull.twohead) ok 4 - merge c1 with c2 and c3 (recursive in pull.octopus) ok 5 - merge c1 with c2 and c3 (recursive and octopus in pull.octopus) ok 6 - setup conflicted merge ok 7 - merge picks up the best result ok 8 - merge picks up the best result (from config) ok 9 - merge errors out on invalid strategy ok 10 - merge errors out on invalid strategy # passed all 10 test(s) 1..10 *** t7602-merge-octopus-many.sh *** ok 1 - setup ok 2 - merge c1 with c2, c3, c4, ... c29 ok 3 - merge output uses pretty names ok 4 - merge reduces irrelevant remote heads ok 5 - merge fast-forward output uses pretty names # passed all 5 test(s) 1..5 *** t7603-merge-reduce-heads.sh *** ok 1 - setup ok 2 - merge c1 with c2, c3, c4, c5 ok 3 - pull c2, c3, c4, c5 into c1 ok 4 - setup ok 5 - merge E and I ok 6 - verify merge result ok 7 - add conflicts ok 8 - merge E2 and I2, causing a conflict and resolve it ok 9 - verify merge result ok 10 - fast-forward to redundant refs ok 11 - verify merge result ok 12 - merge up-to-date redundant refs ok 13 - verify merge result # passed all 13 test(s) 1..13 *** t7604-merge-custom-message.sh *** ok 1 - setup ok 2 - merge c2 with a custom message ok 3 - merge --log appends to custom message # passed all 3 test(s) 1..3 *** t7605-merge-resolve.sh *** ok 1 - setup ok 2 - merge c1 to c2 ok 3 - merge c2 to c3 (fails) # passed all 3 test(s) 1..3 *** t7606-merge-custom.sh *** ok 1 - set up custom strategy ok 2 - setup ok 3 - merge c2 with a custom strategy ok 4 - trivial merge with custom strategy # passed all 4 test(s) 1..4 *** t7607-merge-overwrite.sh *** ok 1 - setup ok 2 - will not overwrite untracked file ok 3 - will overwrite tracked file ok 4 - will not overwrite new file ok 5 - will not overwrite staged changes ok 6 - will not overwrite removed file ok 7 - will not overwrite re-added file ok 8 - will not overwrite removed file with staged changes ok 9 - will not overwrite untracked subtree ok 10 - will not overwrite untracked file in leading path ok 11 - will not overwrite untracked symlink in leading path ok 12 - will not be confused by symlink in leading path ok 13 - will not overwrite untracked file on unborn branch ok 14 - will not overwrite untracked file on unborn branch .git/MERGE_HEAD sanity etc. ok 15 - failed merge leaves unborn branch in the womb ok 16 - set up unborn branch and content ok 17 - will not clobber WT/index when merging into unborn # passed all 17 test(s) 1..17 *** t7608-merge-messages.sh *** ok 1 - merge local branch ok 2 - merge octopus branches ok 3 - merge tag ok 4 - ambiguous tag ok 5 - remote-tracking branch # passed all 5 test(s) 1..5 *** t7609-merge-co-error-msgs.sh *** ok 1 - setup ok 2 - untracked files overwritten by merge (fast and non-fast forward) ok 3 - untracked files or local changes ovewritten by merge ok 4 - cannot switch branches because of local changes ok 5 - not uptodate file porcelain checkout error ok 6 - not_uptodate_dir porcelain checkout error # passed all 6 test(s) 1..6 *** t7610-mergetool.sh *** ok 1 - setup ok 2 - custom mergetool ok 3 - mergetool crlf ok 4 - mergetool in subdir ok 5 - mergetool on file in parent dir ok 6 - mergetool skips autoresolved ok 7 - mergetool merges all from subdir ok 8 - mergetool skips resolved paths when rerere is active ok 9 - mergetool takes partial path ok 10 - deleted vs modified submodule ok 11 - file vs modified submodule ok 12 - submodule in subdirectory ok 13 - directory vs modified submodule ok 14 - file with no base # passed all 14 test(s) 1..14 *** t7611-merge-abort.sh *** ok 1 - setup ok 2 - fails without MERGE_HEAD (unstarted merge) ok 3 - fails without MERGE_HEAD (unstarted merge): .git/MERGE_HEAD sanity ok 4 - fails without MERGE_HEAD (completed merge) ok 5 - fails without MERGE_HEAD (completed merge): .git/MERGE_HEAD sanity ok 6 - Forget previous merge ok 7 - Abort after --no-commit ok 8 - Abort after conflicts ok 9 - Clean merge with dirty index fails ok 10 - Conflicting merge with dirty index fails ok 11 - Reset index (but preserve worktree changes) ok 12 - Abort clean merge with non-conflicting dirty worktree ok 13 - Abort conflicting merge with non-conflicting dirty worktree ok 14 - Reset worktree changes ok 15 - Fail clean merge with conflicting dirty worktree ok 16 - Fail conflicting merge with conflicting dirty worktree ok 17 - Reset worktree changes ok 18 - Fail clean merge with matching dirty worktree ok 19 - Abort clean merge with matching dirty index ok 20 - Reset worktree changes ok 21 - Fail conflicting merge with matching dirty worktree ok 22 - Abort conflicting merge with matching dirty index ok 23 - Reset worktree changes ok 24 - Abort merge with pre- and post-merge worktree changes ok 25 - Reset worktree changes ok 26 - Abort merge with pre- and post-merge index changes # passed all 26 test(s) 1..26 *** t7700-repack.sh *** ok 1 - objects in packs marked .keep are not repacked ok 2 - loose objects in alternate ODB are not repacked ok 3 - packed obs in alt ODB are repacked even when local repo is packless ok 4 - packed obs in alt ODB are repacked when local repo has packs ok 5 - packed obs in alternate ODB kept pack are repacked ok 6 - packed unreachable obs in alternate ODB are not loosened ok 7 - local packed unreachable obs that exist in alternate ODB are not loosened ok 8 - objects made unreachable by grafts only are kept # passed all 8 test(s) 1..8 *** t7701-repack-unpack-unreachable.sh *** ok 1 - -A with -d option leaves unreachable objects unpacked ok 2 - -A without -d option leaves unreachable objects packed ok 3 - unpacked objects receive timestamp of pack file ok 4 - do not bother loosening old objects # passed all 4 test(s) 1..4 *** t7800-difftool.sh *** ok 1 - setup ok 2 - custom commands ok 3 - difftool ignores bad --tool values ok 4 - difftool honors --gui ok 5 - difftool --gui works without configured diff.guitool ok 6 - GIT_DIFF_TOOL variable ok 7 - GIT_DIFF_TOOL overrides ok 8 - GIT_DIFFTOOL_NO_PROMPT variable ok 9 - GIT_DIFFTOOL_PROMPT variable ok 10 - difftool.prompt config variable is false ok 11 - difftool merge.prompt = false ok 12 - difftool.prompt can overridden with -y ok 13 - difftool.prompt can overridden with --prompt ok 14 - difftool last flag wins ok 15 - difftool + mergetool config variables ok 16 - difftool..path ok 17 - difftool --extcmd=cat ok 18 - difftool --extcmd cat ok 19 - difftool -x cat ok 20 - difftool --extcmd echo arg1 ok 21 - difftool --extcmd cat arg1 ok 22 - difftool --extcmd cat arg2 ok 23 - setup with 2 files different ok 24 - say no to the first file ok 25 - say no to the second file # passed all 25 test(s) 1..25 *** t7810-grep.sh *** ok 1 - setup ok 2 - grep should not segfault with a bad input ok 3 - grep -w HEAD ok 4 - grep -w HEAD ok 5 - grep -w HEAD ok 6 - grep -w HEAD (w) ok 7 - grep -w HEAD (x) ok 8 - grep -w HEAD (y-1) ok 9 - grep -w HEAD (y-2) ok 10 - grep -w HEAD (z) ok 11 - grep HEAD (t-1) ok 12 - grep HEAD (t-2) ok 13 - grep HEAD (t-3) ok 14 - grep -c HEAD (no /dev/null) ok 15 - grep --max-depth -1 HEAD ok 16 - grep --max-depth 0 HEAD ok 17 - grep --max-depth 0 -- '*' HEAD ok 18 - grep --max-depth 1 HEAD ok 19 - grep --max-depth 0 -- t HEAD ok 20 - grep --max-depth 0 -- . t HEAD ok 21 - grep --max-depth 0 -- t . HEAD ok 22 - grep HEAD with grep.extendedRegexp=false ok 23 - grep HEAD with grep.extendedRegexp=true ok 24 - grep -w in working tree ok 25 - grep -w in working tree ok 26 - grep -w in working tree ok 27 - grep -w in working tree (w) ok 28 - grep -w in working tree (x) ok 29 - grep -w in working tree (y-1) ok 30 - grep -w in working tree (y-2) ok 31 - grep -w in working tree (z) ok 32 - grep in working tree (t-1) ok 33 - grep in working tree (t-2) ok 34 - grep in working tree (t-3) ok 35 - grep -c in working tree (no /dev/null) ok 36 - grep --max-depth -1 in working tree ok 37 - grep --max-depth 0 in working tree ok 38 - grep --max-depth 0 -- '*' in working tree ok 39 - grep --max-depth 1 in working tree ok 40 - grep --max-depth 0 -- t in working tree ok 41 - grep --max-depth 0 -- . t in working tree ok 42 - grep --max-depth 0 -- t . in working tree ok 43 - grep in working tree with grep.extendedRegexp=false ok 44 - grep in working tree with grep.extendedRegexp=true ok 45 - grep -l -C ok 46 - grep -l -C ok 47 - grep -L -C ok 48 - grep -e A --and -e B ok 49 - grep ( -e A --or -e B ) --and -e B ok 50 - grep -e A --and --not -e B ok 51 - grep should ignore GREP_OPTIONS ok 52 - grep -f, non-existent file ok 53 - grep -f, one pattern ok 54 - grep -f, multiple patterns ok 55 - grep, multiple patterns ok 56 - grep -f, ignore empty lines ok 57 - grep -f, ignore empty lines, read patterns from stdin ok 58 - grep -q, silently report matches ok 59 - grep -C1, hunk mark between files ok 60 - grep -C1 hunk mark between files ok 61 - log grep setup ok 62 - log grep (1) ok 63 - log grep (2) ok 64 - log grep (3) ok 65 - log grep (4) ok 66 - log grep (5) ok 67 - log grep (6) ok 68 - log --grep --author implicitly uses all-match ok 69 - log with multiple --author uses union ok 70 - log with --grep and multiple --author uses all-match ok 71 - log with --grep and multiple --author uses all-match ok 72 - grep with CE_VALID file ok 73 - grep -p with userdiff ok 74 - grep -p ok 75 - grep -p -B5 ok 76 - grep -W ok 77 - grep -W with userdiff ok 78 - grep from a subdirectory to search wider area (1) ok 79 - grep from a subdirectory to search wider area (2) ok 80 - grep -Fi ok 81 - outside of git repository ok 82 - inside git repository but with --no-index ok 83 - setup double-dash tests ok 84 - grep -- pattern ok 85 - grep -- pattern -- pathspec ok 86 - grep -e pattern -- path ok 87 - grep -e -- -- path ok 88 # skip grep --perl-regexp pattern (missing LIBPCRE) ok 89 # skip grep -P pattern (missing LIBPCRE) ok 90 - grep pattern with grep.extendedRegexp=true ok 91 # skip grep -P pattern with grep.extendedRegexp=true (missing LIBPCRE) ok 92 # skip grep -P -v pattern (missing LIBPCRE) ok 93 # skip grep -P -i pattern (missing LIBPCRE) ok 94 # skip grep -P -w pattern (missing LIBPCRE) ok 95 - grep -G invalidpattern properly dies ok 96 - grep -E invalidpattern properly dies ok 97 # skip grep -P invalidpattern properly dies (missing LIBPCRE) ok 98 - grep -G -E -F pattern ok 99 - grep -E -F -G pattern ok 100 - grep -F -G -E pattern ok 101 - grep -G -F -P -E pattern ok 102 # skip grep -G -F -E -P pattern (missing LIBPCRE) ok 103 - grep --color, separator ok 104 - grep --break ok 105 - grep --break with context ok 106 - grep --heading ok 107 - mimic ack-grep --group ok 108 # skip grep -E "^ " (missing LIBPCRE) ok 109 # skip grep -P "^ " (missing LIBPCRE) # passed all 109 test(s) 1..109 *** t7811-grep-open.sh *** ok 1 - determine default pager ok 2 - setup ok 3 - git grep -O ok 4 - git grep -O --cached ok 5 - git grep -O --no-index ok 6 - setup: fake "less" ok 7 - git grep -O jumps to line in less ok 8 - modified file ok 9 - copes with color settings ok 10 - run from subdir # passed all 10 test(s) 1..10 *** t8001-annotate.sh *** ok 1 - prepare reference tree ok 2 - check all lines blamed on A ok 3 - Setup new lines blamed on B ok 4 - Two lines blamed on A, two on B ok 5 - merge-setup part 1 ok 6 - Two lines blamed on A, two on B, two on B1 ok 7 - merge-setup part 2 ok 8 - Two lines blamed on A, one on B, one on B2 ok 9 - merge-setup part 3 ok 10 - Two lines blamed on A, one on B, two on B1, one on B2 ok 11 - Annotating an old revision works ok 12 - Annotating an old revision works ok 13 - merge-setup part 4 ok 14 - Two lines blamed on A, one on B, two on B1, one on B2, one on A U Thor ok 15 - an incomplete line added ok 16 - With incomplete lines. ok 17 - some edit ok 18 - some edit ok 19 - an obfuscated email added ok 20 - obfuscated email parsed ok 21 - Annotating an old revision works # passed all 21 test(s) 1..21 *** t8002-blame.sh *** ok 1 - prepare reference tree ok 2 - check all lines blamed on A ok 3 - Setup new lines blamed on B ok 4 - Two lines blamed on A, two on B ok 5 - merge-setup part 1 ok 6 - Two lines blamed on A, two on B, two on B1 ok 7 - merge-setup part 2 ok 8 - Two lines blamed on A, one on B, one on B2 ok 9 - merge-setup part 3 ok 10 - Two lines blamed on A, one on B, two on B1, one on B2 ok 11 - Annotating an old revision works ok 12 - Annotating an old revision works ok 13 - merge-setup part 4 ok 14 - Two lines blamed on A, one on B, two on B1, one on B2, one on A U Thor ok 15 - an incomplete line added ok 16 - With incomplete lines. ok 17 - some edit ok 18 - some edit ok 19 - an obfuscated email added ok 20 - obfuscated email parsed ok 21 - Blame --show-email works # passed all 21 test(s) 1..21 *** t8003-blame-corner-cases.sh *** ok 1 - setup ok 2 - straight copy without -C ok 3 - straight move without -C ok 4 - straight copy with -C ok 5 - straight move with -C ok 6 - straight copy with -C -C ok 7 - straight move with -C -C ok 8 - append without -C ok 9 - append with -C ok 10 - append with -C -C ok 11 - append with -C -C -C ok 12 - blame wholesale copy ok 13 - blame wholesale copy and more ok 14 - blame path that used to be a directory ok 15 - blame to a commit with no author name ok 16 - blame -L with invalid start ok 17 - blame -L with invalid end ok 18 - indent of line numbers, nine lines ok 19 - indent of line numbers, ten lines # passed all 19 test(s) 1..19 *** t8004-blame-with-conflicts.sh *** ok 1 - setup first case ok 2 - blame runs on unconflicted file while other file has conflicts ok 3 - blame runs on conflicted file in stages 1,3 # passed all 3 test(s) 1..3 *** t8005-blame-i18n.sh *** ok 1 - setup the repository ok 2 - blame respects i18n.commitencoding ok 3 - blame respects i18n.logoutputencoding ok 4 - blame respects --encoding=UTF-8 ok 5 - blame respects --encoding=none # passed all 5 test(s) 1..5 *** t8006-blame-textconv.sh *** ok 1 - setup ok 2 - no filter specified ok 3 - setup textconv filters ok 4 - blame with --no-textconv ok 5 - basic blame on last commit ok 6 - blame --textconv going through revisions ok 7 - blame --textconv with local changes ok 8 - setup +cachetextconv ok 9 - blame --textconv works with textconvcache ok 10 - setup -cachetextconv ok 11 - make a new commit ok 12 - blame from previous revision ok 13 - blame with --no-textconv (on symlink) ok 14 - blame --textconv (on symlink) ok 15 - make another new commit ok 16 - blame on last commit (-C -C, symlink) # passed all 16 test(s) 1..16 *** t8007-cat-file-textconv.sh *** ok 1 - setup ok 2 - no filter specified ok 3 - setup textconv filters ok 4 - cat-file without --textconv ok 5 - cat-file without --textconv on previous commit ok 6 - cat-file --textconv on last commit ok 7 - cat-file --textconv on previous commit ok 8 - cat-file without --textconv (symlink) ok 9 - cat-file --textconv on index (symlink) ok 10 - cat-file --textconv on HEAD (symlink) # passed all 10 test(s) 1..10 *** t8008-blame-formats.sh *** ok 1 - setup ok 2 - normal blame output ok 3 - blame --porcelain output ok 4 - blame --line-porcelain output # passed all 4 test(s) 1..4 *** t9001-send-email.sh *** ok 1 - prepare reference tree ok 2 - Setup helper tool ok 3 - Extract patches ok 4 - No confirm with --suppress-cc ok 5 - No confirm with --confirm=never ok 6 - No confirm with sendemail.confirm=never ok 7 - Send patches ok 8 - setup expect ok 9 - Verify commandline ok 10 - Send patches with --envelope-sender ok 11 - setup expect ok 12 - Verify commandline ok 13 - Send patches with --envelope-sender=auto ok 14 - setup expect ok 15 - Verify commandline ok 16 - setup expect ok 17 - Show all headers ok 18 - Prompting works ok 19 - tocmd works ok 20 - cccmd works ok 21 - reject long lines ok 22 - no patch was sent ok 23 - Author From: in message body ok 24 - Author From: not in message body ok 25 - allow long lines with --no-validate ok 26 - Invalid In-Reply-To ok 27 - Valid In-Reply-To when prompting ok 28 - In-Reply-To without --chain-reply-to ok 29 - In-Reply-To with --chain-reply-to ok 30 - setup fake editor ok 31 - --compose works ok 32 - first message is compose text ok 33 - second message is patch ok 34 - setup expect ok 35 - sendemail.cc set ok 36 - setup expect ok 37 - sendemail.cc unset ok 38 - setup expect ok 39 - sendemail.cccmd ok 40 - setup expect ok 41 - --suppress-cc=all ok 42 - setup expect ok 43 - --suppress-cc=body ok 44 - setup expect ok 45 - --suppress-cc=body --suppress-cc=cccmd ok 46 - setup expect ok 47 - --suppress-cc=sob ok 48 - setup expect ok 49 - --suppress-cc=bodycc ok 50 - setup expect ok 51 - --suppress-cc=cc ok 52 - --confirm=always ok 53 - --confirm=auto ok 54 - --confirm=cc ok 55 - --confirm=compose ok 56 - confirm by default (due to cc) ok 57 - confirm by default (due to --compose) ok 58 - confirm detects EOF (inform assumes y) ok 59 - confirm detects EOF (auto causes failure) ok 60 - confirm doesnt loop forever ok 61 - utf8 Cc is rfc2047 encoded ok 62 - --compose adds MIME for utf8 body ok 63 - --compose respects user mime type ok 64 - --compose adds MIME for utf8 subject ok 65 - detects ambiguous reference/file conflict ok 66 - feed two files ok 67 - in-reply-to but no threading ok 68 - no in-reply-to and no threading ok 69 - threading but no chain-reply-to ok 70 - warning with an implicit --chain-reply-to ok 71 - no warning with an explicit --chain-reply-to ok 72 - no warning with an explicit --no-chain-reply-to ok 73 - no warning with sendemail.chainreplyto = false ok 74 - no warning with sendemail.chainreplyto = true ok 75 - sendemail.to works ok 76 - --no-to overrides sendemail.to ok 77 - sendemail.cc works ok 78 - --no-cc overrides sendemail.cc ok 79 - sendemail.bcc works ok 80 - --no-bcc overrides sendemail.bcc ok 81 - patches To headers are used by default ok 82 - patches To headers are appended to ok 83 - To headers from files reset each patch ok 84 - setup expect ok 85 - setup expect ok 86 - asks about and fixes 8bit encodings ok 87 - sendemail.8bitEncoding works ok 88 - --8bit-encoding overrides sendemail.8bitEncoding ok 89 - setup expect ok 90 - setup expect ok 91 - --8bit-encoding also treats subject ok 92 - refusing to send cover letter template ok 93 - --force sends cover letter template anyway ok 94 - sendemail.aliasfiletype=mailrc ok 95 - sendemail.aliasfile=~/.mailrc # passed all 95 test(s) 1..95 *** t9010-svn-fe.sh *** ok 1 - setup: have pipes? ok 2 - empty dump ok 3 - v4 dumps not supported not ok 4 - empty revision # TODO known breakage ok 5 - empty properties ok 6 - author name and commit message ok 7 - unsupported properties are ignored not ok 8 - timestamp and empty file # TODO known breakage ok 9 - directory with files ok 10 - branch name with backslash ok 11 - node without action ok 12 - action: add node without text not ok 13 - change file mode but keep old content # TODO known breakage ok 14 - NUL in property value ok 15 - NUL in log message, file content, and property name ok 16 - change file mode and reiterate content ok 17 - deltas supported ok 18 - property deltas supported ok 19 - properties on / ok 20 - deltas for typechange ok 21 - deltas need not consume the whole preimage ok 22 - no hang for delta trying to read past end of preimage ok 23 - set up svn repo ok 24 - t9135/svn.dump # still have 3 known breakage(s) # passed all remaining 21 test(s) 1..24 *** t9011-svn-da.sh *** ok 1 - reject empty delta ok 2 - delta can empty file ok 3 - reject svndiff2 ok 4 - one-window empty delta ok 5 - reject incomplete window header ok 6 - reject declared delta longer than actual delta ok 7 - two-window empty delta ok 8 - noisy zeroes ok 9 - reject variable-length int in magic ok 10 - reject truncated integer ok 11 - nonempty (but unused) preimage view ok 12 - preimage view: right endpoint cannot backtrack ok 13 - preimage view: left endpoint can advance ok 14 - preimage view: offsets compared by value ok 15 - preimage view: reject truncated preimage ok 16 - forbid unconsumed inline data ok 17 - reject truncated inline data ok 18 - reject truncated inline data (after instruction section) ok 19 - copyfrom_data ok 20 - multiple copyfrom_data ok 21 - incomplete multiple insn ok 22 - catch attempt to copy missing data ok 23 - copyfrom target to repeat data ok 24 - copyfrom target out of order ok 25 - catch copyfrom future ok 26 - copy to sustain ok 27 - catch copy that overflows ok 28 - copyfrom source ok 29 - copy backwards ok 30 - offsets are relative to window ok 31 - example from notes/svndiff # passed all 31 test(s) 1..31 *** t9100-git-svn-basic.sh *** define NO_SVN_TESTS to skip git svn tests # UTF-8 locale not set, some tests skipped () ok 1 - initialize git svn not ok - 2 import an SVN revision into git # git svn fetch ok 3 - checkout from svn not ok - 4 try a deep --rmdir with a commit # # git checkout -f -b mybranch ${remotes_git_svn} && # mv dir/a/b/c/d/e/file dir/file && # cp dir/file file && # git update-index --add --remove dir/a/b/c/d/e/file dir/file file && # git commit -m "$name" && # git svn set-tree --find-copies-harder --rmdir \ # ${remotes_git_svn}..mybranch && # svn_cmd up "$SVN_TREE" && # test -d "$SVN_TREE"/dir && test ! -d "$SVN_TREE"/dir/a not ok - 5 detect node change from file to directory #1 # # mkdir dir/new_file && # mv dir/file dir/new_file/file && # mv dir/new_file dir/file && # git update-index --remove dir/file && # git update-index --add dir/file/file && # git commit -m 'detect node change from file to directory #1' && # test_must_fail git svn set-tree --find-copies-harder --rmdir remotes/git-svn..mybranch # not ok - 6 detect node change from directory to file #1 # # rm -rf dir "$GIT_DIR"/index && # git checkout -f -b mybranch2 ${remotes_git_svn} && # mv bar/zzz zzz && # rm -rf bar && # mv zzz bar && # git update-index --remove -- bar/zzz && # git update-index --add -- bar && # git commit -m "$name" && # test_must_fail git svn set-tree --find-copies-harder --rmdir \ # ${remotes_git_svn}..mybranch2 # not ok - 7 detect node change from file to directory #2 # # rm -f "$GIT_DIR"/index && # git checkout -f -b mybranch3 ${remotes_git_svn} && # rm bar/zzz && # git update-index --remove bar/zzz && # mkdir bar/zzz && # echo yyy > bar/zzz/yyy && # git update-index --add bar/zzz/yyy && # git commit -m "$name" && # git svn set-tree --find-copies-harder --rmdir \ # ${remotes_git_svn}..mybranch3 && # svn_cmd up "$SVN_TREE" && # test -d "$SVN_TREE"/bar/zzz && # test -e "$SVN_TREE"/bar/zzz/yyy # not ok - 8 detect node change from directory to file #2 # # rm -f "$GIT_DIR"/index && # git checkout -f -b mybranch4 ${remotes_git_svn} && # rm -rf dir && # git update-index --remove -- dir/file && # touch dir && # echo asdf > dir && # git update-index --add -- dir && # git commit -m "$name" && # test_must_fail git svn set-tree --find-copies-harder --rmdir \ # ${remotes_git_svn}..mybranch4 # not ok - 9 remove executable bit from a file # # rm -f "$GIT_DIR"/index && # git checkout -f -b mybranch5 ${remotes_git_svn} && # chmod -x exec.sh && # git update-index exec.sh && # git commit -m "$name" && # git svn set-tree --find-copies-harder --rmdir \ # ${remotes_git_svn}..mybranch5 && # svn_cmd up "$SVN_TREE" && # test ! -x "$SVN_TREE"/exec.sh not ok - 10 add executable bit back file # # chmod +x exec.sh && # git update-index exec.sh && # git commit -m "$name" && # git svn set-tree --find-copies-harder --rmdir \ # ${remotes_git_svn}..mybranch5 && # svn_cmd up "$SVN_TREE" && # test -x "$SVN_TREE"/exec.sh not ok - 11 executable file becomes a symlink to file # # rm exec.sh && # ln -s file exec.sh && # git update-index exec.sh && # git commit -m "$name" && # git svn set-tree --find-copies-harder --rmdir \ # ${remotes_git_svn}..mybranch5 && # svn_cmd up "$SVN_TREE" && # test -h "$SVN_TREE"/exec.sh not ok - 12 new symlink is added to a file that was also just made executable # # chmod +x file && # ln -s file exec-2.sh && # git update-index --add file exec-2.sh && # git commit -m "$name" && # git svn set-tree --find-copies-harder --rmdir \ # ${remotes_git_svn}..mybranch5 && # svn_cmd up "$SVN_TREE" && # test -x "$SVN_TREE"/file && # test -h "$SVN_TREE"/exec-2.sh not ok - 13 modify a symlink to become a file # # echo git help >help && # rm exec-2.sh && # cp help exec-2.sh && # git update-index exec-2.sh && # git commit -m "$name" && # git svn set-tree --find-copies-harder --rmdir \ # ${remotes_git_svn}..mybranch5 && # svn_cmd up "$SVN_TREE" && # test -f "$SVN_TREE"/exec-2.sh && # test ! -h "$SVN_TREE"/exec-2.sh && # test_cmp help "$SVN_TREE"/exec-2.sh ok 14 # skip commit with UTF-8 message: locale: (missing UTF8) not ok - 15 test fetch functionality (svn => git) with alternate GIT_SVN_ID # git svn init "$svnrepo" && git svn fetch && # git rev-list --pretty=raw ${remotes_git_svn} | grep ^tree | uniq > a && # git rev-list --pretty=raw remotes/alt | grep ^tree | uniq > b && # test_cmp a b not ok - 16 check imported tree checksums expected tree checksums # test_cmp a expected ok 17 - exit if remote refs are ambigious ok 18 - exit if init-ing a would clobber a URL not ok - 19 init allows us to connect to another directory in the same repo # # git svn init --minimize-url -i bar "$svnrepo/bar" && # git config --get svn-remote.svn.fetch \ # "^bar:refs/remotes/bar$" && # git config --get svn-remote.svn.fetch \ # "^:refs/${remotes_git_svn}$" # not ok - 20 dcommit $rev does not clobber current branch # # git svn fetch -i bar && # git checkout -b my-bar refs/remotes/bar && # echo 1 > foo && # git add foo && # git commit -m "change 1" && # echo 2 > foo && # git add foo && # git commit -m "change 2" && # old_head=$(git rev-parse HEAD) && # git svn dcommit -i bar HEAD^ && # test $old_head = $(git rev-parse HEAD) && # test refs/heads/my-bar = $(git symbolic-ref HEAD) && # git log refs/remotes/bar | grep "change 1" && # ! git log refs/remotes/bar | grep "change 2" && # git checkout master && # git branch -D my-bar # not ok - 21 able to dcommit to a subdirectory # # git svn fetch -i bar && # git checkout -b my-bar refs/remotes/bar && # echo abc > d && # git update-index --add d && # git commit -m '/bar/d should be in the log' && # git svn dcommit -i bar && # test -z "`git diff refs/heads/my-bar refs/remotes/bar`" && # mkdir newdir && # echo new > newdir/dir && # git update-index --add newdir/dir && # git commit -m 'add a new directory' && # git svn dcommit -i bar && # test -z "`git diff refs/heads/my-bar refs/remotes/bar`" && # echo foo >> newdir/dir && # git update-index newdir/dir && # git commit -m 'modify a file in new directory' && # git svn dcommit -i bar && # test -z "`git diff refs/heads/my-bar refs/remotes/bar`" # not ok - 22 dcommit should not fail with a touched file # # test_commit "commit-new-file-foo2" foo2 && # test-chmtime =-60 foo && # git svn dcommit # not ok - 23 rebase should not fail with a touched file # # test-chmtime =-60 foo && # git svn rebase # not ok - 24 able to set-tree to a subdirectory # # echo cba > d && # git update-index d && # git commit -m 'update /bar/d' && # git svn set-tree -i bar HEAD && # test -z "`git diff refs/heads/my-bar refs/remotes/bar`" # not ok - 25 git-svn works in a bare repository # # mkdir bare-repo && # ( cd bare-repo && # git init --bare && # GIT_DIR=. git svn init "$svnrepo" && # git svn fetch ) && # rm -rf bare-repo # # failed 20 among 25 test(s) 1..25 make[3]: *** [t9100-git-svn-basic.sh] Error 1 make[2]: *** [test] Error 2 make[1]: *** [test] Error 2 make[3]: Leaving directory `/«PKGBUILDDIR»/t' make[2]: Leaving directory `/«PKGBUILDDIR»/t' make[1]: Leaving directory `/«PKGBUILDDIR»' make[1]: Entering directory `/«PKGBUILDDIR»' make[2]: Entering directory `/«PKGBUILDDIR»/gitweb' make[3]: Entering directory `/«PKGBUILDDIR»' make[3]: `GIT-VERSION-FILE' is up to date. make[3]: Leaving directory `/«PKGBUILDDIR»' make[2]: Leaving directory `/«PKGBUILDDIR»/gitweb' GEN git-instaweb make[2]: Entering directory `/«PKGBUILDDIR»/git-gui' make[2]: Leaving directory `/«PKGBUILDDIR»/git-gui' make[2]: Entering directory `/«PKGBUILDDIR»/gitk-git' make[2]: Nothing to be done for `all'. make[2]: Leaving directory `/«PKGBUILDDIR»/gitk-git' make[2]: Entering directory `/«PKGBUILDDIR»/perl' make[3]: Entering directory `/«PKGBUILDDIR»/perl' make[3]: Leaving directory `/«PKGBUILDDIR»/perl' make[2]: Leaving directory `/«PKGBUILDDIR»/perl' make[2]: Entering directory `/«PKGBUILDDIR»/templates' make[2]: Leaving directory `/«PKGBUILDDIR»/templates' /usr/bin/make -C t/ all make[2]: Entering directory `/«PKGBUILDDIR»/t' rm -f -r test-results /usr/bin/make aggregate-results-and-cleanup make[3]: Entering directory `/«PKGBUILDDIR»/t' *** t0000-basic.sh *** Initialized empty Git repository in /«PKGBUILDDIR»/t/trash directory.t0000-basic/.git/ expecting success: find .git/objects -type f -print >should-be-empty && test_line_count = 0 should-be-empty ok 1 - .git/objects should be empty after git init in an empty repo expecting success: find .git/objects -type d -print >full-of-directories && test_line_count = 3 full-of-directories ok 2 - .git/objects should have 3 subdirectories expecting success: : ok 3 - success is reported like this checking known breakage: false not ok 4 - pretend we have a known breakage # TODO known breakage expecting success: mkdir passing-todo && (cd passing-todo && cat >passing-todo.sh <<-EOF && #!/bin/sh test_description='A passing TODO test This is run in a sub test-lib so that we do not get incorrect passing metrics ' # Point to the t/test-lib.sh, which isn't in ../ as usual TEST_DIRECTORY="/«PKGBUILDDIR»/t" . "$TEST_DIRECTORY"/test-lib.sh test_expect_failure 'pretend we have fixed a known breakage' ' : ' test_done EOF chmod +x passing-todo.sh && ./passing-todo.sh >out 2>err && ! test -s err && sed -e 's/^> //' >expect <<-\EOF && > ok 1 - pretend we have fixed a known breakage # TODO known breakage > # fixed 1 known breakage(s) > # passed all 1 test(s) > 1..1 EOF test_cmp expect out) ok 5 - pretend we have fixed a known breakage (run in sub test-lib) expecting success: test_have_prereq HAVEIT && haveit=yes ok 6 - test runs if prerequisite is satisfied skipping test: unmet prerequisite causes test to be skipped donthaveit=no ok 7 # skip unmet prerequisite causes test to be skipped (missing DONTHAVEIT) expecting success: test_have_prereq HAVEIT && test_have_prereq HAVETHIS && haveit=yes ok 8 - test runs if prerequisites are satisfied skipping test: unmet prerequisites causes test to be skipped donthaveit=no ok 9 # 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 10 # skip unmet prerequisites causes test to be skipped (missing DONTHAVEIT of DONTHAVEIT,HAVEIT) expecting success: test_when_finished clean=yes ok 11 - tests clean up after themselves expecting success: mkdir failing-cleanup && ( cd failing-cleanup && cat >failing-cleanup.sh <<-EOF && #!/bin/sh test_description='Failing tests with cleanup commands' # Point to the t/test-lib.sh, which isn't in ../ as usual TEST_DIRECTORY="/«PKGBUILDDIR»/t" . "$TEST_DIRECTORY"/test-lib.sh 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 chmod +x failing-cleanup.sh && test_must_fail ./failing-cleanup.sh >out 2>err && ! test -s err && ! test -f "trash directory.failing-cleanup/clean-after-failure" && sed -e 's/Z$//' -e 's/^> //' >expect <<-\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 test_cmp expect out ) ok 12 - tests clean up even on failures expecting success: 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 13 - git update-index without --add should fail adding expecting success: git update-index --add should-be-empty ok 14 - git update-index with --add should succeed expecting success: tree=$(git write-tree) ok 15 - writing tree out with git write-tree expecting success: test "$tree" = 7bb943559a305bdd6bdee2cef6e5df2413c3d30a ok 16 - validate object ID of a known tree expecting success: 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 17 - git update-index without --remove should fail removing expecting success: git update-index --remove should-be-empty ok 18 - git update-index with --remove should be able to remove expecting success: tree=$(git write-tree) ok 19 - git write-tree should be able to write an empty tree expecting success: test "$tree" = 4b825dc642cb6eb9a060e54bf8d69288fbee4904 ok 20 - validate object ID of a known tree expecting success: 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 if test_have_prereq SYMLINKS then ln -s "hello $p" ${p}sym || exit 1 fi done ) && find path* ! -type d -print | xargs git update-index --add ok 21 - adding various types of objects with git update-index --add expecting success: git ls-files --stage >current ok 22 - showing stage with git ls-files --stage expecting success: $expectfilter >expected <<-\EOF && 100644 f87290f8eb2cbbea7857214459a0739927eab154 0 path0 120000 15a98433ae33114b085f3eb3bb03b832b3180a01 0 path0sym 100644 3feff949ed00a62d9f7af97c15cd8a30595e7ac7 0 path2/file2 120000 d8ce161addc5173867a3c3c730924388daedbc38 0 path2/file2sym 100644 0aa34cae68d0878578ad119c86ca2b5ed5b28376 0 path3/file3 120000 8599103969b43aff7e430efea79ca4636466794f 0 path3/file3sym 100644 00fb5908cb97c2564a9783c0c64087333b3b464f 0 path3/subp3/file3 120000 6649a1ebe9e9f1c553b66f5a6e74136a07ccc57c 0 path3/subp3/file3sym EOF test_cmp expected current ok 23 - validate git ls-files output for a known tree expecting success: tree=$(git write-tree) ok 24 - writing tree out with git write-tree expecting success: test "$tree" = "$expectedtree" ok 25 - validate object ID for a known tree expecting success: git ls-tree $tree >current ok 26 - showing tree with git ls-tree expecting success: cat >expected <<-\EOF && 100644 blob f87290f8eb2cbbea7857214459a0739927eab154 path0 120000 blob 15a98433ae33114b085f3eb3bb03b832b3180a01 path0sym 040000 tree 58a09c23e2ca152193f2786e06986b7b6712bdbe path2 040000 tree 21ae8269cacbe57ae09138dcc3a2887f904d02b3 path3 EOF test_cmp expected current ok 27 - git ls-tree output for a known tree expecting success: git ls-tree -r $tree >current ok 28 - showing tree with git ls-tree -r expecting success: $expectfilter >expected <<-\EOF && 100644 blob f87290f8eb2cbbea7857214459a0739927eab154 path0 120000 blob 15a98433ae33114b085f3eb3bb03b832b3180a01 path0sym 100644 blob 3feff949ed00a62d9f7af97c15cd8a30595e7ac7 path2/file2 120000 blob d8ce161addc5173867a3c3c730924388daedbc38 path2/file2sym 100644 blob 0aa34cae68d0878578ad119c86ca2b5ed5b28376 path3/file3 120000 blob 8599103969b43aff7e430efea79ca4636466794f path3/file3sym 100644 blob 00fb5908cb97c2564a9783c0c64087333b3b464f path3/subp3/file3 120000 blob 6649a1ebe9e9f1c553b66f5a6e74136a07ccc57c path3/subp3/file3sym EOF test_cmp expected current ok 29 - git ls-tree -r output for a known tree expecting success: git ls-tree -r -t $tree >current ok 30 - showing tree with git ls-tree -r -t expecting success: cat >expected <<-\EOF && 100644 blob f87290f8eb2cbbea7857214459a0739927eab154 path0 120000 blob 15a98433ae33114b085f3eb3bb03b832b3180a01 path0sym 040000 tree 58a09c23e2ca152193f2786e06986b7b6712bdbe path2 100644 blob 3feff949ed00a62d9f7af97c15cd8a30595e7ac7 path2/file2 120000 blob d8ce161addc5173867a3c3c730924388daedbc38 path2/file2sym 040000 tree 21ae8269cacbe57ae09138dcc3a2887f904d02b3 path3 100644 blob 0aa34cae68d0878578ad119c86ca2b5ed5b28376 path3/file3 120000 blob 8599103969b43aff7e430efea79ca4636466794f path3/file3sym 040000 tree 3c5e5399f3a333eddecce7a9b9465b63f65f51e2 path3/subp3 100644 blob 00fb5908cb97c2564a9783c0c64087333b3b464f path3/subp3/file3 120000 blob 6649a1ebe9e9f1c553b66f5a6e74136a07ccc57c path3/subp3/file3sym EOF test_cmp expected current ok 31 - git ls-tree -r output for a known tree expecting success: ptree=$(git write-tree --prefix=path3) ok 32 - writing partial tree out with git write-tree --prefix expecting success: test "$ptree" = "$expectedptree1" ok 33 - validate object ID for a known tree expecting success: ptree=$(git write-tree --prefix=path3/subp3) ok 34 - writing partial tree out with git write-tree --prefix expecting success: test "$ptree" = "$expectedptree2" ok 35 - validate object ID for a known tree expecting success: rm -f .git/index && cat >badobjects <<-\EOF && 100644 blob 1000000000000000000000000000000000000000 dir/file1 100644 blob 2000000000000000000000000000000000000000 dir/file2 100644 blob 3000000000000000000000000000000000000000 dir/file3 100644 blob 4000000000000000000000000000000000000000 dir/file4 100644 blob 5000000000000000000000000000000000000000 dir/file5 EOF git update-index --index-info expected <<\EOF && :100644 100644 f87290f8eb2cbbea7857214459a0739927eab154 0000000000000000000000000000000000000000 M path0 :120000 120000 15a98433ae33114b085f3eb3bb03b832b3180a01 0000000000000000000000000000000000000000 M path0sym :100644 100644 3feff949ed00a62d9f7af97c15cd8a30595e7ac7 0000000000000000000000000000000000000000 M path2/file2 :120000 120000 d8ce161addc5173867a3c3c730924388daedbc38 0000000000000000000000000000000000000000 M path2/file2sym :100644 100644 0aa34cae68d0878578ad119c86ca2b5ed5b28376 0000000000000000000000000000000000000000 M path3/file3 :120000 120000 8599103969b43aff7e430efea79ca4636466794f 0000000000000000000000000000000000000000 M path3/file3sym :100644 100644 00fb5908cb97c2564a9783c0c64087333b3b464f 0000000000000000000000000000000000000000 M path3/subp3/file3 :120000 120000 6649a1ebe9e9f1c553b66f5a6e74136a07ccc57c 0000000000000000000000000000000000000000 M path3/subp3/file3sym EOF git diff-files >current && test_cmp current expected ok 40 - validate git diff-files output for a know cache/work tree state expecting success: git update-index --refresh ok 41 - git update-index --refresh should succeed expecting success: git diff-files >current && cmp -s current /dev/null ok 42 - no diff after checkout and git update-index --refresh expecting success: 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 43 - git commit-tree records the correct tree in a commit expecting success: 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 44 - git commit-tree records the correct parent in a commit expecting success: 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 57835f4de9e6444a0702e31e30d983f09b825226 ignored ok 45 - git commit-tree omits duplicated parent in a commit expecting success: 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 46 - update-index D/F conflict expecting success: 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-path-utils real_path $dir2)" && file="$dir"/index && test "$file" = "$(test-path-utils real_path $dir2/index)" && basename=blub && test "$dir/$basename" = "$(cd .git && test-path-utils real_path "$basename")" && ln -s ../first/file .git/syml && sym="$(cd first; pwd -P)"/file && test "$sym" = "$(test-path-utils real_path "$dir2/syml")" ok 47 - real path works as expected expecting success: 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 " " echo "$a" ) | git update-index --index-info && len=$(git ls-files "a*" | wc -c) && test $len = 4098 ok 48 - very long name in the index handled sanely # still have 1 known breakage(s) # passed all remaining 47 test(s) 1..48 *** t0001-init.sh *** Initialized empty Git repository in /«PKGBUILDDIR»/t/trash directory.t0001-init/.git/ expecting success: ( sane_unset GIT_DIR GIT_WORK_TREE && mkdir plain && cd plain && git init ) && check_config plain/.git false unset Initialized empty Git repository in /«PKGBUILDDIR»/t/trash directory.t0001-init/plain/.git/ ok 1 - plain expecting success: ( sane_unset GIT_DIR GIT_WORK_TREE && 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: ( sane_unset GIT_DIR GIT_WORK_TREE && 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 checking known breakage: ( sane_unset GIT_DIR GIT_WORK_TREE && 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/ fatal: internal error: work tree has already been set Current worktree: /«PKGBUILDDIR»/t/trash directory.t0001-init/plain-ancestor-aliased New worktree: /«PKGBUILDDIR»/t/trash directory.t0001-init/plain-ancestor-aliased/plain-nested not ok 4 - plain nested through aliased command # TODO known breakage checking known breakage: ( sane_unset GIT_DIR GIT_WORK_TREE && 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/ Reinitialized existing Git repository in /«PKGBUILDDIR»/t/trash directory.t0001-init/bare-ancestor-aliased.git/ expected a directory bare-ancestor-aliased.git/plain-nested/.git, a file bare-ancestor-aliased.git/plain-nested/.git/config and bare-ancestor-aliased.git/plain-nested/.git/refs not ok 5 - plain nested in bare through aliased command # TODO known breakage expecting success: if ( sane_unset GIT_DIR && mkdir plain-wt && cd plain-wt && GIT_WORK_TREE=$(pwd) git init ) then echo Should have failed -- GIT_WORK_TREE should not be used false fi fatal: GIT_WORK_TREE (or --work-tree=) not allowed without specifying GIT_DIR (or --git-dir=) ok 6 - plain with GIT_WORK_TREE expecting success: ( sane_unset GIT_DIR GIT_WORK_TREE GIT_CONFIG && mkdir plain-bare-1 && cd plain-bare-1 && git --bare init ) && check_config plain-bare-1 true unset Initialized empty Git repository in /«PKGBUILDDIR»/t/trash directory.t0001-init/plain-bare-1/ ok 7 - plain bare expecting success: if ( sane_unset GIT_DIR GIT_CONFIG && mkdir plain-bare-2 && cd plain-bare-2 && GIT_WORK_TREE=$(pwd) git --bare init ) then echo Should have failed -- GIT_WORK_TREE should not be used false fi fatal: GIT_WORK_TREE (or --work-tree=) not allowed without specifying GIT_DIR (or --git-dir=) ok 8 - plain bare with GIT_WORK_TREE expecting success: ( sane_unset GIT_CONFIG && 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 9 - GIT_DIR bare expecting success: ( sane_unset GIT_DIR GIT_WORK_TREE GIT_CONFIG && mkdir init-bare.git && cd init-bare.git && git init --bare ) && check_config init-bare.git true unset Initialized empty Git repository in /«PKGBUILDDIR»/t/trash directory.t0001-init/init-bare.git/ ok 10 - init --bare expecting success: ( sane_unset GIT_CONFIG && 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 11 - GIT_DIR non-bare expecting success: ( sane_unset GIT_CONFIG && 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 12 - GIT_DIR & GIT_WORK_TREE (1) expecting success: if ( sane_unset GIT_CONFIG && mkdir git-dir-wt-2.git && GIT_WORK_TREE=$(pwd) GIT_DIR=git-dir-wt-2.git git --bare init ) then echo Should have failed -- --bare should not be used false fi fatal: GIT_WORK_TREE (or --work-tree=) not allowed without specifying GIT_DIR (or --git-dir=) ok 13 - GIT_DIR & GIT_WORK_TREE (2) expecting success: ( sane_unset GIT_CONFIG GIT_WORK_TREE GIT_CONFIG && 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 && >again/empty && test_i18ncmp again/empty again/err1 && test_i18ncmp again/empty again/err2 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 14 - reinit expecting success: mkdir template-source && echo content >template-source/file && ( mkdir template-custom && cd template-custom && git init --template=../template-source ) && test_cmp template-source/file template-custom/.git/file Initialized empty Git repository in /«PKGBUILDDIR»/t/trash directory.t0001-init/template-custom/.git/ ok 15 - init with --template expecting success: ( mkdir template-plain && cd template-plain && git init ) && test -f template-plain/.git/info/exclude && ( mkdir template-blank && cd template-blank && git init --template= ) && ! test -f 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 16 - init with --template (blank) expecting success: mkdir templatedir-source && echo Content >templatedir-source/file && ( test_config="${HOME}/.gitconfig" && git config -f "$test_config" 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 17 - init with init.templatedir set expecting success: ( test_config="$HOME"/.gitconfig && git config -f "$test_config" core.bare false && git config -f "$test_config" core.sharedRepository 0640 && mkdir init-bare-shared-override && cd init-bare-shared-override && git init --bare --shared=0666 ) && 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 18 - init --bare/--shared overrides system/global config expecting success: ( test_config="$HOME"/.gitconfig && git config -f "$test_config" core.sharedRepository 0666 && mkdir shared-honor-global && cd shared-honor-global && git init ) && 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 19 - init honors global core.sharedRepository expecting success: ( insane=$(printf "x%09999dx" 1) && mkdir test && cd test && test_must_fail git init --template=$insane ) fatal: insanely long template path x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 ok 20 - init rejects insanely long --template expecting success: rm -fr newdir && ( git init newdir && test -d newdir/.git/refs ) Initialized empty shared Git repository in /«PKGBUILDDIR»/t/trash directory.t0001-init/newdir/.git/ ok 21 - init creates a new directory expecting success: rm -fr newdir && ( git init --bare newdir && test -d newdir/refs ) Initialized empty shared Git repository in /«PKGBUILDDIR»/t/trash directory.t0001-init/newdir/ ok 22 - init creates a new bare directory expecting success: rm -fr newdir && ( mkdir newdir && git init newdir && test -d newdir/.git/refs ) Initialized empty shared Git repository in /«PKGBUILDDIR»/t/trash directory.t0001-init/newdir/.git/ ok 23 - init recreates a directory expecting success: rm -fr newdir && ( mkdir newdir && git init --bare newdir && test -d newdir/refs ) Initialized empty shared Git repository in /«PKGBUILDDIR»/t/trash directory.t0001-init/newdir/ ok 24 - init recreates a new bare directory expecting success: rm -fr newdir && git init newdir/a/b/c && test -d newdir/a/b/c/.git/refs Initialized empty shared Git repository in /«PKGBUILDDIR»/t/trash directory.t0001-init/newdir/a/b/c/.git/ ok 25 - init creates a new deep directory expecting success: rm -fr newdir && ( # Leading directories should honor umask while # the repository itself should follow "shared" umask 002 && git init --bare --shared=0660 newdir/a/b/c && test -d 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 26 - init creates a new deep directory (umask vs. shared) expecting success: rm -fr newdir && ( >newdir && test_must_fail git init newdir && test -f newdir ) fatal: cannot mkdir newdir: File exists ok 27 - init notices EEXIST (1) expecting success: rm -fr newdir && ( mkdir newdir && >newdir/a test_must_fail git init newdir/a/b && test -f newdir/a ) fatal: cannot mkdir newdir/a/b: File exists ok 28 - init notices EEXIST (2) expecting success: 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 29 - init notices EPERM expecting success: rm -rf newdir && git --bare init newdir && test -d newdir/refs Initialized empty shared Git repository in /«PKGBUILDDIR»/t/trash directory.t0001-init/newdir/ ok 30 - init creates a new bare directory with global --bare expecting success: rm -rf newdir && mkdir otherdir && GIT_DIR=otherdir git --bare init newdir && test -d newdir/refs && ! test -d otherdir/refs Initialized empty shared Git repository in /«PKGBUILDDIR»/t/trash directory.t0001-init/newdir/ ok 31 - init prefers command line to GIT_DIR expecting success: rm -rf newdir && git init --separate-git-dir realgitdir newdir && echo "gitdir: `pwd`/realgitdir" >expected && test_cmp expected newdir/.git && test -d realgitdir/refs Initialized empty shared Git repository in /«PKGBUILDDIR»/t/trash directory.t0001-init/realgitdir/ ok 32 - init with separate gitdir expecting success: ( cd newdir && git init --separate-git-dir ../surrealgitdir ) && echo "gitdir: `pwd`/surrealgitdir" >expected && test_cmp expected newdir/.git && test -d surrealgitdir/refs && ! test -d realgitdir/refs Reinitialized existing shared Git repository in /«PKGBUILDDIR»/t/trash directory.t0001-init/surrealgitdir/ ok 33 - re-init to update git link expecting success: rm -rf newdir realgitdir surrealgitdir && git init newdir && ( cd newdir && git init --separate-git-dir ../realgitdir ) && echo "gitdir: `pwd`/realgitdir" >expected && test_cmp expected newdir/.git && test -d realgitdir/refs Initialized empty shared Git repository in /«PKGBUILDDIR»/t/trash directory.t0001-init/newdir/.git/ Reinitialized existing shared Git repository in /«PKGBUILDDIR»/t/trash directory.t0001-init/realgitdir/ ok 34 - re-init to move gitdir expecting success: 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 -d realgitdir/refs && ! test -d newdir/here Initialized empty shared Git repository in /«PKGBUILDDIR»/t/trash directory.t0001-init/newdir/.git/ Reinitialized existing shared Git repository in /«PKGBUILDDIR»/t/trash directory.t0001-init/realgitdir/ ok 35 - re-init to move gitdir symlink # still have 2 known breakage(s) # passed all remaining 33 test(s) 1..35 *** t0002-gitfile.sh *** Initialized empty Git repository in /«PKGBUILDDIR»/t/trash directory.t0002-gitfile/.git/ expecting success: REAL="$(pwd)/.real" && mv .git "$REAL" ok 1 - initial setup expecting success: echo "gitdir $REAL" >.git && if git rev-parse 2>.err then echo "git rev-parse accepted an invalid .git file" false fi && if ! grep "Invalid gitfile format" .err then echo "git rev-parse returned wrong error" false fi fatal: Invalid gitfile format: .git ok 2 - bad setup: invalid .git file format expecting success: echo "gitdir: $REAL.not" >.git && if git rev-parse 2>.err then echo "git rev-parse accepted an invalid .git file path" false fi && if ! grep "Not a git repository" .err then echo "git rev-parse returned wrong error" false fi fatal: Not a git repository: /«PKGBUILDDIR»/t/trash directory.t0002-gitfile/.real.not ok 3 - bad setup: invalid .git file path expecting success: echo "gitdir: $REAL" >.git && test "$REAL" = "$(git rev-parse --git-dir)" ok 4 - final setup + check rev-parse --git-dir expecting success: echo "foo" >bar && SHA=$(cat bar | git hash-object -w --stdin) && objck $SHA ok 5 - check hash-object expecting success: git cat-file blob $SHA >actual && test_cmp bar actual ok 6 - check cat-file expecting success: if test -f "$REAL/index" then echo "Hmm, $REAL/index exists?" false fi && rm -f "$REAL/objects/$(objpath $SHA)" && git update-index --add bar && if ! test -f "$REAL/index" then echo "$REAL/index not found" false fi && objck $SHA ok 7 - check update-index expecting success: SHA=$(git write-tree) && objck $SHA ok 8 - check write-tree expecting success: SHA=$(echo "commit bar" | git commit-tree $SHA) && objck $SHA ok 9 - check commit-tree expecting success: echo $SHA >"$REAL/HEAD" && test "$SHA" = "$(git rev-list HEAD)" ok 10 - check rev-list # passed all 10 test(s) 1..10 *** t0003-attributes.sh *** Initialized empty Git repository in /«PKGBUILDDIR»/t/trash directory.t0003-attributes/.git/ expecting success: mkdir -p a/b/d a/c b && ( echo "[attr]notest !test" 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 1 - setup expecting success: 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 [-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 input paths are terminated by a null character error: No attribute specified usage: git check-attr [-a | --all | attr...] [--] pathname... or: git check-attr --stdin [-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 input paths are terminated by a null character error: No file specified usage: git check-attr [-a | --all | attr...] [--] pathname... or: git check-attr --stdin [-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 input paths are terminated by a null character error: No file specified usage: git check-attr [-a | --all | attr...] [--] pathname... or: git check-attr --stdin [-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 input paths are terminated by a null character error: No attribute specified usage: git check-attr [-a | --all | attr...] [--] pathname... or: git check-attr --stdin [-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 input paths are terminated by a null character error: No attribute specified usage: git check-attr [-a | --all | attr...] [--] pathname... or: git check-attr --stdin [-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 input paths are terminated by a null character error: No attribute specified usage: git check-attr [-a | --all | attr...] [--] pathname... or: git check-attr --stdin [-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 input paths are terminated by a null character error: Can't specify files with --stdin usage: git check-attr [-a | --all | attr...] [--] pathname... or: git check-attr --stdin [-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 input paths are terminated by a null character error: : not a valid attribute name ok 2 - command line checks expecting success: 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 3 - attribute test expecting success: test_must_fail attr_check F f "-c core.ignorecase=0" && test_must_fail attr_check a/F f "-c core.ignorecase=0" && test_must_fail attr_check a/c/F f "-c core.ignorecase=0" && test_must_fail attr_check a/G a/g "-c core.ignorecase=0" && test_must_fail attr_check a/B/g a/b/g "-c core.ignorecase=0" && test_must_fail attr_check a/b/G a/b/g "-c core.ignorecase=0" && test_must_fail attr_check a/b/H a/b/h "-c core.ignorecase=0" && test_must_fail attr_check a/b/D/g "a/b/d/*" "-c core.ignorecase=0" && test_must_fail attr_check oNoFf unset "-c core.ignorecase=0" && test_must_fail attr_check oFfOn set "-c core.ignorecase=0" && attr_check NO unspecified "-c core.ignorecase=0" && test_must_fail attr_check a/b/D/NO "a/b/d/*" "-c core.ignorecase=0" && attr_check a/b/d/YES a/b/d/* "-c core.ignorecase=0" && test_must_fail attr_check a/E/f "A/e/F" "-c core.ignorecase=0" --- expect 2012-08-08 19:44:40.000000000 +0000 +++ actual 2012-08-08 19:44:40.000000000 +0000 @@ -1 +1 @@ -F: test: f +F: test: unspecified --- expect 2012-08-08 19:44:40.000000000 +0000 +++ actual 2012-08-08 19:44:40.000000000 +0000 @@ -1 +1 @@ -a/F: test: f +a/F: test: unspecified --- expect 2012-08-08 19:44:40.000000000 +0000 +++ actual 2012-08-08 19:44:40.000000000 +0000 @@ -1 +1 @@ -a/c/F: test: f +a/c/F: test: unspecified --- expect 2012-08-08 19:44:40.000000000 +0000 +++ actual 2012-08-08 19:44:40.000000000 +0000 @@ -1 +1 @@ -a/G: test: a/g +a/G: test: unspecified --- expect 2012-08-08 19:44:40.000000000 +0000 +++ actual 2012-08-08 19:44:40.000000000 +0000 @@ -1 +1 @@ -a/B/g: test: a/b/g +a/B/g: test: a/g --- expect 2012-08-08 19:44:40.000000000 +0000 +++ actual 2012-08-08 19:44:40.000000000 +0000 @@ -1 +1 @@ -a/b/G: test: a/b/g +a/b/G: test: unspecified --- expect 2012-08-08 19:44:40.000000000 +0000 +++ actual 2012-08-08 19:44:40.000000000 +0000 @@ -1 +1 @@ -a/b/H: test: a/b/h +a/b/H: test: unspecified --- expect 2012-08-08 19:44:40.000000000 +0000 +++ actual 2012-08-08 19:44:40.000000000 +0000 @@ -1 +1 @@ -a/b/D/g: test: a/b/d/* +a/b/D/g: test: a/g --- expect 2012-08-08 19:44:40.000000000 +0000 +++ actual 2012-08-08 19:44:40.000000000 +0000 @@ -1 +1 @@ -oNoFf: test: unset +oNoFf: test: unspecified --- expect 2012-08-08 19:44:40.000000000 +0000 +++ actual 2012-08-08 19:44:40.000000000 +0000 @@ -1 +1 @@ -oFfOn: test: set +oFfOn: test: unspecified --- expect 2012-08-08 19:44:40.000000000 +0000 +++ actual 2012-08-08 19:44:40.000000000 +0000 @@ -1 +1 @@ -a/b/D/NO: test: a/b/d/* +a/b/D/NO: test: unspecified --- expect 2012-08-08 19:44:40.000000000 +0000 +++ actual 2012-08-08 19:44:40.000000000 +0000 @@ -1 +1 @@ -a/E/f: test: A/e/F +a/E/f: test: f ok 4 - attribute matching is case sensitive when core.ignorecase=0 expecting success: 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 5 - attribute matching is case insensitive when core.ignorecase=1 expecting success: mkdir junk && echo good >junk/CamelCase && echo bad >junk/camelcase && if test "$(cat junk/CamelCase)" != good then test_set_prereq CASE_INSENSITIVE_FS fi ok 6 - check whether FS is case-insensitive skipping test: additional case insensitivity tests test_must_fail attr_check a/B/D/g "a/b/d/*" "-c core.ignorecase=0" && test_must_fail attr_check A/B/D/NO "a/b/d/*" "-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: 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: (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: 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: 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: grep -v notest expect && sed -e "s/:.*//" actual && test_cmp expect actual ok 12 - attribute test: read paths from stdin expecting success: grep -v unspecified specified-all && sed -e "s/:.*//" stdin-all && git check-attr --stdin --all actual && test_cmp specified-all actual ok 13 - attribute test: --all option expecting success: : >empty && git check-attr --cached --stdin --all actual && test_cmp empty actual && git add .gitattributes a/.gitattributes a/b/.gitattributes && git check-attr --cached --stdin --all actual && test_cmp specified-all actual ok 14 - attribute test: --cached option expecting success: attr_check a/i a/i && attr_check subdir/a/i unspecified ok 15 - root subdir attribute test expecting success: git clone --bare . bare.git && cd bare.git Cloning into bare repository 'bare.git'... warning: You appear to have cloned an empty repository. done. ok 16 - setup bare expecting success: ( 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 17 - bare repository: check that .gitattribute is ignored expecting success: GIT_INDEX_FILE=../.git/index \ git check-attr --cached --stdin --all <../stdin-all | sort >actual && test_cmp ../specified-all actual ok 18 - bare repository: check that --cached honors index expecting success: ( 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 19 - bare repository: test info/attributes # passed all 19 test(s) 1..19 *** t0004-unwritable.sh *** Initialized empty Git repository in /«PKGBUILDDIR»/t/trash directory.t0004-unwritable/.git/ expecting success: >file && git add file && test_tick && git commit -m initial && echo >file && git add file [master (root-commit) 1bd44cb] initial Author: A U Thor 0 files changed create mode 100644 file ok 1 - setup expecting success: 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: 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: Error building trees ok 3 - commit should notice unwritable repository expecting success: 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: 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 *** t0005-signals.sh *** Initialized empty Git repository in /«PKGBUILDDIR»/t/trash directory.t0005-signals/.git/ expecting success: test-sigchain >actual case "$?" in 143) true ;; # POSIX w/ SIGTERM=15 271) true ;; # ksh w/ SIGTERM=15 3) true ;; # Windows *) false ;; esac && test_cmp expect actual Terminated ok 1 - sigchain works # passed all 1 test(s) 1..1 *** t0006-date.sh *** Initialized empty Git repository in /«PKGBUILDDIR»/t/trash directory.t0006-date/.git/ expecting success: test-date show 1251659995 >actual && test_cmp expect actual ok 1 - relative date (5 seconds ago) expecting success: test-date show 1251659700 >actual && test_cmp expect actual ok 2 - relative date (5 minutes ago) expecting success: test-date show 1251642000 >actual && test_cmp expect actual ok 3 - relative date (5 hours ago) expecting success: test-date show 1251228000 >actual && test_cmp expect actual ok 4 - relative date (5 days ago) expecting success: test-date show 1249932000 >actual && test_cmp expect actual ok 5 - relative date (3 weeks ago) expecting success: test-date show 1238660000 >actual && test_cmp expect actual ok 6 - relative date (5 months ago) expecting success: test-date show 1214160000 >actual && test_cmp expect actual ok 7 - relative date (1 year, 2 months ago) expecting success: test-date show 1196472000 >actual && test_cmp expect actual ok 8 - relative date (1 year, 9 months ago) expecting success: test-date show 621660000 >actual && test_cmp expect actual ok 9 - relative date (20 years ago) expecting success: test-date show 1220210400 >actual && test_cmp expect actual ok 10 - relative date (12 months ago) expecting success: test-date show 1188674400 >actual && test_cmp expect actual ok 11 - relative date (2 years ago) expecting success: TZ=UTC test-date parse '2008' >actual && test_cmp expect actual ok 12 - parse date (2008) expecting success: TZ=UTC test-date parse '2008-02' >actual && test_cmp expect actual ok 13 - parse date (2008-02) expecting success: TZ=UTC test-date parse '2008-02-14' >actual && test_cmp expect actual ok 14 - parse date (2008-02-14) expecting success: TZ=UTC test-date parse '2008-02-14 20:30:45' >actual && test_cmp expect actual ok 15 - parse date (2008-02-14 20:30:45) expecting success: TZ=UTC test-date parse '2008-02-14 20:30:45 -0500' >actual && test_cmp expect actual ok 16 - parse date (2008-02-14 20:30:45 -0500) expecting success: TZ=UTC test-date parse '2008-02-14 20:30:45 -0015' >actual && test_cmp expect actual ok 17 - parse date (2008-02-14 20:30:45 -0015) expecting success: TZ=UTC test-date parse '2008-02-14 20:30:45 -5' >actual && test_cmp expect actual ok 18 - parse date (2008-02-14 20:30:45 -5) expecting success: TZ=UTC test-date parse '2008-02-14 20:30:45 -5:' >actual && test_cmp expect actual ok 19 - parse date (2008-02-14 20:30:45 -5:) expecting success: TZ=UTC test-date parse '2008-02-14 20:30:45 -05' >actual && test_cmp expect actual ok 20 - parse date (2008-02-14 20:30:45 -05) expecting success: TZ=UTC test-date parse '2008-02-14 20:30:45 -:30' >actual && test_cmp expect actual ok 21 - parse date (2008-02-14 20:30:45 -:30) expecting success: TZ=UTC test-date parse '2008-02-14 20:30:45 -05:00' >actual && test_cmp expect actual ok 22 - parse date (2008-02-14 20:30:45 -05:00) expecting success: TZ=EST5 test-date parse '2008-02-14 20:30:45' >actual && test_cmp expect actual ok 23 - parse date (2008-02-14 20:30:45 TZ=EST5) expecting success: test-date approxidate 'now' >actual && test_cmp expect actual ok 24 - parse approxidate (now) expecting success: test-date approxidate '5 seconds ago' >actual && test_cmp expect actual ok 25 - parse approxidate (5 seconds ago) expecting success: test-date approxidate '5.seconds.ago' >actual && test_cmp expect actual ok 26 - parse approxidate (5.seconds.ago) expecting success: test-date approxidate '10.minutes.ago' >actual && test_cmp expect actual ok 27 - parse approxidate (10.minutes.ago) expecting success: test-date approxidate 'yesterday' >actual && test_cmp expect actual ok 28 - parse approxidate (yesterday) expecting success: test-date approxidate '3.days.ago' >actual && test_cmp expect actual ok 29 - parse approxidate (3.days.ago) expecting success: test-date approxidate '3.weeks.ago' >actual && test_cmp expect actual ok 30 - parse approxidate (3.weeks.ago) expecting success: test-date approxidate '3.months.ago' >actual && test_cmp expect actual ok 31 - parse approxidate (3.months.ago) expecting success: test-date approxidate '2.years.3.months.ago' >actual && test_cmp expect actual ok 32 - parse approxidate (2.years.3.months.ago) expecting success: test-date approxidate '6am yesterday' >actual && test_cmp expect actual ok 33 - parse approxidate (6am yesterday) expecting success: test-date approxidate '6pm yesterday' >actual && test_cmp expect actual ok 34 - parse approxidate (6pm yesterday) expecting success: test-date approxidate '3:00' >actual && test_cmp expect actual ok 35 - parse approxidate (3:00) expecting success: test-date approxidate '15:00' >actual && test_cmp expect actual ok 36 - parse approxidate (15:00) expecting success: test-date approxidate 'noon today' >actual && test_cmp expect actual ok 37 - parse approxidate (noon today) expecting success: test-date approxidate 'noon yesterday' >actual && test_cmp expect actual ok 38 - parse approxidate (noon yesterday) expecting success: test-date approxidate 'last tuesday' >actual && test_cmp expect actual ok 39 - parse approxidate (last tuesday) expecting success: test-date approxidate 'July 5th' >actual && test_cmp expect actual ok 40 - parse approxidate (July 5th) expecting success: test-date approxidate '06/05/2009' >actual && test_cmp expect actual ok 41 - parse approxidate (06/05/2009) expecting success: test-date approxidate '06.05.2009' >actual && test_cmp expect actual ok 42 - parse approxidate (06.05.2009) expecting success: test-date approxidate 'Jun 6, 5AM' >actual && test_cmp expect actual ok 43 - parse approxidate (Jun 6, 5AM) expecting success: test-date approxidate '5AM Jun 6' >actual && test_cmp expect actual ok 44 - parse approxidate (5AM Jun 6) expecting success: test-date approxidate '6AM, June 7, 2009' >actual && test_cmp expect actual ok 45 - parse approxidate (6AM, June 7, 2009) # passed all 45 test(s) 1..45 *** t0010-racy-git.sh *** Initialized empty Git repository in /«PKGBUILDDIR»/t/trash directory.t0010-racy-git/.git/ expecting success: test "" != "$files" ok 1 - Racy GIT trial #0 part A expecting success: test "" != "$files" ok 2 - Racy GIT trial #0 part B expecting success: test "" != "$files" ok 3 - Racy GIT trial #1 part A expecting success: test "" != "$files" ok 4 - Racy GIT trial #1 part B expecting success: test "" != "$files" ok 5 - Racy GIT trial #2 part A expecting success: test "" != "$files" ok 6 - Racy GIT trial #2 part B expecting success: test "" != "$files" ok 7 - Racy GIT trial #3 part A expecting success: test "" != "$files" ok 8 - Racy GIT trial #3 part B expecting success: test "" != "$files" ok 9 - Racy GIT trial #4 part A expecting success: test "" != "$files" ok 10 - Racy GIT trial #4 part B # passed all 10 test(s) 1..10 *** t0020-crlf.sh *** Initialized empty Git repository in /«PKGBUILDDIR»/t/trash directory.t0020-crlf/.git/ expecting success: git config core.autocrlf false && for w in Hello world how are you; do echo $w; done >one && mkdir dir && for w in I am very very fine thank you; do echo $w; done >dir/two && for w in Oh here is NULQin text here; do echo $w; done | q_to_nul >three && git add . && git commit -m initial && one=`git rev-parse HEAD:one` && dir=`git rev-parse HEAD:dir` && two=`git rev-parse HEAD:dir/two` && three=`git rev-parse HEAD:three` && for w in Some extra lines here; do echo $w; done >>one && git diff >patch.file && patched=`git hash-object --stdin 3 files changed, 12 insertions(+) create mode 100644 dir/two create mode 100644 one create mode 100644 three happy. ok 1 - setup expecting success: 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: 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: 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: 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: 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 && test $(git add doublewarn 2>&1 | grep "CRLF will be replaced by LF" | wc -l) = 1 [master 0fb1ae8] nowarn Author: A U Thor 1 file changed, 4 insertions(+) create mode 100644 doublewarn ok 6 - safecrlf: print warning only once expecting success: git config core.autocrlf false && git config core.safecrlf false && git reset --hard HEAD^ HEAD is now at b97cb13 initial ok 7 - switch off autocrlf, safecrlf, reset HEAD expecting success: rm -f tmp one dir/two three && git read-tree --reset -u HEAD && git config core.autocrlf input && for f in one dir/two do append_cr <$f >tmp && mv -f tmp $f && git update-index -- $f || { echo Oops false break } done && differs=`git diff-index --cached HEAD` && test -z "$differs" || { echo Oops "$differs" false } ok 8 - update with autocrlf=input expecting success: rm -f tmp one dir/two three && git read-tree --reset -u HEAD && git config core.autocrlf true && for f in one dir/two do append_cr <$f >tmp && mv -f tmp $f && git update-index -- $f || { echo "Oops $f" false break } done && differs=`git diff-index --cached HEAD` && test -z "$differs" || { echo Oops "$differs" false } ok 9 - update with autocrlf=true expecting success: rm -f tmp one dir/two three && git config core.autocrlf true && git read-tree --reset -u HEAD && for f in one dir/two do remove_cr <"$f" >tmp && mv -f tmp $f && git update-index -- $f || { echo "Eh? $f" false break } done && test "$one" = `git hash-object --stdin .gitattributes && git config core.autocrlf true && git read-tree --reset -u HEAD && if has_cr dir/two then echo "Huh?" false else : happy fi && if has_cr one then : happy else echo "Huh?" false fi && if has_cr three then echo "Huh?" false else : happy fi ok 18 - .gitattributes says two is binary expecting success: rm -f tmp one dir/two three && echo "two crlf=input" >.gitattributes && git read-tree --reset -u HEAD && if has_cr dir/two then echo "Huh?" false else : happy fi ok 19 - .gitattributes says two is input expecting success: rm -f tmp one dir/two three && echo "t* crlf" >.gitattributes && git read-tree --reset -u HEAD && if has_cr dir/two then : happy else echo "Huh?" false fi && if has_cr three then : happy else echo "Huh?" false fi ok 20 - .gitattributes says two and three are text expecting success: 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 && if has_cr one then echo "Eh? one should not have CRLF" false else : happy fi && has_cr three || { echo "Eh? three should still have CRLF" false } [master 2c3d7ea] Add .gitattributes Author: A U Thor 1 file changed, 2 insertions(+) create mode 100644 .gitattributes ok 21 - in-tree .gitattributes (1) expecting success: rm -rf tmp one dir .gitattributes patch.file three && git read-tree --reset HEAD && git checkout-index -f -q -u -a && if has_cr one then echo "Eh? one should not have CRLF" false else : happy fi && has_cr three || { echo "Eh? three should still have CRLF" false } ok 22 - in-tree .gitattributes (2) expecting success: 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 && if has_cr one then echo "Eh? one should not have CRLF" false else : happy fi && has_cr three || { echo "Eh? three should still have CRLF" false } ok 23 - in-tree .gitattributes (3) expecting success: 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 && if has_cr one then echo "Eh? one should not have CRLF" false else : happy fi && has_cr three || { echo "Eh? three should still have CRLF" false } ok 24 - in-tree .gitattributes (4) expecting success: 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 124951e] initial Author: A U Thor 1 file changed, 1 insertion(+) [master da3f414] second Author: A U Thor 2 files changed, 2 insertions(+) create mode 100644 .file Note: checking out '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 performing another checkout. If you want to create a new branch to retain commits you create, you may do so (now or later) by using -b with the checkout command again. Example: git checkout -b new_branch_name HEAD is now at 124951e... initial Previous HEAD position was 124951e... initial Switched to branch 'master' ok 25 - checkout with existing .gitattributes expecting success: 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 f80d8f5] third Author: A U Thor 2 files changed, 1 insertion(+), 4 deletions(-) create mode 100644 .file2 delete mode 100644 .gitattributes Note: checking out '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 performing another checkout. If you want to create a new branch to retain commits you create, you may do so (now or later) by using -b with the checkout command again. Example: git checkout -b new_branch_name HEAD is now at da3f414... second M three Previous HEAD position was da3f414... second Switched to branch 'master' ok 26 - checkout when deleting .gitattributes expecting success: echo "three +crlf" >>.gitattributes && git diff +crlf is not a valid attribute name: .gitattributes:1 diff --git a/three b/three index 98efc5e..c5c386a 100644 Binary files a/three and b/three differ ok 27 - invalid .gitattributes (must not crash) expecting success: 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 3089d06] alllf, allcrlf and mixed only Author: A U Thor 7 files changed, 8 insertions(+), 14 deletions(-) delete mode 100644 .file delete mode 100644 .file2 create mode 100644 allcrlf create mode 100644 alllf delete mode 100644 dir/two rename three => mixed (57%) delete mode 100644 one ok 28 - setting up for new autocrlf tests expecting success: git config core.autocrlf true && touch * && git diff --exit-code ok 29 - report no change after setting autocrlf expecting success: rm * && git checkout -f && git diff --exit-code ok 30 - files are clean after checkout expecting success: test "$(cr_to_Q_no_NL < alllf)" = "IQamQallQLFQ" ok 31 - LF only file gets CRLF with autocrlf expecting success: test "$(cr_to_Q_no_NL < mixed)" = "OhhereisCRLFQintext" ok 32 - Mixed file is still mixed with autocrlf expecting success: test "$(cr_to_Q_no_NL < allcrlf)" = "IQamQallQCRLFQ" ok 33 - CRLF only file has CRLF with autocrlf expecting success: tr -d " " < 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 7b041da] alllf2 added Author: A U Thor 1 file changed, 4 insertions(+) create mode 100644 alllf2 ok 34 - New CRLF file gets LF in repo # passed all 34 test(s) 1..34 *** t0021-conversion.sh *** Initialized empty Git repository in /«PKGBUILDDIR»/t/trash directory.t0021-conversion/.git/ expecting success: 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 ok 1 - setup expecting success: cmp test.o 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 && cmp test.r test.t ok 2 - check expecting success: { 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-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 expanded-keywords expected-output && git checkout -- expanded-keywords-crlf && test_cmp expanded-keywords-crlf expected-output-crlf [master (root-commit) bf8faf9] File with keywords expanded Author: A U Thor 5 files changed, 29 insertions(+) create mode 100644 expanded-keywords create mode 100644 expanded-keywords-crlf create mode 100644 test create mode 100644 test.i create mode 100644 test.t ok 3 - expanded_in_repo expecting success: 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 git 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 git 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: git config filter.required.smudge cat && git config filter.required.clean cat && git config filter.required.required true && echo "*.r filter=required" >.gitattributes && echo test >test.r && git add test.r && rm -f test.r && git checkout -- test.r ok 5 - required filter success expecting success: git config filter.failsmudge.smudge false && git config filter.failsmudge.clean cat && git 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: git config filter.failclean.smudge cat && git config filter.failclean.clean false && git 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 # passed all 7 test(s) 1..7 *** t0022-crlf-rename.sh *** Initialized empty Git repository in /«PKGBUILDDIR»/t/trash directory.t0022-crlf-rename/.git/ expecting success: cat "$TEST_DIRECTORY"/t0022-crlf-rename.sh >sample && git add sample && test_tick && git commit -m Initial && append_cr <"$TEST_DIRECTORY"/t0022-crlf-rename.sh >elpmas && git add elpmas && rm -f sample && test_tick && git commit -a -m Second [master (root-commit) 6ee20c2] Initial Author: A U Thor 1 file changed, 33 insertions(+) create mode 100644 sample [master d248b45] Second Author: A U Thor 1 file changed, 33 insertions(+), 33 deletions(-) rename sample => elpmas (94%) ok 1 - setup expecting success: 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 *** t0023-crlf-am.sh *** Initialized empty Git repository in /«PKGBUILDDIR»/t/trash directory.t0023-crlf-am/.git/ expecting success: 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. warning: LF will be replaced by CRLF in bar. The file will have its original line endings in your working directory. [master (root-commit) 1adb513] initial Author: A U Thor 1 file changed, 1 insertion(+) create mode 100644 bar ok 1 - setup expecting success: git am -3 sample && git add sample && test_tick && git commit -m Initial [master (root-commit) 4f7f1aa] Initial Author: A U Thor 1 file changed, 2 insertions(+) create mode 100644 sample ok 1 - setup expecting success: git archive --format=tar HEAD | ( mkdir untarred && cd untarred && "$TAR" -xf - ) && test_cmp sample untarred/sample ok 2 - tar archive expecting success: git archive --format=zip HEAD >test.zip && ( mkdir unzipped && cd unzipped && 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 *** t0025-crlf-auto.sh *** Initialized empty Git repository in /«PKGBUILDDIR»/t/trash directory.t0025-crlf-auto/.git/ expecting success: git config core.autocrlf false && 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}Q; done | q_to_cr >two && for w in Oh here is a QNUL byte how alarming; do echo ${w}; done | q_to_nul >three && git add . && git commit -m initial && one=`git rev-parse HEAD:one` && two=`git rev-parse HEAD:two` && three=`git rev-parse HEAD:three` && echo happy. [master (root-commit) e182d7c] initial Author: A U Thor 3 files changed, 12 insertions(+) create mode 100644 one create mode 100644 three create mode 100644 two happy. ok 1 - setup expecting success: rm -f .gitattributes tmp one two three && git read-tree --reset -u HEAD && ! has_cr one && has_cr two && onediff=`git diff one` && twodiff=`git diff two` && threediff=`git diff three` && test -z "$onediff" -a -z "$twodiff" -a -z "$threediff" ok 2 - default settings cause no changes expecting success: # Backwards compatibility check rm -f .gitattributes tmp one two three && echo "two crlf" > .gitattributes && git read-tree --reset -u HEAD && # Note, "normalized" means that git will normalize it if added has_cr two && twodiff=`git diff two` && test -n "$twodiff" warning: CRLF will be replaced by LF in two. The file will have its original line endings in your working directory. ok 3 - crlf=true causes a CRLF file to be normalized expecting success: rm -f .gitattributes tmp one two three && echo "two text" > .gitattributes && git read-tree --reset -u HEAD && # Note, "normalized" means that git will normalize it if added has_cr two && twodiff=`git diff two` && test -n "$twodiff" warning: CRLF will be replaced by LF in two. The file will have its original line endings in your working directory. ok 4 - text=true causes a CRLF file to be normalized expecting success: rm -f .gitattributes tmp one two three && git config core.autocrlf false && echo "one eol=crlf" > .gitattributes && git read-tree --reset -u HEAD && has_cr one && onediff=`git diff one` && test -z "$onediff" ok 5 - eol=crlf gives a normalized file CRLFs with autocrlf=false expecting success: rm -f .gitattributes tmp one two three && git config core.autocrlf input && echo "one eol=crlf" > .gitattributes && git read-tree --reset -u HEAD && has_cr one && onediff=`git diff one` && test -z "$onediff" ok 6 - eol=crlf gives a normalized file CRLFs with autocrlf=input expecting success: rm -f .gitattributes tmp one two three && git config core.autocrlf true && echo "one eol=lf" > .gitattributes && git read-tree --reset -u HEAD && ! has_cr one && onediff=`git diff one` && test -z "$onediff" ok 7 - eol=lf gives a normalized file LFs with autocrlf=true expecting success: rm -f .gitattributes tmp one two three && 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` && threediff=`git diff three` && test -z "$onediff" -a -z "$twodiff" -a -z "$threediff" ok 8 - autocrlf=true does not normalize CRLF files expecting success: rm -f .gitattributes tmp one two three && git config core.autocrlf true && echo "* text=auto" > .gitattributes && git read-tree --reset -u HEAD && has_cr one && has_cr two && onediff=`git diff one` && twodiff=`git diff two` && threediff=`git diff three` && test -z "$onediff" -a -n "$twodiff" -a -z "$threediff" ok 9 - text=auto, autocrlf=true _does_ normalize CRLF files expecting success: rm -f .gitattributes tmp one two three && git config core.autocrlf true && echo "* text=auto" > .gitattributes && git read-tree --reset -u HEAD && ! has_cr three && threediff=`git diff three` && test -z "$threediff" ok 10 - text=auto, autocrlf=true does not normalize binary files expecting success: rm -f .gitattributes tmp one two three && echo "three eol=crlf" > .gitattributes && git read-tree --reset -u HEAD && has_cr three && threediff=`git diff three` && test -z "$threediff" ok 11 - eol=crlf _does_ normalize binary files # passed all 11 test(s) 1..11 *** t0026-eol-config.sh *** Initialized empty Git repository in /«PKGBUILDDIR»/t/trash directory.t0026-eol-config/.git/ expecting success: 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) 7f709d9] initial Author: A U Thor 3 files changed, 13 insertions(+) create mode 100644 .gitattributes create mode 100644 one create mode 100644 two happy. ok 1 - setup expecting success: 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" -a -z "$twodiff" ok 2 - eol=lf puts LFs in normalized file expecting success: 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" -a -z "$twodiff" ok 3 - eol=crlf puts CRLFs in normalized file expecting success: 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" -a -z "$twodiff" ok 4 - autocrlf=true overrides eol=lf expecting success: 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" -a -z "$twodiff" ok 5 - autocrlf=true overrides unset eol # passed all 5 test(s) 1..5 *** t0030-stripspace.sh *** Initialized empty Git repository in /«PKGBUILDDIR»/t/trash directory.t0030-stripspace/.git/ expecting success: echo "$ttt" >expect && git stripspace actual && test_cmp expect actual && echo "$ttt$ttt" >expect && git stripspace actual && test_cmp expect actual && echo "$ttt$ttt$ttt" >expect && git stripspace actual && test_cmp expect actual && echo "$ttt$ttt$ttt$ttt" >expect && git stripspace actual && test_cmp expect actual ok 1 - long lines without spaces should be unchanged expecting success: echo "$sss$ttt" >expect && git stripspace actual && test_cmp expect actual && echo "$sss$sss$ttt" >expect && git stripspace actual && test_cmp expect actual && echo "$sss$sss$sss$ttt" >expect && git stripspace actual && test_cmp expect actual ok 2 - lines with spaces at the beginning should be unchanged expecting success: echo "$ttt$sss$ttt" >expect && git stripspace actual && test_cmp expect actual && echo "$ttt$sss$sss$ttt" >expect && git stripspace actual && test_cmp expect actual ok 3 - lines with intermediate spaces should be unchanged expecting success: printf "$ttt $ttt " > expect && printf "$ttt $ttt " | git stripspace >actual && test_cmp expect actual && printf "$ttt$ttt $ttt " > expect && printf "$ttt$ttt $ttt " | git stripspace >actual && test_cmp expect actual && printf "$ttt$ttt$ttt $ttt " > expect && printf "$ttt$ttt$ttt $ttt " | git stripspace >actual && test_cmp expect actual && printf "$ttt $ttt " > expect && printf "$ttt $ttt " | git stripspace >actual && test_cmp expect actual && printf "$ttt $ttt$ttt " > expect && printf "$ttt $ttt$ttt " | git stripspace >actual && test_cmp expect actual && printf "$ttt $ttt$ttt$ttt " > expect && printf "$ttt $ttt$ttt$ttt " | git stripspace >actual && test_cmp expect actual && printf "$ttt $ttt " > expect && printf "$ttt $ttt " | git stripspace >actual && test_cmp expect actual && printf "$ttt$ttt $ttt " > expect && printf "$ttt$ttt $ttt " | git stripspace >actual && test_cmp expect actual && printf "$ttt$ttt$ttt $ttt " > expect && printf "$ttt$ttt$ttt $ttt " | git stripspace >actual && test_cmp expect actual && printf "$ttt $ttt " > expect && printf "$ttt $ttt " | git stripspace >actual && test_cmp expect actual && printf "$ttt $ttt$ttt " > expect && printf "$ttt $ttt$ttt " | git stripspace >actual && test_cmp expect actual && printf "$ttt $ttt$ttt$ttt " > expect && printf "$ttt $ttt$ttt$ttt " | git stripspace >actual && test_cmp expect actual ok 4 - consecutive blank lines should be unified expecting success: > expect && printf " " | git stripspace >actual && test_cmp expect actual && printf " " | git stripspace >actual && test_cmp expect actual && printf "$sss $sss $sss " | git stripspace >actual && test_cmp expect actual && printf "$sss$sss $sss " | git stripspace >actual && test_cmp expect actual && printf " $sss $sss$sss " | git stripspace >actual && test_cmp expect actual && printf "$sss$sss$sss$sss " | git stripspace >actual && test_cmp expect actual && printf " $sss$sss$sss$sss " | git stripspace >actual && test_cmp expect actual && printf " $sss$sss$sss$sss " | git stripspace >actual && test_cmp expect actual ok 5 - only consecutive blank lines should be completely removed expecting success: printf "$ttt " > expect && printf " $ttt " | git stripspace >actual && test_cmp expect actual && printf "$ttt " > expect && printf " $ttt " | git stripspace >actual && test_cmp expect actual && printf "$ttt$ttt " > expect && printf " $ttt$ttt " | git stripspace >actual && test_cmp expect actual && printf "$ttt$ttt$ttt " > expect && printf " $ttt$ttt$ttt " | git stripspace >actual && test_cmp expect actual && printf "$ttt$ttt$ttt$ttt " > expect && printf " $ttt$ttt$ttt$ttt " | git stripspace >actual && test_cmp expect actual && printf "$ttt " > expect && printf "$sss $sss $sss $ttt " | git stripspace >actual && test_cmp expect actual && printf " $sss $sss$sss $ttt " | git stripspace >actual && test_cmp expect actual && printf "$sss$sss $sss $ttt " | git stripspace >actual && test_cmp expect actual && printf "$sss$sss$sss $ttt " | git stripspace >actual && test_cmp expect actual && printf " $sss$sss$sss $ttt " | git stripspace >actual && test_cmp expect actual && printf " $sss$sss$sss $ttt " | git stripspace >actual && test_cmp expect actual ok 6 - consecutive blank lines at the beginning should be removed expecting success: printf "$ttt " > expect && printf "$ttt " | git stripspace >actual && test_cmp expect actual && printf "$ttt " > expect && printf "$ttt " | git stripspace >actual && test_cmp expect actual && printf "$ttt$ttt " > expect && printf "$ttt$ttt " | git stripspace >actual && test_cmp expect actual && printf "$ttt$ttt$ttt " > expect && printf "$ttt$ttt$ttt " | git stripspace >actual && test_cmp expect actual && printf "$ttt$ttt$ttt$ttt " > expect && printf "$ttt$ttt$ttt$ttt " | git stripspace >actual && test_cmp expect actual && printf "$ttt " > expect && printf "$ttt $sss $sss $sss " | git stripspace >actual && test_cmp expect actual && printf "$ttt $sss $sss$sss " | git stripspace >actual && test_cmp expect actual && printf "$ttt $sss$sss $sss " | git stripspace >actual && test_cmp expect actual && printf "$ttt $sss$sss$sss " | git stripspace >actual && test_cmp expect actual && printf "$ttt $sss$sss$sss " | git stripspace >actual && test_cmp expect actual && printf "$ttt $sss$sss$sss " | git stripspace >actual && test_cmp expect actual ok 7 - consecutive blank lines at the end should be removed expecting success: 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: 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: ! (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: printf "$ttt " >expect && printf "$ttt$sss" | git stripspace >actual && test_cmp expect actual && printf "$ttt " >expect && printf "$ttt$sss$sss" | git stripspace >actual && test_cmp expect actual && printf "$ttt " >expect && printf "$ttt$sss$sss$sss" | git stripspace >actual && test_cmp expect actual && printf "$ttt$ttt " >expect && printf "$ttt$ttt$sss" | git stripspace >actual && test_cmp expect actual && printf "$ttt$ttt " >expect && printf "$ttt$ttt$sss$sss" | git stripspace >actual && test_cmp expect actual && printf "$ttt$ttt$ttt " >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: ! (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: 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: printf "" >expect && echo | git stripspace >actual && test_cmp expect actual && echo "$sss" | git stripspace >actual && test_cmp expect actual && echo "$sss$sss" | git stripspace >actual && test_cmp expect actual && echo "$sss$sss$sss" | git stripspace >actual && test_cmp expect actual && echo "$sss$sss$sss$sss" | git stripspace >actual && test_cmp expect actual ok 14 - spaces with newline at end should be replaced with empty string expecting success: ! (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: printf "" >expect && printf "" | git stripspace >actual && test_cmp expect actual && printf "$sss$sss" | git stripspace >actual && test_cmp expect actual && printf "$sss$sss$sss" | git stripspace >actual && test_cmp expect actual && printf "$sss$sss$sss$sss" | git stripspace >actual && test_cmp expect actual ok 16 - spaces without newline at end should be replaced with empty string expecting success: printf "$ttt$ttt $ttt " >expect && printf "$ttt$ttt $ttt " | git stripspace >actual && test_cmp expect actual && printf "$ttt $ttt$ttt $ttt " >expect && printf "$ttt $ttt$ttt $ttt " | git stripspace >actual && test_cmp expect actual && printf "$ttt $ttt $ttt $ttt$ttt " >expect && printf "$ttt $ttt $ttt $ttt$ttt " | git stripspace >actual && test_cmp expect actual && printf "$ttt $ttt $ttt$ttt $ttt " >expect && printf "$ttt $ttt $ttt$ttt $ttt " | git stripspace >actual && test_cmp expect actual && printf "$ttt$ttt $ttt $ttt$ttt " >expect && printf "$ttt$ttt $ttt $ttt$ttt " | git stripspace >actual && test_cmp expect actual && printf "$ttt $ttt$ttt $ttt " >expect && printf "$ttt $ttt$ttt $ttt " | git stripspace >actual && test_cmp expect actual ok 17 - consecutive text lines should be unchanged expecting success: test ! -z "$(echo "# comment" | git stripspace)" && test -z "$(echo "# comment" | git stripspace -s)" ok 18 - strip comments, too # passed all 18 test(s) 1..18 *** t0040-parse-options.sh *** Initialized empty Git repository in /«PKGBUILDDIR»/t/trash directory.t0040-parse-options/.git/ expecting success: test_must_fail test-parse-options -h > output 2> output.err && test ! -s output.err && test_cmp expect output ok 1 - test help expecting success: check boolean: 1 --yes ok 2 - OPT_BOOL() #1 expecting success: check boolean: 1 --no-doubt ok 3 - OPT_BOOL() #2 expecting success: check boolean: 1 -D ok 4 - OPT_BOOL() #3 expecting success: check boolean: 1 --no-fear ok 5 - OPT_BOOL() #4 expecting success: check boolean: 1 -B ok 6 - OPT_BOOL() #5 expecting success: check boolean: 1 --yes --yes ok 7 - OPT_BOOL() is idempotent #1 expecting success: check boolean: 1 -DB ok 8 - OPT_BOOL() is idempotent #2 expecting success: check boolean: 0 -D --no-yes ok 9 - OPT_BOOL() negation #1 expecting success: check boolean: 0 -D --no-no-doubt ok 10 - OPT_BOOL() negation #2 expecting success: check_unknown --fear ok 11 - OPT_BOOL() no negation #1 expecting success: check_unknown --no-no-fear ok 12 - OPT_BOOL() no negation #2 expecting success: check boolean: 0 -D --doubt ok 13 - OPT_BOOL() positivation expecting success: test-parse-options -s123 -b -i 1729 -b -vv -n -F my.file \ > output 2> output.err && test_cmp expect output && test ! -s output.err ok 14 - short options expecting success: test-parse-options --boolean --integer 1729 --boolean --string2=321 \ --verbose --verbose --no-dry-run --abbrev=10 --file fi.le\ --obsolete > output 2> output.err && test ! -s output.err && test_cmp expect output ok 15 - long options expecting success: test-parse-options -s; test $? = 129 && test-parse-options --string; test $? = 129 && test-parse-options --file; test $? = 129 error: switch `s' requires a value usage: test-parse-options --yes get a boolean -D, --no-doubt begins with 'no-' -B, --no-fear be brave -b, --boolean increment by one -4, --or4 bitwise-or boolean with ...0100 --neg-or4 same as --no-or4 -i, --integer get a integer -j get a integer, too --set23 set integer to 23 -t