Running as unit: rb-build-arm64_1-61227.service ==================================================================================== Sat Feb 22 12:02:38 UTC 2025 - running /srv/jenkins/bin/reproducible_build.sh (for job reproducible_builder_arm64_1) on jenkins, called using "codethink03-arm64 codethink04-arm64" as arguments. Sat Feb 22 12:02:38 UTC 2025 - actually running "reproducible_build.sh" (md5sum 68e686e434c9ab7bc3ec047d8b309cbc) as "/tmp/jenkins-script-fAlpofUE" $ git clone https://salsa.debian.org/qa/jenkins.debian.net.git ; more CONTRIBUTING Sat Feb 22 12:02:38 UTC 2025 - checking /var/lib/jenkins/offline_nodes if codethink03-arm64.debian.net is marked as down. Sat Feb 22 12:02:38 UTC 2025 - checking via ssh if codethink03-arm64.debian.net is up. removed '/tmp/read-only-fs-test-A7W5FK' Sat Feb 22 12:02:39 UTC 2025 - checking /var/lib/jenkins/offline_nodes if codethink04-arm64.debian.net is marked as down. Sat Feb 22 12:02:39 UTC 2025 - checking via ssh if codethink04-arm64.debian.net is up. removed '/tmp/read-only-fs-test-K4KBEM' ok, let's check if git-imerge is building anywhere yet… ok, git-imerge is not building anywhere… UPDATE 1 ============================================================================= Initialising reproducibly build of git-imerge in trixie on arm64 on jenkins now. 1st build will be done on codethink03-arm64.debian.net. 2nd build will be done on codethink04-arm64.debian.net. ============================================================================= Sat Feb 22 12:02:45 UTC 2025 I: starting to build git-imerge/trixie/arm64 on jenkins on '2025-02-22 12:02' Sat Feb 22 12:02:45 UTC 2025 I: The jenkins build log is/was available at https://jenkins.debian.net/userContent/reproducible/debian/build_service/arm64_1/61227/console.log 1740225765 arm64 trixie git-imerge Sat Feb 22 12:02:45 UTC 2025 I: Downloading source for trixie/git-imerge=1.2.0-5 --2025-02-22 12:02:46-- http://deb.debian.org/debian/pool/main/g/git-imerge/git-imerge_1.2.0-5.dsc Connecting to 46.16.76.132:3128... connected. Proxy request sent, awaiting response... 200 OK Length: 1896 (1.9K) [text/prs.lines.tag] Saving to: ‘git-imerge_1.2.0-5.dsc’ 0K . 100% 241M=0s 2025-02-22 12:02:46 (241 MB/s) - ‘git-imerge_1.2.0-5.dsc’ saved [1896/1896] --2025-02-22 12:02:46-- http://deb.debian.org/debian/pool/main/g/git-imerge/git-imerge_1.2.0-5.dsc Connecting to 46.16.76.132:3128... connected. Proxy request sent, awaiting response... 200 OK Length: 1896 (1.9K) [text/prs.lines.tag] Saving to: ‘git-imerge_1.2.0-5.dsc’ 0K . 100% 241M=0s 2025-02-22 12:02:46 (241 MB/s) - ‘git-imerge_1.2.0-5.dsc’ saved [1896/1896] Sat Feb 22 12:02:46 UTC 2025 I: git-imerge_1.2.0-5.dsc -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 Format: 3.0 (quilt) Source: git-imerge Binary: git-imerge Architecture: all Version: 1.2.0-5 Maintainer: Paul Wise Homepage: https://github.com/mhagger/git-imerge Standards-Version: 4.6.2 Testsuite: autopkgtest-pkg-pybuild Build-Depends: bash-completion, debhelper-compat (= 13), dh-sequence-python3, git , pkg-config, python3, python3-setuptools, python3-wheel , tox Package-List: git-imerge deb vcs optional arch=all Checksums-Sha1: ebc6d10e0a91414cc3396314fd3a3d857926595e 64449 git-imerge_1.2.0.orig.tar.gz 445d4913d4da7b612288c1f14c29807a8d39f9e8 3144 git-imerge_1.2.0-5.debian.tar.xz Checksums-Sha256: cd80a817bc8dd4b5642f83610237e855fc0a23f5c11978d6f7d021cfb0e87bb2 64449 git-imerge_1.2.0.orig.tar.gz 31521a00bfa011fb6e423139e141e92009c083272633b92f7dd73b53b37d1afd 3144 git-imerge_1.2.0-5.debian.tar.xz Files: 87a2b582c619f888a7b195487cbaa83f 64449 git-imerge_1.2.0.orig.tar.gz aa6f3002505a23c84a7627b70ca28c87 3144 git-imerge_1.2.0-5.debian.tar.xz -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEEYQsotVz8/kXqG1Y7MRa6Xp/6aaMFAmTgXpEACgkQMRa6Xp/6 aaOn7RAAtNLXqYQ4f4aQUnvb3VFs4KhIZVHpf0OwKm4jcM8TI3bMjL8enHPvnFvS JhAJ1rM6VJ9FIHIs7TA0jsyJP9uUQ8HrBFMQ1gX1A38MG3I9aTBPD7ILwtTEuN0Q fzC+KlhatxUbWQdK4S6wE9S/opeEmUCIW2YFIgea2cCbpYufIfLHLxTCz6CluPB7 7q+HEc96O0WCc+bNr22pwsUiO+Mv+FUOx8cB8MJClO/isuQnsoCe7R5bg+0gDlD2 4mYr74o8SRV85XH0nEj+0FKldwPNrnzP8QOumbBCicG+zBb7hfbgQBx6i8ZvWxVv 1BJRPPAS+bdZ/QTHYtufYr1N9vH5gS7rMS35JKTJmbrHbIqch4/oJNvMmErlobmc au7QSQFTiegzC7wEjte9z4cf+kZMc+dQuzzLLFKXdehYhECa6o7rCo3IA/WfmiSS YJral+ERtsf6AQxLSfclUqzClmXRV83sihL+mpLfa9wrjuGF6LHWanVlMr3H8k4w kFL9idJoXM6+MhuzXvjwlkuFKH9kMCOMEl4K+aBFGSs601YG2y+WLxntBjCE3tKV OjTK7NOmbaiSoPcAuGfjb7x/B7GT4T8BNiEb9iYQsge+AieDNtWPshO5h9tVgHxo FLS8X9U7uUf9hcs8X8tUwgg5t6zO6l9XtdxjwI0gO1hN2TVcE3M= =Gsdn -----END PGP SIGNATURE----- Sat Feb 22 12:02:46 UTC 2025 I: Checking whether the package is not for us Sat Feb 22 12:02:46 UTC 2025 I: Starting 1st build on remote node codethink03-arm64.debian.net. Sat Feb 22 12:02:46 UTC 2025 I: Preparing to do remote build '1' on codethink03-arm64.debian.net. Sat Feb 22 12:02:46 UTC 2025 - checking /var/lib/jenkins/offline_nodes if codethink03-arm64.debian.net is marked as down. Sat Feb 22 12:02:46 UTC 2025 - checking via ssh if codethink03-arm64.debian.net is up. removed '/tmp/read-only-fs-test-CwbELJ' ==================================================================================== Fri Mar 27 18:25:47 UTC 2026 - running /srv/jenkins/bin/reproducible_build.sh (for job /srv/jenkins/bin/reproducible_build.sh) on codethink03-arm64, called using "1 git-imerge trixie /srv/reproducible-results/rbuild-debian/r-b-build.7f9P2HTC 1.2.0-5" as arguments. Fri Mar 27 18:25:47 UTC 2026 - actually running "reproducible_build.sh" (md5sum 68e686e434c9ab7bc3ec047d8b309cbc) as "/tmp/jenkins-script-9X6xnYfh" $ git clone https://salsa.debian.org/qa/jenkins.debian.net.git ; more CONTRIBUTING Fri Mar 27 18:25:47 UTC 2026 I: Downloading source for trixie/git-imerge=1.2.0-5 Reading package lists... Need to get 69.5 kB of source archives. Get:1 http://deb.debian.org/debian trixie/main git-imerge 1.2.0-5 (dsc) [1896 B] Get:2 http://deb.debian.org/debian trixie/main git-imerge 1.2.0-5 (tar) [64.4 kB] Get:3 http://deb.debian.org/debian trixie/main git-imerge 1.2.0-5 (diff) [3144 B] Fetched 69.5 kB in 0s (334 kB/s) Download complete and in download only mode Reading package lists... Need to get 69.5 kB of source archives. Get:1 http://deb.debian.org/debian trixie/main git-imerge 1.2.0-5 (dsc) [1896 B] Get:2 http://deb.debian.org/debian trixie/main git-imerge 1.2.0-5 (tar) [64.4 kB] Get:3 http://deb.debian.org/debian trixie/main git-imerge 1.2.0-5 (diff) [3144 B] Fetched 69.5 kB in 0s (334 kB/s) Download complete and in download only mode ============================================================================= Building git-imerge in trixie on arm64 on codethink03-arm64 now. Date: Fri Mar 27 18:25:48 GMT 2026 Date UTC: Fri Mar 27 18:25:48 UTC 2026 ============================================================================= W: /root/.pbuilderrc does not exist I: Logging to b1/build.log I: pbuilder: network access will be disabled during build I: Current time: Fri Mar 27 06:25:48 -12 2026 I: pbuilder-time-stamp: 1774635948 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/trixie-reproducible-base.tgz] I: copying local configuration W: --override-config is not set; not updating apt.conf Read the manpage for details. I: mounting /proc filesystem I: mounting /sys filesystem I: creating /{dev,run}/shm I: mounting /dev/pts filesystem I: redirecting /dev/ptmx to /dev/pts/ptmx I: policy-rc.d already exists I: Copying source file I: copying [git-imerge_1.2.0-5.dsc] I: copying [./git-imerge_1.2.0.orig.tar.gz] I: copying [./git-imerge_1.2.0-5.debian.tar.xz] I: Extracting source dpkg-source: warning: cannot verify inline signature for ./git-imerge_1.2.0-5.dsc: unsupported subcommand dpkg-source: info: extracting git-imerge in git-imerge-1.2.0 dpkg-source: info: unpacking git-imerge_1.2.0.orig.tar.gz dpkg-source: info: unpacking git-imerge_1.2.0-5.debian.tar.xz dpkg-source: info: using patch list from debian/patches/series dpkg-source: info: applying tox-4-pr-204.patch I: Not using root during the build. I: Installing the build-deps I: user script /srv/workspace/pbuilder/1649155/tmp/hooks/D02_print_environment starting I: set BUILDDIR='/build/reproducible-path' BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other' BUILDUSERNAME='pbuilder1' BUILD_ARCH='arm64' DEBIAN_FRONTEND='noninteractive' DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=12 ' DISTRIBUTION='trixie' HOME='/root' HOST_ARCH='arm64' IFS=' ' INVOCATION_ID='ee4e18bba7d344a0acbb0b59d5778a4a' LANG='C' LANGUAGE='en_US:en' LC_ALL='C' MAIL='/var/mail/root' OPTIND='1' PATH='/usr/sbin:/usr/bin:/sbin:/bin:/usr/games' PBCURRENTCOMMANDLINEOPERATION='build' PBUILDER_OPERATION='build' PBUILDER_PKGDATADIR='/usr/share/pbuilder' PBUILDER_PKGLIBDIR='/usr/lib/pbuilder' PBUILDER_SYSCONFDIR='/etc' PPID='1649155' PS1='# ' PS2='> ' PS4='+ ' PWD='/' SHELL='/bin/bash' SHLVL='2' SUDO_COMMAND='/usr/bin/timeout -k 18.1h 18h /usr/bin/ionice -c 3 /usr/bin/nice /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.7f9P2HTC/pbuilderrc_9GmO --distribution trixie --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/trixie-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.7f9P2HTC/b1 --logfile b1/build.log git-imerge_1.2.0-5.dsc' SUDO_GID='109' SUDO_UID='104' SUDO_USER='jenkins' TERM='unknown' TZ='/usr/share/zoneinfo/Etc/GMT+12' USER='root' _='/usr/bin/systemd-run' http_proxy='http://192.168.101.4:3128' I: uname -a Linux codethink03-arm64 6.1.0-31-cloud-arm64 #1 SMP Debian 6.1.128-1 (2025-02-07) aarch64 GNU/Linux I: ls -l /bin lrwxrwxrwx 1 root root 7 Nov 22 2024 /bin -> usr/bin I: user script /srv/workspace/pbuilder/1649155/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy Version: 0.invalid.0 Architecture: arm64 Maintainer: Debian Pbuilder Team Description: Dummy package to satisfy dependencies with aptitude - created by pbuilder This package was created automatically by pbuilder to satisfy the build-dependencies of the package being currently built. Depends: bash-completion, debhelper-compat (= 13), dh-sequence-python3, git, pkg-config, python3, python3-setuptools, python3-wheel, tox dpkg-deb: building package 'pbuilder-satisfydepends-dummy' in '/tmp/satisfydepends-aptitude/pbuilder-satisfydepends-dummy.deb'. Selecting previously unselected package pbuilder-satisfydepends-dummy. (Reading database ... 19922 files and directories currently installed.) Preparing to unpack .../pbuilder-satisfydepends-dummy.deb ... Unpacking pbuilder-satisfydepends-dummy (0.invalid.0) ... dpkg: pbuilder-satisfydepends-dummy: dependency problems, but configuring anyway as you requested: pbuilder-satisfydepends-dummy depends on bash-completion; however: Package bash-completion is not installed. pbuilder-satisfydepends-dummy depends on debhelper-compat (= 13); however: Package debhelper-compat is not installed. pbuilder-satisfydepends-dummy depends on dh-sequence-python3; however: Package dh-sequence-python3 is not installed. pbuilder-satisfydepends-dummy depends on git; however: Package git is not installed. pbuilder-satisfydepends-dummy depends on pkg-config; however: Package pkg-config is not installed. pbuilder-satisfydepends-dummy depends on python3; however: Package python3 is not installed. pbuilder-satisfydepends-dummy depends on python3-setuptools; however: Package python3-setuptools is not installed. pbuilder-satisfydepends-dummy depends on python3-wheel; however: Package python3-wheel is not installed. pbuilder-satisfydepends-dummy depends on tox; however: Package tox is not installed. Setting up pbuilder-satisfydepends-dummy (0.invalid.0) ... Reading package lists... Building dependency tree... Reading state information... Initializing package states... Writing extended state information... Building tag database... pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) The following NEW packages will be installed: autoconf{a} automake{a} autopoint{a} autotools-dev{a} bash-completion{a} bsdextrautils{a} ca-certificates{a} debhelper{a} dh-autoreconf{a} dh-python{a} dh-strip-nondeterminism{a} dwz{a} file{a} gettext{a} gettext-base{a} git{a} git-man{a} groff-base{a} intltool-debian{a} libarchive-zip-perl{a} libbrotli1{a} libcom-err2{a} libcurl3t64-gnutls{a} libdebhelper-perl{a} libelf1t64{a} liberror-perl{a} libexpat1{a} libffi8{a} libfile-stripnondeterminism-perl{a} libgnutls30t64{a} libgssapi-krb5-2{a} libicu72{a} libidn2-0{a} libjs-jquery{a} libjs-sphinxdoc{a} libjs-underscore{a} libk5crypto3{a} libkeyutils1{a} libkrb5-3{a} libkrb5support0{a} libldap2{a} libmagic-mgc{a} libmagic1t64{a} libnghttp2-14{a} libnghttp3-9{a} libngtcp2-16{a} libngtcp2-crypto-gnutls8{a} libp11-kit0{a} libpipeline1{a} libpkgconf3{a} libpsl5t64{a} libpython3-stdlib{a} libpython3.13-minimal{a} libpython3.13-stdlib{a} libreadline8t64{a} librtmp1{a} libsasl2-2{a} libsasl2-modules-db{a} libssh2-1t64{a} libtasn1-6{a} libtool{a} libuchardet0{a} libunistring5{a} libxml2{a} m4{a} man-db{a} media-types{a} netbase{a} openssl{a} pkg-config{a} pkgconf{a} pkgconf-bin{a} po-debconf{a} python3{a} python3-autocommand{a} python3-cachetools{a} python3-chardet{a} python3-colorama{a} python3-distlib{a} python3-filelock{a} python3-inflect{a} python3-jaraco.context{a} python3-jaraco.functools{a} python3-jaraco.text{a} python3-minimal{a} python3-more-itertools{a} python3-packaging{a} python3-pip-whl{a} python3-pkg-resources{a} python3-platformdirs{a} python3-pluggy{a} python3-pyproject-api{a} python3-setuptools{a} python3-setuptools-whl{a} python3-typeguard{a} python3-typing-extensions{a} python3-virtualenv{a} python3-wheel{a} python3-wheel-whl{a} python3-zipp{a} python3.13{a} python3.13-minimal{a} readline-common{a} sensible-utils{a} tox{a} tzdata{a} The following packages are RECOMMENDED but will NOT be installed: curl javascript-common krb5-locales less libarchive-cpio-perl libldap-common libltdl-dev libmail-sendmail-perl libsasl2-modules lynx openssh-client publicsuffix python3-dev wget 0 packages upgraded, 106 newly installed, 0 to remove and 0 not upgraded. Need to get 49.1 MB of archives. After unpacking 197 MB will be used. Writing extended state information... Get: 1 http://deb.debian.org/debian trixie/main arm64 libpython3.13-minimal arm64 3.13.2-1 [853 kB] Get: 2 http://deb.debian.org/debian trixie/main arm64 libexpat1 arm64 2.6.4-1 [90.7 kB] Get: 3 http://deb.debian.org/debian trixie/main arm64 python3.13-minimal arm64 3.13.2-1 [1997 kB] Get: 4 http://deb.debian.org/debian trixie/main arm64 python3-minimal arm64 3.13.1-2 [27.0 kB] Get: 5 http://deb.debian.org/debian trixie/main arm64 media-types all 10.1.0 [26.9 kB] Get: 6 http://deb.debian.org/debian trixie/main arm64 netbase all 6.4 [12.8 kB] Get: 7 http://deb.debian.org/debian trixie/main arm64 tzdata all 2025a-2 [259 kB] Get: 8 http://deb.debian.org/debian trixie/main arm64 libffi8 arm64 3.4.7-1 [21.2 kB] Get: 9 http://deb.debian.org/debian trixie/main arm64 readline-common all 8.2-6 [69.4 kB] Get: 10 http://deb.debian.org/debian trixie/main arm64 libreadline8t64 arm64 8.2-6 [159 kB] Get: 11 http://deb.debian.org/debian trixie/main arm64 libpython3.13-stdlib arm64 3.13.2-1 [1914 kB] Get: 12 http://deb.debian.org/debian trixie/main arm64 python3.13 arm64 3.13.2-1 [745 kB] Get: 13 http://deb.debian.org/debian trixie/main arm64 libpython3-stdlib arm64 3.13.1-2 [9952 B] Get: 14 http://deb.debian.org/debian trixie/main arm64 python3 arm64 3.13.1-2 [28.0 kB] Get: 15 http://deb.debian.org/debian trixie/main arm64 sensible-utils all 0.0.24 [24.8 kB] Get: 16 http://deb.debian.org/debian trixie/main arm64 bash-completion all 1:2.16.0-7 [319 kB] Get: 17 http://deb.debian.org/debian trixie/main arm64 openssl arm64 3.4.1-1 [1390 kB] Get: 18 http://deb.debian.org/debian trixie/main arm64 ca-certificates all 20241223 [164 kB] Get: 19 http://deb.debian.org/debian trixie/main arm64 libmagic-mgc arm64 1:5.45-3+b1 [314 kB] Get: 20 http://deb.debian.org/debian trixie/main arm64 libmagic1t64 arm64 1:5.45-3+b1 [102 kB] Get: 21 http://deb.debian.org/debian trixie/main arm64 file arm64 1:5.45-3+b1 [43.4 kB] Get: 22 http://deb.debian.org/debian trixie/main arm64 gettext-base arm64 0.23.1-1 [241 kB] Get: 23 http://deb.debian.org/debian trixie/main arm64 libuchardet0 arm64 0.0.8-1+b2 [69.2 kB] Get: 24 http://deb.debian.org/debian trixie/main arm64 groff-base arm64 1.23.0-7 [1129 kB] Get: 25 http://deb.debian.org/debian trixie/main arm64 bsdextrautils arm64 2.40.4-3 [92.0 kB] Get: 26 http://deb.debian.org/debian trixie/main arm64 libpipeline1 arm64 1.5.8-1 [40.2 kB] Get: 27 http://deb.debian.org/debian trixie/main arm64 man-db arm64 2.13.0-1 [1404 kB] Get: 28 http://deb.debian.org/debian trixie/main arm64 m4 arm64 1.4.19-5 [284 kB] Get: 29 http://deb.debian.org/debian trixie/main arm64 autoconf all 2.72-3 [493 kB] Get: 30 http://deb.debian.org/debian trixie/main arm64 autotools-dev all 20220109.1 [51.6 kB] Get: 31 http://deb.debian.org/debian trixie/main arm64 automake all 1:1.17-3 [862 kB] Get: 32 http://deb.debian.org/debian trixie/main arm64 autopoint all 0.23.1-1 [770 kB] Get: 33 http://deb.debian.org/debian trixie/main arm64 libdebhelper-perl all 13.24.1 [90.9 kB] Get: 34 http://deb.debian.org/debian trixie/main arm64 libtool all 2.5.4-3 [539 kB] Get: 35 http://deb.debian.org/debian trixie/main arm64 dh-autoreconf all 20 [17.1 kB] Get: 36 http://deb.debian.org/debian trixie/main arm64 libarchive-zip-perl all 1.68-1 [104 kB] Get: 37 http://deb.debian.org/debian trixie/main arm64 libfile-stripnondeterminism-perl all 1.14.1-2 [19.7 kB] Get: 38 http://deb.debian.org/debian trixie/main arm64 dh-strip-nondeterminism all 1.14.1-2 [8620 B] Get: 39 http://deb.debian.org/debian trixie/main arm64 libelf1t64 arm64 0.192-4 [189 kB] Get: 40 http://deb.debian.org/debian trixie/main arm64 dwz arm64 0.15-1+b1 [102 kB] Get: 41 http://deb.debian.org/debian trixie/main arm64 libunistring5 arm64 1.3-1 [449 kB] Get: 42 http://deb.debian.org/debian trixie/main arm64 libicu72 arm64 72.1-6 [9239 kB] Get: 43 http://deb.debian.org/debian trixie/main arm64 libxml2 arm64 2.12.7+dfsg+really2.9.14-0.2+b1 [630 kB] Get: 44 http://deb.debian.org/debian trixie/main arm64 gettext arm64 0.23.1-1 [1610 kB] Get: 45 http://deb.debian.org/debian trixie/main arm64 intltool-debian all 0.35.0+20060710.6 [22.9 kB] Get: 46 http://deb.debian.org/debian trixie/main arm64 po-debconf all 1.0.21+nmu1 [248 kB] Get: 47 http://deb.debian.org/debian trixie/main arm64 debhelper all 13.24.1 [920 kB] Get: 48 http://deb.debian.org/debian trixie/main arm64 python3-autocommand all 2.2.2-3 [13.6 kB] Get: 49 http://deb.debian.org/debian trixie/main arm64 python3-more-itertools all 10.6.0-1 [65.3 kB] Get: 50 http://deb.debian.org/debian trixie/main arm64 python3-typing-extensions all 4.12.2-2 [73.0 kB] Get: 51 http://deb.debian.org/debian trixie/main arm64 python3-typeguard all 4.4.1-1 [37.0 kB] Get: 52 http://deb.debian.org/debian trixie/main arm64 python3-inflect all 7.3.1-2 [32.4 kB] Get: 53 http://deb.debian.org/debian trixie/main arm64 python3-jaraco.context all 6.0.0-1 [7984 B] Get: 54 http://deb.debian.org/debian trixie/main arm64 python3-jaraco.functools all 4.1.0-1 [12.0 kB] Get: 55 http://deb.debian.org/debian trixie/main arm64 python3-pkg-resources all 75.6.0-1 [222 kB] Get: 56 http://deb.debian.org/debian trixie/main arm64 python3-jaraco.text all 4.0.0-1 [11.4 kB] Get: 57 http://deb.debian.org/debian trixie/main arm64 python3-zipp all 3.21.0-1 [10.6 kB] Get: 58 http://deb.debian.org/debian trixie/main arm64 python3-setuptools all 75.6.0-1 [720 kB] Get: 59 http://deb.debian.org/debian trixie/main arm64 dh-python all 6.20250108 [113 kB] Get: 60 http://deb.debian.org/debian trixie/main arm64 libbrotli1 arm64 1.1.0-2+b6 [297 kB] Get: 61 http://deb.debian.org/debian trixie/main arm64 libidn2-0 arm64 2.3.7-2+b1 [127 kB] Get: 62 http://deb.debian.org/debian trixie/main arm64 libp11-kit0 arm64 0.25.5-3 [409 kB] Get: 63 http://deb.debian.org/debian trixie/main arm64 libtasn1-6 arm64 4.20.0-2 [47.3 kB] Get: 64 http://deb.debian.org/debian trixie/main arm64 libgnutls30t64 arm64 3.8.9-2 [1374 kB] Get: 65 http://deb.debian.org/debian trixie/main arm64 libkrb5support0 arm64 1.21.3-4 [32.2 kB] Get: 66 http://deb.debian.org/debian trixie/main arm64 libcom-err2 arm64 1.47.2-1 [23.9 kB] Get: 67 http://deb.debian.org/debian trixie/main arm64 libk5crypto3 arm64 1.21.3-4 [81.5 kB] Get: 68 http://deb.debian.org/debian trixie/main arm64 libkeyutils1 arm64 1.6.3-4 [9352 B] Get: 69 http://deb.debian.org/debian trixie/main arm64 libkrb5-3 arm64 1.21.3-4 [308 kB] Get: 70 http://deb.debian.org/debian trixie/main arm64 libgssapi-krb5-2 arm64 1.21.3-4 [127 kB] Get: 71 http://deb.debian.org/debian trixie/main arm64 libsasl2-modules-db arm64 2.1.28+dfsg1-8+b1 [20.3 kB] Get: 72 http://deb.debian.org/debian trixie/main arm64 libsasl2-2 arm64 2.1.28+dfsg1-8+b1 [55.7 kB] Get: 73 http://deb.debian.org/debian trixie/main arm64 libldap2 arm64 2.6.9+dfsg-1 [179 kB] Get: 74 http://deb.debian.org/debian trixie/main arm64 libnghttp2-14 arm64 1.64.0-1 [71.3 kB] Get: 75 http://deb.debian.org/debian trixie/main arm64 libnghttp3-9 arm64 1.6.0-2 [60.5 kB] Get: 76 http://deb.debian.org/debian trixie/main arm64 libngtcp2-16 arm64 1.9.1-1 [109 kB] Get: 77 http://deb.debian.org/debian trixie/main arm64 libngtcp2-crypto-gnutls8 arm64 1.9.1-1 [17.3 kB] Get: 78 http://deb.debian.org/debian trixie/main arm64 libpsl5t64 arm64 0.21.2-1.1+b1 [57.1 kB] Get: 79 http://deb.debian.org/debian trixie/main arm64 librtmp1 arm64 2.4+20151223.gitfa8646d.1-2+b5 [56.8 kB] Get: 80 http://deb.debian.org/debian trixie/main arm64 libssh2-1t64 arm64 1.11.1-1 [235 kB] Get: 81 http://deb.debian.org/debian trixie/main arm64 libcurl3t64-gnutls arm64 8.12.1-2 [336 kB] Get: 82 http://deb.debian.org/debian trixie/main arm64 liberror-perl all 0.17029-2 [29.0 kB] Get: 83 http://deb.debian.org/debian trixie/main arm64 git-man all 1:2.47.2-0.1 [2205 kB] Get: 84 http://deb.debian.org/debian trixie/main arm64 git arm64 1:2.47.2-0.1 [8756 kB] Get: 85 http://deb.debian.org/debian trixie/main arm64 libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [326 kB] Get: 86 http://deb.debian.org/debian trixie/main arm64 libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [116 kB] Get: 87 http://deb.debian.org/debian trixie/main arm64 libjs-sphinxdoc all 8.1.3-4 [30.4 kB] Get: 88 http://deb.debian.org/debian trixie/main arm64 libpkgconf3 arm64 1.8.1-4 [35.3 kB] Get: 89 http://deb.debian.org/debian trixie/main arm64 pkgconf-bin arm64 1.8.1-4 [29.6 kB] Get: 90 http://deb.debian.org/debian trixie/main arm64 pkgconf arm64 1.8.1-4 [26.1 kB] Get: 91 http://deb.debian.org/debian trixie/main arm64 pkg-config arm64 1.8.1-4 [14.0 kB] Get: 92 http://deb.debian.org/debian trixie/main arm64 python3-cachetools all 5.3.3-1 [13.2 kB] Get: 93 http://deb.debian.org/debian trixie/main arm64 python3-chardet all 5.2.0+dfsg-2 [108 kB] Get: 94 http://deb.debian.org/debian trixie/main arm64 python3-colorama all 0.4.6-4 [36.2 kB] Get: 95 http://deb.debian.org/debian trixie/main arm64 python3-distlib all 0.3.9-1 [257 kB] Get: 96 http://deb.debian.org/debian trixie/main arm64 python3-filelock all 3.16.1-1 [12.6 kB] Get: 97 http://deb.debian.org/debian trixie/main arm64 python3-packaging all 24.2-1 [55.3 kB] Get: 98 http://deb.debian.org/debian trixie/main arm64 python3-pip-whl all 25.0+dfsg-1 [1522 kB] Get: 99 http://deb.debian.org/debian trixie/main arm64 python3-platformdirs all 4.3.6-1 [16.6 kB] Get: 100 http://deb.debian.org/debian trixie/main arm64 python3-pluggy all 1.5.0-1 [26.9 kB] Get: 101 http://deb.debian.org/debian trixie/main arm64 python3-pyproject-api all 1.9.0-1 [51.6 kB] Get: 102 http://deb.debian.org/debian trixie/main arm64 python3-setuptools-whl all 75.6.0-1 [1239 kB] Get: 103 http://deb.debian.org/debian trixie/main arm64 python3-wheel-whl all 0.45.1-1 [75.3 kB] Get: 104 http://deb.debian.org/debian trixie/main arm64 python3-virtualenv all 20.29.1+ds-1 [71.6 kB] Get: 105 http://deb.debian.org/debian trixie/main arm64 python3-wheel all 0.45.1-1 [56.7 kB] Get: 106 http://deb.debian.org/debian trixie/main arm64 tox all 4.24.1-1 [399 kB] Fetched 49.1 MB in 0s (144 MB/s) Preconfiguring packages ... Selecting previously unselected package libpython3.13-minimal:arm64. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 19922 files and directories currently installed.) Preparing to unpack .../libpython3.13-minimal_3.13.2-1_arm64.deb ... Unpacking libpython3.13-minimal:arm64 (3.13.2-1) ... Selecting previously unselected package libexpat1:arm64. Preparing to unpack .../libexpat1_2.6.4-1_arm64.deb ... Unpacking libexpat1:arm64 (2.6.4-1) ... Selecting previously unselected package python3.13-minimal. Preparing to unpack .../python3.13-minimal_3.13.2-1_arm64.deb ... Unpacking python3.13-minimal (3.13.2-1) ... Setting up libpython3.13-minimal:arm64 (3.13.2-1) ... Setting up libexpat1:arm64 (2.6.4-1) ... Setting up python3.13-minimal (3.13.2-1) ... Selecting previously unselected package python3-minimal. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 20256 files and directories currently installed.) Preparing to unpack .../0-python3-minimal_3.13.1-2_arm64.deb ... Unpacking python3-minimal (3.13.1-2) ... Selecting previously unselected package media-types. Preparing to unpack .../1-media-types_10.1.0_all.deb ... Unpacking media-types (10.1.0) ... Selecting previously unselected package netbase. Preparing to unpack .../2-netbase_6.4_all.deb ... Unpacking netbase (6.4) ... Selecting previously unselected package tzdata. Preparing to unpack .../3-tzdata_2025a-2_all.deb ... Unpacking tzdata (2025a-2) ... Selecting previously unselected package libffi8:arm64. Preparing to unpack .../4-libffi8_3.4.7-1_arm64.deb ... Unpacking libffi8:arm64 (3.4.7-1) ... Selecting previously unselected package readline-common. Preparing to unpack .../5-readline-common_8.2-6_all.deb ... Unpacking readline-common (8.2-6) ... Selecting previously unselected package libreadline8t64:arm64. Preparing to unpack .../6-libreadline8t64_8.2-6_arm64.deb ... Adding 'diversion of /lib/aarch64-linux-gnu/libhistory.so.8 to /lib/aarch64-linux-gnu/libhistory.so.8.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/aarch64-linux-gnu/libhistory.so.8.2 to /lib/aarch64-linux-gnu/libhistory.so.8.2.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/aarch64-linux-gnu/libreadline.so.8 to /lib/aarch64-linux-gnu/libreadline.so.8.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/aarch64-linux-gnu/libreadline.so.8.2 to /lib/aarch64-linux-gnu/libreadline.so.8.2.usr-is-merged by libreadline8t64' Unpacking libreadline8t64:arm64 (8.2-6) ... Selecting previously unselected package libpython3.13-stdlib:arm64. Preparing to unpack .../7-libpython3.13-stdlib_3.13.2-1_arm64.deb ... Unpacking libpython3.13-stdlib:arm64 (3.13.2-1) ... Selecting previously unselected package python3.13. Preparing to unpack .../8-python3.13_3.13.2-1_arm64.deb ... Unpacking python3.13 (3.13.2-1) ... Selecting previously unselected package libpython3-stdlib:arm64. Preparing to unpack .../9-libpython3-stdlib_3.13.1-2_arm64.deb ... Unpacking libpython3-stdlib:arm64 (3.13.1-2) ... Setting up python3-minimal (3.13.1-2) ... Selecting previously unselected package python3. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 21266 files and directories currently installed.) Preparing to unpack .../00-python3_3.13.1-2_arm64.deb ... Unpacking python3 (3.13.1-2) ... Selecting previously unselected package sensible-utils. Preparing to unpack .../01-sensible-utils_0.0.24_all.deb ... Unpacking sensible-utils (0.0.24) ... Selecting previously unselected package bash-completion. Preparing to unpack .../02-bash-completion_1%3a2.16.0-7_all.deb ... Unpacking bash-completion (1:2.16.0-7) ... Selecting previously unselected package openssl. Preparing to unpack .../03-openssl_3.4.1-1_arm64.deb ... Unpacking openssl (3.4.1-1) ... Selecting previously unselected package ca-certificates. Preparing to unpack .../04-ca-certificates_20241223_all.deb ... Unpacking ca-certificates (20241223) ... Selecting previously unselected package libmagic-mgc. Preparing to unpack .../05-libmagic-mgc_1%3a5.45-3+b1_arm64.deb ... Unpacking libmagic-mgc (1:5.45-3+b1) ... Selecting previously unselected package libmagic1t64:arm64. Preparing to unpack .../06-libmagic1t64_1%3a5.45-3+b1_arm64.deb ... Unpacking libmagic1t64:arm64 (1:5.45-3+b1) ... Selecting previously unselected package file. Preparing to unpack .../07-file_1%3a5.45-3+b1_arm64.deb ... Unpacking file (1:5.45-3+b1) ... Selecting previously unselected package gettext-base. Preparing to unpack .../08-gettext-base_0.23.1-1_arm64.deb ... Unpacking gettext-base (0.23.1-1) ... Selecting previously unselected package libuchardet0:arm64. Preparing to unpack .../09-libuchardet0_0.0.8-1+b2_arm64.deb ... Unpacking libuchardet0:arm64 (0.0.8-1+b2) ... Selecting previously unselected package groff-base. Preparing to unpack .../10-groff-base_1.23.0-7_arm64.deb ... Unpacking groff-base (1.23.0-7) ... Selecting previously unselected package bsdextrautils. Preparing to unpack .../11-bsdextrautils_2.40.4-3_arm64.deb ... Unpacking bsdextrautils (2.40.4-3) ... Selecting previously unselected package libpipeline1:arm64. Preparing to unpack .../12-libpipeline1_1.5.8-1_arm64.deb ... Unpacking libpipeline1:arm64 (1.5.8-1) ... Selecting previously unselected package man-db. Preparing to unpack .../13-man-db_2.13.0-1_arm64.deb ... Unpacking man-db (2.13.0-1) ... Selecting previously unselected package m4. Preparing to unpack .../14-m4_1.4.19-5_arm64.deb ... Unpacking m4 (1.4.19-5) ... Selecting previously unselected package autoconf. Preparing to unpack .../15-autoconf_2.72-3_all.deb ... Unpacking autoconf (2.72-3) ... Selecting previously unselected package autotools-dev. Preparing to unpack .../16-autotools-dev_20220109.1_all.deb ... Unpacking autotools-dev (20220109.1) ... Selecting previously unselected package automake. Preparing to unpack .../17-automake_1%3a1.17-3_all.deb ... Unpacking automake (1:1.17-3) ... Selecting previously unselected package autopoint. Preparing to unpack .../18-autopoint_0.23.1-1_all.deb ... Unpacking autopoint (0.23.1-1) ... Selecting previously unselected package libdebhelper-perl. Preparing to unpack .../19-libdebhelper-perl_13.24.1_all.deb ... Unpacking libdebhelper-perl (13.24.1) ... Selecting previously unselected package libtool. Preparing to unpack .../20-libtool_2.5.4-3_all.deb ... Unpacking libtool (2.5.4-3) ... Selecting previously unselected package dh-autoreconf. Preparing to unpack .../21-dh-autoreconf_20_all.deb ... Unpacking dh-autoreconf (20) ... Selecting previously unselected package libarchive-zip-perl. Preparing to unpack .../22-libarchive-zip-perl_1.68-1_all.deb ... Unpacking libarchive-zip-perl (1.68-1) ... Selecting previously unselected package libfile-stripnondeterminism-perl. Preparing to unpack .../23-libfile-stripnondeterminism-perl_1.14.1-2_all.deb ... Unpacking libfile-stripnondeterminism-perl (1.14.1-2) ... Selecting previously unselected package dh-strip-nondeterminism. Preparing to unpack .../24-dh-strip-nondeterminism_1.14.1-2_all.deb ... Unpacking dh-strip-nondeterminism (1.14.1-2) ... Selecting previously unselected package libelf1t64:arm64. Preparing to unpack .../25-libelf1t64_0.192-4_arm64.deb ... Unpacking libelf1t64:arm64 (0.192-4) ... Selecting previously unselected package dwz. Preparing to unpack .../26-dwz_0.15-1+b1_arm64.deb ... Unpacking dwz (0.15-1+b1) ... Selecting previously unselected package libunistring5:arm64. Preparing to unpack .../27-libunistring5_1.3-1_arm64.deb ... Unpacking libunistring5:arm64 (1.3-1) ... Selecting previously unselected package libicu72:arm64. Preparing to unpack .../28-libicu72_72.1-6_arm64.deb ... Unpacking libicu72:arm64 (72.1-6) ... Selecting previously unselected package libxml2:arm64. Preparing to unpack .../29-libxml2_2.12.7+dfsg+really2.9.14-0.2+b1_arm64.deb ... Unpacking libxml2:arm64 (2.12.7+dfsg+really2.9.14-0.2+b1) ... Selecting previously unselected package gettext. Preparing to unpack .../30-gettext_0.23.1-1_arm64.deb ... Unpacking gettext (0.23.1-1) ... Selecting previously unselected package intltool-debian. Preparing to unpack .../31-intltool-debian_0.35.0+20060710.6_all.deb ... Unpacking intltool-debian (0.35.0+20060710.6) ... Selecting previously unselected package po-debconf. Preparing to unpack .../32-po-debconf_1.0.21+nmu1_all.deb ... Unpacking po-debconf (1.0.21+nmu1) ... Selecting previously unselected package debhelper. Preparing to unpack .../33-debhelper_13.24.1_all.deb ... Unpacking debhelper (13.24.1) ... Selecting previously unselected package python3-autocommand. Preparing to unpack .../34-python3-autocommand_2.2.2-3_all.deb ... Unpacking python3-autocommand (2.2.2-3) ... Selecting previously unselected package python3-more-itertools. Preparing to unpack .../35-python3-more-itertools_10.6.0-1_all.deb ... Unpacking python3-more-itertools (10.6.0-1) ... Selecting previously unselected package python3-typing-extensions. Preparing to unpack .../36-python3-typing-extensions_4.12.2-2_all.deb ... Unpacking python3-typing-extensions (4.12.2-2) ... Selecting previously unselected package python3-typeguard. Preparing to unpack .../37-python3-typeguard_4.4.1-1_all.deb ... Unpacking python3-typeguard (4.4.1-1) ... Selecting previously unselected package python3-inflect. Preparing to unpack .../38-python3-inflect_7.3.1-2_all.deb ... Unpacking python3-inflect (7.3.1-2) ... Selecting previously unselected package python3-jaraco.context. Preparing to unpack .../39-python3-jaraco.context_6.0.0-1_all.deb ... Unpacking python3-jaraco.context (6.0.0-1) ... Selecting previously unselected package python3-jaraco.functools. Preparing to unpack .../40-python3-jaraco.functools_4.1.0-1_all.deb ... Unpacking python3-jaraco.functools (4.1.0-1) ... Selecting previously unselected package python3-pkg-resources. Preparing to unpack .../41-python3-pkg-resources_75.6.0-1_all.deb ... Unpacking python3-pkg-resources (75.6.0-1) ... Selecting previously unselected package python3-jaraco.text. Preparing to unpack .../42-python3-jaraco.text_4.0.0-1_all.deb ... Unpacking python3-jaraco.text (4.0.0-1) ... Selecting previously unselected package python3-zipp. Preparing to unpack .../43-python3-zipp_3.21.0-1_all.deb ... Unpacking python3-zipp (3.21.0-1) ... Selecting previously unselected package python3-setuptools. Preparing to unpack .../44-python3-setuptools_75.6.0-1_all.deb ... Unpacking python3-setuptools (75.6.0-1) ... Selecting previously unselected package dh-python. Preparing to unpack .../45-dh-python_6.20250108_all.deb ... Unpacking dh-python (6.20250108) ... Selecting previously unselected package libbrotli1:arm64. Preparing to unpack .../46-libbrotli1_1.1.0-2+b6_arm64.deb ... Unpacking libbrotli1:arm64 (1.1.0-2+b6) ... Selecting previously unselected package libidn2-0:arm64. Preparing to unpack .../47-libidn2-0_2.3.7-2+b1_arm64.deb ... Unpacking libidn2-0:arm64 (2.3.7-2+b1) ... Selecting previously unselected package libp11-kit0:arm64. Preparing to unpack .../48-libp11-kit0_0.25.5-3_arm64.deb ... Unpacking libp11-kit0:arm64 (0.25.5-3) ... Selecting previously unselected package libtasn1-6:arm64. Preparing to unpack .../49-libtasn1-6_4.20.0-2_arm64.deb ... Unpacking libtasn1-6:arm64 (4.20.0-2) ... Selecting previously unselected package libgnutls30t64:arm64. Preparing to unpack .../50-libgnutls30t64_3.8.9-2_arm64.deb ... Unpacking libgnutls30t64:arm64 (3.8.9-2) ... Selecting previously unselected package libkrb5support0:arm64. Preparing to unpack .../51-libkrb5support0_1.21.3-4_arm64.deb ... Unpacking libkrb5support0:arm64 (1.21.3-4) ... Selecting previously unselected package libcom-err2:arm64. Preparing to unpack .../52-libcom-err2_1.47.2-1_arm64.deb ... Unpacking libcom-err2:arm64 (1.47.2-1) ... Selecting previously unselected package libk5crypto3:arm64. Preparing to unpack .../53-libk5crypto3_1.21.3-4_arm64.deb ... Unpacking libk5crypto3:arm64 (1.21.3-4) ... Selecting previously unselected package libkeyutils1:arm64. Preparing to unpack .../54-libkeyutils1_1.6.3-4_arm64.deb ... Unpacking libkeyutils1:arm64 (1.6.3-4) ... Selecting previously unselected package libkrb5-3:arm64. Preparing to unpack .../55-libkrb5-3_1.21.3-4_arm64.deb ... Unpacking libkrb5-3:arm64 (1.21.3-4) ... Selecting previously unselected package libgssapi-krb5-2:arm64. Preparing to unpack .../56-libgssapi-krb5-2_1.21.3-4_arm64.deb ... Unpacking libgssapi-krb5-2:arm64 (1.21.3-4) ... Selecting previously unselected package libsasl2-modules-db:arm64. Preparing to unpack .../57-libsasl2-modules-db_2.1.28+dfsg1-8+b1_arm64.deb ... Unpacking libsasl2-modules-db:arm64 (2.1.28+dfsg1-8+b1) ... Selecting previously unselected package libsasl2-2:arm64. Preparing to unpack .../58-libsasl2-2_2.1.28+dfsg1-8+b1_arm64.deb ... Unpacking libsasl2-2:arm64 (2.1.28+dfsg1-8+b1) ... Selecting previously unselected package libldap2:arm64. Preparing to unpack .../59-libldap2_2.6.9+dfsg-1_arm64.deb ... Unpacking libldap2:arm64 (2.6.9+dfsg-1) ... Selecting previously unselected package libnghttp2-14:arm64. Preparing to unpack .../60-libnghttp2-14_1.64.0-1_arm64.deb ... Unpacking libnghttp2-14:arm64 (1.64.0-1) ... Selecting previously unselected package libnghttp3-9:arm64. Preparing to unpack .../61-libnghttp3-9_1.6.0-2_arm64.deb ... Unpacking libnghttp3-9:arm64 (1.6.0-2) ... Selecting previously unselected package libngtcp2-16:arm64. Preparing to unpack .../62-libngtcp2-16_1.9.1-1_arm64.deb ... Unpacking libngtcp2-16:arm64 (1.9.1-1) ... Selecting previously unselected package libngtcp2-crypto-gnutls8:arm64. Preparing to unpack .../63-libngtcp2-crypto-gnutls8_1.9.1-1_arm64.deb ... Unpacking libngtcp2-crypto-gnutls8:arm64 (1.9.1-1) ... Selecting previously unselected package libpsl5t64:arm64. Preparing to unpack .../64-libpsl5t64_0.21.2-1.1+b1_arm64.deb ... Unpacking libpsl5t64:arm64 (0.21.2-1.1+b1) ... Selecting previously unselected package librtmp1:arm64. Preparing to unpack .../65-librtmp1_2.4+20151223.gitfa8646d.1-2+b5_arm64.deb ... Unpacking librtmp1:arm64 (2.4+20151223.gitfa8646d.1-2+b5) ... Selecting previously unselected package libssh2-1t64:arm64. Preparing to unpack .../66-libssh2-1t64_1.11.1-1_arm64.deb ... Unpacking libssh2-1t64:arm64 (1.11.1-1) ... Selecting previously unselected package libcurl3t64-gnutls:arm64. Preparing to unpack .../67-libcurl3t64-gnutls_8.12.1-2_arm64.deb ... Unpacking libcurl3t64-gnutls:arm64 (8.12.1-2) ... Selecting previously unselected package liberror-perl. Preparing to unpack .../68-liberror-perl_0.17029-2_all.deb ... Unpacking liberror-perl (0.17029-2) ... Selecting previously unselected package git-man. Preparing to unpack .../69-git-man_1%3a2.47.2-0.1_all.deb ... Unpacking git-man (1:2.47.2-0.1) ... Selecting previously unselected package git. Preparing to unpack .../70-git_1%3a2.47.2-0.1_arm64.deb ... Unpacking git (1:2.47.2-0.1) ... Selecting previously unselected package libjs-jquery. Preparing to unpack .../71-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... Selecting previously unselected package libjs-underscore. Preparing to unpack .../72-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... Selecting previously unselected package libjs-sphinxdoc. Preparing to unpack .../73-libjs-sphinxdoc_8.1.3-4_all.deb ... Unpacking libjs-sphinxdoc (8.1.3-4) ... Selecting previously unselected package libpkgconf3:arm64. Preparing to unpack .../74-libpkgconf3_1.8.1-4_arm64.deb ... Unpacking libpkgconf3:arm64 (1.8.1-4) ... Selecting previously unselected package pkgconf-bin. Preparing to unpack .../75-pkgconf-bin_1.8.1-4_arm64.deb ... Unpacking pkgconf-bin (1.8.1-4) ... Selecting previously unselected package pkgconf:arm64. Preparing to unpack .../76-pkgconf_1.8.1-4_arm64.deb ... Unpacking pkgconf:arm64 (1.8.1-4) ... Selecting previously unselected package pkg-config:arm64. Preparing to unpack .../77-pkg-config_1.8.1-4_arm64.deb ... Unpacking pkg-config:arm64 (1.8.1-4) ... Selecting previously unselected package python3-cachetools. Preparing to unpack .../78-python3-cachetools_5.3.3-1_all.deb ... Unpacking python3-cachetools (5.3.3-1) ... Selecting previously unselected package python3-chardet. Preparing to unpack .../79-python3-chardet_5.2.0+dfsg-2_all.deb ... Unpacking python3-chardet (5.2.0+dfsg-2) ... Selecting previously unselected package python3-colorama. Preparing to unpack .../80-python3-colorama_0.4.6-4_all.deb ... Unpacking python3-colorama (0.4.6-4) ... Selecting previously unselected package python3-distlib. Preparing to unpack .../81-python3-distlib_0.3.9-1_all.deb ... Unpacking python3-distlib (0.3.9-1) ... Selecting previously unselected package python3-filelock. Preparing to unpack .../82-python3-filelock_3.16.1-1_all.deb ... Unpacking python3-filelock (3.16.1-1) ... Selecting previously unselected package python3-packaging. Preparing to unpack .../83-python3-packaging_24.2-1_all.deb ... Unpacking python3-packaging (24.2-1) ... Selecting previously unselected package python3-pip-whl. Preparing to unpack .../84-python3-pip-whl_25.0+dfsg-1_all.deb ... Unpacking python3-pip-whl (25.0+dfsg-1) ... Selecting previously unselected package python3-platformdirs. Preparing to unpack .../85-python3-platformdirs_4.3.6-1_all.deb ... Unpacking python3-platformdirs (4.3.6-1) ... Selecting previously unselected package python3-pluggy. Preparing to unpack .../86-python3-pluggy_1.5.0-1_all.deb ... Unpacking python3-pluggy (1.5.0-1) ... Selecting previously unselected package python3-pyproject-api. Preparing to unpack .../87-python3-pyproject-api_1.9.0-1_all.deb ... Unpacking python3-pyproject-api (1.9.0-1) ... Selecting previously unselected package python3-setuptools-whl. Preparing to unpack .../88-python3-setuptools-whl_75.6.0-1_all.deb ... Unpacking python3-setuptools-whl (75.6.0-1) ... Selecting previously unselected package python3-wheel-whl. Preparing to unpack .../89-python3-wheel-whl_0.45.1-1_all.deb ... Unpacking python3-wheel-whl (0.45.1-1) ... Selecting previously unselected package python3-virtualenv. Preparing to unpack .../90-python3-virtualenv_20.29.1+ds-1_all.deb ... Unpacking python3-virtualenv (20.29.1+ds-1) ... Selecting previously unselected package python3-wheel. Preparing to unpack .../91-python3-wheel_0.45.1-1_all.deb ... Unpacking python3-wheel (0.45.1-1) ... Selecting previously unselected package tox. Preparing to unpack .../92-tox_4.24.1-1_all.deb ... Unpacking tox (4.24.1-1) ... Setting up media-types (10.1.0) ... Setting up libpipeline1:arm64 (1.5.8-1) ... Setting up python3-setuptools-whl (75.6.0-1) ... Setting up libkeyutils1:arm64 (1.6.3-4) ... Setting up libicu72:arm64 (72.1-6) ... Setting up bsdextrautils (2.40.4-3) ... Setting up libmagic-mgc (1:5.45-3+b1) ... Setting up libarchive-zip-perl (1.68-1) ... Setting up libdebhelper-perl (13.24.1) ... Setting up libbrotli1:arm64 (1.1.0-2+b6) ... Setting up libmagic1t64:arm64 (1:5.45-3+b1) ... Setting up libnghttp2-14:arm64 (1.64.0-1) ... Setting up gettext-base (0.23.1-1) ... Setting up m4 (1.4.19-5) ... Setting up libcom-err2:arm64 (1.47.2-1) ... Setting up file (1:5.45-3+b1) ... Setting up libelf1t64:arm64 (0.192-4) ... Setting up libkrb5support0:arm64 (1.21.3-4) ... Setting up libsasl2-modules-db:arm64 (2.1.28+dfsg1-8+b1) ... Setting up tzdata (2025a-2) ... Current default time zone: 'Etc/UTC' Local time is now: Fri Mar 27 18:26:09 UTC 2026. Universal Time is now: Fri Mar 27 18:26:09 UTC 2026. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up liberror-perl (0.17029-2) ... Setting up autotools-dev (20220109.1) ... Setting up libpkgconf3:arm64 (1.8.1-4) ... Setting up bash-completion (1:2.16.0-7) ... Setting up libunistring5:arm64 (1.3-1) ... Setting up autopoint (0.23.1-1) ... Setting up pkgconf-bin (1.8.1-4) ... Setting up libk5crypto3:arm64 (1.21.3-4) ... Setting up libsasl2-2:arm64 (2.1.28+dfsg1-8+b1) ... Setting up autoconf (2.72-3) ... Setting up libnghttp3-9:arm64 (1.6.0-2) ... Setting up libffi8:arm64 (3.4.7-1) ... Setting up dwz (0.15-1+b1) ... Setting up sensible-utils (0.0.24) ... Setting up libuchardet0:arm64 (0.0.8-1+b2) ... Setting up libtasn1-6:arm64 (4.20.0-2) ... Setting up git-man (1:2.47.2-0.1) ... Setting up netbase (6.4) ... Setting up libngtcp2-16:arm64 (1.9.1-1) ... Setting up libkrb5-3:arm64 (1.21.3-4) ... Setting up libssh2-1t64:arm64 (1.11.1-1) ... Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... Setting up openssl (3.4.1-1) ... Setting up python3-wheel-whl (0.45.1-1) ... Setting up readline-common (8.2-6) ... Setting up libxml2:arm64 (2.12.7+dfsg+really2.9.14-0.2+b1) ... Setting up libldap2:arm64 (2.6.9+dfsg-1) ... Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... Setting up automake (1:1.17-3) ... update-alternatives: using /usr/bin/automake-1.17 to provide /usr/bin/automake (automake) in auto mode Setting up libfile-stripnondeterminism-perl (1.14.1-2) ... Setting up gettext (0.23.1-1) ... Setting up libtool (2.5.4-3) ... Setting up libidn2-0:arm64 (2.3.7-2+b1) ... Setting up pkgconf:arm64 (1.8.1-4) ... Setting up intltool-debian (0.35.0+20060710.6) ... Setting up dh-autoreconf (20) ... Setting up ca-certificates (20241223) ... Updating certificates in /etc/ssl/certs... 152 added, 0 removed; done. Setting up libp11-kit0:arm64 (0.25.5-3) ... Setting up libgssapi-krb5-2:arm64 (1.21.3-4) ... Setting up pkg-config:arm64 (1.8.1-4) ... Setting up libjs-sphinxdoc (8.1.3-4) ... Setting up libreadline8t64:arm64 (8.2-6) ... Setting up dh-strip-nondeterminism (1.14.1-2) ... Setting up groff-base (1.23.0-7) ... Setting up libpython3.13-stdlib:arm64 (3.13.2-1) ... Setting up libpython3-stdlib:arm64 (3.13.1-2) ... Setting up libgnutls30t64:arm64 (3.8.9-2) ... Setting up python3.13 (3.13.2-1) ... Setting up python3-pip-whl (25.0+dfsg-1) ... Setting up po-debconf (1.0.21+nmu1) ... Setting up libpsl5t64:arm64 (0.21.2-1.1+b1) ... Setting up python3 (3.13.1-2) ... Setting up python3-distlib (0.3.9-1) ... Setting up python3-zipp (3.21.0-1) ... Setting up python3-autocommand (2.2.2-3) ... Setting up man-db (2.13.0-1) ... Not building database; man-db/auto-update is not 'true'. Setting up python3-wheel (0.45.1-1) ... Setting up python3-platformdirs (4.3.6-1) ... Setting up python3-packaging (24.2-1) ... Setting up python3-chardet (5.2.0+dfsg-2) ... Setting up librtmp1:arm64 (2.4+20151223.gitfa8646d.1-2+b5) ... Setting up python3-typing-extensions (4.12.2-2) ... Setting up python3-pluggy (1.5.0-1) ... Setting up libngtcp2-crypto-gnutls8:arm64 (1.9.1-1) ... Setting up python3-more-itertools (10.6.0-1) ... Setting up python3-filelock (3.16.1-1) ... Setting up python3-jaraco.functools (4.1.0-1) ... Setting up python3-jaraco.context (6.0.0-1) ... Setting up python3-cachetools (5.3.3-1) ... Setting up python3-colorama (0.4.6-4) ... Setting up python3-pyproject-api (1.9.0-1) ... Setting up python3-typeguard (4.4.1-1) ... Setting up libcurl3t64-gnutls:arm64 (8.12.1-2) ... Setting up python3-virtualenv (20.29.1+ds-1) ... Setting up debhelper (13.24.1) ... Setting up python3-inflect (7.3.1-2) ... Setting up python3-jaraco.text (4.0.0-1) ... Setting up git (1:2.47.2-0.1) ... Setting up python3-pkg-resources (75.6.0-1) ... Setting up python3-setuptools (75.6.0-1) ... Setting up tox (4.24.1-1) ... Setting up dh-python (6.20250108) ... Processing triggers for libc-bin (2.40-7) ... Processing triggers for ca-certificates (20241223) ... Updating certificates in /etc/ssl/certs... 0 added, 0 removed; done. Running hooks in /etc/ca-certificates/update.d... done. Reading package lists... Building dependency tree... Reading state information... Reading extended state information... Initializing package states... Writing extended state information... Building tag database... -> Finished parsing the build-deps I: Building the package I: Running cd /build/reproducible-path/git-imerge-1.2.0/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-genchanges -S > ../git-imerge_1.2.0-5_source.changes dpkg-buildpackage: info: source package git-imerge dpkg-buildpackage: info: source version 1.2.0-5 dpkg-buildpackage: info: source distribution unstable dpkg-buildpackage: info: source changed by Paul Wise dpkg-source --before-build . dpkg-buildpackage: info: host architecture arm64 debian/rules clean dh clean --buildsystem=pybuild dh_auto_clean -O--buildsystem=pybuild I: pybuild base:311: python3.13 setup.py clean running clean removing '/build/reproducible-path/git-imerge-1.2.0/.pybuild/cpython3_3.13/build' (and everything under it) 'build/bdist.linux-aarch64' does not exist -- can't clean it 'build/scripts-3.13' does not exist -- can't clean it dh_autoreconf_clean -O--buildsystem=pybuild dh_clean -O--buildsystem=pybuild debian/rules binary dh binary --buildsystem=pybuild dh_update_autotools_config -O--buildsystem=pybuild dh_autoreconf -O--buildsystem=pybuild dh_auto_configure -O--buildsystem=pybuild I: pybuild base:311: python3.13 setup.py config running config dh_auto_build -O--buildsystem=pybuild I: pybuild base:311: /usr/bin/python3 setup.py build running build running build_py copying gitimerge.py -> /build/reproducible-path/git-imerge-1.2.0/.pybuild/cpython3_3.13/build dh_auto_test -O--buildsystem=pybuild I: pybuild base:311: /usr/bin/python3 -c "import setuptools, runpy; runpy.run_path('setup.py')" bdist_wheel running bdist_wheel running build running build_py creating build/lib copying gitimerge.py -> build/lib /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:66: SetuptoolsDeprecationWarning: setup.py install is deprecated. !! ******************************************************************************** Please avoid running ``setup.py`` directly. Instead, use pypa/build, pypa/installer or other standards-based tools. See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details. ******************************************************************************** !! self.initialize_options() installing to build/bdist.linux-aarch64/wheel running install running install_lib creating build/bdist.linux-aarch64/wheel copying build/lib/gitimerge.py -> build/bdist.linux-aarch64/wheel/. running install_data creating build/bdist.linux-aarch64/wheel/git_imerge-1.2.0.data/data creating build/bdist.linux-aarch64/wheel/usr/share/bash-completion/completions copying completions/git-imerge -> build/bdist.linux-aarch64/wheel/usr/share/bash-completion/completions running install_egg_info running egg_info creating git_imerge.egg-info writing git_imerge.egg-info/PKG-INFO writing dependency_links to git_imerge.egg-info/dependency_links.txt writing entry points to git_imerge.egg-info/entry_points.txt writing top-level names to git_imerge.egg-info/top_level.txt writing manifest file 'git_imerge.egg-info/SOURCES.txt' reading manifest file 'git_imerge.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' adding license file 'COPYING' writing manifest file 'git_imerge.egg-info/SOURCES.txt' Copying git_imerge.egg-info to build/bdist.linux-aarch64/wheel/./git_imerge-1.2.0.egg-info running install_scripts creating build/bdist.linux-aarch64/wheel/git_imerge-1.2.0.dist-info/WHEEL creating 'dist/git_imerge-1.2.0-py3-none-any.whl' and adding 'build/bdist.linux-aarch64/wheel' to it adding 'gitimerge.py' adding 'usr/share/bash-completion/completions/git-imerge' adding 'git_imerge-1.2.0.dist-info/COPYING' adding 'git_imerge-1.2.0.dist-info/METADATA' adding 'git_imerge-1.2.0.dist-info/WHEEL' adding 'git_imerge-1.2.0.dist-info/entry_points.txt' adding 'git_imerge-1.2.0.dist-info/top_level.txt' adding 'git_imerge-1.2.0.dist-info/RECORD' removing build/bdist.linux-aarch64/wheel I: pybuild base:311: cd /build/reproducible-path/git-imerge-1.2.0/.pybuild/cpython3_3.13/build; tox -c /build/reproducible-path/git-imerge-1.2.0/tox.ini --sitepackages -e py313 -x testenv.passenv+=_PYTHON_HOST_PLATFORM --installpkg /build/reproducible-path/git-imerge-1.2.0/.pybuild/cpython3_3.13/git_imerge-1.2.0-py3-none-any.whl py313: install_package .pybuild/cpython3_3.13/build> python -I -m pip install --force-reinstall --no-deps /build/reproducible-path/git-imerge-1.2.0/.pybuild/cpython3_3.13/git_imerge-1.2.0-py3-none-any.whl py313: commands[0] .pybuild/cpython3_3.13/build> /bin/sh t/test-unconflicted + dirname t/test-unconflicted + cd t + pwd + dirname /build/reproducible-path/git-imerge-1.2.0/t + BASE=/build/reproducible-path/git-imerge-1.2.0 + . /build/reproducible-path/git-imerge-1.2.0/t/test-lib.sh + GIT_IMERGE=git-imerge + TMP=/build/reproducible-path/git-imerge-1.2.0/t/tmp/unconflicted + DESCRIPTION=git-imerge test repository without conflicts + init_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/unconflicted git-imerge test repository without conflicts + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/unconflicted + local description=git-imerge test repository without conflicts + delete_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/unconflicted git-imerge test repository without conflicts + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/unconflicted + local description=git-imerge test repository without conflicts + test -d /build/reproducible-path/git-imerge-1.2.0/t/tmp/unconflicted + mkdir -p /build/reproducible-path/git-imerge-1.2.0/t/tmp/unconflicted + git init /build/reproducible-path/git-imerge-1.2.0/t/tmp/unconflicted hint: Using 'master' as the name for the initial branch. This default branch name hint: is subject to change. To configure the initial branch name to use in all hint: of your new repositories, which will suppress this warning, call: hint: hint: git config --global init.defaultBranch hint: hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and hint: 'development'. The just-created branch can be renamed via this command: hint: hint: git branch -m Initialized empty Git repository in /build/reproducible-path/git-imerge-1.2.0/t/tmp/unconflicted/.git/ + echo git-imerge test repository without conflicts + printf %s\n /*.out /*.css /*.html + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/unconflicted/.git config user.name Loú User + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/unconflicted/.git config user.email luser@example.com + TIME=1112911993 + ln -s /build/reproducible-path/git-imerge-1.2.0/imerge.css /build/reproducible-path/git-imerge-1.2.0/t/tmp/unconflicted + cd /build/reproducible-path/git-imerge-1.2.0/t/tmp/unconflicted + modify a.txt 0 + filename=a.txt + text=0 + echo 0 + git add a.txt + modify b.txt 0 + filename=b.txt + text=0 + echo 0 + git add b.txt + commit -m m⇒0 + TIME=1112911994 + GIT_AUTHOR_DATE=@1112911994 +0000 GIT_COMMITTER_DATE=@1112911994 +0000 git commit -m m⇒0 [master (root-commit) 780ddf5] m⇒0 2 files changed, 2 insertions(+) create mode 100644 a.txt create mode 100644 b.txt + git checkout -b a -- Switched to a new branch 'a' + seq 8 + modify a.txt 1 + filename=a.txt + text=1 + echo 1 + git add a.txt + commit -m a⇒1 + TIME=1112911995 + GIT_AUTHOR_DATE=@1112911995 +0000 GIT_COMMITTER_DATE=@1112911995 +0000 git commit -m a⇒1 [a b862e30] a⇒1 1 file changed, 1 insertion(+), 1 deletion(-) + modify a.txt 2 + filename=a.txt + text=2 + echo 2 + git add a.txt + commit -m a⇒2 + TIME=1112911996 + GIT_AUTHOR_DATE=@1112911996 +0000 GIT_COMMITTER_DATE=@1112911996 +0000 git commit -m a⇒2 [a dcbe282] a⇒2 1 file changed, 1 insertion(+), 1 deletion(-) + modify a.txt 3 + filename=a.txt + text=3 + echo 3 + git add a.txt + commit -m a⇒3 + TIME=1112911997 + GIT_AUTHOR_DATE=@1112911997 +0000 GIT_COMMITTER_DATE=@1112911997 +0000 git commit -m a⇒3 [a ecd8647] a⇒3 1 file changed, 1 insertion(+), 1 deletion(-) + modify a.txt 4 + filename=a.txt + text=4 + echo 4 + git add a.txt + commit -m a⇒4 + TIME=1112911998 + GIT_AUTHOR_DATE=@1112911998 +0000 GIT_COMMITTER_DATE=@1112911998 +0000 git commit -m a⇒4 [a 1634bab] a⇒4 1 file changed, 1 insertion(+), 1 deletion(-) + modify a.txt 5 + filename=a.txt + text=5 + echo 5 + git add a.txt + commit -m a⇒5 + TIME=1112911999 + GIT_AUTHOR_DATE=@1112911999 +0000 GIT_COMMITTER_DATE=@1112911999 +0000 git commit -m a⇒5 [a 909ce12] a⇒5 1 file changed, 1 insertion(+), 1 deletion(-) + modify a.txt 6 + filename=a.txt + text=6 + echo 6 + git add a.txt + commit -m a⇒6 + TIME=1112912000 + GIT_AUTHOR_DATE=@1112912000 +0000 GIT_COMMITTER_DATE=@1112912000 +0000 git commit -m a⇒6 [a f6520bf] a⇒6 1 file changed, 1 insertion(+), 1 deletion(-) + modify a.txt 7 + filename=a.txt + text=7 + echo 7 + git add a.txt + commit -m a⇒7 + TIME=1112912001 + GIT_AUTHOR_DATE=@1112912001 +0000 GIT_COMMITTER_DATE=@1112912001 +0000 git commit -m a⇒7 [a 6797186] a⇒7 1 file changed, 1 insertion(+), 1 deletion(-) + modify a.txt 8 + filename=a.txt + text=8 + echo 8 + git add a.txt + commit -m a⇒8 + TIME=1112912002 + GIT_AUTHOR_DATE=@1112912002 +0000 GIT_COMMITTER_DATE=@1112912002 +0000 git commit -m a⇒8 [a 49643dd] a⇒8 1 file changed, 1 insertion(+), 1 deletion(-) + git checkout -b b master -- Switched to a new branch 'b' + seq 5 + modify b.txt 1 + filename=b.txt + text=1 + echo 1 + git add b.txt + commit -m b⇒1 + TIME=1112912003 + GIT_AUTHOR_DATE=@1112912003 +0000 GIT_COMMITTER_DATE=@1112912003 +0000 git commit -m b⇒1 [b d43305b] b⇒1 1 file changed, 1 insertion(+), 1 deletion(-) + modify b.txt 2 + filename=b.txt + text=2 + echo 2 + git add b.txt + commit -m b⇒2 + TIME=1112912004 + GIT_AUTHOR_DATE=@1112912004 +0000 GIT_COMMITTER_DATE=@1112912004 +0000 git commit -m b⇒2 [b 853ee68] b⇒2 1 file changed, 1 insertion(+), 1 deletion(-) + modify b.txt 3 + filename=b.txt + text=3 + echo 3 + git add b.txt + commit -m b⇒3 + TIME=1112912005 + GIT_AUTHOR_DATE=@1112912005 +0000 GIT_COMMITTER_DATE=@1112912005 +0000 git commit -m b⇒3 [b 03a2455] b⇒3 1 file changed, 1 insertion(+), 1 deletion(-) + modify b.txt 4 + filename=b.txt + text=4 + echo 4 + git add b.txt + commit -m b⇒4 + TIME=1112912006 + GIT_AUTHOR_DATE=@1112912006 +0000 GIT_COMMITTER_DATE=@1112912006 +0000 git commit -m b⇒4 [b 484ea85] b⇒4 1 file changed, 1 insertion(+), 1 deletion(-) + modify b.txt 5 + filename=b.txt + text=5 + echo 5 + git add b.txt + commit -m b⇒5 + TIME=1112912007 + GIT_AUTHOR_DATE=@1112912007 +0000 GIT_COMMITTER_DATE=@1112912007 +0000 git commit -m b⇒5 [b e22cd97] b⇒5 1 file changed, 1 insertion(+), 1 deletion(-) + EXPECTED_TREE=e4a7b27799be355bbcbf8bfe9c29d74190082c42 + git checkout a Switched to branch 'a' + git-imerge start --first-parent --name=a-b --branch=a-b-merge b Attempting automerge of 8-5...success. Autofilling 1-5...success. Autofilling 2-5...success. Autofilling 3-5...success. Autofilling 4-5...success. Autofilling 5-5...success. Autofilling 6-5...success. Autofilling 7-5...success. Autofilling 8-1...success. Autofilling 8-2...success. Autofilling 8-3...success. Autofilling 8-4...success. Autofilling 8-5 (first way)...success. Autofilling 8-5 (second way)...success. The two ways of autofilling 8-5 agree. Recording autofilled block MergeState('a-b', tip1='a', tip2='b', goal='merge')[0:9,0:6]. Merge is complete! + git-imerge list * a-b + git-imerge diagram --commits --frontier --html=imerge3.html 0 5 8 | | | 0 - ********* - a *???????. *???????. *???????. *???????. 5 - *........ | b 0 5 8 | | | 0 - ********* - a *???????| *???????| *???????| *???????| 5 - *-------+ | b Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + GIT_EDITOR=cat git-imerge simplify --goal=merge --branch=a-b-merge Merge b into a (using imerge) # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # Date: Fri Mar 27 18:26:30 2026 +0000 # # On branch a-b-merge # Changes to be committed: # modified: b.txt # [a-b-merge 311cfbf] Merge b into a (using imerge) Date: Fri Mar 27 18:26:30 2026 +0000 + check_tree a-b-merge e4a7b27799be355bbcbf8bfe9c29d74190082c42 + local refname=a-b-merge + local expected_tree=e4a7b27799be355bbcbf8bfe9c29d74190082c42 + git rev-parse a-b-merge^{tree} + test e4a7b27799be355bbcbf8bfe9c29d74190082c42 = e4a7b27799be355bbcbf8bfe9c29d74190082c42 + git-imerge simplify --goal=rebase --branch=a-b-rebase + check_tree a-b-rebase e4a7b27799be355bbcbf8bfe9c29d74190082c42 + local refname=a-b-rebase + local expected_tree=e4a7b27799be355bbcbf8bfe9c29d74190082c42 + git rev-parse a-b-rebase^{tree} + test e4a7b27799be355bbcbf8bfe9c29d74190082c42 = e4a7b27799be355bbcbf8bfe9c29d74190082c42 + git-imerge simplify --goal=rebase-with-history --branch=a-b-rebase-with-history + check_tree a-b-rebase-with-history e4a7b27799be355bbcbf8bfe9c29d74190082c42 + local refname=a-b-rebase-with-history + local expected_tree=e4a7b27799be355bbcbf8bfe9c29d74190082c42 + git rev-parse a-b-rebase-with-history^{tree} + test e4a7b27799be355bbcbf8bfe9c29d74190082c42 = e4a7b27799be355bbcbf8bfe9c29d74190082c42 + git-imerge simplify --goal=border --branch=a-b-border + check_tree a-b-border e4a7b27799be355bbcbf8bfe9c29d74190082c42 + local refname=a-b-border + local expected_tree=e4a7b27799be355bbcbf8bfe9c29d74190082c42 + git rev-parse a-b-border^{tree} + test e4a7b27799be355bbcbf8bfe9c29d74190082c42 = e4a7b27799be355bbcbf8bfe9c29d74190082c42 + git-imerge simplify --goal=border-with-history --branch=a-b-border-with-history + check_tree a-b-border-with-history e4a7b27799be355bbcbf8bfe9c29d74190082c42 + local refname=a-b-border-with-history + local expected_tree=e4a7b27799be355bbcbf8bfe9c29d74190082c42 + git rev-parse a-b-border-with-history^{tree} + test e4a7b27799be355bbcbf8bfe9c29d74190082c42 = e4a7b27799be355bbcbf8bfe9c29d74190082c42 + git-imerge simplify --goal=border-with-history2 --branch=a-b-border-with-history2 + check_tree a-b-border-with-history2 e4a7b27799be355bbcbf8bfe9c29d74190082c42 + local refname=a-b-border-with-history2 + local expected_tree=e4a7b27799be355bbcbf8bfe9c29d74190082c42 + git rev-parse a-b-border-with-history2^{tree} + test e4a7b27799be355bbcbf8bfe9c29d74190082c42 = e4a7b27799be355bbcbf8bfe9c29d74190082c42 + git-imerge remove + git checkout a Switched to branch 'a' + git-imerge start --goal=full --name=a-b b Attempting to merge 1-1...success. Attempting to merge 1-2...success. Attempting to merge 1-3...success. Attempting to merge 1-4...success. Attempting to merge 1-5...success. Attempting to merge 2-1...success. Attempting to merge 2-2...success. Attempting to merge 2-3...success. Attempting to merge 2-4...success. Attempting to merge 2-5...success. Attempting to merge 3-1...success. Attempting to merge 3-2...success. Attempting to merge 3-3...success. Attempting to merge 3-4...success. Attempting to merge 3-5...success. Attempting to merge 4-1...success. Attempting to merge 4-2...success. Attempting to merge 4-3...success. Attempting to merge 4-4...success. Attempting to merge 4-5...success. Attempting to merge 5-1...success. Attempting to merge 5-2...success. Attempting to merge 5-3...success. Attempting to merge 5-4...success. Attempting to merge 5-5...success. Attempting to merge 6-1...success. Attempting to merge 6-2...success. Attempting to merge 6-3...success. Attempting to merge 6-4...success. Attempting to merge 6-5...success. Attempting to merge 7-1...success. Attempting to merge 7-2...success. Attempting to merge 7-3...success. Attempting to merge 7-4...success. Attempting to merge 7-5...success. Attempting to merge 8-1...success. Attempting to merge 8-2...success. Attempting to merge 8-3...success. Attempting to merge 8-4...success. Attempting to merge 8-5...success. Merge is complete! + git-imerge list * a-b + git-imerge diagram --commits --frontier --html=imerge4.html 0 5 8 | | | 0 - ********* - a *........ *........ *........ *........ 5 - *........ | b 0 5 8 | | | 0 - ********* - a *.......| *.......| *.......| *.......| 5 - *-------+ | b Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + git-imerge finish --branch=a-b-full + check_tree a-b-full e4a7b27799be355bbcbf8bfe9c29d74190082c42 + local refname=a-b-full + local expected_tree=e4a7b27799be355bbcbf8bfe9c29d74190082c42 + git rev-parse a-b-full^{tree} + test e4a7b27799be355bbcbf8bfe9c29d74190082c42 = e4a7b27799be355bbcbf8bfe9c29d74190082c42 py313: commands[1] .pybuild/cpython3_3.13/build> /bin/sh t/test-conflicted + dirname t/test-conflicted + cd t + pwd + dirname /build/reproducible-path/git-imerge-1.2.0/t + BASE=/build/reproducible-path/git-imerge-1.2.0 + . /build/reproducible-path/git-imerge-1.2.0/t/test-lib.sh + GIT_IMERGE=git-imerge + EXPECTED_TREE=ffa191c987a8d3f597376744a95439fa1b4a55c5 + test_conflict 4-3 + local conflict=4-3 + TMP=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-4-3 + DESCRIPTION=git-imerge test repository with conflict at 4-3 + init_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-4-3 git-imerge test repository with conflict at 4-3 + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-4-3 + local description=git-imerge test repository with conflict at 4-3 + delete_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-4-3 git-imerge test repository with conflict at 4-3 + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-4-3 + local description=git-imerge test repository with conflict at 4-3 + test -d /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-4-3 + mkdir -p /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-4-3 + git init /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-4-3 hint: Using 'master' as the name for the initial branch. This default branch name hint: is subject to change. To configure the initial branch name to use in all hint: of your new repositories, which will suppress this warning, call: hint: hint: git config --global init.defaultBranch hint: hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and hint: 'development'. The just-created branch can be renamed via this command: hint: hint: git branch -m Initialized empty Git repository in /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-4-3/.git/ + echo git-imerge test repository with conflict at 4-3 + printf %s\n /*.out /*.css /*.html + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-4-3/.git config user.name Loú User + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-4-3/.git config user.email luser@example.com + TIME=1112911993 + ln -s /build/reproducible-path/git-imerge-1.2.0/imerge.css /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-4-3 + cd /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-4-3 + modify c.txt 0 + filename=c.txt + text=0 + echo 0 + git add c.txt + modify d.txt 0 + filename=d.txt + text=0 + echo 0 + git add d.txt + modify conflict.txt original version + filename=conflict.txt + text=original version + echo original version + git add conflict.txt + commit -m m⇒0 + TIME=1112911994 + GIT_AUTHOR_DATE=@1112911994 +0000 GIT_COMMITTER_DATE=@1112911994 +0000 git commit -m m⇒0 + git checkout -b c master -- [master (root-commit) d70e04b] m⇒0 3 files changed, 3 insertions(+) create mode 100644 c.txt create mode 100644 conflict.txt create mode 100644 d.txt Switched to a new branch 'c' + seq 9 + modify c.txt 1 + filename=c.txt + text=1 + echo 1 + git add c.txt + commit -m c⇒1 + TIME=1112911995 + GIT_AUTHOR_DATE=@1112911995 +0000 GIT_COMMITTER_DATE=@1112911995 +0000 git commit -m c⇒1 [c 89e2141] c⇒1 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 2 + filename=c.txt + text=2 + echo 2 + git add c.txt + commit -m c⇒2 + TIME=1112911996 + GIT_AUTHOR_DATE=@1112911996 +0000 GIT_COMMITTER_DATE=@1112911996 +0000 git commit -m c⇒2 [c 7c431f2] c⇒2 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 3 + filename=c.txt + text=3 + echo 3 + git add c.txt + commit -m c⇒3 + TIME=1112911997 + GIT_AUTHOR_DATE=@1112911997 +0000 GIT_COMMITTER_DATE=@1112911997 +0000 git commit -m c⇒3 [c f02ab24] c⇒3 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 4 + filename=c.txt + text=4 + echo 4 + git add c.txt + modify conflict.txt c version + filename=conflict.txt + text=c version + echo c version + git add conflict.txt + commit -m c⇒4 + TIME=1112911998 + GIT_AUTHOR_DATE=@1112911998 +0000 GIT_COMMITTER_DATE=@1112911998 +0000 git commit -m c⇒4 [c 3c091de] c⇒4 2 files changed, 2 insertions(+), 2 deletions(-) + modify c.txt 5 + filename=c.txt + text=5 + echo 5 + git add c.txt + commit -m c⇒5 + TIME=1112911999 + GIT_AUTHOR_DATE=@1112911999 +0000 GIT_COMMITTER_DATE=@1112911999 +0000 git commit -m c⇒5 [c a0ac37a] c⇒5 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 6 + filename=c.txt + text=6 + echo 6 + git add c.txt + commit -m c⇒6 + TIME=1112912000 + GIT_AUTHOR_DATE=@1112912000 +0000 GIT_COMMITTER_DATE=@1112912000 +0000 git commit -m c⇒6 [c ed9fdfa] c⇒6 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 7 + filename=c.txt + text=7 + echo 7 + git add c.txt + commit -m c⇒7 + TIME=1112912001 + GIT_AUTHOR_DATE=@1112912001 +0000 GIT_COMMITTER_DATE=@1112912001 +0000 git commit -m c⇒7 [c 1da7bf5] c⇒7 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 8 + filename=c.txt + text=8 + echo 8 + git add c.txt + commit -m c⇒8 + TIME=1112912002 + GIT_AUTHOR_DATE=@1112912002 +0000 GIT_COMMITTER_DATE=@1112912002 +0000 git commit -m c⇒8 [c d8de99f] c⇒8 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 9 + filename=c.txt + text=9 + echo 9 + git add c.txt + commit -m c⇒9 + TIME=1112912003 + GIT_AUTHOR_DATE=@1112912003 +0000 GIT_COMMITTER_DATE=@1112912003 +0000 git commit -m c⇒9 [c 9cde605] c⇒9 1 file changed, 1 insertion(+), 1 deletion(-) + git checkout -b d master -- Switched to a new branch 'd' + seq 6 + modify d.txt 1 + filename=d.txt + text=1 + echo 1 + git add d.txt + commit -m d⇒1 + TIME=1112912004 + GIT_AUTHOR_DATE=@1112912004 +0000 GIT_COMMITTER_DATE=@1112912004 +0000 git commit -m d⇒1 [d bd5368a] d⇒1 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 2 + filename=d.txt + text=2 + echo 2 + git add d.txt + commit -m d⇒2 + TIME=1112912005 + GIT_AUTHOR_DATE=@1112912005 +0000 GIT_COMMITTER_DATE=@1112912005 +0000 git commit -m d⇒2 [d 93e27e6] d⇒2 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 3 + filename=d.txt + text=3 + echo 3 + git add d.txt + modify conflict.txt d version + filename=conflict.txt + text=d version + echo d version + git add conflict.txt + commit -m d⇒3 + TIME=1112912006 + GIT_AUTHOR_DATE=@1112912006 +0000 GIT_COMMITTER_DATE=@1112912006 +0000 git commit -m d⇒3 [d 2bb1a7e] d⇒3 2 files changed, 2 insertions(+), 2 deletions(-) + modify d.txt 4 + filename=d.txt + text=4 + echo 4 + git add d.txt + commit -m d⇒4 + TIME=1112912007 + GIT_AUTHOR_DATE=@1112912007 +0000 GIT_COMMITTER_DATE=@1112912007 +0000 git commit -m d⇒4 [d 81f9c80] d⇒4 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 5 + filename=d.txt + text=5 + echo 5 + git add d.txt + commit -m d⇒5 + TIME=1112912008 + GIT_AUTHOR_DATE=@1112912008 +0000 GIT_COMMITTER_DATE=@1112912008 +0000 git commit -m d⇒5 + modify d.txt 6 + filename=d.txt + text=6 + echo 6 [d 3690dde] d⇒5 1 file changed, 1 insertion(+), 1 deletion(-) + git add d.txt + commit -m d⇒6 + TIME=1112912009 + GIT_AUTHOR_DATE=@1112912009 +0000 GIT_COMMITTER_DATE=@1112912009 +0000 git commit -m d⇒6 [d 8085853] d⇒6 1 file changed, 1 insertion(+), 1 deletion(-) + git checkout c Switched to branch 'c' + git-imerge init --name=c-d d + git-imerge list * c-d + git-imerge diagram --commits --frontier --html=imerge0.html 0 5 9 | | | 0 - ********** - c *????????? *????????? *????????? *????????? 5 - *????????? 6 - *????????? | d 0 5 9 | | | 0 - ********** - c *????????? *????????? *????????? *????????? 5 - *????????? 6 - *????????? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + git-imerge autofill + tee autofill.out Attempting automerge of 9-6...failure. Attempting automerge of 1-1...success. Attempting automerge of 1-4...success. Attempting automerge of 1-6...success. Attempting automerge of 9-6...failure. Attempting automerge of 5-6...failure. Attempting automerge of 3-6...success. Attempting automerge of 4-6...failure. Attempting automerge of 4-1...success. Attempting automerge of 4-4...failure. Attempting automerge of 4-3...failure. Attempting automerge of 4-2...success. Attempting automerge of 9-2...success. Autofilling 1-6...success. Autofilling 2-6...success. Autofilling 3-1...success. Autofilling 3-2...success. Autofilling 3-3...success. Autofilling 3-4...success. Autofilling 3-5...success. Autofilling 3-6 (first way)...success. Autofilling 3-6 (second way)...success. The two ways of autofilling 3-6 agree. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[0:4,0:7]. Autofilling 4-2...success. Autofilling 5-2...success. Autofilling 6-2...success. Autofilling 7-2...success. Autofilling 8-2...success. Autofilling 9-1...success. Autofilling 9-2 (first way)...success. Autofilling 9-2 (second way)...success. The two ways of autofilling 9-2 agree. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[3:10,0:3]. Attempting automerge of 9-6...failure. Attempting automerge of 4-3...failure. HEAD is now at 9cde605 c⇒9 Conflict; suggest manual merge of 4-3 + grep -q Traceback autofill.out + grep -q suggest manual merge of 4-3 autofill.out + git-imerge diagram --commits --frontier --html=imerge1.html 0 5 9 | | | 0 - ********** - c *??.?????. *??....... *??.#????? *??.?????? 5 - *??.?????? 6 - *...?????? | d 0 5 9 | | | 0 - ********** - c *??.?????| *??.-----+ *??|#????? *??|?????? 5 - *??|?????? 6 - *--+?????? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + git-imerge continue --edit Switched to branch 'imerge/c-d' Auto-merging conflict.txt CONFLICT (content): Merge conflict in conflict.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit 3c091ded129a5edf9061360bab867edade996c93 Author: Loú User Date: Thu Apr 7 22:13:18 2005 +0000 c⇒4 Original second commit: commit 2bb1a7e7c5451146af7dc59b69b8289c76a3ee7b Author: Loú User Date: Thu Apr 7 22:13:26 2005 +0000 d⇒3 There was a conflict merging commit 4-3, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + echo merged version + git add conflict.txt + git-imerge continue --no-edit [imerge/c-d a7b0370] imerge 'c-d': manual merge 4-3 Merge has been recorded for merge 4-3. Attempting automerge of 4-6...success. Autofilling 4-4...success. Autofilling 4-5...success. Autofilling 4-6...success. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[3:5,3:7]. Attempting automerge of 9-6...success. Autofilling 5-6...success. Autofilling 6-6...success. Autofilling 7-6...success. Autofilling 8-6...success. Autofilling 9-3...success. Autofilling 9-4...success. Autofilling 9-5...success. Autofilling 9-6 (first way)...success. Autofilling 9-6 (second way)...success. The two ways of autofilling 9-6 agree. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[4:10,2:7]. Merge is complete! + git-imerge diagram --commits --frontier --html=imerge2.html 0 5 9 | | | 0 - ********** - c *??.?????. *??....... *??.*????. *??..????. 5 - *??..????. 6 - *......... | d 0 5 9 | | | 0 - ********** - c *??.?????| *??......| *??.*????| *??..????| 5 - *??..????| 6 - *--------+ | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + GIT_EDITOR=cat git-imerge simplify --goal=merge --branch=c-d-merge Merge d into c (using imerge) # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # Date: Fri Mar 27 18:26:37 2026 +0000 # # On branch c-d-merge # Changes to be committed: # modified: conflict.txt # modified: d.txt # [c-d-merge a5ec3ea] Merge d into c (using imerge) Date: Fri Mar 27 18:26:37 2026 +0000 + check_tree c-d-merge ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-merge + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-merge^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=rebase --branch=c-d-rebase + check_tree c-d-rebase ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-rebase + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-rebase^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=rebase-with-history --branch=c-d-rebase-with-history + check_tree c-d-rebase-with-history ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-rebase-with-history + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-rebase-with-history^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border --branch=c-d-border + check_tree c-d-border ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-border^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border-with-history --branch=c-d-border-with-history + check_tree c-d-border-with-history ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border-with-history + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-border-with-history^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border-with-history2 --branch=c-d-border-with-history2 + check_tree c-d-border-with-history2 ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border-with-history2 + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-border-with-history2^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge remove + git checkout c Switched to branch 'c' + git-imerge start --goal=full --first-parent --name=c-d d + tee start.out Attempting to merge 1-1...success. Attempting to merge 1-2...success. Attempting to merge 1-3...success. Attempting to merge 1-4...success. Attempting to merge 1-5...success. Attempting to merge 1-6...success. Attempting to merge 2-1...success. Attempting to merge 2-2...success. Attempting to merge 2-3...success. Attempting to merge 2-4...success. Attempting to merge 2-5...success. Attempting to merge 2-6...success. Attempting to merge 3-1...success. Attempting to merge 3-2...success. Attempting to merge 3-3...success. Attempting to merge 3-4...success. Attempting to merge 3-5...success. Attempting to merge 3-6...success. Attempting to merge 4-1...success. Attempting to merge 4-2...success. Attempting to merge 4-3...conflict. Attempting to merge 5-1...success. Attempting to merge 5-2...success. Attempting to merge 6-1...success. Attempting to merge 6-2...success. Attempting to merge 7-1...success. Attempting to merge 7-2...success. Attempting to merge 8-1...success. Attempting to merge 8-2...success. Attempting to merge 9-1...success. Attempting to merge 9-2...success. Previous HEAD position was 03a27b6 imerge 'c-d': automatic merge 9-2 Switched to branch 'imerge/c-d' Auto-merging conflict.txt CONFLICT (content): Merge conflict in conflict.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit 3c091ded129a5edf9061360bab867edade996c93 Author: Loú User Date: Thu Apr 7 22:13:18 2005 +0000 c⇒4 Original second commit: commit 2bb1a7e7c5451146af7dc59b69b8289c76a3ee7b Author: Loú User Date: Thu Apr 7 22:13:26 2005 +0000 d⇒3 There was a conflict merging commit 4-3, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + grep -q Traceback start.out + grep -q suggest manual merge of 4-3 autofill.out + git-imerge diagram --commits --frontier --html=imerge3.html 0 5 9 | | | 0 - ********** - c *......... *......... *...#????? *...?????? 5 - *...?????? 6 - *...?????? | d 0 5 9 | | | 0 - ********** - c *........| *...-----+ *..|#????? *..|?????? 5 - *..|?????? 6 - *--+?????? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + echo merged version + git add conflict.txt + GIT_EDITOR=cat git commit imerge 'c-d': manual merge 4-3 # Conflicts: # conflict.txt # # It looks like you may be committing a merge. # If this is not correct, please run # git update-ref -d MERGE_HEAD # and try again. # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # On branch imerge/c-d # All conflicts fixed but you are still merging. # # Changes to be committed: # modified: conflict.txt # modified: d.txt # [imerge/c-d 4d6ff56] imerge 'c-d': manual merge 4-3 + git-imerge continue --edit Merge has been recorded for merge 4-3. Attempting to merge 4-4...success. Attempting to merge 4-5...success. Attempting to merge 4-6...success. Attempting to merge 5-3...success. Attempting to merge 5-4...success. Attempting to merge 5-5...success. Attempting to merge 5-6...success. Attempting to merge 6-3...success. Attempting to merge 6-4...success. Attempting to merge 6-5...success. Attempting to merge 6-6...success. Attempting to merge 7-3...success. Attempting to merge 7-4...success. Attempting to merge 7-5...success. Attempting to merge 7-6...success. Attempting to merge 8-3...success. Attempting to merge 8-4...success. Attempting to merge 8-5...success. Attempting to merge 8-6...success. Attempting to merge 9-3...success. Attempting to merge 9-4...success. Attempting to merge 9-5...success. Attempting to merge 9-6...success. Merge is complete! + git-imerge diagram --commits --frontier --html=imerge4.html 0 5 9 | | | 0 - ********** - c *......... *......... *...*..... *......... 5 - *......... 6 - *......... | d 0 5 9 | | | 0 - ********** - c *........| *........| *...*....| *........| 5 - *........| 6 - *--------+ | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + git-imerge finish --branch=c-d-full + check_tree c-d-full ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-full + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-full^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + test_conflict 1-1 + local conflict=1-1 + TMP=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-1 + DESCRIPTION=git-imerge test repository with conflict at 1-1 + init_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-1 git-imerge test repository with conflict at 1-1 + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-1 + local description=git-imerge test repository with conflict at 1-1 + delete_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-1 git-imerge test repository with conflict at 1-1 + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-1 + local description=git-imerge test repository with conflict at 1-1 + test -d /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-1 + mkdir -p /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-1 + git init /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-1 hint: Using 'master' as the name for the initial branch. This default branch name hint: is subject to change. To configure the initial branch name to use in all hint: of your new repositories, which will suppress this warning, call: hint: hint: git config --global init.defaultBranch hint: hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and hint: 'development'. The just-created branch can be renamed via this command: hint: hint: git branch -m + echo git-imerge test repository with conflict at 1-1 Initialized empty Git repository in /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-1/.git/ + printf %s\n /*.out /*.css /*.html + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-1/.git config user.name Loú User + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-1/.git config user.email luser@example.com + TIME=1112911993 + ln -s /build/reproducible-path/git-imerge-1.2.0/imerge.css /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-1 + cd /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-1 + modify c.txt 0 + filename=c.txt + text=0 + echo 0 + git add c.txt + modify d.txt 0 + filename=d.txt + text=0 + echo 0 + git add d.txt + modify conflict.txt original version + filename=conflict.txt + text=original version + echo original version + git add conflict.txt + commit -m m⇒0 + TIME=1112911994 + GIT_AUTHOR_DATE=@1112911994 +0000 GIT_COMMITTER_DATE=@1112911994 +0000 git commit -m m⇒0 [master (root-commit) d70e04b] m⇒0 3 files changed, 3 insertions(+) create mode 100644 c.txt create mode 100644 conflict.txt create mode 100644 d.txt + git checkout -b c master -- Switched to a new branch 'c' + seq 9 + modify c.txt 1 + filename=c.txt + text=1 + echo 1 + git add c.txt + modify conflict.txt c version + filename=conflict.txt + text=c version + echo c version + git add conflict.txt + commit -m c⇒1 + TIME=1112911995 + GIT_AUTHOR_DATE=@1112911995 +0000 GIT_COMMITTER_DATE=@1112911995 +0000 git commit -m c⇒1 [c 2120f40] c⇒1 2 files changed, 2 insertions(+), 2 deletions(-) + modify c.txt 2 + filename=c.txt + text=2 + echo 2 + git add c.txt + commit -m c⇒2 + TIME=1112911996 + GIT_AUTHOR_DATE=@1112911996 +0000 GIT_COMMITTER_DATE=@1112911996 +0000 git commit -m c⇒2 [c 90cc7de] c⇒2 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 3 + filename=c.txt + text=3 + echo 3 + git add c.txt + commit -m c⇒3 + TIME=1112911997 + GIT_AUTHOR_DATE=@1112911997 +0000 GIT_COMMITTER_DATE=@1112911997 +0000 git commit -m c⇒3 [c 2046ed2] c⇒3 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 4 + filename=c.txt + text=4 + echo 4 + git add c.txt + commit -m c⇒4 + TIME=1112911998 + GIT_AUTHOR_DATE=@1112911998 +0000 GIT_COMMITTER_DATE=@1112911998 +0000 git commit -m c⇒4 [c 8a2cee9] c⇒4 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 5 + filename=c.txt + text=5 + echo 5 + git add c.txt + commit -m c⇒5 + TIME=1112911999 + GIT_AUTHOR_DATE=@1112911999 +0000 GIT_COMMITTER_DATE=@1112911999 +0000 git commit -m c⇒5 [c ac16a05] c⇒5 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 6 + filename=c.txt + text=6 + echo 6 + git add c.txt + commit -m c⇒6 + TIME=1112912000 + GIT_AUTHOR_DATE=@1112912000 +0000 GIT_COMMITTER_DATE=@1112912000 +0000 git commit -m c⇒6 [c 30dd2ae] c⇒6 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 7 + filename=c.txt + text=7 + echo 7 + git add c.txt + commit -m c⇒7 + TIME=1112912001 + GIT_AUTHOR_DATE=@1112912001 +0000 GIT_COMMITTER_DATE=@1112912001 +0000 git commit -m c⇒7 [c 0883eb9] c⇒7 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 8 + filename=c.txt + text=8 + echo 8 + git add c.txt + commit -m c⇒8 + TIME=1112912002 + GIT_AUTHOR_DATE=@1112912002 +0000 GIT_COMMITTER_DATE=@1112912002 +0000 git commit -m c⇒8 [c f661c06] c⇒8 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 9 + filename=c.txt + text=9 + echo 9 + git add c.txt + commit -m c⇒9 + TIME=1112912003 + GIT_AUTHOR_DATE=@1112912003 +0000 GIT_COMMITTER_DATE=@1112912003 +0000 git commit -m c⇒9 [c 243e8ed] c⇒9 1 file changed, 1 insertion(+), 1 deletion(-) + git checkout -b d master -- Switched to a new branch 'd' + seq 6 + modify d.txt 1 + filename=d.txt + text=1 + echo 1 + git add d.txt + modify conflict.txt d version + filename=conflict.txt + text=d version + echo d version + git add conflict.txt + commit -m d⇒1 + TIME=1112912004 + GIT_AUTHOR_DATE=@1112912004 +0000 GIT_COMMITTER_DATE=@1112912004 +0000 git commit -m d⇒1 [d ac0427a] d⇒1 2 files changed, 2 insertions(+), 2 deletions(-) + modify d.txt 2 + filename=d.txt + text=2 + echo 2 + git add d.txt + commit -m d⇒2 + TIME=1112912005 + GIT_AUTHOR_DATE=@1112912005 +0000 GIT_COMMITTER_DATE=@1112912005 +0000 git commit -m d⇒2 [d 43c38c0] d⇒2 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 3 + filename=d.txt + text=3 + echo 3 + git add d.txt + commit -m d⇒3 + TIME=1112912006 + GIT_AUTHOR_DATE=@1112912006 +0000 GIT_COMMITTER_DATE=@1112912006 +0000 git commit -m d⇒3 [d 0260058] d⇒3 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 4 + filename=d.txt + text=4 + echo 4 + git add d.txt + commit -m d⇒4 + TIME=1112912007 + GIT_AUTHOR_DATE=@1112912007 +0000 GIT_COMMITTER_DATE=@1112912007 +0000 git commit -m d⇒4 [d 40fef44] d⇒4 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 5 + filename=d.txt + text=5 + echo 5 + git add d.txt + commit -m d⇒5 + TIME=1112912008 + GIT_AUTHOR_DATE=@1112912008 +0000 GIT_COMMITTER_DATE=@1112912008 +0000 git commit -m d⇒5 [d b080a65] d⇒5 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 6 + filename=d.txt + text=6 + echo 6 + git add d.txt + commit -m d⇒6 + TIME=1112912009 + GIT_AUTHOR_DATE=@1112912009 +0000 GIT_COMMITTER_DATE=@1112912009 +0000 git commit -m d⇒6 [d 200ce5c] d⇒6 1 file changed, 1 insertion(+), 1 deletion(-) + git checkout c Switched to branch 'c' + git-imerge init --name=c-d d + git-imerge list * c-d + git-imerge diagram --commits --frontier --html=imerge0.html 0 5 9 | | | 0 - ********** - c *????????? *????????? *????????? *????????? 5 - *????????? 6 - *????????? | d 0 5 9 | | | 0 - ********** - c *????????? *????????? *????????? *????????? 5 - *????????? 6 - *????????? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + git-imerge autofill + tee autofill.out Attempting automerge of 9-6...failure. Attempting automerge of 1-1...failure. HEAD is now at 243e8ed c⇒9 No progress was possible; suggest manual merge of 1-1 + grep -q Traceback autofill.out + grep -q suggest manual merge of 1-1 autofill.out + git-imerge diagram --commits --frontier --html=imerge1.html 0 5 9 | | | 0 - ********** - c *#???????? *????????? *????????? *????????? 5 - *????????? 6 - *????????? | d 0 5 9 | | | 0 - ********** - c *#???????? *????????? *????????? *????????? 5 - *????????? 6 - *????????? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + git-imerge continue --edit Switched to branch 'imerge/c-d' Auto-merging conflict.txt CONFLICT (content): Merge conflict in conflict.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit 2120f40dc39d28052a5279b645124e8ed7e5de73 Author: Loú User Date: Thu Apr 7 22:13:15 2005 +0000 c⇒1 Original second commit: commit ac0427a285b64f2815ebd6eb83880f309600d0c7 Author: Loú User Date: Thu Apr 7 22:13:24 2005 +0000 d⇒1 There was a conflict merging commit 1-1, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + echo merged version + git add conflict.txt + git-imerge continue --no-edit [imerge/c-d 5e3968e] imerge 'c-d': manual merge 1-1 Merge has been recorded for merge 1-1. Attempting automerge of 1-6...success. Autofilling 1-2...success. Autofilling 1-3...success. Autofilling 1-4...success. Autofilling 1-5...success. Autofilling 1-6...success. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[0:2,1:7]. Attempting automerge of 9-6...success. Autofilling 2-6...success. Autofilling 3-6...success. Autofilling 4-6...success. Autofilling 5-6...success. Autofilling 6-6...success. Autofilling 7-6...success. Autofilling 8-6...success. Autofilling 9-1...success. Autofilling 9-2...success. Autofilling 9-3...success. Autofilling 9-4...success. Autofilling 9-5...success. Autofilling 9-6 (first way)...success. Autofilling 9-6 (second way)...success. The two ways of autofilling 9-6 agree. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[1:10,0:7]. Merge is complete! + git-imerge diagram --commits --frontier --html=imerge2.html 0 5 9 | | | 0 - ********** - c **???????. *.???????. *.???????. *.???????. 5 - *.???????. 6 - *......... | d 0 5 9 | | | 0 - ********** - c **???????| *.???????| *.???????| *.???????| 5 - *.???????| 6 - *--------+ | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + GIT_EDITOR=cat git-imerge simplify --goal=merge --branch=c-d-merge Merge d into c (using imerge) # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # Date: Fri Mar 27 18:26:43 2026 +0000 # # On branch c-d-merge # Changes to be committed: # modified: conflict.txt # modified: d.txt # [c-d-merge 039bf02] Merge d into c (using imerge) Date: Fri Mar 27 18:26:43 2026 +0000 + check_tree c-d-merge ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-merge + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-merge^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=rebase --branch=c-d-rebase + check_tree c-d-rebase ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-rebase + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-rebase^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=rebase-with-history --branch=c-d-rebase-with-history + check_tree c-d-rebase-with-history ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-rebase-with-history + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-rebase-with-history^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border --branch=c-d-border + check_tree c-d-border ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-border^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border-with-history --branch=c-d-border-with-history + check_tree c-d-border-with-history ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border-with-history + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-border-with-history^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border-with-history2 --branch=c-d-border-with-history2 + check_tree c-d-border-with-history2 ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border-with-history2 + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-border-with-history2^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge remove + git checkout c Switched to branch 'c' + git-imerge start --goal=full --first-parent --name=c-d d + tee start.out Attempting to merge 1-1...conflict. Switched to branch 'imerge/c-d' Auto-merging conflict.txt CONFLICT (content): Merge conflict in conflict.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit 2120f40dc39d28052a5279b645124e8ed7e5de73 Author: Loú User Date: Thu Apr 7 22:13:15 2005 +0000 c⇒1 Original second commit: commit ac0427a285b64f2815ebd6eb83880f309600d0c7 Author: Loú User Date: Thu Apr 7 22:13:24 2005 +0000 d⇒1 There was a conflict merging commit 1-1, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + grep -q Traceback start.out + grep -q suggest manual merge of 1-1 autofill.out + git-imerge diagram --commits --frontier --html=imerge3.html 0 5 9 | | | 0 - ********** - c *#???????? *????????? *????????? *????????? 5 - *????????? 6 - *????????? | d 0 5 9 | | | 0 - ********** - c *#???????? *????????? *????????? *????????? 5 - *????????? 6 - *????????? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + echo merged version + git add conflict.txt + GIT_EDITOR=cat git commit imerge 'c-d': manual merge 1-1 # Conflicts: # conflict.txt # # It looks like you may be committing a merge. # If this is not correct, please run # git update-ref -d MERGE_HEAD # and try again. # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # On branch imerge/c-d # All conflicts fixed but you are still merging. # # Changes to be committed: # modified: conflict.txt # modified: d.txt # [imerge/c-d 854e1c5] imerge 'c-d': manual merge 1-1 + git-imerge continue --edit Merge has been recorded for merge 1-1. Attempting to merge 1-2...success. Attempting to merge 1-3...success. Attempting to merge 1-4...success. Attempting to merge 1-5...success. Attempting to merge 1-6...success. Attempting to merge 2-1...success. Attempting to merge 2-2...success. Attempting to merge 2-3...success. Attempting to merge 2-4...success. Attempting to merge 2-5...success. Attempting to merge 2-6...success. Attempting to merge 3-1...success. Attempting to merge 3-2...success. Attempting to merge 3-3...success. Attempting to merge 3-4...success. Attempting to merge 3-5...success. Attempting to merge 3-6...success. Attempting to merge 4-1...success. Attempting to merge 4-2...success. Attempting to merge 4-3...success. Attempting to merge 4-4...success. Attempting to merge 4-5...success. Attempting to merge 4-6...success. Attempting to merge 5-1...success. Attempting to merge 5-2...success. Attempting to merge 5-3...success. Attempting to merge 5-4...success. Attempting to merge 5-5...success. Attempting to merge 5-6...success. Attempting to merge 6-1...success. Attempting to merge 6-2...success. Attempting to merge 6-3...success. Attempting to merge 6-4...success. Attempting to merge 6-5...success. Attempting to merge 6-6...success. Attempting to merge 7-1...success. Attempting to merge 7-2...success. Attempting to merge 7-3...success. Attempting to merge 7-4...success. Attempting to merge 7-5...success. Attempting to merge 7-6...success. Attempting to merge 8-1...success. Attempting to merge 8-2...success. Attempting to merge 8-3...success. Attempting to merge 8-4...success. Attempting to merge 8-5...success. Attempting to merge 8-6...success. Attempting to merge 9-1...success. Attempting to merge 9-2...success. Attempting to merge 9-3...success. Attempting to merge 9-4...success. Attempting to merge 9-5...success. Attempting to merge 9-6...success. Merge is complete! + git-imerge diagram --commits --frontier --html=imerge4.html 0 5 9 | | | 0 - ********** - c **........ *......... *......... *......... 5 - *......... 6 - *......... | d 0 5 9 | | | 0 - ********** - c **.......| *........| *........| *........| 5 - *........| 6 - *--------+ | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + git-imerge finish --branch=c-d-full + check_tree c-d-full ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-full + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-full^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + test_conflict 9-1 + local conflict=9-1 + TMP=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-1 + DESCRIPTION=git-imerge test repository with conflict at 9-1 + init_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-1 git-imerge test repository with conflict at 9-1 + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-1 + local description=git-imerge test repository with conflict at 9-1 + delete_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-1 git-imerge test repository with conflict at 9-1 + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-1 + local description=git-imerge test repository with conflict at 9-1 + test -d /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-1 + mkdir -p /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-1 + git init /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-1 hint: Using 'master' as the name for the initial branch. This default branch name hint: is subject to change. To configure the initial branch name to use in all hint: of your new repositories, which will suppress this warning, call: hint: hint: git config --global init.defaultBranch hint: hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and hint: 'development'. The just-created branch can be renamed via this command: hint: hint: git branch -m Initialized empty Git repository in /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-1/.git/ + echo git-imerge test repository with conflict at 9-1 + printf %s\n /*.out /*.css /*.html + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-1/.git config user.name Loú User + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-1/.git config user.email luser@example.com + TIME=1112911993 + ln -s /build/reproducible-path/git-imerge-1.2.0/imerge.css /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-1 + cd /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-1 + modify c.txt 0 + filename=c.txt + text=0 + echo 0 + git add c.txt + modify d.txt 0 + filename=d.txt + text=0 + echo 0 + git add d.txt + modify conflict.txt original version + filename=conflict.txt + text=original version + echo original version + git add conflict.txt + commit -m m⇒0 + TIME=1112911994 + GIT_AUTHOR_DATE=@1112911994 +0000 GIT_COMMITTER_DATE=@1112911994 +0000 git commit -m m⇒0 [master (root-commit) d70e04b] m⇒0 3 files changed, 3 insertions(+) create mode 100644 c.txt create mode 100644 conflict.txt create mode 100644 d.txt + git checkout -b c master -- Switched to a new branch 'c' + seq 9 + modify c.txt 1 + filename=c.txt + text=1 + echo 1 + git add c.txt + commit -m c⇒1 + TIME=1112911995 + GIT_AUTHOR_DATE=@1112911995 +0000 GIT_COMMITTER_DATE=@1112911995 +0000 git commit -m c⇒1 [c 89e2141] c⇒1 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 2 + filename=c.txt + text=2 + echo 2 + git add c.txt + commit -m c⇒2 + TIME=1112911996 + GIT_AUTHOR_DATE=@1112911996 +0000 GIT_COMMITTER_DATE=@1112911996 +0000 git commit -m c⇒2 [c 7c431f2] c⇒2 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 3 + filename=c.txt + text=3 + echo 3 + git add c.txt + commit -m c⇒3 + TIME=1112911997 + GIT_AUTHOR_DATE=@1112911997 +0000 GIT_COMMITTER_DATE=@1112911997 +0000 git commit -m c⇒3 [c f02ab24] c⇒3 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 4 + filename=c.txt + text=4 + echo 4 + git add c.txt + commit -m c⇒4 + TIME=1112911998 + GIT_AUTHOR_DATE=@1112911998 +0000 GIT_COMMITTER_DATE=@1112911998 +0000 git commit -m c⇒4 [c ed9122f] c⇒4 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 5 + filename=c.txt + text=5 + echo 5 + git add c.txt + commit -m c⇒5 + TIME=1112911999 + GIT_AUTHOR_DATE=@1112911999 +0000 GIT_COMMITTER_DATE=@1112911999 +0000 git commit -m c⇒5 [c 1d3bf09] c⇒5 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 6 + filename=c.txt + text=6 + echo 6 + git add c.txt + commit -m c⇒6 + TIME=1112912000 + GIT_AUTHOR_DATE=@1112912000 +0000 GIT_COMMITTER_DATE=@1112912000 +0000 git commit -m c⇒6 [c f999ecd] c⇒6 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 7 + filename=c.txt + text=7 + echo 7 + git add c.txt + commit -m c⇒7 + TIME=1112912001 + GIT_AUTHOR_DATE=@1112912001 +0000 GIT_COMMITTER_DATE=@1112912001 +0000 git commit -m c⇒7 [c 7050a8a] c⇒7 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 8 + filename=c.txt + text=8 + echo 8 + git add c.txt + commit -m c⇒8 + TIME=1112912002 + GIT_AUTHOR_DATE=@1112912002 +0000 GIT_COMMITTER_DATE=@1112912002 +0000 git commit -m c⇒8 [c 9732e77] c⇒8 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 9 + filename=c.txt + text=9 + echo 9 + git add c.txt + modify conflict.txt c version + filename=conflict.txt + text=c version + echo c version + git add conflict.txt + commit -m c⇒9 + TIME=1112912003 + GIT_AUTHOR_DATE=@1112912003 +0000 GIT_COMMITTER_DATE=@1112912003 +0000 git commit -m c⇒9 [c 73a5eed] c⇒9 2 files changed, 2 insertions(+), 2 deletions(-) + git checkout -b d master -- Switched to a new branch 'd' + seq 6 + modify d.txt 1 + filename=d.txt + text=1 + echo 1 + git add d.txt + modify conflict.txt d version + filename=conflict.txt + text=d version + echo d version + git add conflict.txt + commit -m d⇒1 + TIME=1112912004 + GIT_AUTHOR_DATE=@1112912004 +0000 GIT_COMMITTER_DATE=@1112912004 +0000 git commit -m d⇒1 [d ac0427a] d⇒1 2 files changed, 2 insertions(+), 2 deletions(-) + modify d.txt 2 + filename=d.txt + text=2 + echo 2 + git add d.txt + commit -m d⇒2 + TIME=1112912005 + GIT_AUTHOR_DATE=@1112912005 +0000 GIT_COMMITTER_DATE=@1112912005 +0000 git commit -m d⇒2 [d 43c38c0] d⇒2 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 3 + filename=d.txt + text=3 + echo 3 + git add d.txt + commit -m d⇒3 + TIME=1112912006 + GIT_AUTHOR_DATE=@1112912006 +0000 GIT_COMMITTER_DATE=@1112912006 +0000 git commit -m d⇒3 [d 0260058] d⇒3 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 4 + filename=d.txt + text=4 + echo 4 + git add d.txt + commit -m d⇒4 + TIME=1112912007 + GIT_AUTHOR_DATE=@1112912007 +0000 GIT_COMMITTER_DATE=@1112912007 +0000 git commit -m d⇒4 [d 40fef44] d⇒4 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 5 + filename=d.txt + text=5 + echo 5 + git add d.txt + commit -m d⇒5 + TIME=1112912008 + GIT_AUTHOR_DATE=@1112912008 +0000 GIT_COMMITTER_DATE=@1112912008 +0000 git commit -m d⇒5 [d b080a65] d⇒5 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 6 + filename=d.txt + text=6 + echo 6 + git add d.txt + commit -m d⇒6 + TIME=1112912009 + GIT_AUTHOR_DATE=@1112912009 +0000 GIT_COMMITTER_DATE=@1112912009 +0000 git commit -m d⇒6 [d 200ce5c] d⇒6 1 file changed, 1 insertion(+), 1 deletion(-) + git checkout c Switched to branch 'c' + git-imerge init --name=c-d d + git-imerge list * c-d + git-imerge diagram --commits --frontier --html=imerge0.html 0 5 9 | | | 0 - ********** - c *????????? *????????? *????????? *????????? 5 - *????????? 6 - *????????? | d 0 5 9 | | | 0 - ********** - c *????????? *????????? *????????? *????????? 5 - *????????? 6 - *????????? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + git-imerge autofill + tee autofill.out Attempting automerge of 9-6...failure. Attempting automerge of 1-1...success. Attempting automerge of 1-4...success. Attempting automerge of 1-6...success. Attempting automerge of 9-6...failure. Attempting automerge of 5-6...success. Attempting automerge of 7-6...success. Attempting automerge of 8-6...success. Attempting automerge of 9-1...failure. Autofilling 1-6...success. Autofilling 2-6...success. Autofilling 3-6...success. Autofilling 4-6...success. Autofilling 5-6...success. Autofilling 6-6...success. Autofilling 7-6...success. Autofilling 8-1...success. Autofilling 8-2...success. Autofilling 8-3...success. Autofilling 8-4...success. Autofilling 8-5...success. Autofilling 8-6 (first way)...success. Autofilling 8-6 (second way)...success. The two ways of autofilling 8-6 agree. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[0:9,0:7]. Attempting automerge of 9-6...failure. Attempting automerge of 9-1...failure. HEAD is now at 73a5eed c⇒9 Conflict; suggest manual merge of 9-1 + grep -q Traceback autofill.out + grep -q suggest manual merge of 9-1 autofill.out + git-imerge diagram --commits --frontier --html=imerge1.html 0 5 9 | | | 0 - ********** - c *???????.# *???????.? *???????.? *???????.? 5 - *???????.? 6 - *........? | d 0 5 9 | | | 0 - ********** - c *???????|# *???????|? *???????|? *???????|? 5 - *???????|? 6 - *-------+? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + git-imerge continue --edit Switched to branch 'imerge/c-d' Auto-merging conflict.txt CONFLICT (content): Merge conflict in conflict.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit 73a5eedb087a0f656d730831b8def7943b40f3cf Author: Loú User Date: Thu Apr 7 22:13:23 2005 +0000 c⇒9 Original second commit: commit ac0427a285b64f2815ebd6eb83880f309600d0c7 Author: Loú User Date: Thu Apr 7 22:13:24 2005 +0000 d⇒1 There was a conflict merging commit 9-1, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + echo merged version + git add conflict.txt + git-imerge continue --no-edit [imerge/c-d 4d7dc5d] imerge 'c-d': manual merge 9-1 Merge has been recorded for merge 9-1. Attempting automerge of 9-6...success. Autofilling 9-2...success. Autofilling 9-3...success. Autofilling 9-4...success. Autofilling 9-5...success. Autofilling 9-6...success. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[8:10,1:7]. Merge is complete! + git-imerge diagram --commits --frontier --html=imerge2.html 0 5 9 | | | 0 - ********** - c *???????.* *???????.. *???????.. *???????.. 5 - *???????.. 6 - *......... | d 0 5 9 | | | 0 - ********** - c *???????.* *???????.| *???????.| *???????.| 5 - *???????.| 6 - *--------+ | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + GIT_EDITOR=cat git-imerge simplify --goal=merge --branch=c-d-merge Merge d into c (using imerge) # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # Date: Fri Mar 27 18:26:50 2026 +0000 # # On branch c-d-merge # Changes to be committed: # modified: conflict.txt # modified: d.txt # [c-d-merge 881a356] Merge d into c (using imerge) Date: Fri Mar 27 18:26:50 2026 +0000 + check_tree c-d-merge ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-merge + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-merge^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=rebase --branch=c-d-rebase + check_tree c-d-rebase ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-rebase + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-rebase^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=rebase-with-history --branch=c-d-rebase-with-history + check_tree c-d-rebase-with-history ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-rebase-with-history + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-rebase-with-history^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border --branch=c-d-border + check_tree c-d-border ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-border^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border-with-history --branch=c-d-border-with-history + check_tree c-d-border-with-history ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border-with-history + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-border-with-history^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border-with-history2 --branch=c-d-border-with-history2 + check_tree c-d-border-with-history2 ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border-with-history2 + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-border-with-history2^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge remove + git checkout c Switched to branch 'c' + git-imerge start --goal=full --first-parent --name=c-d d + tee start.out Attempting to merge 1-1...success. Attempting to merge 1-2...success. Attempting to merge 1-3...success. Attempting to merge 1-4...success. Attempting to merge 1-5...success. Attempting to merge 1-6...success. Attempting to merge 2-1...success. Attempting to merge 2-2...success. Attempting to merge 2-3...success. Attempting to merge 2-4...success. Attempting to merge 2-5...success. Attempting to merge 2-6...success. Attempting to merge 3-1...success. Attempting to merge 3-2...success. Attempting to merge 3-3...success. Attempting to merge 3-4...success. Attempting to merge 3-5...success. Attempting to merge 3-6...success. Attempting to merge 4-1...success. Attempting to merge 4-2...success. Attempting to merge 4-3...success. Attempting to merge 4-4...success. Attempting to merge 4-5...success. Attempting to merge 4-6...success. Attempting to merge 5-1...success. Attempting to merge 5-2...success. Attempting to merge 5-3...success. Attempting to merge 5-4...success. Attempting to merge 5-5...success. Attempting to merge 5-6...success. Attempting to merge 6-1...success. Attempting to merge 6-2...success. Attempting to merge 6-3...success. Attempting to merge 6-4...success. Attempting to merge 6-5...success. Attempting to merge 6-6...success. Attempting to merge 7-1...success. Attempting to merge 7-2...success. Attempting to merge 7-3...success. Attempting to merge 7-4...success. Attempting to merge 7-5...success. Attempting to merge 7-6...success. Attempting to merge 8-1...success. Attempting to merge 8-2...success. Attempting to merge 8-3...success. Attempting to merge 8-4...success. Attempting to merge 8-5...success. Attempting to merge 8-6...success. Attempting to merge 9-1...conflict. Switched to branch 'imerge/c-d' Auto-merging conflict.txt CONFLICT (content): Merge conflict in conflict.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit 73a5eedb087a0f656d730831b8def7943b40f3cf Author: Loú User Date: Thu Apr 7 22:13:23 2005 +0000 c⇒9 Original second commit: commit ac0427a285b64f2815ebd6eb83880f309600d0c7 Author: Loú User Date: Thu Apr 7 22:13:24 2005 +0000 d⇒1 There was a conflict merging commit 9-1, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + grep -q Traceback start.out + grep -q suggest manual merge of 9-1 autofill.out + git-imerge diagram --commits --frontier --html=imerge3.html 0 5 9 | | | 0 - ********** - c *........# *........? *........? *........? 5 - *........? 6 - *........? | d 0 5 9 | | | 0 - ********** - c *.......|# *.......|? *.......|? *.......|? 5 - *.......|? 6 - *-------+? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + echo merged version + git add conflict.txt + GIT_EDITOR=cat git commit imerge 'c-d': manual merge 9-1 # Conflicts: # conflict.txt # # It looks like you may be committing a merge. # If this is not correct, please run # git update-ref -d MERGE_HEAD # and try again. # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # On branch imerge/c-d # All conflicts fixed but you are still merging. # # Changes to be committed: # modified: conflict.txt # modified: d.txt # [imerge/c-d 8d600bb] imerge 'c-d': manual merge 9-1 + git-imerge continue --edit Merge has been recorded for merge 9-1. Attempting to merge 9-2...success. Attempting to merge 9-3...success. Attempting to merge 9-4...success. Attempting to merge 9-5...success. Attempting to merge 9-6...success. Merge is complete! + git-imerge diagram --commits --frontier --html=imerge4.html 0 5 9 | | | 0 - ********** - c *........* *......... *......... *......... 5 - *......... 6 - *......... | d 0 5 9 | | | 0 - ********** - c *........* *........| *........| *........| 5 - *........| 6 - *--------+ | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + git-imerge finish --branch=c-d-full + check_tree c-d-full ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-full + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-full^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + test_conflict 1-6 + local conflict=1-6 + TMP=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-6 + DESCRIPTION=git-imerge test repository with conflict at 1-6 + init_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-6 git-imerge test repository with conflict at 1-6 + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-6 + local description=git-imerge test repository with conflict at 1-6 + delete_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-6 git-imerge test repository with conflict at 1-6 + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-6 + local description=git-imerge test repository with conflict at 1-6 Initialized empty Git repository in /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-6/.git/ + test -d /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-6 + mkdir -p /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-6 + git init /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-6 hint: Using 'master' as the name for the initial branch. This default branch name hint: is subject to change. To configure the initial branch name to use in all hint: of your new repositories, which will suppress this warning, call: hint: hint: git config --global init.defaultBranch hint: hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and hint: 'development'. The just-created branch can be renamed via this command: hint: hint: git branch -m + echo git-imerge test repository with conflict at 1-6 + printf %s\n /*.out /*.css /*.html + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-6/.git config user.name Loú User + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-6/.git config user.email luser@example.com + TIME=1112911993 + ln -s /build/reproducible-path/git-imerge-1.2.0/imerge.css /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-6 + cd /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-6 + modify c.txt 0 + filename=c.txt + text=0 + echo 0 + git add c.txt + modify d.txt 0 + filename=d.txt + text=0 + echo 0 + git add d.txt + modify conflict.txt original version + filename=conflict.txt + text=original version + echo original version + git add conflict.txt + commit -m m⇒0 + TIME=1112911994 + GIT_AUTHOR_DATE=@1112911994 +0000 GIT_COMMITTER_DATE=@1112911994 +0000 git commit -m m⇒0 [master (root-commit) d70e04b] m⇒0 3 files changed, 3 insertions(+) create mode 100644 c.txt create mode 100644 conflict.txt create mode 100644 d.txt + git checkout -b c master -- Switched to a new branch 'c' + seq 9 + modify c.txt 1 + filename=c.txt + text=1 + echo 1 + git add c.txt + modify conflict.txt c version + filename=conflict.txt + text=c version + echo c version + git add conflict.txt + commit -m c⇒1 + TIME=1112911995 + GIT_AUTHOR_DATE=@1112911995 +0000 GIT_COMMITTER_DATE=@1112911995 +0000 git commit -m c⇒1 [c 2120f40] c⇒1 2 files changed, 2 insertions(+), 2 deletions(-) + modify c.txt 2 + filename=c.txt + text=2 + echo 2 + git add c.txt + commit -m c⇒2 + TIME=1112911996 + GIT_AUTHOR_DATE=@1112911996 +0000 GIT_COMMITTER_DATE=@1112911996 +0000 git commit -m c⇒2 + modify c.txt 3 + filename=c.txt + text=3 + echo 3 + git add c.txt + commit -m c⇒3 + TIME=1112911997 + GIT_AUTHOR_DATE=@1112911997 +0000 GIT_COMMITTER_DATE=@1112911997 +0000 git commit -m c⇒3 [c 90cc7de] c⇒2 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 4 + filename=c.txt + text=4 + echo 4 + git add c.txt [c 2046ed2] c⇒3 1 file changed, 1 insertion(+), 1 deletion(-) + commit -m c⇒4 + TIME=1112911998 + GIT_AUTHOR_DATE=@1112911998 +0000 GIT_COMMITTER_DATE=@1112911998 +0000 git commit -m c⇒4 [c 8a2cee9] c⇒4 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 5 + filename=c.txt + text=5 + echo 5 + git add c.txt + commit -m c⇒5 + TIME=1112911999 + GIT_AUTHOR_DATE=@1112911999 +0000 GIT_COMMITTER_DATE=@1112911999 +0000 git commit -m c⇒5 [c ac16a05] c⇒5 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 6 + filename=c.txt + text=6 + echo 6 + git add c.txt + commit -m c⇒6 + TIME=1112912000 + GIT_AUTHOR_DATE=@1112912000 +0000 GIT_COMMITTER_DATE=@1112912000 +0000 git commit -m c⇒6 [c 30dd2ae] c⇒6 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 7 + filename=c.txt + text=7 + echo 7 + git add c.txt + commit -m c⇒7 + TIME=1112912001 + GIT_AUTHOR_DATE=@1112912001 +0000 GIT_COMMITTER_DATE=@1112912001 +0000 git commit -m c⇒7 [c 0883eb9] c⇒7 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 8 + filename=c.txt + text=8 + echo 8 + git add c.txt + commit -m c⇒8 + TIME=1112912002 + GIT_AUTHOR_DATE=@1112912002 +0000 GIT_COMMITTER_DATE=@1112912002 +0000 git commit -m c⇒8 [c f661c06] c⇒8 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 9 + filename=c.txt + text=9 + echo 9 + git add c.txt + commit -m c⇒9 + TIME=1112912003 + GIT_AUTHOR_DATE=@1112912003 +0000 GIT_COMMITTER_DATE=@1112912003 +0000 git commit -m c⇒9 [c 243e8ed] c⇒9 1 file changed, 1 insertion(+), 1 deletion(-) + git checkout -b d master -- Switched to a new branch 'd' + seq 6 + modify d.txt 1 + filename=d.txt + text=1 + echo 1 + git add d.txt + commit -m d⇒1 + TIME=1112912004 + GIT_AUTHOR_DATE=@1112912004 +0000 GIT_COMMITTER_DATE=@1112912004 +0000 git commit -m d⇒1 [d bd5368a] d⇒1 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 2 + filename=d.txt + text=2 + echo 2 + git add d.txt + commit -m d⇒2 + TIME=1112912005 + GIT_AUTHOR_DATE=@1112912005 +0000 GIT_COMMITTER_DATE=@1112912005 +0000 git commit -m d⇒2 + modify d.txt 3 + filename=d.txt + text=3 + echo 3 + git add d.txt [d 93e27e6] d⇒2 1 file changed, 1 insertion(+), 1 deletion(-) + commit -m d⇒3 + TIME=1112912006 + GIT_AUTHOR_DATE=@1112912006 +0000 GIT_COMMITTER_DATE=@1112912006 +0000 git commit -m d⇒3 [d 133f385] d⇒3 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 4 + filename=d.txt + text=4 + echo 4 + git add d.txt + commit -m d⇒4 + TIME=1112912007 + GIT_AUTHOR_DATE=@1112912007 +0000 GIT_COMMITTER_DATE=@1112912007 +0000 git commit -m d⇒4 [d 586472a] d⇒4 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 5 + filename=d.txt + text=5 + echo 5 + git add d.txt + commit -m d⇒5 + TIME=1112912008 + GIT_AUTHOR_DATE=@1112912008 +0000 GIT_COMMITTER_DATE=@1112912008 +0000 git commit -m d⇒5 [d 9522207] d⇒5 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 6 + filename=d.txt + text=6 + echo 6 + git add d.txt + modify conflict.txt d version + filename=conflict.txt + text=d version + echo d version + git add conflict.txt + commit -m d⇒6 + TIME=1112912009 + GIT_AUTHOR_DATE=@1112912009 +0000 GIT_COMMITTER_DATE=@1112912009 +0000 git commit -m d⇒6 [d f7e451a] d⇒6 2 files changed, 2 insertions(+), 2 deletions(-) + git checkout c Switched to branch 'c' + git-imerge init --name=c-d d + git-imerge list * c-d + git-imerge diagram --commits --frontier --html=imerge0.html 0 5 9 | | | 0 - ********** - c *????????? *????????? *????????? *????????? 5 - *????????? 6 - *????????? | d 0 5 9 | | | 0 - ********** - c *????????? *????????? *????????? *????????? 5 - *????????? 6 - *????????? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + tee autofill.out + git-imerge autofill Attempting automerge of 9-6...failure. Attempting automerge of 1-1...success. Attempting automerge of 1-4...success. Attempting automerge of 1-6...failure. Attempting automerge of 1-5...success. Attempting automerge of 9-5...success. Autofilling 1-5...success. Autofilling 2-5...success. Autofilling 3-5...success. Autofilling 4-5...success. Autofilling 5-5...success. Autofilling 6-5...success. Autofilling 7-5...success. Autofilling 8-5...success. Autofilling 9-1...success. Autofilling 9-2...success. Autofilling 9-3...success. Autofilling 9-4...success. Autofilling 9-5 (first way)...success. Autofilling 9-5 (second way)...success. The two ways of autofilling 9-5 agree. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[0:10,0:6]. Attempting automerge of 9-6...failure. Attempting automerge of 1-6...failure. HEAD is now at 243e8ed c⇒9 Conflict; suggest manual merge of 1-6 + grep -q Traceback autofill.out + grep -q suggest manual merge of 1-6 autofill.out + git-imerge diagram --commits --frontier --html=imerge1.html 0 5 9 | | | 0 - ********** - c *????????. *????????. *????????. *????????. 5 - *......... 6 - *#???????? | d 0 5 9 | | | 0 - ********** - c *????????| *????????| *????????| *????????| 5 - *--------+ 6 - *#???????? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + git-imerge continue --edit Switched to branch 'imerge/c-d' Auto-merging conflict.txt CONFLICT (content): Merge conflict in conflict.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit 2120f40dc39d28052a5279b645124e8ed7e5de73 Author: Loú User Date: Thu Apr 7 22:13:15 2005 +0000 c⇒1 Original second commit: There was a conflict merging commit 1-6, shown above. Please resolve the conflict, commit the result, then type git-imerge continue commit f7e451a6c9656dda15641a9fbc591a602f158692 Author: Loú User Date: Thu Apr 7 22:13:29 2005 +0000 d⇒6 + echo merged version + git add conflict.txt + git-imerge continue --no-edit [imerge/c-d f2a0104] imerge 'c-d': manual merge 1-6 Merge has been recorded for merge 1-6. Attempting automerge of 9-6...success. Autofilling 2-6...success. Autofilling 3-6...success. Autofilling 4-6...success. Autofilling 5-6...success. Autofilling 6-6...success. Autofilling 7-6...success. Autofilling 8-6...success. Autofilling 9-6...success. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[1:10,5:7]. Merge is complete! + git-imerge diagram --commits --frontier --html=imerge2.html 0 5 9 | | | 0 - ********** - c *????????. *????????. *????????. *????????. 5 - *......... 6 - **........ | d 0 5 9 | | | 0 - ********** - c *????????| *????????| *????????| *????????| 5 - *........| 6 - **-------+ | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + GIT_EDITOR=cat git-imerge simplify --goal=merge --branch=c-d-merge Merge d into c (using imerge) # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # Date: Fri Mar 27 18:26:57 2026 +0000 # # On branch c-d-merge # Changes to be committed: # modified: conflict.txt # modified: d.txt # [c-d-merge 97db426] Merge d into c (using imerge) Date: Fri Mar 27 18:26:57 2026 +0000 + check_tree c-d-merge ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-merge + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-merge^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=rebase --branch=c-d-rebase + check_tree c-d-rebase ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-rebase + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-rebase^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=rebase-with-history --branch=c-d-rebase-with-history + check_tree c-d-rebase-with-history ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-rebase-with-history + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-rebase-with-history^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border --branch=c-d-border + check_tree c-d-border ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-border^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border-with-history --branch=c-d-border-with-history + check_tree c-d-border-with-history ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border-with-history + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-border-with-history^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border-with-history2 --branch=c-d-border-with-history2 + check_tree c-d-border-with-history2 ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border-with-history2 + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-border-with-history2^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge remove + git checkout c Switched to branch 'c' + git-imerge start --goal=full --first-parent --name=c-d d + tee start.out Attempting to merge 1-1...success. Attempting to merge 1-2...success. Attempting to merge 1-3...success. Attempting to merge 1-4...success. Attempting to merge 1-5...success. Attempting to merge 1-6...conflict. Attempting to merge 2-1...success. Attempting to merge 2-2...success. Attempting to merge 2-3...success. Attempting to merge 2-4...success. Attempting to merge 2-5...success. Attempting to merge 3-1...success. Attempting to merge 3-2...success. Attempting to merge 3-3...success. Attempting to merge 3-4...success. Attempting to merge 3-5...success. Attempting to merge 4-1...success. Attempting to merge 4-2...success. Attempting to merge 4-3...success. Attempting to merge 4-4...success. Attempting to merge 4-5...success. Attempting to merge 5-1...success. Attempting to merge 5-2...success. Attempting to merge 5-3...success. Attempting to merge 5-4...success. Attempting to merge 5-5...success. Attempting to merge 6-1...success. Attempting to merge 6-2...success. Attempting to merge 6-3...success. Attempting to merge 6-4...success. Attempting to merge 6-5...success. Attempting to merge 7-1...success. Attempting to merge 7-2...success. Attempting to merge 7-3...success. Attempting to merge 7-4...success. Attempting to merge 7-5...success. Attempting to merge 8-1...success. Attempting to merge 8-2...success. Attempting to merge 8-3...success. Attempting to merge 8-4...success. Attempting to merge 8-5...success. Attempting to merge 9-1...success. Attempting to merge 9-2...success. Attempting to merge 9-3...success. Attempting to merge 9-4...success. Attempting to merge 9-5...success. Previous HEAD position was 2748734 imerge 'c-d': automatic merge 9-5 Switched to branch 'imerge/c-d' Auto-merging conflict.txt CONFLICT (content): Merge conflict in conflict.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit 2120f40dc39d28052a5279b645124e8ed7e5de73 Author: Loú User Date: Thu Apr 7 22:13:15 2005 +0000 c⇒1 Original second commit: commit f7e451a6c9656dda15641a9fbc591a602f158692 Author: Loú User Date: Thu Apr 7 22:13:29 2005 +0000 d⇒6 There was a conflict merging commit 1-6, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + grep -q Traceback start.out + grep -q suggest manual merge of 1-6 autofill.out + git-imerge diagram --commits --frontier --html=imerge3.html 0 5 9 | | | 0 - ********** - c *......... *......... *......... *......... 5 - *......... 6 - *#???????? | d 0 5 9 | | | 0 - ********** - c *........| *........| *........| *........| 5 - *--------+ 6 - *#???????? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + echo merged version + git add conflict.txt + GIT_EDITOR=cat git commit imerge 'c-d': manual merge 1-6 # Conflicts: # conflict.txt # # It looks like you may be committing a merge. # If this is not correct, please run # git update-ref -d MERGE_HEAD # and try again. # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # On branch imerge/c-d # All conflicts fixed but you are still merging. # # Changes to be committed: # modified: conflict.txt # modified: d.txt # [imerge/c-d ce7bf24] imerge 'c-d': manual merge 1-6 + git-imerge continue --edit Merge has been recorded for merge 1-6. Attempting to merge 2-6...success. Attempting to merge 3-6...success. Attempting to merge 4-6...success. Attempting to merge 5-6...success. Attempting to merge 6-6...success. Attempting to merge 7-6...success. Attempting to merge 8-6...success. Attempting to merge 9-6...success. Merge is complete! + git-imerge diagram --commits --frontier --html=imerge4.html 0 5 9 | | | 0 - ********** - c *......... *......... *......... *......... 5 - *......... 6 - **........ | d 0 5 9 | | | 0 - ********** - c *........| *........| *........| *........| 5 - *........| 6 - **-------+ | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + git-imerge finish --branch=c-d-full + check_tree c-d-full ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-full + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-full^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + test_conflict 9-6 + local conflict=9-6 + TMP=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-6 + DESCRIPTION=git-imerge test repository with conflict at 9-6 + init_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-6 git-imerge test repository with conflict at 9-6 + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-6 + local description=git-imerge test repository with conflict at 9-6 + delete_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-6 git-imerge test repository with conflict at 9-6 + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-6 + local description=git-imerge test repository with conflict at 9-6 + test -d /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-6 + mkdir -p /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-6 + git init /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-6 hint: Using 'master' as the name for the initial branch. This default branch name hint: is subject to change. To configure the initial branch name to use in all hint: of your new repositories, which will suppress this warning, call: hint: hint: git config --global init.defaultBranch hint: hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and hint: 'development'. The just-created branch can be renamed via this command: hint: hint: git branch -m Initialized empty Git repository in /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-6/.git/ + echo git-imerge test repository with conflict at 9-6 + printf %s\n /*.out /*.css /*.html + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-6/.git config user.name Loú User + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-6/.git config user.email luser@example.com + TIME=1112911993 + ln -s /build/reproducible-path/git-imerge-1.2.0/imerge.css /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-6 + cd /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-6 + modify c.txt 0 + filename=c.txt + text=0 + echo 0 + git add c.txt + modify d.txt 0 + filename=d.txt + text=0 + echo 0 + git add d.txt + modify conflict.txt original version + filename=conflict.txt + text=original version + echo original version + git add conflict.txt + commit -m m⇒0 + TIME=1112911994 + GIT_AUTHOR_DATE=@1112911994 +0000 GIT_COMMITTER_DATE=@1112911994 +0000 git commit -m m⇒0 [master (root-commit) d70e04b] m⇒0 3 files changed, 3 insertions(+) create mode 100644 c.txt create mode 100644 conflict.txt create mode 100644 d.txt + git checkout -b c master -- Switched to a new branch 'c' + seq 9 + modify c.txt 1 + filename=c.txt + text=1 + echo 1 + git add c.txt + commit -m c⇒1 + TIME=1112911995 + GIT_AUTHOR_DATE=@1112911995 +0000 GIT_COMMITTER_DATE=@1112911995 +0000 git commit -m c⇒1 [c 89e2141] c⇒1 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 2 + filename=c.txt + text=2 + echo 2 + git add c.txt + commit -m c⇒2 + TIME=1112911996 + GIT_AUTHOR_DATE=@1112911996 +0000 GIT_COMMITTER_DATE=@1112911996 +0000 git commit -m c⇒2 [c 7c431f2] c⇒2 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 3 + filename=c.txt + text=3 + echo 3 + git add c.txt + commit -m c⇒3 + TIME=1112911997 + GIT_AUTHOR_DATE=@1112911997 +0000 GIT_COMMITTER_DATE=@1112911997 +0000 git commit -m c⇒3 [c f02ab24] c⇒3 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 4 + filename=c.txt + text=4 + echo 4 + git add c.txt + commit -m c⇒4 + TIME=1112911998 + GIT_AUTHOR_DATE=@1112911998 +0000 GIT_COMMITTER_DATE=@1112911998 +0000 git commit -m c⇒4 [c ed9122f] c⇒4 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 5 + filename=c.txt + text=5 + echo 5 + git add c.txt + commit -m c⇒5 + TIME=1112911999 + GIT_AUTHOR_DATE=@1112911999 +0000 GIT_COMMITTER_DATE=@1112911999 +0000 git commit -m c⇒5 [c 1d3bf09] c⇒5 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 6 + filename=c.txt + text=6 + echo 6 + git add c.txt + commit -m c⇒6 + TIME=1112912000 + GIT_AUTHOR_DATE=@1112912000 +0000 GIT_COMMITTER_DATE=@1112912000 +0000 git commit -m c⇒6 [c f999ecd] c⇒6 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 7 + filename=c.txt + text=7 + echo 7 + git add c.txt + commit -m c⇒7 + TIME=1112912001 + GIT_AUTHOR_DATE=@1112912001 +0000 GIT_COMMITTER_DATE=@1112912001 +0000 git commit -m c⇒7 [c 7050a8a] c⇒7 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 8 + filename=c.txt + text=8 + echo 8 + git add c.txt + commit -m c⇒8 + TIME=1112912002 + GIT_AUTHOR_DATE=@1112912002 +0000 GIT_COMMITTER_DATE=@1112912002 +0000 git commit -m c⇒8 [c 9732e77] c⇒8 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 9 + filename=c.txt + text=9 + echo 9 + git add c.txt + modify conflict.txt c version + filename=conflict.txt + text=c version + echo c version + git add conflict.txt + commit -m c⇒9 + TIME=1112912003 + GIT_AUTHOR_DATE=@1112912003 +0000 GIT_COMMITTER_DATE=@1112912003 +0000 git commit -m c⇒9 [c 73a5eed] c⇒9 2 files changed, 2 insertions(+), 2 deletions(-) + git checkout -b d master -- Switched to a new branch 'd' + seq 6 + modify d.txt 1 + filename=d.txt + text=1 + echo 1 + git add d.txt + commit -m d⇒1 + TIME=1112912004 + GIT_AUTHOR_DATE=@1112912004 +0000 GIT_COMMITTER_DATE=@1112912004 +0000 git commit -m d⇒1 [d bd5368a] d⇒1 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 2 + filename=d.txt + text=2 + echo 2 + git add d.txt + commit -m d⇒2 + TIME=1112912005 + GIT_AUTHOR_DATE=@1112912005 +0000 GIT_COMMITTER_DATE=@1112912005 +0000 git commit -m d⇒2 [d 93e27e6] d⇒2 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 3 + filename=d.txt + text=3 + echo 3 + git add d.txt + commit -m d⇒3 + TIME=1112912006 + GIT_AUTHOR_DATE=@1112912006 +0000 GIT_COMMITTER_DATE=@1112912006 +0000 git commit -m d⇒3 [d 133f385] d⇒3 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 4 + filename=d.txt + text=4 + echo 4 + git add d.txt + commit -m d⇒4 + TIME=1112912007 + GIT_AUTHOR_DATE=@1112912007 +0000 GIT_COMMITTER_DATE=@1112912007 +0000 git commit -m d⇒4 [d 586472a] d⇒4 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 5 + filename=d.txt + text=5 + echo 5 + git add d.txt + commit -m d⇒5 + TIME=1112912008 + GIT_AUTHOR_DATE=@1112912008 +0000 GIT_COMMITTER_DATE=@1112912008 +0000 git commit -m d⇒5 [d 9522207] d⇒5 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 6 + filename=d.txt + text=6 + echo 6 + git add d.txt + modify conflict.txt d version + filename=conflict.txt + text=d version + echo d version + git add conflict.txt + commit -m d⇒6 + TIME=1112912009 + GIT_AUTHOR_DATE=@1112912009 +0000 GIT_COMMITTER_DATE=@1112912009 +0000 git commit -m d⇒6 [d f7e451a] d⇒6 2 files changed, 2 insertions(+), 2 deletions(-) + git checkout c Switched to branch 'c' + git-imerge init --name=c-d d + git-imerge list * c-d + git-imerge diagram --commits --frontier --html=imerge0.html 0 5 9 | | | 0 - ********** - c *????????? *????????? *????????? *????????? 5 - *????????? 6 - *????????? | d 0 5 9 | | | 0 - ********** - c *????????? *????????? *????????? *????????? 5 - *????????? 6 - *????????? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + git-imerge autofill + tee autofill.out Attempting automerge of 9-6...failure. Attempting automerge of 1-1...success. Attempting automerge of 1-4...success. Attempting automerge of 1-6...success. Attempting automerge of 9-6...failure. Attempting automerge of 5-6...success. Attempting automerge of 7-6...success. Attempting automerge of 8-6...success. Attempting automerge of 9-1...success. Attempting automerge of 9-4...success. Attempting automerge of 9-5...success. Autofilling 1-6...success. Autofilling 2-6...success. Autofilling 3-6...success. Autofilling 4-6...success. Autofilling 5-6...success. Autofilling 6-6...success. Autofilling 7-6...success. Autofilling 8-1...success. Autofilling 8-2...success. Autofilling 8-3...success. Autofilling 8-4...success. Autofilling 8-5...success. Autofilling 8-6 (first way)...success. Autofilling 8-6 (second way)...success. The two ways of autofilling 8-6 agree. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[0:9,0:7]. Autofilling 9-1...success. Autofilling 9-2...success. Autofilling 9-3...success. Autofilling 9-4...success. Autofilling 9-5...success. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[8:10,0:6]. Attempting automerge of 9-6...failure. Attempting automerge of 9-6...failure. HEAD is now at 73a5eed c⇒9 Conflict; suggest manual merge of 9-6 + grep -q Traceback autofill.out + grep -q suggest manual merge of 9-6 autofill.out + git-imerge diagram --commits --frontier --html=imerge1.html 0 5 9 | | | 0 - ********** - c *???????.. *???????.. *???????.. *???????.. 5 - *???????.. 6 - *........# | d 0 5 9 | | | 0 - ********** - c *???????.| *???????.| *???????.| *???????.| 5 - *???????.+ 6 - *-------+# | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + git-imerge continue --edit Switched to branch 'imerge/c-d' Auto-merging conflict.txt CONFLICT (content): Merge conflict in conflict.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit 73a5eedb087a0f656d730831b8def7943b40f3cf Author: Loú User Date: Thu Apr 7 22:13:23 2005 +0000 c⇒9 Original second commit: commit f7e451a6c9656dda15641a9fbc591a602f158692 Author: Loú User Date: Thu Apr 7 22:13:29 2005 +0000 d⇒6 There was a conflict merging commit 9-6, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + echo merged version + git add conflict.txt + git-imerge continue --no-edit [imerge/c-d 682aae2] imerge 'c-d': manual merge 9-6 Merge has been recorded for merge 9-6. Merge is complete! + git-imerge diagram --commits --frontier --html=imerge2.html 0 5 9 | | | 0 - ********** - c *???????.. *???????.. *???????.. *???????.. 5 - *???????.. 6 - *........* | d 0 5 9 | | | 0 - ********** - c *???????.| *???????.| *???????.| *???????.| 5 - *???????.| 6 - *--------* | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + GIT_EDITOR=cat git-imerge simplify --goal=merge --branch=c-d-merge Merge d into c (using imerge) # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # Date: Fri Mar 27 18:27:03 2026 +0000 # # On branch c-d-merge # Changes to be committed: # modified: conflict.txt # modified: d.txt # [c-d-merge 1f72e3e] Merge d into c (using imerge) Date: Fri Mar 27 18:27:03 2026 +0000 + check_tree c-d-merge ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-merge + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-merge^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=rebase --branch=c-d-rebase + check_tree c-d-rebase ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-rebase + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-rebase^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=rebase-with-history --branch=c-d-rebase-with-history + check_tree c-d-rebase-with-history ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-rebase-with-history + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-rebase-with-history^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border --branch=c-d-border + check_tree c-d-border ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-border^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border-with-history --branch=c-d-border-with-history + check_tree c-d-border-with-history ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border-with-history + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-border-with-history^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border-with-history2 --branch=c-d-border-with-history2 + check_tree c-d-border-with-history2 ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border-with-history2 + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-border-with-history2^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge remove + git checkout c Switched to branch 'c' + git-imerge start --goal=full --first-parent --name=c-d d + tee start.out Attempting to merge 1-1...success. Attempting to merge 1-2...success. Attempting to merge 1-3...success. Attempting to merge 1-4...success. Attempting to merge 1-5...success. Attempting to merge 1-6...success. Attempting to merge 2-1...success. Attempting to merge 2-2...success. Attempting to merge 2-3...success. Attempting to merge 2-4...success. Attempting to merge 2-5...success. Attempting to merge 2-6...success. Attempting to merge 3-1...success. Attempting to merge 3-2...success. Attempting to merge 3-3...success. Attempting to merge 3-4...success. Attempting to merge 3-5...success. Attempting to merge 3-6...success. Attempting to merge 4-1...success. Attempting to merge 4-2...success. Attempting to merge 4-3...success. Attempting to merge 4-4...success. Attempting to merge 4-5...success. Attempting to merge 4-6...success. Attempting to merge 5-1...success. Attempting to merge 5-2...success. Attempting to merge 5-3...success. Attempting to merge 5-4...success. Attempting to merge 5-5...success. Attempting to merge 5-6...success. Attempting to merge 6-1...success. Attempting to merge 6-2...success. Attempting to merge 6-3...success. Attempting to merge 6-4...success. Attempting to merge 6-5...success. Attempting to merge 6-6...success. Attempting to merge 7-1...success. Attempting to merge 7-2...success. Attempting to merge 7-3...success. Attempting to merge 7-4...success. Attempting to merge 7-5...success. Attempting to merge 7-6...success. Attempting to merge 8-1...success. Attempting to merge 8-2...success. Attempting to merge 8-3...success. Attempting to merge 8-4...success. Attempting to merge 8-5...success. Attempting to merge 8-6...success. Attempting to merge 9-1...success. Attempting to merge 9-2...success. Attempting to merge 9-3...success. Attempting to merge 9-4...success. Attempting to merge 9-5...success. Attempting to merge 9-6...conflict. Switched to branch 'imerge/c-d' Auto-merging conflict.txt CONFLICT (content): Merge conflict in conflict.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit 73a5eedb087a0f656d730831b8def7943b40f3cf Author: Loú User Date: Thu Apr 7 22:13:23 2005 +0000 c⇒9 Original second commit: commit f7e451a6c9656dda15641a9fbc591a602f158692 Author: Loú User Date: Thu Apr 7 22:13:29 2005 +0000 d⇒6 There was a conflict merging commit 9-6, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + grep -q Traceback start.out + grep -q suggest manual merge of 9-6 autofill.out + git-imerge diagram --commits --frontier --html=imerge3.html 0 5 9 | | | 0 - ********** - c *......... *......... *......... *......... 5 - *......... 6 - *........# | d 0 5 9 | | | 0 - ********** - c *........| *........| *........| *........| 5 - *........+ 6 - *-------+# | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + echo merged version + git add conflict.txt + GIT_EDITOR=cat git commit imerge 'c-d': manual merge 9-6 # Conflicts: # conflict.txt # # It looks like you may be committing a merge. # If this is not correct, please run # git update-ref -d MERGE_HEAD # and try again. # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # On branch imerge/c-d # All conflicts fixed but you are still merging. # # Changes to be committed: # modified: conflict.txt # modified: d.txt # [imerge/c-d 7e0a406] imerge 'c-d': manual merge 9-6 + git-imerge continue --edit Merge has been recorded for merge 9-6. Merge is complete! + git-imerge diagram --commits --frontier --html=imerge4.html 0 5 9 | | | 0 - ********** - c *......... *......... *......... *......... 5 - *......... 6 - *........* | d 0 5 9 | | | 0 - ********** - c *........| *........| *........| *........| 5 - *........| 6 - *--------* | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + git-imerge finish --branch=c-d-full + check_tree c-d-full ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-full + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-full^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + test_conflict 1-2 + local conflict=1-2 + TMP=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-2 + DESCRIPTION=git-imerge test repository with conflict at 1-2 + init_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-2 git-imerge test repository with conflict at 1-2 + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-2 + local description=git-imerge test repository with conflict at 1-2 + delete_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-2 git-imerge test repository with conflict at 1-2 + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-2 + local description=git-imerge test repository with conflict at 1-2 + test -d /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-2 + mkdir -p /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-2 + git init /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-2 hint: Using 'master' as the name for the initial branch. This default branch name hint: is subject to change. To configure the initial branch name to use in all hint: of your new repositories, which will suppress this warning, call: hint: hint: git config --global init.defaultBranch hint: hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and hint: 'development'. The just-created branch can be renamed via this command: hint: hint: git branch -m + echo git-imerge test repository with conflict at 1-2 + printf %s\n /*.out /*.css /*.html + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-2/.git config user.name Loú User + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-2/.git config user.email luser@example.com + TIME=1112911993 + ln -s /build/reproducible-path/git-imerge-1.2.0/imerge.css /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-2 Initialized empty Git repository in /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-2/.git/ + cd /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-2 + modify c.txt 0 + filename=c.txt + text=0 + echo 0 + git add c.txt + modify d.txt 0 + filename=d.txt + text=0 + echo 0 + git add d.txt + modify conflict.txt original version + filename=conflict.txt + text=original version + echo original version + git add conflict.txt + commit -m m⇒0 + TIME=1112911994 + GIT_AUTHOR_DATE=@1112911994 +0000 GIT_COMMITTER_DATE=@1112911994 +0000 git commit -m m⇒0 [master (root-commit) d70e04b] m⇒0 3 files changed, 3 insertions(+) create mode 100644 c.txt create mode 100644 conflict.txt create mode 100644 d.txt + git checkout -b c master -- Switched to a new branch 'c' + seq 9 + modify c.txt 1 + filename=c.txt + text=1 + echo 1 + git add c.txt + modify conflict.txt c version + filename=conflict.txt + text=c version + echo c version + git add conflict.txt [c 2120f40] c⇒1 2 files changed, 2 insertions(+), 2 deletions(-) + commit -m c⇒1 + TIME=1112911995 + GIT_AUTHOR_DATE=@1112911995 +0000 GIT_COMMITTER_DATE=@1112911995 +0000 git commit -m c⇒1 + modify c.txt 2 + filename=c.txt + text=2 + echo 2 + git add c.txt + commit -m c⇒2 + TIME=1112911996 + GIT_AUTHOR_DATE=@1112911996 +0000 GIT_COMMITTER_DATE=@1112911996 +0000 git commit -m c⇒2 [c 90cc7de] c⇒2 1 file changed, 1 insertion(+), 1 deletion(-) [c 2046ed2] c⇒3 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 3 + filename=c.txt + text=3 + echo 3 + git add c.txt + commit -m c⇒3 + TIME=1112911997 + GIT_AUTHOR_DATE=@1112911997 +0000 GIT_COMMITTER_DATE=@1112911997 +0000 git commit -m c⇒3 + modify c.txt 4 + filename=c.txt + text=4 + echo 4 + git add c.txt + commit -m c⇒4 + TIME=1112911998 + GIT_AUTHOR_DATE=@1112911998 +0000 GIT_COMMITTER_DATE=@1112911998 +0000 git commit -m c⇒4 [c 8a2cee9] c⇒4 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 5 + filename=c.txt + text=5 + echo 5 + git add c.txt + commit -m c⇒5 + TIME=1112911999 + GIT_AUTHOR_DATE=@1112911999 +0000 GIT_COMMITTER_DATE=@1112911999 +0000 git commit -m c⇒5 [c ac16a05] c⇒5 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 6 + filename=c.txt + text=6 + echo 6 + git add c.txt + commit -m c⇒6 + TIME=1112912000 + GIT_AUTHOR_DATE=@1112912000 +0000 GIT_COMMITTER_DATE=@1112912000 +0000 git commit -m c⇒6 [c 30dd2ae] c⇒6 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 7 + filename=c.txt + text=7 + echo 7 + git add c.txt [c 0883eb9] c⇒7 1 file changed, 1 insertion(+), 1 deletion(-) + commit -m c⇒7 + TIME=1112912001 + GIT_AUTHOR_DATE=@1112912001 +0000 GIT_COMMITTER_DATE=@1112912001 +0000 git commit -m c⇒7 + modify c.txt 8 + filename=c.txt + text=8 + echo 8 + git add c.txt + commit -m c⇒8 + TIME=1112912002 + GIT_AUTHOR_DATE=@1112912002 +0000 GIT_COMMITTER_DATE=@1112912002 +0000 git commit -m c⇒8 [c f661c06] c⇒8 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 9 + filename=c.txt + text=9 + echo 9 + git add c.txt + commit -m c⇒9 + TIME=1112912003 + GIT_AUTHOR_DATE=@1112912003 +0000 GIT_COMMITTER_DATE=@1112912003 +0000 git commit -m c⇒9 [c 243e8ed] c⇒9 1 file changed, 1 insertion(+), 1 deletion(-) + git checkout -b d master -- Switched to a new branch 'd' + seq 6 + modify d.txt 1 + filename=d.txt + text=1 + echo 1 + git add d.txt + commit -m d⇒1 + TIME=1112912004 + GIT_AUTHOR_DATE=@1112912004 +0000 GIT_COMMITTER_DATE=@1112912004 +0000 git commit -m d⇒1 [d bd5368a] d⇒1 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 2 + filename=d.txt + text=2 + echo 2 + git add d.txt + modify conflict.txt d version + filename=conflict.txt + text=d version + echo d version + git add conflict.txt + commit -m d⇒2 + TIME=1112912005 + GIT_AUTHOR_DATE=@1112912005 +0000 GIT_COMMITTER_DATE=@1112912005 +0000 git commit -m d⇒2 [d 69efde8] d⇒2 2 files changed, 2 insertions(+), 2 deletions(-) + modify d.txt 3 + filename=d.txt + text=3 + echo 3 + git add d.txt + commit -m d⇒3 + TIME=1112912006 + GIT_AUTHOR_DATE=@1112912006 +0000 GIT_COMMITTER_DATE=@1112912006 +0000 git commit -m d⇒3 [d 3169557] d⇒3 1 file changed, 1 insertion(+), 1 deletion(-) [d 86c8052] d⇒4 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 4 + filename=d.txt + text=4 + echo 4 + git add d.txt + commit -m d⇒4 + TIME=1112912007 + GIT_AUTHOR_DATE=@1112912007 +0000 GIT_COMMITTER_DATE=@1112912007 +0000 git commit -m d⇒4 + modify d.txt 5 + filename=d.txt + text=5 + echo 5 + git add d.txt [d 1700773] d⇒5 1 file changed, 1 insertion(+), 1 deletion(-) + commit -m d⇒5 + TIME=1112912008 + GIT_AUTHOR_DATE=@1112912008 +0000 GIT_COMMITTER_DATE=@1112912008 +0000 git commit -m d⇒5 + modify d.txt 6 + filename=d.txt + text=6 + echo 6 + git add d.txt + commit -m d⇒6 + TIME=1112912009 + GIT_AUTHOR_DATE=@1112912009 +0000 GIT_COMMITTER_DATE=@1112912009 +0000 git commit -m d⇒6 [d df2e493] d⇒6 1 file changed, 1 insertion(+), 1 deletion(-) + git checkout c Switched to branch 'c' + git-imerge init --name=c-d d + git-imerge list * c-d + git-imerge diagram --commits --frontier --html=imerge0.html 0 5 9 | | | 0 - ********** - c *????????? *????????? *????????? *????????? 5 - *????????? 6 - *????????? | d 0 5 9 | | | 0 - ********** - c *????????? *????????? *????????? *????????? 5 - *????????? 6 - *????????? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + tee autofill.out + git-imerge autofill Attempting automerge of 9-6...failure. Attempting automerge of 1-1...success. Attempting automerge of 1-4...failure. Attempting automerge of 1-3...failure. Attempting automerge of 1-2...failure. Attempting automerge of 9-1...success. Autofilling 1-1...success. Autofilling 2-1...success. Autofilling 3-1...success. Autofilling 4-1...success. Autofilling 5-1...success. Autofilling 6-1...success. Autofilling 7-1...success. Autofilling 8-1...success. Autofilling 9-1...success. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[0:10,0:2]. Attempting automerge of 9-6...failure. Attempting automerge of 1-2...failure. HEAD is now at 243e8ed c⇒9 Conflict; suggest manual merge of 1-2 + grep -q Traceback autofill.out + grep -q suggest manual merge of 1-2 autofill.out + git-imerge diagram --commits --frontier --html=imerge1.html 0 5 9 | | | 0 - ********** - c *......... *#???????? *????????? *????????? 5 - *????????? 6 - *????????? | d 0 5 9 | | | 0 - ********** - c *--------+ *#???????? *????????? *????????? 5 - *????????? 6 - *????????? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + git-imerge continue --edit Switched to branch 'imerge/c-d' Auto-merging conflict.txt CONFLICT (content): Merge conflict in conflict.txt Original first commit: Automatic merge failed; fix conflicts and then commit the result. commit 2120f40dc39d28052a5279b645124e8ed7e5de73 Author: Loú User Date: Thu Apr 7 22:13:15 2005 +0000 c⇒1 commit 69efde8f66d581a765a3909ffacb9f895f95c345 Author: Loú User Date: Thu Apr 7 22:13:25 2005 +0000 d⇒2 Original second commit: There was a conflict merging commit 1-2, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + echo merged version + git add conflict.txt + git-imerge continue --no-edit [imerge/c-d 617b513] imerge 'c-d': manual merge 1-2 Merge has been recorded for merge 1-2. Attempting automerge of 1-6...success. Autofilling 1-3...success. Autofilling 1-4...success. Autofilling 1-5...success. Autofilling 1-6...success. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[0:2,2:7]. Attempting automerge of 9-6...success. Autofilling 2-6...success. Autofilling 3-6...success. Autofilling 4-6...success. Autofilling 5-6...success. Autofilling 6-6...success. Autofilling 7-6...success. Autofilling 8-6...success. Autofilling 9-2...success. Autofilling 9-3...success. Autofilling 9-4...success. Autofilling 9-5...success. Autofilling 9-6 (first way)...success. Autofilling 9-6 (second way)...success. The two ways of autofilling 9-6 agree. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[1:10,1:7]. Merge is complete! + git-imerge diagram --commits --frontier --html=imerge2.html 0 5 9 | | | 0 - ********** - c *......... **???????. *.???????. *.???????. 5 - *.???????. 6 - *......... | d 0 5 9 | | | 0 - ********** - c *........| **???????| *.???????| *.???????| 5 - *.???????| 6 - *--------+ | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + GIT_EDITOR=cat git-imerge simplify --goal=merge --branch=c-d-merge Merge d into c (using imerge) # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # Date: Fri Mar 27 18:27:10 2026 +0000 # # On branch c-d-merge # Changes to be committed: # modified: conflict.txt # modified: d.txt # [c-d-merge a6e68f7] Merge d into c (using imerge) Date: Fri Mar 27 18:27:10 2026 +0000 + check_tree c-d-merge ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-merge + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-merge^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=rebase --branch=c-d-rebase + check_tree c-d-rebase ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-rebase + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-rebase^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=rebase-with-history --branch=c-d-rebase-with-history + check_tree c-d-rebase-with-history ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-rebase-with-history + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-rebase-with-history^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border --branch=c-d-border + check_tree c-d-border ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-border^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border-with-history --branch=c-d-border-with-history + check_tree c-d-border-with-history ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border-with-history + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-border-with-history^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border-with-history2 --branch=c-d-border-with-history2 + check_tree c-d-border-with-history2 ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border-with-history2 + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-border-with-history2^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge remove + git checkout c Switched to branch 'c' + git-imerge start --goal=full --first-parent --name=c-d d + tee start.out Attempting to merge 1-1...success. Attempting to merge 1-2...conflict. Attempting to merge 2-1...success. Attempting to merge 3-1...success. Attempting to merge 4-1...success. Attempting to merge 5-1...success. Attempting to merge 6-1...success. Attempting to merge 7-1...success. Attempting to merge 8-1...success. Attempting to merge 9-1...success. Previous HEAD position was 2de6c0a imerge 'c-d': automatic merge 9-1 Switched to branch 'imerge/c-d' Auto-merging conflict.txt CONFLICT (content): Merge conflict in conflict.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit 2120f40dc39d28052a5279b645124e8ed7e5de73 Author: Loú User Date: Thu Apr 7 22:13:15 2005 +0000 c⇒1 Original second commit: commit 69efde8f66d581a765a3909ffacb9f895f95c345 Author: Loú User Date: Thu Apr 7 22:13:25 2005 +0000 d⇒2 There was a conflict merging commit 1-2, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + grep -q Traceback start.out + grep -q suggest manual merge of 1-2 autofill.out + git-imerge diagram --commits --frontier --html=imerge3.html 0 5 9 | | | 0 - ********** - c *......... *#???????? *????????? *????????? 5 - *????????? 6 - *????????? | d 0 5 9 | | | 0 - ********** - c *--------+ *#???????? *????????? *????????? 5 - *????????? 6 - *????????? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + echo merged version + git add conflict.txt + GIT_EDITOR=cat git commit imerge 'c-d': manual merge 1-2 # Conflicts: # conflict.txt # # It looks like you may be committing a merge. # If this is not correct, please run # git update-ref -d MERGE_HEAD # and try again. # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # On branch imerge/c-d # All conflicts fixed but you are still merging. # # Changes to be committed: # modified: conflict.txt # modified: d.txt # [imerge/c-d 3c3232e] imerge 'c-d': manual merge 1-2 + git-imerge continue --edit Merge has been recorded for merge 1-2. Attempting to merge 1-3...success. Attempting to merge 1-4...success. Attempting to merge 1-5...success. Attempting to merge 1-6...success. Attempting to merge 2-2...success. Attempting to merge 2-3...success. Attempting to merge 2-4...success. Attempting to merge 2-5...success. Attempting to merge 2-6...success. Attempting to merge 3-2...success. Attempting to merge 3-3...success. Attempting to merge 3-4...success. Attempting to merge 3-5...success. Attempting to merge 3-6...success. Attempting to merge 4-2...success. Attempting to merge 4-3...success. Attempting to merge 4-4...success. Attempting to merge 4-5...success. Attempting to merge 4-6...success. Attempting to merge 5-2...success. Attempting to merge 5-3...success. Attempting to merge 5-4...success. Attempting to merge 5-5...success. Attempting to merge 5-6...success. Attempting to merge 6-2...success. Attempting to merge 6-3...success. Attempting to merge 6-4...success. Attempting to merge 6-5...success. Attempting to merge 6-6...success. Attempting to merge 7-2...success. Attempting to merge 7-3...success. Attempting to merge 7-4...success. Attempting to merge 7-5...success. Attempting to merge 7-6...success. Attempting to merge 8-2...success. Attempting to merge 8-3...success. Attempting to merge 8-4...success. Attempting to merge 8-5...success. Attempting to merge 8-6...success. Attempting to merge 9-2...success. Attempting to merge 9-3...success. Attempting to merge 9-4...success. Attempting to merge 9-5...success. Attempting to merge 9-6...success. Merge is complete! + git-imerge diagram --commits --frontier --html=imerge4.html 0 5 9 | | | 0 - ********** - c *......... **........ *......... *......... 5 - *......... 6 - *......... | d 0 5 9 | | | 0 - ********** - c *........| **.......| *........| *........| 5 - *........| 6 - *--------+ | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + git-imerge finish --branch=c-d-full + check_tree c-d-full ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-full + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-full^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + test_conflict 9-5 + local conflict=9-5 + TMP=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-5 + DESCRIPTION=git-imerge test repository with conflict at 9-5 + init_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-5 git-imerge test repository with conflict at 9-5 + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-5 + local description=git-imerge test repository with conflict at 9-5 + delete_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-5 git-imerge test repository with conflict at 9-5 + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-5 + local description=git-imerge test repository with conflict at 9-5 + test -d /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-5 + mkdir -p /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-5 + git init /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-5 hint: Using 'master' as the name for the initial branch. This default branch name hint: is subject to change. To configure the initial branch name to use in all hint: of your new repositories, which will suppress this warning, call: hint: hint: git config --global init.defaultBranch hint: hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and hint: 'development'. The just-created branch can be renamed via this command: hint: hint: git branch -m Initialized empty Git repository in /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-5/.git/ + echo git-imerge test repository with conflict at 9-5 + printf %s\n /*.out /*.css /*.html + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-5/.git config user.name Loú User + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-5/.git config user.email luser@example.com + TIME=1112911993 + ln -s /build/reproducible-path/git-imerge-1.2.0/imerge.css /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-5 + cd /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-5 + modify c.txt 0 + filename=c.txt + text=0 + echo 0 + git add c.txt + modify d.txt 0 + filename=d.txt + text=0 + echo 0 + git add d.txt + modify conflict.txt original version + filename=conflict.txt + text=original version + echo original version + git add conflict.txt + commit -m m⇒0 + TIME=1112911994 + GIT_AUTHOR_DATE=@1112911994 +0000 GIT_COMMITTER_DATE=@1112911994 +0000 git commit -m m⇒0 [master (root-commit) d70e04b] m⇒0 3 files changed, 3 insertions(+) create mode 100644 c.txt create mode 100644 conflict.txt create mode 100644 d.txt + git checkout -b c master -- Switched to a new branch 'c' + seq 9 + modify c.txt 1 + filename=c.txt + text=1 + echo 1 + git add c.txt + commit -m c⇒1 + TIME=1112911995 + GIT_AUTHOR_DATE=@1112911995 +0000 GIT_COMMITTER_DATE=@1112911995 +0000 git commit -m c⇒1 [c 89e2141] c⇒1 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 2 + filename=c.txt + text=2 + echo 2 + git add c.txt + commit -m c⇒2 + TIME=1112911996 + GIT_AUTHOR_DATE=@1112911996 +0000 GIT_COMMITTER_DATE=@1112911996 +0000 git commit -m c⇒2 [c 7c431f2] c⇒2 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 3 + filename=c.txt + text=3 + echo 3 + git add c.txt + commit -m c⇒3 + TIME=1112911997 + GIT_AUTHOR_DATE=@1112911997 +0000 GIT_COMMITTER_DATE=@1112911997 +0000 git commit -m c⇒3 [c f02ab24] c⇒3 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 4 + filename=c.txt + text=4 + echo 4 + git add c.txt + commit -m c⇒4 + TIME=1112911998 + GIT_AUTHOR_DATE=@1112911998 +0000 GIT_COMMITTER_DATE=@1112911998 +0000 git commit -m c⇒4 [c ed9122f] c⇒4 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 5 + filename=c.txt + text=5 + echo 5 + git add c.txt + commit -m c⇒5 + TIME=1112911999 + GIT_AUTHOR_DATE=@1112911999 +0000 GIT_COMMITTER_DATE=@1112911999 +0000 git commit -m c⇒5 [c 1d3bf09] c⇒5 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 6 + filename=c.txt + text=6 + echo 6 + git add c.txt + commit -m c⇒6 + TIME=1112912000 + GIT_AUTHOR_DATE=@1112912000 +0000 GIT_COMMITTER_DATE=@1112912000 +0000 git commit -m c⇒6 [c f999ecd] c⇒6 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 7 + filename=c.txt + text=7 + echo 7 + git add c.txt + commit -m c⇒7 + TIME=1112912001 + GIT_AUTHOR_DATE=@1112912001 +0000 GIT_COMMITTER_DATE=@1112912001 +0000 git commit -m c⇒7 [c 7050a8a] c⇒7 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 8 + filename=c.txt + text=8 + echo 8 + git add c.txt + commit -m c⇒8 + TIME=1112912002 + GIT_AUTHOR_DATE=@1112912002 +0000 GIT_COMMITTER_DATE=@1112912002 +0000 git commit -m c⇒8 [c 9732e77] c⇒8 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 9 + filename=c.txt + text=9 + echo 9 + git add c.txt + modify conflict.txt c version + filename=conflict.txt + text=c version + echo c version + git add conflict.txt + commit -m c⇒9 + TIME=1112912003 + GIT_AUTHOR_DATE=@1112912003 +0000 GIT_COMMITTER_DATE=@1112912003 +0000 git commit -m c⇒9 [c 73a5eed] c⇒9 2 files changed, 2 insertions(+), 2 deletions(-) + git checkout -b d master -- Switched to a new branch 'd' + seq 6 + modify d.txt 1 + filename=d.txt + text=1 + echo 1 + git add d.txt + commit -m d⇒1 + TIME=1112912004 + GIT_AUTHOR_DATE=@1112912004 +0000 GIT_COMMITTER_DATE=@1112912004 +0000 git commit -m d⇒1 [d bd5368a] d⇒1 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 2 + filename=d.txt + text=2 + echo 2 + git add d.txt + commit -m d⇒2 + TIME=1112912005 + GIT_AUTHOR_DATE=@1112912005 +0000 GIT_COMMITTER_DATE=@1112912005 +0000 git commit -m d⇒2 [d 93e27e6] d⇒2 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 3 + filename=d.txt + text=3 + echo 3 + git add d.txt + commit -m d⇒3 + TIME=1112912006 + GIT_AUTHOR_DATE=@1112912006 +0000 GIT_COMMITTER_DATE=@1112912006 +0000 git commit -m d⇒3 [d 133f385] d⇒3 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 4 + filename=d.txt + text=4 + echo 4 + git add d.txt + commit -m d⇒4 + TIME=1112912007 + GIT_AUTHOR_DATE=@1112912007 +0000 GIT_COMMITTER_DATE=@1112912007 +0000 git commit -m d⇒4 [d 586472a] d⇒4 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 5 + filename=d.txt + text=5 + echo 5 + git add d.txt + modify conflict.txt d version + filename=conflict.txt + text=d version + echo d version + git add conflict.txt + commit -m d⇒5 + TIME=1112912008 + GIT_AUTHOR_DATE=@1112912008 +0000 GIT_COMMITTER_DATE=@1112912008 +0000 git commit -m d⇒5 [d 0a6f956] d⇒5 2 files changed, 2 insertions(+), 2 deletions(-) + modify d.txt 6 + filename=d.txt + text=6 + echo 6 + git add d.txt + commit -m d⇒6 + TIME=1112912009 + GIT_AUTHOR_DATE=@1112912009 +0000 GIT_COMMITTER_DATE=@1112912009 +0000 git commit -m d⇒6 [d bfb30f0] d⇒6 1 file changed, 1 insertion(+), 1 deletion(-) + git checkout c Switched to branch 'c' + git-imerge init --name=c-d d + git-imerge list * c-d + git-imerge diagram --commits --frontier --html=imerge0.html 0 5 9 | | | 0 - ********** - c *????????? *????????? *????????? *????????? 5 - *????????? 6 - *????????? | d 0 5 9 | | | 0 - ********** - c *????????? *????????? *????????? *????????? 5 - *????????? 6 - *????????? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + git-imerge autofill + tee autofill.out Attempting automerge of 9-6...failure. Attempting automerge of 1-1...success. Attempting automerge of 1-4...success. Attempting automerge of 1-6...success. Attempting automerge of 9-6...failure. Attempting automerge of 5-6...success. Attempting automerge of 7-6...success. Attempting automerge of 8-6...success. Attempting automerge of 9-1...success. Attempting automerge of 9-4...success. Attempting automerge of 9-5...failure. Autofilling 1-6...success. Autofilling 2-6...success. Autofilling 3-6...success. Autofilling 4-6...success. Autofilling 5-6...success. Autofilling 6-6...success. Autofilling 7-6...success. Autofilling 8-1...success. Autofilling 8-2...success. Autofilling 8-3...success. Autofilling 8-4...success. Autofilling 8-5...success. Autofilling 8-6 (first way)...success. Autofilling 8-6 (second way)...success. The two ways of autofilling 8-6 agree. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[0:9,0:7]. Autofilling 9-1...success. Autofilling 9-2...success. Autofilling 9-3...success. Autofilling 9-4...success. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[8:10,0:5]. Attempting automerge of 9-6...failure. Attempting automerge of 9-5...failure. HEAD is now at 73a5eed c⇒9 Conflict; suggest manual merge of 9-5 + grep -q Traceback autofill.out + grep -q suggest manual merge of 9-5 autofill.out + git-imerge diagram --commits --frontier --html=imerge1.html 0 5 9 | | | 0 - ********** - c *???????.. *???????.. *???????.. *???????.. 5 - *???????.# 6 - *........? | d 0 5 9 | | | 0 - ********** - c *???????.| *???????.| *???????.| *???????.+ 5 - *???????|# 6 - *-------+? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + git-imerge continue --edit Switched to branch 'imerge/c-d' Auto-merging conflict.txt CONFLICT (content): Merge conflict in conflict.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit 73a5eedb087a0f656d730831b8def7943b40f3cf Author: Loú User Date: Thu Apr 7 22:13:23 2005 +0000 c⇒9 Original second commit: commit 0a6f956bd00cebb5567e80d6ee247a51128ad36f Author: Loú User Date: Thu Apr 7 22:13:28 2005 +0000 d⇒5 There was a conflict merging commit 9-5, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + echo merged version + git add conflict.txt + git-imerge continue --no-edit [imerge/c-d 0928625] imerge 'c-d': manual merge 9-5 Merge has been recorded for merge 9-5. Attempting automerge of 9-6...success. Autofilling 9-6...success. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[8:10,5:7]. Merge is complete! + git-imerge diagram --commits --frontier --html=imerge2.html 0 5 9 | | | 0 - ********** - c *???????.. *???????.. *???????.. *???????.. 5 - *???????.* 6 - *......... | d 0 5 9 | | | 0 - ********** - c *???????.| *???????.| *???????.| *???????.| 5 - *???????.* 6 - *--------+ | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + GIT_EDITOR=cat git-imerge simplify --goal=merge --branch=c-d-merge Merge d into c (using imerge) # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # Date: Fri Mar 27 18:27:16 2026 +0000 # # On branch c-d-merge # Changes to be committed: # modified: conflict.txt # modified: d.txt # [c-d-merge fd36d87] Merge d into c (using imerge) Date: Fri Mar 27 18:27:16 2026 +0000 + check_tree c-d-merge ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-merge + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-merge^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=rebase --branch=c-d-rebase + check_tree c-d-rebase ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-rebase + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-rebase^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=rebase-with-history --branch=c-d-rebase-with-history + check_tree c-d-rebase-with-history ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-rebase-with-history + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-rebase-with-history^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border --branch=c-d-border + check_tree c-d-border ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-border^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border-with-history --branch=c-d-border-with-history + check_tree c-d-border-with-history ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border-with-history + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-border-with-history^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border-with-history2 --branch=c-d-border-with-history2 + check_tree c-d-border-with-history2 ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border-with-history2 + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-border-with-history2^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge remove + git checkout c Switched to branch 'c' + + git-imerge start --goal=full --first-parent --name=c-d d tee start.out Attempting to merge 1-1...success. Attempting to merge 1-2...success. Attempting to merge 1-3...success. Attempting to merge 1-4...success. Attempting to merge 1-5...success. Attempting to merge 1-6...success. Attempting to merge 2-1...success. Attempting to merge 2-2...success. Attempting to merge 2-3...success. Attempting to merge 2-4...success. Attempting to merge 2-5...success. Attempting to merge 2-6...success. Attempting to merge 3-1...success. Attempting to merge 3-2...success. Attempting to merge 3-3...success. Attempting to merge 3-4...success. Attempting to merge 3-5...success. Attempting to merge 3-6...success. Attempting to merge 4-1...success. Attempting to merge 4-2...success. Attempting to merge 4-3...success. Attempting to merge 4-4...success. Attempting to merge 4-5...success. Attempting to merge 4-6...success. Attempting to merge 5-1...success. Attempting to merge 5-2...success. Attempting to merge 5-3...success. Attempting to merge 5-4...success. Attempting to merge 5-5...success. Attempting to merge 5-6...success. Attempting to merge 6-1...success. Attempting to merge 6-2...success. Attempting to merge 6-3...success. Attempting to merge 6-4...success. Attempting to merge 6-5...success. Attempting to merge 6-6...success. Attempting to merge 7-1...success. Attempting to merge 7-2...success. Attempting to merge 7-3...success. Attempting to merge 7-4...success. Attempting to merge 7-5...success. Attempting to merge 7-6...success. Attempting to merge 8-1...success. Attempting to merge 8-2...success. Attempting to merge 8-3...success. Attempting to merge 8-4...success. Attempting to merge 8-5...success. Attempting to merge 8-6...success. Attempting to merge 9-1...success. Attempting to merge 9-2...success. Attempting to merge 9-3...success. Attempting to merge 9-4...success. Attempting to merge 9-5...conflict. Switched to branch 'imerge/c-d' Auto-merging conflict.txt CONFLICT (content): Merge conflict in conflict.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit 73a5eedb087a0f656d730831b8def7943b40f3cf Author: Loú User Date: Thu Apr 7 22:13:23 2005 +0000 c⇒9 Original second commit: commit 0a6f956bd00cebb5567e80d6ee247a51128ad36f Author: Loú User Date: Thu Apr 7 22:13:28 2005 +0000 d⇒5 There was a conflict merging commit 9-5, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + grep -q Traceback start.out + grep -q suggest manual merge of 9-5 autofill.out + git-imerge diagram --commits --frontier --html=imerge3.html 0 5 9 | | | 0 - ********** - c *......... *......... *......... *......... 5 - *........# 6 - *........? | d 0 5 9 | | | 0 - ********** - c *........| *........| *........| *........+ 5 - *.......|# 6 - *-------+? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + echo merged version + git add conflict.txt + GIT_EDITOR=cat git commit imerge 'c-d': manual merge 9-5 # Conflicts: # conflict.txt # # It looks like you may be committing a merge. # If this is not correct, please run # git update-ref -d MERGE_HEAD # and try again. # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # On branch imerge/c-d # All conflicts fixed but you are still merging. # # Changes to be committed: # modified: conflict.txt # modified: d.txt # [imerge/c-d 79d797b] imerge 'c-d': manual merge 9-5 + git-imerge continue --edit Merge has been recorded for merge 9-5. Attempting to merge 9-6...success. Merge is complete! + git-imerge diagram --commits --frontier --html=imerge4.html 0 5 9 | | | 0 - ********** - c *......... *......... *......... *......... 5 - *........* 6 - *......... | d 0 5 9 | | | 0 - ********** - c *........| *........| *........| *........| 5 - *........* 6 - *--------+ | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + git-imerge finish --branch=c-d-full + check_tree c-d-full ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-full + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-full^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + test_conflict 5-1 + local conflict=5-1 + TMP=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-5-1 + DESCRIPTION=git-imerge test repository with conflict at 5-1 + init_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-5-1 git-imerge test repository with conflict at 5-1 + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-5-1 + local description=git-imerge test repository with conflict at 5-1 + delete_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-5-1 git-imerge test repository with conflict at 5-1 + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-5-1 + local description=git-imerge test repository with conflict at 5-1 + test -d /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-5-1 + mkdir -p /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-5-1 + git init /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-5-1 hint: Using 'master' as the name for the initial branch. This default branch name hint: is subject to change. To configure the initial branch name to use in all hint: of your new repositories, which will suppress this warning, call: hint: hint: git config --global init.defaultBranch hint: hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and hint: 'development'. The just-created branch can be renamed via this command: hint: hint: git branch -m Initialized empty Git repository in /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-5-1/.git/ + echo git-imerge test repository with conflict at 5-1 + printf %s\n /*.out /*.css /*.html + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-5-1/.git config user.name Loú User + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-5-1/.git config user.email luser@example.com + TIME=1112911993 + ln -s /build/reproducible-path/git-imerge-1.2.0/imerge.css /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-5-1 + cd /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-5-1 + modify c.txt 0 + filename=c.txt + text=0 + echo 0 + git add c.txt + modify d.txt 0 + filename=d.txt + text=0 + echo 0 + git add d.txt + modify conflict.txt original version + filename=conflict.txt + text=original version + echo original version + git add conflict.txt + commit -m m⇒0 + TIME=1112911994 + GIT_AUTHOR_DATE=@1112911994 +0000 GIT_COMMITTER_DATE=@1112911994 +0000 git commit -m m⇒0 [master (root-commit) d70e04b] m⇒0 3 files changed, 3 insertions(+) create mode 100644 c.txt create mode 100644 conflict.txt create mode 100644 d.txt + git checkout -b c master -- Switched to a new branch 'c' + seq 9 + modify c.txt 1 + filename=c.txt + text=1 + echo 1 + git add c.txt + commit -m c⇒1 + TIME=1112911995 + GIT_AUTHOR_DATE=@1112911995 +0000 GIT_COMMITTER_DATE=@1112911995 +0000 git commit -m c⇒1 [c 89e2141] c⇒1 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 2 + filename=c.txt + text=2 + echo 2 + git add c.txt + commit -m c⇒2 + TIME=1112911996 + GIT_AUTHOR_DATE=@1112911996 +0000 GIT_COMMITTER_DATE=@1112911996 +0000 git commit -m c⇒2 [c 7c431f2] c⇒2 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 3 + filename=c.txt + text=3 + echo 3 + git add c.txt + commit -m c⇒3 + TIME=1112911997 + GIT_AUTHOR_DATE=@1112911997 +0000 GIT_COMMITTER_DATE=@1112911997 +0000 git commit -m c⇒3 [c f02ab24] c⇒3 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 4 + filename=c.txt + text=4 + echo 4 + git add c.txt + commit -m c⇒4 + TIME=1112911998 + GIT_AUTHOR_DATE=@1112911998 +0000 GIT_COMMITTER_DATE=@1112911998 +0000 git commit -m c⇒4 [c ed9122f] c⇒4 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 5 + filename=c.txt + text=5 + echo 5 + git add c.txt + modify conflict.txt c version + filename=conflict.txt + text=c version + echo c version + git add conflict.txt + commit -m c⇒5 + TIME=1112911999 + GIT_AUTHOR_DATE=@1112911999 +0000 GIT_COMMITTER_DATE=@1112911999 +0000 git commit -m c⇒5 [c 7e31f25] c⇒5 2 files changed, 2 insertions(+), 2 deletions(-) + modify c.txt 6 + filename=c.txt + text=6 + echo 6 + git add c.txt + commit -m c⇒6 + TIME=1112912000 + GIT_AUTHOR_DATE=@1112912000 +0000 GIT_COMMITTER_DATE=@1112912000 +0000 git commit -m c⇒6 [c df3c57a] c⇒6 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 7 + filename=c.txt + text=7 + echo 7 + git add c.txt + commit -m c⇒7 + TIME=1112912001 + GIT_AUTHOR_DATE=@1112912001 +0000 GIT_COMMITTER_DATE=@1112912001 +0000 git commit -m c⇒7 [c ea32d81] c⇒7 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 8 + filename=c.txt + text=8 + echo 8 + git add c.txt + commit -m c⇒8 + TIME=1112912002 + GIT_AUTHOR_DATE=@1112912002 +0000 GIT_COMMITTER_DATE=@1112912002 +0000 git commit -m c⇒8 [c 44473d6] c⇒8 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 9 + filename=c.txt + text=9 + echo 9 + git add c.txt + commit -m c⇒9 + TIME=1112912003 + GIT_AUTHOR_DATE=@1112912003 +0000 GIT_COMMITTER_DATE=@1112912003 +0000 git commit -m c⇒9 [c d8d80cf] c⇒9 1 file changed, 1 insertion(+), 1 deletion(-) + git checkout -b d master -- Switched to a new branch 'd' + seq 6 + modify d.txt 1 + filename=d.txt + text=1 + echo 1 + git add d.txt + modify conflict.txt d version + filename=conflict.txt + text=d version + echo d version + git add conflict.txt + commit -m d⇒1 + TIME=1112912004 + GIT_AUTHOR_DATE=@1112912004 +0000 GIT_COMMITTER_DATE=@1112912004 +0000 git commit -m d⇒1 [d ac0427a] d⇒1 2 files changed, 2 insertions(+), 2 deletions(-) + modify d.txt 2 + filename=d.txt + text=2 + echo 2 + git add d.txt + commit -m d⇒2 + TIME=1112912005 + GIT_AUTHOR_DATE=@1112912005 +0000 GIT_COMMITTER_DATE=@1112912005 +0000 git commit -m d⇒2 [d 43c38c0] d⇒2 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 3 + filename=d.txt + text=3 + echo 3 + git add d.txt + commit -m d⇒3 + TIME=1112912006 + GIT_AUTHOR_DATE=@1112912006 +0000 GIT_COMMITTER_DATE=@1112912006 +0000 git commit -m d⇒3 [d 0260058] d⇒3 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 4 + filename=d.txt + text=4 + echo 4 + git add d.txt + commit -m d⇒4 + TIME=1112912007 + GIT_AUTHOR_DATE=@1112912007 +0000 GIT_COMMITTER_DATE=@1112912007 +0000 git commit -m d⇒4 [d 40fef44] d⇒4 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 5 + filename=d.txt + text=5 + echo 5 + git add d.txt + commit -m d⇒5 + TIME=1112912008 + GIT_AUTHOR_DATE=@1112912008 +0000 GIT_COMMITTER_DATE=@1112912008 +0000 git commit -m d⇒5 [d b080a65] d⇒5 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 6 + filename=d.txt + text=6 + echo 6 + git add d.txt + commit -m d⇒6 + TIME=1112912009 + GIT_AUTHOR_DATE=@1112912009 +0000 GIT_COMMITTER_DATE=@1112912009 +0000 git commit -m d⇒6 [d 200ce5c] d⇒6 1 file changed, 1 insertion(+), 1 deletion(-) + git checkout c Switched to branch 'c' + git-imerge init --name=c-d d + git-imerge list * c-d + git-imerge diagram --commits --frontier --html=imerge0.html 0 5 9 | | | 0 - ********** - c *????????? *????????? *????????? *????????? 5 - *????????? 6 - *????????? | d 0 5 9 | | | 0 - ********** - c *????????? *????????? *????????? *????????? 5 - *????????? 6 - *????????? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + git-imerge autofill + tee autofill.out Attempting automerge of 9-6...failure. Attempting automerge of 1-1...success. Attempting automerge of 1-4...success. Attempting automerge of 1-6...success. Attempting automerge of 9-6...failure. Attempting automerge of 5-6...failure. Attempting automerge of 3-6...success. Attempting automerge of 4-6...success. Attempting automerge of 5-1...failure. Autofilling 1-6...success. Autofilling 2-6...success. Autofilling 3-6...success. Autofilling 4-1...success. Autofilling 4-2...success. Autofilling 4-3...success. Autofilling 4-4...success. Autofilling 4-5...success. Autofilling 4-6 (first way)...success. Autofilling 4-6 (second way)...success. The two ways of autofilling 4-6 agree. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[0:5,0:7]. Attempting automerge of 9-6...failure. Attempting automerge of 5-1...failure. HEAD is now at d8d80cf c⇒9 Conflict; suggest manual merge of 5-1 + grep -q Traceback autofill.out + grep -q suggest manual merge of 5-1 autofill.out + git-imerge diagram --commits --frontier --html=imerge1.html 0 5 9 | | | 0 - ********** - c *???.#???? *???.????? *???.????? *???.????? 5 - *???.????? 6 - *....????? | d 0 5 9 | | | 0 - ********** - c *???|#???? *???|????? *???|????? *???|????? 5 - *???|????? 6 - *---+????? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + git-imerge continue --edit Switched to branch 'imerge/c-d' Auto-merging conflict.txt CONFLICT (content): Merge conflict in conflict.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit 7e31f254c318decc434628f023dac0703f3d2b9e Author: Loú User Date: Thu Apr 7 22:13:19 2005 +0000 c⇒5 Original second commit: commit ac0427a285b64f2815ebd6eb83880f309600d0c7 Author: Loú User Date: Thu Apr 7 22:13:24 2005 +0000 d⇒1 There was a conflict merging commit 5-1, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + echo merged version + git add conflict.txt + git-imerge continue --no-edit [imerge/c-d 8d2d1da] imerge 'c-d': manual merge 5-1 Merge has been recorded for merge 5-1. Attempting automerge of 5-6...success. Autofilling 5-2...success. Autofilling 5-3...success. Autofilling 5-4...success. Autofilling 5-5...success. Autofilling 5-6...success. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[4:6,1:7]. Attempting automerge of 9-6...success. Autofilling 6-6...success. Autofilling 7-6...success. Autofilling 8-6...success. Autofilling 9-1...success. Autofilling 9-2...success. Autofilling 9-3...success. Autofilling 9-4...success. Autofilling 9-5...success. Autofilling 9-6 (first way)...success. Autofilling 9-6 (second way)...success. The two ways of autofilling 9-6 agree. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[5:10,0:7]. Merge is complete! + git-imerge diagram --commits --frontier --html=imerge2.html 0 5 9 | | | 0 - ********** - c *???.*???. *???..???. *???..???. *???..???. 5 - *???..???. 6 - *......... | d 0 5 9 | | | 0 - ********** - c *???.*???| *???..???| *???..???| *???..???| 5 - *???..???| 6 - *--------+ | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + GIT_EDITOR=cat git-imerge simplify --goal=merge --branch=c-d-merge Merge d into c (using imerge) # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # Date: Fri Mar 27 18:27:23 2026 +0000 # # On branch c-d-merge # Changes to be committed: # modified: conflict.txt # modified: d.txt # [c-d-merge 22e5fc3] Merge d into c (using imerge) Date: Fri Mar 27 18:27:23 2026 +0000 + check_tree c-d-merge ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-merge + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-merge^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=rebase --branch=c-d-rebase + check_tree c-d-rebase ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-rebase + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-rebase^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=rebase-with-history --branch=c-d-rebase-with-history + check_tree c-d-rebase-with-history ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-rebase-with-history + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-rebase-with-history^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border --branch=c-d-border + check_tree c-d-border ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-border^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border-with-history --branch=c-d-border-with-history + check_tree c-d-border-with-history ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border-with-history + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-border-with-history^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border-with-history2 --branch=c-d-border-with-history2 + check_tree c-d-border-with-history2 ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border-with-history2 + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-border-with-history2^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge remove + git checkout c Switched to branch 'c' + git-imerge start --goal=full --first-parent --name=c-d d + tee start.out Attempting to merge 1-1...success. Attempting to merge 1-2...success. Attempting to merge 1-3...success. Attempting to merge 1-4...success. Attempting to merge 1-5...success. Attempting to merge 1-6...success. Attempting to merge 2-1...success. Attempting to merge 2-2...success. Attempting to merge 2-3...success. Attempting to merge 2-4...success. Attempting to merge 2-5...success. Attempting to merge 2-6...success. Attempting to merge 3-1...success. Attempting to merge 3-2...success. Attempting to merge 3-3...success. Attempting to merge 3-4...success. Attempting to merge 3-5...success. Attempting to merge 3-6...success. Attempting to merge 4-1...success. Attempting to merge 4-2...success. Attempting to merge 4-3...success. Attempting to merge 4-4...success. Attempting to merge 4-5...success. Attempting to merge 4-6...success. Attempting to merge 5-1...conflict. Switched to branch 'imerge/c-d' Auto-merging conflict.txt CONFLICT (content): Merge conflict in conflict.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit 7e31f254c318decc434628f023dac0703f3d2b9e Author: Loú User Date: Thu Apr 7 22:13:19 2005 +0000 c⇒5 Original second commit: commit ac0427a285b64f2815ebd6eb83880f309600d0c7 Author: Loú User Date: Thu Apr 7 22:13:24 2005 +0000 d⇒1 There was a conflict merging commit 5-1, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + grep -q Traceback start.out + grep -q suggest manual merge of 5-1 autofill.out + git-imerge diagram --commits --frontier --html=imerge3.html 0 5 9 | | | 0 - ********** - c *....#???? *....????? *....????? *....????? 5 - *....????? 6 - *....????? | d 0 5 9 | | | 0 - ********** - c *...|#???? *...|????? *...|????? *...|????? 5 - *...|????? 6 - *---+????? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + echo merged version + git add conflict.txt + GIT_EDITOR=cat git commit imerge 'c-d': manual merge 5-1 # Conflicts: # conflict.txt # # It looks like you may be committing a merge. # If this is not correct, please run # git update-ref -d MERGE_HEAD # and try again. # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # On branch imerge/c-d # All conflicts fixed but you are still merging. # # Changes to be committed: # modified: conflict.txt # modified: d.txt # [imerge/c-d a8a4ce2] imerge 'c-d': manual merge 5-1 + git-imerge continue --edit Merge has been recorded for merge 5-1. Attempting to merge 5-2...success. Attempting to merge 5-3...success. Attempting to merge 5-4...success. Attempting to merge 5-5...success. Attempting to merge 5-6...success. Attempting to merge 6-1...success. Attempting to merge 6-2...success. Attempting to merge 6-3...success. Attempting to merge 6-4...success. Attempting to merge 6-5...success. Attempting to merge 6-6...success. Attempting to merge 7-1...success. Attempting to merge 7-2...success. Attempting to merge 7-3...success. Attempting to merge 7-4...success. Attempting to merge 7-5...success. Attempting to merge 7-6...success. Attempting to merge 8-1...success. Attempting to merge 8-2...success. Attempting to merge 8-3...success. Attempting to merge 8-4...success. Attempting to merge 8-5...success. Attempting to merge 8-6...success. Attempting to merge 9-1...success. Attempting to merge 9-2...success. Attempting to merge 9-3...success. Attempting to merge 9-4...success. Attempting to merge 9-5...success. Attempting to merge 9-6...success. Merge is complete! + git-imerge diagram --commits --frontier --html=imerge4.html 0 5 9 | | | 0 - ********** - c *....*.... *......... *......... *......... 5 - *......... 6 - *......... | d 0 5 9 | | | 0 - ********** - c *....*...| *........| *........| *........| 5 - *........| 6 - *--------+ | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + git-imerge finish --branch=c-d-full + check_tree c-d-full ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-full + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-full^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + test_conflict 6-6 + local conflict=6-6 + TMP=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-6-6 + DESCRIPTION=git-imerge test repository with conflict at 6-6 + init_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-6-6 git-imerge test repository with conflict at 6-6 + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-6-6 + local description=git-imerge test repository with conflict at 6-6 + delete_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-6-6 git-imerge test repository with conflict at 6-6 + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-6-6 + local description=git-imerge test repository with conflict at 6-6 + test -d /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-6-6 + mkdir -p /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-6-6 + git init /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-6-6 hint: Using 'master' as the name for the initial branch. This default branch name hint: is subject to change. To configure the initial branch name to use in all hint: of your new repositories, which will suppress this warning, call: hint: hint: git config --global init.defaultBranch hint: hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and hint: 'development'. The just-created branch can be renamed via this command: hint: hint: git branch -m Initialized empty Git repository in /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-6-6/.git/ + echo git-imerge test repository with conflict at 6-6 + printf %s\n /*.out /*.css /*.html + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-6-6/.git config user.name Loú User + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-6-6/.git config user.email luser@example.com + TIME=1112911993 + ln -s /build/reproducible-path/git-imerge-1.2.0/imerge.css /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-6-6 + cd /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-6-6 + modify c.txt 0 + filename=c.txt + text=0 + echo 0 + git add c.txt + modify d.txt 0 + filename=d.txt + text=0 + echo 0 + git add d.txt + modify conflict.txt original version + filename=conflict.txt + text=original version + echo original version + git add conflict.txt + commit -m m⇒0 + TIME=1112911994 + GIT_AUTHOR_DATE=@1112911994 +0000 GIT_COMMITTER_DATE=@1112911994 +0000 git commit -m m⇒0 [master (root-commit) d70e04b] m⇒0 3 files changed, 3 insertions(+) create mode 100644 c.txt create mode 100644 conflict.txt create mode 100644 d.txt + git checkout -b c master -- Switched to a new branch 'c' + seq 9 + modify c.txt 1 + filename=c.txt + text=1 + echo 1 + git add c.txt + commit -m c⇒1 + TIME=1112911995 + GIT_AUTHOR_DATE=@1112911995 +0000 GIT_COMMITTER_DATE=@1112911995 +0000 git commit -m c⇒1 [c 89e2141] c⇒1 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 2 + filename=c.txt + text=2 + echo 2 + git add c.txt + commit -m c⇒2 + TIME=1112911996 + GIT_AUTHOR_DATE=@1112911996 +0000 GIT_COMMITTER_DATE=@1112911996 +0000 git commit -m c⇒2 [c 7c431f2] c⇒2 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 3 + filename=c.txt + text=3 + echo 3 + git add c.txt + commit -m c⇒3 + TIME=1112911997 + GIT_AUTHOR_DATE=@1112911997 +0000 GIT_COMMITTER_DATE=@1112911997 +0000 git commit -m c⇒3 [c f02ab24] c⇒3 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 4 + filename=c.txt + text=4 + echo 4 + git add c.txt + commit -m c⇒4 + TIME=1112911998 + GIT_AUTHOR_DATE=@1112911998 +0000 GIT_COMMITTER_DATE=@1112911998 +0000 git commit -m c⇒4 [c ed9122f] c⇒4 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 5 + filename=c.txt + text=5 + echo 5 + git add c.txt + commit -m c⇒5 + TIME=1112911999 + GIT_AUTHOR_DATE=@1112911999 +0000 GIT_COMMITTER_DATE=@1112911999 +0000 git commit -m c⇒5 [c 1d3bf09] c⇒5 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 6 + filename=c.txt + text=6 + echo 6 + git add c.txt + modify conflict.txt c version + filename=conflict.txt + text=c version + echo c version + git add conflict.txt + commit -m c⇒6 + TIME=1112912000 + GIT_AUTHOR_DATE=@1112912000 +0000 GIT_COMMITTER_DATE=@1112912000 +0000 git commit -m c⇒6 [c fe4fed8] c⇒6 2 files changed, 2 insertions(+), 2 deletions(-) + modify c.txt 7 + filename=c.txt + text=7 + echo 7 + git add c.txt + commit -m c⇒7 + TIME=1112912001 + GIT_AUTHOR_DATE=@1112912001 +0000 GIT_COMMITTER_DATE=@1112912001 +0000 git commit -m c⇒7 [c ec255ea] c⇒7 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 8 + filename=c.txt + text=8 + echo 8 + git add c.txt + commit -m c⇒8 + TIME=1112912002 + GIT_AUTHOR_DATE=@1112912002 +0000 GIT_COMMITTER_DATE=@1112912002 +0000 git commit -m c⇒8 [c 7459ac3] c⇒8 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 9 + filename=c.txt + text=9 + echo 9 + git add c.txt + commit -m c⇒9 + TIME=1112912003 + GIT_AUTHOR_DATE=@1112912003 +0000 GIT_COMMITTER_DATE=@1112912003 +0000 git commit -m c⇒9 [c 70408c8] c⇒9 1 file changed, 1 insertion(+), 1 deletion(-) + git checkout -b d master -- Switched to a new branch 'd' + seq 6 + modify d.txt 1 + filename=d.txt + text=1 + echo 1 + git add d.txt + commit -m d⇒1 + TIME=1112912004 + GIT_AUTHOR_DATE=@1112912004 +0000 GIT_COMMITTER_DATE=@1112912004 +0000 git commit -m d⇒1 [d bd5368a] d⇒1 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 2 + filename=d.txt + text=2 + echo 2 + git add d.txt + commit -m d⇒2 + TIME=1112912005 + GIT_AUTHOR_DATE=@1112912005 +0000 GIT_COMMITTER_DATE=@1112912005 +0000 git commit -m d⇒2 [d 93e27e6] d⇒2 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 3 + filename=d.txt + text=3 + echo 3 + git add d.txt + commit -m d⇒3 + TIME=1112912006 + GIT_AUTHOR_DATE=@1112912006 +0000 GIT_COMMITTER_DATE=@1112912006 +0000 git commit -m d⇒3 [d 133f385] d⇒3 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 4 + filename=d.txt + text=4 + echo 4 + git add d.txt + commit -m d⇒4 + TIME=1112912007 + GIT_AUTHOR_DATE=@1112912007 +0000 GIT_COMMITTER_DATE=@1112912007 +0000 git commit -m d⇒4 [d 586472a] d⇒4 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 5 + filename=d.txt + text=5 + echo 5 + git add d.txt + commit -m d⇒5 + TIME=1112912008 + GIT_AUTHOR_DATE=@1112912008 +0000 GIT_COMMITTER_DATE=@1112912008 +0000 git commit -m d⇒5 [d 9522207] d⇒5 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 6 + filename=d.txt + text=6 + echo 6 + git add d.txt + modify conflict.txt d version + filename=conflict.txt + text=d version + echo d version + git add conflict.txt + commit -m d⇒6 + TIME=1112912009 + GIT_AUTHOR_DATE=@1112912009 +0000 GIT_COMMITTER_DATE=@1112912009 +0000 git commit -m d⇒6 [d f7e451a] d⇒6 2 files changed, 2 insertions(+), 2 deletions(-) + git checkout c Switched to branch 'c' + git-imerge init --name=c-d d + git-imerge list * c-d + git-imerge diagram --commits --frontier --html=imerge0.html 0 5 9 | | | 0 - ********** - c *????????? *????????? *????????? *????????? 5 - *????????? 6 - *????????? | d 0 5 9 | | | 0 - ********** - c *????????? *????????? *????????? *????????? 5 - *????????? 6 - *????????? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + git-imerge autofill + tee autofill.out Attempting automerge of 9-6...failure. Attempting automerge of 1-1...success. Attempting automerge of 1-4...success. Attempting automerge of 1-6...success. Attempting automerge of 9-6...failure. Attempting automerge of 5-6...success. Attempting automerge of 7-6...failure. Attempting automerge of 6-6...failure. Attempting automerge of 6-1...success. Attempting automerge of 6-4...success. Attempting automerge of 6-5...success. Attempting automerge of 9-5...success. Autofilling 1-6...success. Autofilling 2-6...success. Autofilling 3-6...success. Autofilling 4-6...success. Autofilling 5-1...success. Autofilling 5-2...success. Autofilling 5-3...success. Autofilling 5-4...success. Autofilling 5-5...success. Autofilling 5-6 (first way)...success. Autofilling 5-6 (second way)...success. The two ways of autofilling 5-6 agree. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[0:6,0:7]. Autofilling 6-5...success. Autofilling 7-5...success. Autofilling 8-5...success. Autofilling 9-1...success. Autofilling 9-2...success. Autofilling 9-3...success. Autofilling 9-4...success. Autofilling 9-5 (first way)...success. Autofilling 9-5 (second way)...success. The two ways of autofilling 9-5 agree. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[5:10,0:6]. Attempting automerge of 9-6...failure. Attempting automerge of 6-6...failure. HEAD is now at 70408c8 c⇒9 Conflict; suggest manual merge of 6-6 + grep -q Traceback autofill.out + grep -q suggest manual merge of 6-6 autofill.out + git-imerge diagram --commits --frontier --html=imerge1.html 0 5 9 | | | 0 - ********** - c *????.???. *????.???. *????.???. *????.???. 5 - *????..... 6 - *.....#??? | d 0 5 9 | | | 0 - ********** - c *????.???| *????.???| *????.???| *????.???| 5 - *????.---+ 6 - *----+#??? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + git-imerge continue --edit Switched to branch 'imerge/c-d' Auto-merging conflict.txt CONFLICT (content): Merge conflict in conflict.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit fe4fed83ab13bbc7e9ee5ef0a814b170b8194854 Author: Loú User Date: Thu Apr 7 22:13:20 2005 +0000 c⇒6 Original second commit: commit f7e451a6c9656dda15641a9fbc591a602f158692 Author: Loú User Date: Thu Apr 7 22:13:29 2005 +0000 d⇒6 There was a conflict merging commit 6-6, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + echo merged version + git add conflict.txt + git-imerge continue --no-edit [imerge/c-d 052d07a] imerge 'c-d': manual merge 6-6 Merge has been recorded for merge 6-6. Attempting automerge of 9-6...success. Autofilling 7-6...success. Autofilling 8-6...success. Autofilling 9-6...success. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[6:10,5:7]. Merge is complete! + git-imerge diagram --commits --frontier --html=imerge2.html 0 5 9 | | | 0 - ********** - c *????.???. *????.???. *????.???. *????.???. 5 - *????..... 6 - *.....*... | d 0 5 9 | | | 0 - ********** - c *????.???| *????.???| *????.???| *????.???| 5 - *????....| 6 - *-----*--+ | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + GIT_EDITOR=cat git-imerge simplify --goal=merge --branch=c-d-merge Merge d into c (using imerge) # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # Date: Fri Mar 27 18:27:31 2026 +0000 # # On branch c-d-merge # Changes to be committed: # modified: conflict.txt # modified: d.txt # [c-d-merge 8d6d059] Merge d into c (using imerge) Date: Fri Mar 27 18:27:31 2026 +0000 + check_tree c-d-merge ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-merge + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-merge^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=rebase --branch=c-d-rebase + check_tree c-d-rebase ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-rebase + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-rebase^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=rebase-with-history --branch=c-d-rebase-with-history + check_tree c-d-rebase-with-history ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-rebase-with-history + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-rebase-with-history^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border --branch=c-d-border + check_tree c-d-border ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-border^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border-with-history --branch=c-d-border-with-history + check_tree c-d-border-with-history ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border-with-history + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-border-with-history^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border-with-history2 --branch=c-d-border-with-history2 + check_tree c-d-border-with-history2 ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border-with-history2 + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-border-with-history2^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge remove + git checkout c Switched to branch 'c' + git-imerge start --goal=full --first-parent --name=c-d d + tee start.out Attempting to merge 1-1...success. Attempting to merge 1-2...success. Attempting to merge 1-3...success. Attempting to merge 1-4...success. Attempting to merge 1-5...success. Attempting to merge 1-6...success. Attempting to merge 2-1...success. Attempting to merge 2-2...success. Attempting to merge 2-3...success. Attempting to merge 2-4...success. Attempting to merge 2-5...success. Attempting to merge 2-6...success. Attempting to merge 3-1...success. Attempting to merge 3-2...success. Attempting to merge 3-3...success. Attempting to merge 3-4...success. Attempting to merge 3-5...success. Attempting to merge 3-6...success. Attempting to merge 4-1...success. Attempting to merge 4-2...success. Attempting to merge 4-3...success. Attempting to merge 4-4...success. Attempting to merge 4-5...success. Attempting to merge 4-6...success. Attempting to merge 5-1...success. Attempting to merge 5-2...success. Attempting to merge 5-3...success. Attempting to merge 5-4...success. Attempting to merge 5-5...success. Attempting to merge 5-6...success. Attempting to merge 6-1...success. Attempting to merge 6-2...success. Attempting to merge 6-3...success. Attempting to merge 6-4...success. Attempting to merge 6-5...success. Attempting to merge 6-6...conflict. Attempting to merge 7-1...success. Attempting to merge 7-2...success. Attempting to merge 7-3...success. Attempting to merge 7-4...success. Attempting to merge 7-5...success. Attempting to merge 8-1...success. Attempting to merge 8-2...success. Attempting to merge 8-3...success. Attempting to merge 8-4...success. Attempting to merge 8-5...success. Attempting to merge 9-1...success. Attempting to merge 9-2...success. Attempting to merge 9-3...success. Attempting to merge 9-4...success. Attempting to merge 9-5...success. Previous HEAD position was 753b070 imerge 'c-d': automatic merge 9-5 Switched to branch 'imerge/c-d' Auto-merging conflict.txt CONFLICT (content): Merge conflict in conflict.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit fe4fed83ab13bbc7e9ee5ef0a814b170b8194854 Author: Loú User Date: Thu Apr 7 22:13:20 2005 +0000 c⇒6 Original second commit: commit f7e451a6c9656dda15641a9fbc591a602f158692 Author: Loú User Date: Thu Apr 7 22:13:29 2005 +0000 d⇒6 There was a conflict merging commit 6-6, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + grep -q Traceback start.out + grep -q suggest manual merge of 6-6 autofill.out + git-imerge diagram --commits --frontier --html=imerge3.html 0 5 9 | | | 0 - ********** - c *......... *......... *......... *......... 5 - *......... 6 - *.....#??? | d 0 5 9 | | | 0 - ********** - c *........| *........| *........| *........| 5 - *.....---+ 6 - *----+#??? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + echo merged version + git add conflict.txt + GIT_EDITOR=cat git commit imerge 'c-d': manual merge 6-6 # Conflicts: # conflict.txt # # It looks like you may be committing a merge. # If this is not correct, please run # git update-ref -d MERGE_HEAD # and try again. # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # On branch imerge/c-d # All conflicts fixed but you are still merging. # # Changes to be committed: # modified: conflict.txt # modified: d.txt # [imerge/c-d b34ff65] imerge 'c-d': manual merge 6-6 + git-imerge continue --edit Merge has been recorded for merge 6-6. Attempting to merge 7-6...success. Attempting to merge 8-6...success. Attempting to merge 9-6...success. Merge is complete! + git-imerge diagram --commits --frontier --html=imerge4.html 0 5 9 | | | 0 - ********** - c *......... *......... *......... *......... 5 - *......... 6 - *.....*... | d 0 5 9 | | | 0 - ********** - c *........| *........| *........| *........| 5 - *........| 6 - *-----*--+ | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + git-imerge finish --branch=c-d-full + check_tree c-d-full ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-full + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-full^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 py313: commands[2] .pybuild/cpython3_3.13/build> /bin/sh t/test-really-conflicted + dirname t/test-really-conflicted + cd t + pwd + dirname /build/reproducible-path/git-imerge-1.2.0/t + BASE=/build/reproducible-path/git-imerge-1.2.0 + . /build/reproducible-path/git-imerge-1.2.0/t/test-lib.sh + GIT_IMERGE=git-imerge + TMP=/build/reproducible-path/git-imerge-1.2.0/t/tmp/really-conflicted + DESCRIPTION=git-imerge test repository with multiple conflicts + init_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/really-conflicted git-imerge test repository with multiple conflicts + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/really-conflicted + local description=git-imerge test repository with multiple conflicts + delete_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/really-conflicted git-imerge test repository with multiple conflicts + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/really-conflicted + local description=git-imerge test repository with multiple conflicts + test -d /build/reproducible-path/git-imerge-1.2.0/t/tmp/really-conflicted + mkdir -p /build/reproducible-path/git-imerge-1.2.0/t/tmp/really-conflicted + git init /build/reproducible-path/git-imerge-1.2.0/t/tmp/really-conflicted hint: Using 'master' as the name for the initial branch. This default branch name hint: is subject to change. To configure the initial branch name to use in all hint: of your new repositories, which will suppress this warning, call: hint: hint: git config --global init.defaultBranch hint: hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and hint: 'development'. The just-created branch can be renamed via this command: hint: hint: git branch -m Initialized empty Git repository in /build/reproducible-path/git-imerge-1.2.0/t/tmp/really-conflicted/.git/ + echo git-imerge test repository with multiple conflicts + printf %s\n /*.out /*.css /*.html + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/really-conflicted/.git config user.name Loú User + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/really-conflicted/.git config user.email luser@example.com + TIME=1112911993 + ln -s /build/reproducible-path/git-imerge-1.2.0/imerge.css /build/reproducible-path/git-imerge-1.2.0/t/tmp/really-conflicted + cd /build/reproducible-path/git-imerge-1.2.0/t/tmp/really-conflicted + modify c.txt 0 + filename=c.txt + text=0 + echo 0 + git add c.txt + modify d.txt 0 + filename=d.txt + text=0 + echo 0 + git add d.txt + seq 0 7 + modify conflict0.txt original version + filename=conflict0.txt + text=original version + echo original version + git add conflict0.txt + modify conflict1.txt original version + filename=conflict1.txt + text=original version + echo original version + git add conflict1.txt + modify conflict2.txt original version + filename=conflict2.txt + text=original version + echo original version + git add conflict2.txt + modify conflict3.txt original version + filename=conflict3.txt + text=original version + echo original version + git add conflict3.txt + modify conflict4.txt original version + filename=conflict4.txt + text=original version + echo original version + git add conflict4.txt + modify conflict5.txt original version + filename=conflict5.txt + text=original version + echo original version + git add conflict5.txt + modify conflict6.txt original version + filename=conflict6.txt + text=original version + echo original version + git add conflict6.txt + modify conflict7.txt original version + filename=conflict7.txt + text=original version + echo original version + git add conflict7.txt + commit -m m⇒0 + TIME=1112911994 + GIT_AUTHOR_DATE=@1112911994 +0000 GIT_COMMITTER_DATE=@1112911994 +0000 git commit -m m⇒0 [master (root-commit) 8e21fbd] m⇒0 10 files changed, 10 insertions(+) create mode 100644 c.txt create mode 100644 conflict0.txt create mode 100644 conflict1.txt create mode 100644 conflict2.txt create mode 100644 conflict3.txt create mode 100644 conflict4.txt create mode 100644 conflict5.txt create mode 100644 conflict6.txt create mode 100644 conflict7.txt create mode 100644 d.txt + git checkout -b c master -- Switched to a new branch 'c' + modify c.txt 1 + filename=c.txt + text=1 + echo 1 + git add c.txt + modify conflict0.txt c version + filename=conflict0.txt + text=c version + echo c version + git add conflict0.txt + modify conflict4.txt c version + filename=conflict4.txt + text=c version + echo c version + git add conflict4.txt + commit -m c⇒1 + TIME=1112911995 + GIT_AUTHOR_DATE=@1112911995 +0000 GIT_COMMITTER_DATE=@1112911995 +0000 git commit -m c⇒1 [c 4e6007a] c⇒1 3 files changed, 3 insertions(+), 3 deletions(-) + modify c.txt 2 + filename=c.txt + text=2 + echo 2 + git add c.txt + commit -m c⇒2 + TIME=1112911996 + GIT_AUTHOR_DATE=@1112911996 +0000 GIT_COMMITTER_DATE=@1112911996 +0000 git commit -m c⇒2 [c c2b7c49] c⇒2 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 3 + filename=c.txt + text=3 + echo 3 + git add c.txt + commit -m c⇒3 + TIME=1112911997 + GIT_AUTHOR_DATE=@1112911997 +0000 GIT_COMMITTER_DATE=@1112911997 +0000 git commit -m c⇒3 [c 42ad55a] c⇒3 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 4 + filename=c.txt + text=4 + echo 4 + git add c.txt + modify conflict1.txt c version + filename=conflict1.txt + text=c version + echo c version + git add conflict1.txt + commit -m c⇒4 + TIME=1112911998 + GIT_AUTHOR_DATE=@1112911998 +0000 GIT_COMMITTER_DATE=@1112911998 +0000 git commit -m c⇒4 [c a891793] c⇒4 2 files changed, 2 insertions(+), 2 deletions(-) + modify c.txt 5 + filename=c.txt + text=5 + echo 5 + git add c.txt + modify conflict3.txt c version + filename=conflict3.txt + text=c version + echo c version + git add conflict3.txt + modify conflict6.txt c version + filename=conflict6.txt + text=c version + echo c version + git add conflict6.txt + commit -m c⇒5 + TIME=1112911999 + GIT_AUTHOR_DATE=@1112911999 +0000 GIT_COMMITTER_DATE=@1112911999 +0000 git commit -m c⇒5 [c c21441d] c⇒5 3 files changed, 3 insertions(+), 3 deletions(-) + modify c.txt 6 + filename=c.txt + text=6 + echo 6 + git add c.txt + modify conflict5.txt c version + filename=conflict5.txt + text=c version + echo c version + git add conflict5.txt + commit -m c⇒6 + TIME=1112912000 + GIT_AUTHOR_DATE=@1112912000 +0000 GIT_COMMITTER_DATE=@1112912000 +0000 git commit -m c⇒6 [c a797a66] c⇒6 2 files changed, 2 insertions(+), 2 deletions(-) + modify c.txt 7 + filename=c.txt + text=7 + echo 7 + git add c.txt + modify conflict2.txt c version + filename=conflict2.txt + text=c version + echo c version + git add conflict2.txt + commit -m c⇒7 + TIME=1112912001 + GIT_AUTHOR_DATE=@1112912001 +0000 GIT_COMMITTER_DATE=@1112912001 +0000 git commit -m c⇒7 [c c0e1537] c⇒7 2 files changed, 2 insertions(+), 2 deletions(-) + modify c.txt 8 + filename=c.txt + text=8 + echo 8 + git add c.txt + commit -m c⇒8 + TIME=1112912002 + GIT_AUTHOR_DATE=@1112912002 +0000 GIT_COMMITTER_DATE=@1112912002 +0000 git commit -m c⇒8 [c 9f3e7c8] c⇒8 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 9 + filename=c.txt + text=9 + echo 9 + git add c.txt + modify conflict7.txt c version + filename=conflict7.txt + text=c version + echo c version + git add conflict7.txt + commit -m c⇒9 + TIME=1112912003 + GIT_AUTHOR_DATE=@1112912003 +0000 GIT_COMMITTER_DATE=@1112912003 +0000 git commit -m c⇒9 [c ccbfccb] c⇒9 2 files changed, 2 insertions(+), 2 deletions(-) + git checkout -b d master -- Switched to a new branch 'd' + modify d.txt 1 + filename=d.txt + text=1 + echo 1 + git add d.txt + modify conflict0.txt d version + filename=conflict0.txt + text=d version + echo d version + git add conflict0.txt + modify conflict6.txt d version + filename=conflict6.txt + text=d version + echo d version + git add conflict6.txt + commit -m d⇒1 + TIME=1112912004 + GIT_AUTHOR_DATE=@1112912004 +0000 GIT_COMMITTER_DATE=@1112912004 +0000 git commit -m d⇒1 [d 8c3c065] d⇒1 3 files changed, 3 insertions(+), 3 deletions(-) + modify d.txt 2 + filename=d.txt + text=2 + echo 2 + git add d.txt + modify conflict1.txt d version + filename=conflict1.txt + text=d version + echo d version + git add conflict1.txt + modify conflict2.txt d version + filename=conflict2.txt + text=d version + echo d version + git add conflict2.txt + commit -m d⇒2 + TIME=1112912005 + GIT_AUTHOR_DATE=@1112912005 +0000 GIT_COMMITTER_DATE=@1112912005 +0000 git commit -m d⇒2 [d 820b787] d⇒2 3 files changed, 3 insertions(+), 3 deletions(-) + modify d.txt 3 + filename=d.txt + text=3 + echo 3 + git add d.txt + commit -m d⇒3 + TIME=1112912006 + GIT_AUTHOR_DATE=@1112912006 +0000 GIT_COMMITTER_DATE=@1112912006 +0000 git commit -m d⇒3 [d 821c792] d⇒3 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 4 + filename=d.txt + text=4 + echo 4 + git add d.txt + commit -m d⇒4 + TIME=1112912007 + GIT_AUTHOR_DATE=@1112912007 +0000 GIT_COMMITTER_DATE=@1112912007 +0000 git commit -m d⇒4 [d c2a1456] d⇒4 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 5 + filename=d.txt + text=5 + echo 5 + git add d.txt + modify conflict3.txt d version + filename=conflict3.txt + text=d version + echo d version + git add conflict3.txt + commit -m d⇒5 + TIME=1112912008 + GIT_AUTHOR_DATE=@1112912008 +0000 GIT_COMMITTER_DATE=@1112912008 +0000 git commit -m d⇒5 [d c3e3890] d⇒5 2 files changed, 2 insertions(+), 2 deletions(-) + modify d.txt 6 + filename=d.txt + text=6 + echo 6 + git add d.txt + modify conflict4.txt d version + filename=conflict4.txt + text=d version + echo d version + git add conflict4.txt + commit -m d⇒6 + TIME=1112912009 + GIT_AUTHOR_DATE=@1112912009 +0000 GIT_COMMITTER_DATE=@1112912009 +0000 git commit -m d⇒6 [d b2f5c5e] d⇒6 2 files changed, 2 insertions(+), 2 deletions(-) + modify d.txt 7 + filename=d.txt + text=7 + echo 7 + git add d.txt + modify conflict5.txt d version + filename=conflict5.txt + text=d version + echo d version + git add conflict5.txt + commit -m d⇒7 + TIME=1112912010 + GIT_AUTHOR_DATE=@1112912010 +0000 GIT_COMMITTER_DATE=@1112912010 +0000 git commit -m d⇒7 [d 892af56] d⇒7 2 files changed, 2 insertions(+), 2 deletions(-) + modify d.txt 8 + filename=d.txt + text=8 + echo 8 + git add d.txt + modify conflict7.txt d version + filename=conflict7.txt + text=d version + echo d version + git add conflict7.txt + commit -m d⇒8 + TIME=1112912011 + GIT_AUTHOR_DATE=@1112912011 +0000 GIT_COMMITTER_DATE=@1112912011 +0000 git commit -m d⇒8 [d 67099d0] d⇒8 2 files changed, 2 insertions(+), 2 deletions(-) + git checkout c Switched to branch 'c' + git-imerge init --name=c-d d + git-imerge diagram --commits --frontier 0 5 9 | | | 0 - ********** - c *????????? *????????? *????????? *????????? 5 - *????????? *????????? *????????? 8 - *????????? | d 0 5 9 | | | 0 - ********** - c *????????? *????????? *????????? *????????? 5 - *????????? *????????? *????????? 8 - *????????? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + conflict_count=0 + true + git-imerge continue --no-edit + tee autofill.out Attempting automerge of 9-8...failure. Attempting automerge of 1-1...failure. Switched to branch 'imerge/c-d' Auto-merging conflict0.txt CONFLICT (content): Merge conflict in conflict0.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit 4e6007a9261b8d70c6c9cb31fdf801cada885a79 Author: Loú User Date: Thu Apr 7 22:13:15 2005 +0000 c⇒1 Original second commit: commit 8c3c06526942b1b7ef891dac2d98b871c0269ebc Author: Loú User Date: Thu Apr 7 22:13:24 2005 +0000 d⇒1 There was a conflict merging commit 1-1, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + grep -q Traceback autofill.out + git-imerge diagram --frontier 0 5 9 | | | 0 - ********** - c *#???????? *????????? *????????? *????????? 5 - *????????? *????????? *????????? 8 - *????????? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + grep -q There was a conflict merging autofill.out + seq 0 7 + grep -q ==== conflict0.txt + modify conflict0.txt merged version + filename=conflict0.txt + text=merged version + echo merged version + git add conflict0.txt + conflict_count=1 + grep -q ==== conflict1.txt + grep -q ==== conflict2.txt + grep -q ==== conflict3.txt + grep -q ==== conflict4.txt + grep -q ==== conflict5.txt + grep -q ==== conflict6.txt + grep -q ==== conflict7.txt + true + git-imerge continue --no-edit + tee autofill.out [imerge/c-d 5987727] imerge 'c-d': manual merge 1-1 Merge has been recorded for merge 1-1. Attempting automerge of 1-8...failure. Attempting automerge of 1-2...success. Attempting automerge of 1-6...failure. Attempting automerge of 1-4...success. Attempting automerge of 1-5...success. Autofilling 1-2...success. Autofilling 1-3...success. Autofilling 1-4...success. Autofilling 1-5...success. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[0:2,1:6]. Attempting automerge of 1-8...failure. Attempting automerge of 1-6...failure. Attempting automerge of 9-5...failure. Attempting automerge of 2-1...success. Attempting automerge of 2-4...success. Attempting automerge of 2-5...success. Attempting automerge of 9-5...failure. Attempting automerge of 6-5...failure. Attempting automerge of 4-5...failure. Attempting automerge of 3-5...success. Attempting automerge of 4-1...success. Attempting automerge of 4-3...failure. Attempting automerge of 4-2...failure. Attempting automerge of 9-1...failure. Attempting automerge of 7-1...failure. Attempting automerge of 6-1...failure. Attempting automerge of 5-1...failure. Autofilling 2-5...success. Autofilling 3-1...success. Autofilling 3-2...success. Autofilling 3-3...success. Autofilling 3-4...success. Autofilling 3-5 (first way)...success. Autofilling 3-5 (second way)...success. The two ways of autofilling 3-5 agree. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[1:4,0:6]. Autofilling 4-1...success. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[3:5,0:2]. Attempting automerge of 4-5...failure. Attempting automerge of 4-2...failure. Attempting automerge of 9-1...failure. Attempting automerge of 5-1...failure. Previous HEAD position was c21441d c⇒5 Switched to branch 'imerge/c-d' Auto-merging conflict4.txt CONFLICT (content): Merge conflict in conflict4.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit 4e6007a9261b8d70c6c9cb31fdf801cada885a79 Author: Loú User Date: Thu Apr 7 22:13:15 2005 +0000 c⇒1 Original second commit: commit b2f5c5e78cd79a99aa1f8f4a9d8054b2d5a484ff Author: Loú User Date: Thu Apr 7 22:13:29 2005 +0000 d⇒6 There was a conflict merging commit 1-6, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + grep -q Traceback autofill.out + git-imerge diagram --frontier 0 5 9 | | | 0 - ********** - c **?.+#???? *.?|#????? *.?|?????? *.?|?????? 5 - *--+?????? *#???????? *????????? 8 - *????????? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + grep -q There was a conflict merging autofill.out + seq 0 7 + grep -q ==== conflict0.txt + grep -q ==== conflict1.txt + grep -q ==== conflict2.txt + grep -q ==== conflict3.txt + grep -q ==== conflict4.txt + modify conflict4.txt merged version + filename=conflict4.txt + text=merged version + echo merged version + git add conflict4.txt + conflict_count=2 + grep -q ==== conflict5.txt + grep -q ==== conflict6.txt + grep -q ==== conflict7.txt + true + git-imerge continue --no-edit + tee autofill.out [imerge/c-d 516c9bf] imerge 'c-d': manual merge 1-6 Merge has been recorded for merge 1-6. Attempting automerge of 1-8...success. Autofilling 1-7...success. Autofilling 1-8...success. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[0:2,6:9]. Attempting automerge of 3-8...success. Autofilling 2-8...success. Autofilling 3-6...success. Autofilling 3-7...success. Autofilling 3-8 (first way)...success. Autofilling 3-8 (second way)...success. The two ways of autofilling 3-8 agree. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[1:4,5:9]. Warning: you are leaving 1 commit behind, not connected to any of your branches: 141992b imerge 'c-d': automatic merge 3-8 If you want to keep it by creating a new branch, this may be a good time to do so with: git branch 141992b Switched to branch 'imerge/c-d' Auto-merging conflict1.txt CONFLICT (content): Merge conflict in conflict1.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit a89179336bb40a4ca90903425239a9ef3ce659bd Author: Loú User Date: Thu Apr 7 22:13:18 2005 +0000 c⇒4 Original second commit: commit 820b787e86e22612af7a061db842dc95e9f1d49f Author: Loú User Date: Thu Apr 7 22:13:25 2005 +0000 d⇒2 There was a conflict merging commit 4-2, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + grep -q Traceback autofill.out + git-imerge diagram --frontier 0 5 9 | | | 0 - ********** - c **?.+#???? *.?|#????? *.?|?????? *.?|?????? 5 - *..|?????? **?|?????? *.?|?????? 8 - *--+?????? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + grep -q There was a conflict merging autofill.out + seq 0 7 + grep -q ==== conflict0.txt + grep -q ==== conflict1.txt + modify conflict1.txt merged version + filename=conflict1.txt + text=merged version + echo merged version + git add conflict1.txt + conflict_count=3 + grep -q ==== conflict2.txt + grep -q ==== conflict3.txt + grep -q ==== conflict4.txt + grep -q ==== conflict5.txt + grep -q ==== conflict6.txt + grep -q ==== conflict7.txt + true + git-imerge continue --no-edit + tee autofill.out [imerge/c-d dff9049] imerge 'c-d': manual merge 4-2 Merge has been recorded for merge 4-2. Attempting automerge of 4-8...success. Autofilling 4-3...success. Autofilling 4-4...success. Autofilling 4-5...success. Autofilling 4-6...success. Autofilling 4-7...success. Autofilling 4-8...success. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[3:5,2:9]. Previous HEAD position was 80cda00 imerge 'c-d': automatic merge 4-8 Switched to branch 'imerge/c-d' Auto-merging conflict6.txt CONFLICT (content): Merge conflict in conflict6.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit c21441db0b1abc10e3caf5024d19976bd7f9b469 Author: Loú User Date: Thu Apr 7 22:13:19 2005 +0000 c⇒5 Original second commit: commit 8c3c06526942b1b7ef891dac2d98b871c0269ebc Author: Loú User Date: Thu Apr 7 22:13:24 2005 +0000 d⇒1 There was a conflict merging commit 5-1, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + grep -q Traceback autofill.out + git-imerge diagram --frontier 0 5 9 | | | 0 - ********** - c **?.|#???? *.?.*????? *.?.|????? *.?.|????? 5 - *...|????? **?.|????? *.?.|????? 8 - *---+????? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + grep -q There was a conflict merging autofill.out + seq 0 7 + grep -q ==== conflict0.txt + grep -q ==== conflict1.txt + grep -q ==== conflict2.txt + grep -q ==== conflict3.txt + grep -q ==== conflict4.txt + grep -q ==== conflict5.txt + grep -q ==== conflict6.txt + modify conflict6.txt merged version + filename=conflict6.txt + text=merged version + echo merged version + git add conflict6.txt + conflict_count=4 + grep -q ==== conflict7.txt + true + git-imerge continue --no-edit + tee autofill.out [imerge/c-d b5718c1] imerge 'c-d': manual merge 5-1 Merge has been recorded for merge 5-1. Attempting automerge of 5-8...failure. Attempting automerge of 5-2...success. Attempting automerge of 5-6...failure. Attempting automerge of 5-4...success. Attempting automerge of 5-5...failure. Autofilling 5-2...success. Autofilling 5-3...success. Autofilling 5-4...success. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[4:6,1:5]. Attempting automerge of 5-8...failure. Attempting automerge of 5-5...failure. Attempting automerge of 9-4...failure. Attempting automerge of 6-1...success. Attempting automerge of 6-3...success. Attempting automerge of 6-4...success. Attempting automerge of 9-4...failure. Attempting automerge of 8-4...failure. Attempting automerge of 7-4...failure. Attempting automerge of 7-1...success. Attempting automerge of 7-3...failure. Attempting automerge of 7-2...failure. Attempting automerge of 9-1...success. Autofilling 6-1...success. Autofilling 6-2...success. Autofilling 6-3...success. Autofilling 6-4...success. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[5:7,0:5]. Autofilling 7-1...success. Autofilling 8-1...success. Autofilling 9-1...success. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[6:10,0:2]. Attempting automerge of 9-4...failure. Attempting automerge of 7-2...failure. Previous HEAD position was a6286bf imerge 'c-d': automatic merge 7-1 Switched to branch 'imerge/c-d' Auto-merging conflict3.txt CONFLICT (content): Merge conflict in conflict3.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit c21441db0b1abc10e3caf5024d19976bd7f9b469 Author: Loú User Date: Thu Apr 7 22:13:19 2005 +0000 c⇒5 Original second commit: commit c3e3890b9e3c756c1d8f7e345184d576739be079 Author: Loú User Date: Thu Apr 7 22:13:28 2005 +0000 d⇒5 There was a conflict merging commit 5-5, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + grep -q Traceback autofill.out + git-imerge diagram --frontier 0 5 9 | | | 0 - ********** - c **?..*.--+ *.?.*.|#?? *.?...|??? *.?..-+??? 5 - *...|#???? **?.|????? *.?.|????? 8 - *---+????? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + grep -q There was a conflict merging autofill.out + seq 0 7 + grep -q ==== conflict0.txt + grep -q ==== conflict1.txt + grep -q ==== conflict2.txt + grep -q ==== conflict3.txt + modify conflict3.txt merged version + filename=conflict3.txt + text=merged version + echo merged version + git add conflict3.txt + conflict_count=5 + grep -q ==== conflict4.txt + grep -q ==== conflict5.txt + grep -q ==== conflict6.txt + grep -q ==== conflict7.txt + true + git-imerge continue --no-edit + tee autofill.out [imerge/c-d 75ea384] imerge 'c-d': manual merge 5-5 Merge has been recorded for merge 5-5. Attempting automerge of 5-8...success. Autofilling 5-6...success. Autofilling 5-7...success. Autofilling 5-8...success. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[4:6,5:9]. Attempting automerge of 6-8...failure. Attempting automerge of 6-5...success. Attempting automerge of 6-7...failure. Attempting automerge of 6-6...success. Autofilling 6-5...success. Autofilling 6-6...success. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[5:7,4:7]. Attempting automerge of 6-8...failure. Attempting automerge of 6-7...failure. Switched to branch 'imerge/c-d' Auto-merging conflict5.txt CONFLICT (content): Merge conflict in conflict5.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit a797a66a0e4b89690099557280641efeac302bcf Author: Loú User Date: Thu Apr 7 22:13:20 2005 +0000 c⇒6 Original second commit: commit 892af56ace54c97776e84dff9e6fba7312efe5d0 Author: Loú User Date: Thu Apr 7 22:13:30 2005 +0000 d⇒7 There was a conflict merging commit 6-7, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + grep -q Traceback autofill.out + git-imerge diagram --frontier 0 5 9 | | | 0 - ********** - c **?..*.--+ *.?.*.|#?? *.?...|??? *.?...|??? 5 - *....*|??? **?...+??? *.?..|#??? 8 - *----+???? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + grep -q There was a conflict merging autofill.out + seq 0 7 + grep -q ==== conflict0.txt + grep -q ==== conflict1.txt + grep -q ==== conflict2.txt + grep -q ==== conflict3.txt + grep -q ==== conflict4.txt + grep -q ==== conflict5.txt + modify conflict5.txt merged version + filename=conflict5.txt + text=merged version + echo merged version + git add conflict5.txt + conflict_count=6 + grep -q ==== conflict6.txt + grep -q ==== conflict7.txt + true + git-imerge continue --no-edit + tee autofill.out [imerge/c-d 341c7e0] imerge 'c-d': manual merge 6-7 Merge has been recorded for merge 6-7. Attempting automerge of 6-8...success. Autofilling 6-8...success. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[5:7,7:9]. Previous HEAD position was 6c9ef13 imerge 'c-d': automatic merge 6-8 Switched to branch 'imerge/c-d' Auto-merging conflict2.txt CONFLICT (content): Merge conflict in conflict2.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit c0e1537f1ecf33aa719926933c7db8cb93eb5315 Author: Loú User Date: Thu Apr 7 22:13:21 2005 +0000 c⇒7 Original second commit: commit 820b787e86e22612af7a061db842dc95e9f1d49f Author: Loú User Date: Thu Apr 7 22:13:25 2005 +0000 d⇒2 There was a conflict merging commit 7-2, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + grep -q Traceback autofill.out + git-imerge diagram --frontier 0 5 9 | | | 0 - ********** - c **?..*.--+ *.?.*.|#?? *.?...|??? *.?...|??? 5 - *....*|??? **?...|??? *.?...*??? 8 - *-----+??? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + grep -q There was a conflict merging autofill.out + seq 0 7 + grep -q ==== conflict0.txt + grep -q ==== conflict1.txt + grep -q ==== conflict2.txt + modify conflict2.txt merged version + filename=conflict2.txt + text=merged version + echo merged version + git add conflict2.txt + conflict_count=7 + grep -q ==== conflict3.txt + grep -q ==== conflict4.txt + grep -q ==== conflict5.txt + grep -q ==== conflict6.txt + grep -q ==== conflict7.txt + true + git-imerge continue --no-edit + tee autofill.out [imerge/c-d b4c8739] imerge 'c-d': manual merge 7-2 Merge has been recorded for merge 7-2. Attempting automerge of 7-8...success. Autofilling 7-3...success. Autofilling 7-4...success. Autofilling 7-5...success. Autofilling 7-6...success. Autofilling 7-7...success. Autofilling 7-8...success. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[6:8,2:9]. Attempting automerge of 9-8...failure. Attempting automerge of 8-2...success. Attempting automerge of 8-6...success. Attempting automerge of 8-8...success. Attempting automerge of 9-8...failure. Attempting automerge of 9-2...success. Attempting automerge of 9-5...success. Attempting automerge of 9-7...success. Autofilling 8-2...success. Autofilling 8-3...success. Autofilling 8-4...success. Autofilling 8-5...success. Autofilling 8-6...success. Autofilling 8-7...success. Autofilling 8-8...success. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[7:9,1:9]. Autofilling 9-2...success. Autofilling 9-3...success. Autofilling 9-4...success. Autofilling 9-5...success. Autofilling 9-6...success. Autofilling 9-7...success. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[8:10,1:8]. Attempting automerge of 9-8...failure. Attempting automerge of 9-8...failure. Switched to branch 'imerge/c-d' Auto-merging conflict7.txt CONFLICT (content): Merge conflict in conflict7.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit ccbfccb3f61dac677c0a80382aaf6055a11a8a87 Author: Loú User Date: Thu Apr 7 22:13:23 2005 +0000 c⇒9 Original second commit: commit 67099d078100141fbe4063d46a6408200f4ff311 Author: Loú User Date: Thu Apr 7 22:13:31 2005 +0000 d⇒8 There was a conflict merging commit 9-8, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + grep -q Traceback autofill.out + git-imerge diagram --frontier 0 5 9 | | | 0 - ********** - c **?..*...| *.?.*..*.| *.?......| *.?......| 5 - *....*...| **?......| *.?...*..+ 8 - *-------+# | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + grep -q There was a conflict merging autofill.out + seq 0 7 + grep -q ==== conflict0.txt + grep -q ==== conflict1.txt + grep -q ==== conflict2.txt + grep -q ==== conflict3.txt + grep -q ==== conflict4.txt + grep -q ==== conflict5.txt + grep -q ==== conflict6.txt + grep -q ==== conflict7.txt + modify conflict7.txt merged version + filename=conflict7.txt + text=merged version + echo merged version + git add conflict7.txt + conflict_count=8 + true + git-imerge continue --no-edit + tee autofill.out [imerge/c-d 7016c6a] imerge 'c-d': manual merge 9-8 Merge has been recorded for merge 9-8. Merge is complete! + grep -q Traceback autofill.out + git-imerge diagram --frontier 0 5 9 | | | 0 - ********** - c **?..*...| *.?.*..*.| *.?......| *.?......| 5 - *....*...| **?......| *.?...*..| 8 - *--------* | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + grep -q There was a conflict merging autofill.out + break + test 8 -ne 8 + git-imerge diagram --commits + cat + diff -u - diagram.out + EXPECTED_TREE=13e5a8955ab8f88dc7fec8278ee2622655c21d7f + GIT_EDITOR=cat git-imerge simplify --goal=merge --branch=c-d-merge Merge d into c (using imerge) # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # Date: Fri Mar 27 18:27:43 2026 +0000 # # On branch c-d-merge # Changes to be committed: # modified: conflict0.txt # modified: conflict1.txt # modified: conflict2.txt # modified: conflict3.txt # modified: conflict4.txt # modified: conflict5.txt # modified: conflict6.txt # modified: conflict7.txt # modified: d.txt # [c-d-merge cf2b85c] Merge d into c (using imerge) Date: Fri Mar 27 18:27:43 2026 +0000 + check_tree c-d-merge 13e5a8955ab8f88dc7fec8278ee2622655c21d7f + local refname=c-d-merge + local expected_tree=13e5a8955ab8f88dc7fec8278ee2622655c21d7f + git rev-parse c-d-merge^{tree} + test 13e5a8955ab8f88dc7fec8278ee2622655c21d7f = 13e5a8955ab8f88dc7fec8278ee2622655c21d7f + git-imerge simplify --goal=rebase --branch=c-d-rebase + check_tree c-d-rebase 13e5a8955ab8f88dc7fec8278ee2622655c21d7f + local refname=c-d-rebase + local expected_tree=13e5a8955ab8f88dc7fec8278ee2622655c21d7f + git rev-parse c-d-rebase^{tree} + test 13e5a8955ab8f88dc7fec8278ee2622655c21d7f = 13e5a8955ab8f88dc7fec8278ee2622655c21d7f + git-imerge simplify --goal=rebase-with-history --branch=c-d-rebase-with-history + check_tree c-d-rebase-with-history 13e5a8955ab8f88dc7fec8278ee2622655c21d7f + local refname=c-d-rebase-with-history + local expected_tree=13e5a8955ab8f88dc7fec8278ee2622655c21d7f + git rev-parse c-d-rebase-with-history^{tree} + test 13e5a8955ab8f88dc7fec8278ee2622655c21d7f = 13e5a8955ab8f88dc7fec8278ee2622655c21d7f + git-imerge simplify --goal=border --branch=c-d-border + check_tree c-d-border 13e5a8955ab8f88dc7fec8278ee2622655c21d7f + local refname=c-d-border + local expected_tree=13e5a8955ab8f88dc7fec8278ee2622655c21d7f + git rev-parse c-d-border^{tree} + test 13e5a8955ab8f88dc7fec8278ee2622655c21d7f = 13e5a8955ab8f88dc7fec8278ee2622655c21d7f + git-imerge simplify --goal=border-with-history --branch=c-d-border-with-history + check_tree c-d-border-with-history 13e5a8955ab8f88dc7fec8278ee2622655c21d7f + local refname=c-d-border-with-history + local expected_tree=13e5a8955ab8f88dc7fec8278ee2622655c21d7f + git rev-parse c-d-border-with-history^{tree} + test 13e5a8955ab8f88dc7fec8278ee2622655c21d7f = 13e5a8955ab8f88dc7fec8278ee2622655c21d7f + git-imerge simplify --goal=border-with-history2 --branch=c-d-border-with-history2 + check_tree c-d-border-with-history2 13e5a8955ab8f88dc7fec8278ee2622655c21d7f + local refname=c-d-border-with-history2 + local expected_tree=13e5a8955ab8f88dc7fec8278ee2622655c21d7f + git rev-parse c-d-border-with-history2^{tree} + test 13e5a8955ab8f88dc7fec8278ee2622655c21d7f = 13e5a8955ab8f88dc7fec8278ee2622655c21d7f + git-imerge remove py313: commands[3] .pybuild/cpython3_3.13/build> /bin/sh t/test-duplicated + dirname t/test-duplicated + cd t + pwd + dirname /build/reproducible-path/git-imerge-1.2.0/t + BASE=/build/reproducible-path/git-imerge-1.2.0 + . /build/reproducible-path/git-imerge-1.2.0/t/test-lib.sh + GIT_IMERGE=git-imerge + TMP=/build/reproducible-path/git-imerge-1.2.0/t/tmp/duplicated + DESCRIPTION=git-imerge test repository with duplicate commits + init_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/duplicated git-imerge test repository with duplicate commits + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/duplicated + local description=git-imerge test repository with duplicate commits + delete_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/duplicated git-imerge test repository with duplicate commits + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/duplicated + local description=git-imerge test repository with duplicate commits + test -d /build/reproducible-path/git-imerge-1.2.0/t/tmp/duplicated + mkdir -p /build/reproducible-path/git-imerge-1.2.0/t/tmp/duplicated + git init /build/reproducible-path/git-imerge-1.2.0/t/tmp/duplicated hint: Using 'master' as the name for the initial branch. This default branch name hint: is subject to change. To configure the initial branch name to use in all hint: of your new repositories, which will suppress this warning, call: hint: hint: git config --global init.defaultBranch hint: hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and hint: 'development'. The just-created branch can be renamed via this command: hint: hint: git branch -m Initialized empty Git repository in /build/reproducible-path/git-imerge-1.2.0/t/tmp/duplicated/.git/ + echo git-imerge test repository with duplicate commits + printf %s\n /*.out /*.css /*.html + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/duplicated/.git config user.name Loú User + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/duplicated/.git config user.email luser@example.com + TIME=1112911993 + ln -s /build/reproducible-path/git-imerge-1.2.0/imerge.css /build/reproducible-path/git-imerge-1.2.0/t/tmp/duplicated + cd /build/reproducible-path/git-imerge-1.2.0/t/tmp/duplicated + modify a.txt 0 + filename=a.txt + text=0 + echo 0 + git add a.txt + commit -m m⇒0 + TIME=1112911994 + GIT_AUTHOR_DATE=@1112911994 +0000 GIT_COMMITTER_DATE=@1112911994 +0000 git commit -m m⇒0 [master (root-commit) a733afa] m⇒0 1 file changed, 1 insertion(+) create mode 100644 a.txt + git checkout -b a -- Switched to a new branch 'a' + seq 3 + modify a.txt 1 + filename=a.txt + text=1 + echo 1 + git add a.txt + commit -m a⇒1 on branch a + TIME=1112911995 + GIT_AUTHOR_DATE=@1112911995 +0000 GIT_COMMITTER_DATE=@1112911995 +0000 git commit -m a⇒1 on branch a [a 2f1f75a] a⇒1 on branch a 1 file changed, 1 insertion(+), 1 deletion(-) + modify a.txt 2 + filename=a.txt + text=2 + echo 2 + git add a.txt + commit -m a⇒2 on branch a + TIME=1112911996 + GIT_AUTHOR_DATE=@1112911996 +0000 GIT_COMMITTER_DATE=@1112911996 +0000 git commit -m a⇒2 on branch a [a 4700669] a⇒2 on branch a 1 file changed, 1 insertion(+), 1 deletion(-) + modify a.txt 3 + filename=a.txt + text=3 + echo 3 + git add a.txt + commit -m a⇒3 on branch a + TIME=1112911997 + GIT_AUTHOR_DATE=@1112911997 +0000 GIT_COMMITTER_DATE=@1112911997 +0000 git commit -m a⇒3 on branch a [a 621c381] a⇒3 on branch a 1 file changed, 1 insertion(+), 1 deletion(-) + git checkout -b b master -- Switched to a new branch 'b' + seq 4 + modify a.txt 1 + filename=a.txt + text=1 + echo 1 + git add a.txt + commit -m a⇒1 on branch b + TIME=1112911998 + GIT_AUTHOR_DATE=@1112911998 +0000 GIT_COMMITTER_DATE=@1112911998 +0000 git commit -m a⇒1 on branch b [b 62a5c56] a⇒1 on branch b 1 file changed, 1 insertion(+), 1 deletion(-) + modify a.txt 2 + filename=a.txt + text=2 + echo 2 + git add a.txt + commit -m a⇒2 on branch b + TIME=1112911999 + GIT_AUTHOR_DATE=@1112911999 +0000 GIT_COMMITTER_DATE=@1112911999 +0000 git commit -m a⇒2 on branch b [b f846281] a⇒2 on branch b 1 file changed, 1 insertion(+), 1 deletion(-) + modify a.txt 3 + filename=a.txt + text=3 + echo 3 + git add a.txt + commit -m a⇒3 on branch b + TIME=1112912000 + GIT_AUTHOR_DATE=@1112912000 +0000 GIT_COMMITTER_DATE=@1112912000 +0000 git commit -m a⇒3 on branch b [b a4b2c2b] a⇒3 on branch b 1 file changed, 1 insertion(+), 1 deletion(-) + modify a.txt 4 + filename=a.txt + text=4 + echo 4 + git add a.txt + commit -m a⇒4 on branch b + TIME=1112912001 + GIT_AUTHOR_DATE=@1112912001 +0000 GIT_COMMITTER_DATE=@1112912001 +0000 git commit -m a⇒4 on branch b [b 5b24553] a⇒4 on branch b 1 file changed, 1 insertion(+), 1 deletion(-) + EXPECTED_TREE=9d521927e179e882efacd2a0ba94b89a1de00eb2 + git checkout a Switched to branch 'a' + git-imerge start --first-parent --name=a-b --branch=a-b-merge b Attempting automerge of 3-4...failure. Attempting automerge of 1-1...success. Attempting automerge of 1-3...failure. Attempting automerge of 1-2...failure. Attempting automerge of 3-1...failure. Attempting automerge of 2-1...failure. Autofilling 1-1...success. Recording autofilled block MergeState('a-b', tip1='a', tip2='b', goal='merge')[0:2,0:2]. Attempting automerge of 1-4...success. Autofilling 1-2...success. Autofilling 1-3...success. Autofilling 1-4...success. Recording autofilled block MergeState('a-b', tip1='a', tip2='b', goal='merge')[0:2,1:5]. Attempting automerge of 3-4...failure. Attempting automerge of 2-1...success. Attempting automerge of 2-3...failure. Attempting automerge of 2-2...success. Attempting automerge of 3-2...failure. Attempting automerge of 3-1...success. Autofilling 2-1...success. Autofilling 2-2...success. Recording autofilled block MergeState('a-b', tip1='a', tip2='b', goal='merge')[1:3,0:3]. Autofilling 3-1...success. Recording autofilled block MergeState('a-b', tip1='a', tip2='b', goal='merge')[2:4,0:2]. Attempting automerge of 2-4...success. Autofilling 2-3...success. Autofilling 2-4...success. Recording autofilled block MergeState('a-b', tip1='a', tip2='b', goal='merge')[1:3,2:5]. Attempting automerge of 3-4...failure. Attempting automerge of 3-2...success. Attempting automerge of 3-4...failure. Attempting automerge of 3-3...success. Autofilling 3-2...success. Autofilling 3-3...success. Recording autofilled block MergeState('a-b', tip1='a', tip2='b', goal='merge')[2:4,1:4]. Attempting automerge of 3-4...success. Autofilling 3-4...success. Recording autofilled block MergeState('a-b', tip1='a', tip2='b', goal='merge')[2:4,3:5]. Merge is complete! + git-imerge diagram --commits --frontier --html=imerge5.html 0 3 | | 0 - **** - a *... *... *... 4 - *... | b 0 3 | | 0 - **** - a *..| *..| *..| 4 - *--+ | b Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + GIT_EDITOR=cat git-imerge simplify --goal=merge --branch=a-b-merge Merge b into a (using imerge) # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # Date: Fri Mar 27 18:27:47 2026 +0000 # # On branch a-b-merge # Changes to be committed: # modified: a.txt # [a-b-merge 70c163e] Merge b into a (using imerge) Date: Fri Mar 27 18:27:47 2026 +0000 + check_tree a-b-merge 9d521927e179e882efacd2a0ba94b89a1de00eb2 + local refname=a-b-merge + local expected_tree=9d521927e179e882efacd2a0ba94b89a1de00eb2 + git rev-parse a-b-merge^{tree} + test 9d521927e179e882efacd2a0ba94b89a1de00eb2 = 9d521927e179e882efacd2a0ba94b89a1de00eb2 + git-imerge simplify --goal=rebase --branch=a-b-rebase + check_tree a-b-rebase 9d521927e179e882efacd2a0ba94b89a1de00eb2 + local refname=a-b-rebase + local expected_tree=9d521927e179e882efacd2a0ba94b89a1de00eb2 + git rev-parse a-b-rebase^{tree} + test 9d521927e179e882efacd2a0ba94b89a1de00eb2 = 9d521927e179e882efacd2a0ba94b89a1de00eb2 + git-imerge simplify --goal=rebase-with-history --branch=a-b-rebase-with-history + check_tree a-b-rebase-with-history 9d521927e179e882efacd2a0ba94b89a1de00eb2 + local refname=a-b-rebase-with-history + local expected_tree=9d521927e179e882efacd2a0ba94b89a1de00eb2 + git rev-parse a-b-rebase-with-history^{tree} + test 9d521927e179e882efacd2a0ba94b89a1de00eb2 = 9d521927e179e882efacd2a0ba94b89a1de00eb2 + git-imerge simplify --goal=border --branch=a-b-border + check_tree a-b-border 9d521927e179e882efacd2a0ba94b89a1de00eb2 + local refname=a-b-border + local expected_tree=9d521927e179e882efacd2a0ba94b89a1de00eb2 + git rev-parse a-b-border^{tree} + test 9d521927e179e882efacd2a0ba94b89a1de00eb2 = 9d521927e179e882efacd2a0ba94b89a1de00eb2 + git-imerge simplify --goal=border-with-history --branch=a-b-border-with-history + check_tree a-b-border-with-history 9d521927e179e882efacd2a0ba94b89a1de00eb2 + local refname=a-b-border-with-history + local expected_tree=9d521927e179e882efacd2a0ba94b89a1de00eb2 + git rev-parse a-b-border-with-history^{tree} + test 9d521927e179e882efacd2a0ba94b89a1de00eb2 = 9d521927e179e882efacd2a0ba94b89a1de00eb2 + git-imerge finish --goal=border-with-history2 --branch=a-b-border-with-history2 + check_tree a-b-border-with-history2 9d521927e179e882efacd2a0ba94b89a1de00eb2 + local refname=a-b-border-with-history2 + local expected_tree=9d521927e179e882efacd2a0ba94b89a1de00eb2 + git rev-parse a-b-border-with-history2^{tree} + test 9d521927e179e882efacd2a0ba94b89a1de00eb2 = 9d521927e179e882efacd2a0ba94b89a1de00eb2 + git checkout a Switched to branch 'a' + git-imerge start --goal=full --name=a-b b Attempting to merge 1-1...success. Attempting to merge 1-2...success. Attempting to merge 1-3...success. Attempting to merge 1-4...success. Attempting to merge 2-1...success. Attempting to merge 2-2...success. Attempting to merge 2-3...success. Attempting to merge 2-4...success. Attempting to merge 3-1...success. Attempting to merge 3-2...success. Attempting to merge 3-3...success. Attempting to merge 3-4...success. Merge is complete! + git-imerge list * a-b + git-imerge diagram --commits --frontier --html=imerge6.html 0 3 | | 0 - **** - a *... *... *... 4 - *... | b 0 3 | | 0 - **** - a *..| *..| *..| 4 - *--+ | b Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + git-imerge finish --branch=a-b-full + check_tree a-b-full 9d521927e179e882efacd2a0ba94b89a1de00eb2 + local refname=a-b-full + local expected_tree=9d521927e179e882efacd2a0ba94b89a1de00eb2 + git rev-parse a-b-full^{tree} + test 9d521927e179e882efacd2a0ba94b89a1de00eb2 = 9d521927e179e882efacd2a0ba94b89a1de00eb2 py313: commands[4] .pybuild/cpython3_3.13/build> /bin/sh t/test-flip-flop + dirname t/test-flip-flop + cd t + pwd + dirname /build/reproducible-path/git-imerge-1.2.0/t + BASE=/build/reproducible-path/git-imerge-1.2.0 + . /build/reproducible-path/git-imerge-1.2.0/t/test-lib.sh + GIT_IMERGE=git-imerge + flip_flop_test 1 + local n=1 + TMP=/build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-1 + DESCRIPTION=git-imerge test repository with a commit and its revert at n=1 + init_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-1 git-imerge test repository with a commit and its revert at n=1 + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-1 + local description=git-imerge test repository with a commit and its revert at n=1 + delete_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-1 git-imerge test repository with a commit and its revert at n=1 + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-1 + local description=git-imerge test repository with a commit and its revert at n=1 + test -d /build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-1 + mkdir -p /build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-1 + git init /build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-1 hint: Using 'master' as the name for the initial branch. This default branch name hint: is subject to change. To configure the initial branch name to use in all hint: of your new repositories, which will suppress this warning, call: hint: hint: git config --global init.defaultBranch hint: hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and hint: 'development'. The just-created branch can be renamed via this command: hint: hint: git branch -m Initialized empty Git repository in /build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-1/.git/ + echo git-imerge test repository with a commit and its revert at n=1 + printf %s\n /*.out /*.css /*.html + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-1/.git config user.name Loú User + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-1/.git config user.email luser@example.com + TIME=1112911993 + ln -s /build/reproducible-path/git-imerge-1.2.0/imerge.css /build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-1 + cd /build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-1 + modify a.txt 0 + filename=a.txt + text=0 + echo 0 + git add a.txt + commit -m m⇒0 + TIME=1112911994 + GIT_AUTHOR_DATE=@1112911994 +0000 GIT_COMMITTER_DATE=@1112911994 +0000 git commit -m m⇒0 [master (root-commit) a733afa] m⇒0 1 file changed, 1 insertion(+) create mode 100644 a.txt + git checkout -b a -- Switched to a new branch 'a' + modify a.txt 1 + filename=a.txt + text=1 + echo 1 + git add a.txt + commit -m a⇒1 on branch a + TIME=1112911995 + GIT_AUTHOR_DATE=@1112911995 +0000 GIT_COMMITTER_DATE=@1112911995 +0000 git commit -m a⇒1 on branch a [a 2f1f75a] a⇒1 on branch a 1 file changed, 1 insertion(+), 1 deletion(-) + modify a.txt 2 + filename=a.txt + text=2 + echo 2 + git add a.txt + commit -m a⇒2 on branch a + TIME=1112911996 + GIT_AUTHOR_DATE=@1112911996 +0000 GIT_COMMITTER_DATE=@1112911996 +0000 git commit -m a⇒2 on branch a [a 4700669] a⇒2 on branch a 1 file changed, 1 insertion(+), 1 deletion(-) + modify a.txt 3 + filename=a.txt + text=3 + echo 3 + git add a.txt + commit -m a⇒3 on branch a + TIME=1112911997 + GIT_AUTHOR_DATE=@1112911997 +0000 GIT_COMMITTER_DATE=@1112911997 +0000 git commit -m a⇒3 on branch a [a 621c381] a⇒3 on branch a 1 file changed, 1 insertion(+), 1 deletion(-) + git checkout -b b master -- Switched to a new branch 'b' + modify b.txt 1 + filename=b.txt + text=1 + echo 1 + git add b.txt + msg=b⇒1 + test 1 = 1 + modify a.txt X + filename=a.txt + text=X + echo X + git add a.txt + msg=b⇒1 and a⇒X + test 1 = 2 + commit -m b⇒1 and a⇒X on branch b + TIME=1112911998 + GIT_AUTHOR_DATE=@1112911998 +0000 GIT_COMMITTER_DATE=@1112911998 +0000 git commit -m b⇒1 and a⇒X on branch b [b 044a3fa] b⇒1 and a⇒X on branch b 2 files changed, 2 insertions(+), 1 deletion(-) create mode 100644 b.txt + modify b.txt 2 + filename=b.txt + text=2 + echo 2 + git add b.txt + msg=b⇒2 + test 2 = 1 + test 2 = 2 + modify a.txt 0 + filename=a.txt + text=0 + echo 0 + git add a.txt + msg=b⇒2 and a⇒0 + commit -m b⇒2 and a⇒0 on branch b + TIME=1112911999 + GIT_AUTHOR_DATE=@1112911999 +0000 GIT_COMMITTER_DATE=@1112911999 +0000 git commit -m b⇒2 and a⇒0 on branch b [b 7851975] b⇒2 and a⇒0 on branch b 2 files changed, 2 insertions(+), 2 deletions(-) + modify b.txt 3 + filename=b.txt + text=3 + echo 3 + git add b.txt + msg=b⇒3 + test 3 = 1 + test 3 = 2 + commit -m b⇒3 on branch b + TIME=1112912000 + GIT_AUTHOR_DATE=@1112912000 +0000 GIT_COMMITTER_DATE=@1112912000 +0000 git commit -m b⇒3 on branch b [b 6fe24f0] b⇒3 on branch b 1 file changed, 1 insertion(+), 1 deletion(-) + modify b.txt 4 + filename=b.txt + text=4 + echo 4 + git add b.txt + msg=b⇒4 + test 4 = 1 + test 4 = 2 + commit -m b⇒4 on branch b + TIME=1112912001 + GIT_AUTHOR_DATE=@1112912001 +0000 GIT_COMMITTER_DATE=@1112912001 +0000 git commit -m b⇒4 on branch b [b 2dc5eb7] b⇒4 on branch b 1 file changed, 1 insertion(+), 1 deletion(-) + test_merge b-into-a-1 a b 1-1 1-2 + local name=b-into-a-1 + local dst=a + local src=b + local conflict1=1-1 + local conflict2=1-2 + git checkout a Switched to branch 'a' + git-imerge merge --branch=b-into-a-1 b + tee imerge-b-into-a-1-1.out Attempting automerge of 3-4...success. Autofilling 1-4...success. Autofilling 2-4...success. Autofilling 3-1...unexpected conflict. Backtracking... Autofilling 1-4...success. Autofilling 2-1...unexpected conflict. Backtracking... Autofilling 1-1...unexpected conflict. Backtracking... Switched to branch 'imerge/b' Auto-merging a.txt CONFLICT (content): Merge conflict in a.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit 2f1f75a7b49864d699f9e222c1d78078cfe01587 Author: Loú User Date: Thu Apr 7 22:13:15 2005 +0000 a⇒1 on branch a Original second commit: commit 044a3fac3fa19a3a6428eaeeb356b18764b9b1f2 Author: Loú User Date: Thu Apr 7 22:13:18 2005 +0000 b⇒1 and a⇒X on branch b There was a conflict merging commit 1-1, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + git-imerge diagram --commits --frontier 0 3 | | 0 - **** - a *#?? *??? *??? 4 - *??? | b 0 3 | | 0 - **** - a *#?? *??? *??? 4 - *??? | b Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + grep -q There was a conflict merging commit 1-1 imerge-b-into-a-1-1.out + echo 1 + git add a.txt + git-imerge continue --no-edit + tee imerge-b-into-a-1-2.out [imerge/b e51c594] imerge 'b': manual merge 1-1 Merge has been recorded for merge 1-1. Attempting automerge of 1-4...failure. Attempting automerge of 1-2...failure. Attempting automerge of 3-1...success. Autofilling 2-1...success. Autofilling 3-1...success. Recording autofilled block MergeState('b', tip1='a', tip2='b', goal='merge')[1:4,0:2]. Previous HEAD position was 5c54507 imerge 'b': automatic merge 3-1 Switched to branch 'imerge/b' Auto-merging a.txt CONFLICT (content): Merge conflict in a.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit 2f1f75a7b49864d699f9e222c1d78078cfe01587 Author: Loú User Date: Thu Apr 7 22:13:15 2005 +0000 a⇒1 on branch a Original second commit: commit 7851975ee7d12ef0a256db7ebd029aab51f895ab Author: Loú User Date: Thu Apr 7 22:13:19 2005 +0000 b⇒2 and a⇒0 on branch b There was a conflict merging commit 1-2, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + git-imerge diagram --commits --frontier 0 3 | | 0 - **** - a **.. *#?? *??? 4 - *??? | b 0 3 | | 0 - **** - a **-+ *#?? *??? 4 - *??? | b Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + grep -q There was a conflict merging commit 1-2 imerge-b-into-a-1-2.out + echo 1 + git add a.txt + git-imerge continue --no-edit + tee imerge-b-into-a-1-3.out [imerge/b 509e423] imerge 'b': manual merge 1-2 Merge has been recorded for merge 1-2. Attempting automerge of 1-4...success. Autofilling 1-3...success. Autofilling 1-4...success. Recording autofilled block MergeState('b', tip1='a', tip2='b', goal='merge')[0:2,2:5]. Attempting automerge of 3-4...success. Autofilling 2-4...success. Autofilling 3-2...success. Autofilling 3-3...success. Autofilling 3-4 (first way)...success. Autofilling 3-4 (second way)...success. The two ways of autofilling 3-4 agree. Recording autofilled block MergeState('b', tip1='a', tip2='b', goal='merge')[1:4,1:5]. Merge is complete! + grep -q Merge is complete imerge-b-into-a-1-3.out + git-imerge diagram --commits --frontier 0 3 | | 0 - **** - a **.. **?. *.?. 4 - *... | b 0 3 | | 0 - **** - a **.| **?| *.?| 4 - *--+ | b Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + GIT_EDITOR=cat git-imerge finish Merge b into a (using imerge) # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # Date: Fri Mar 27 18:27:50 2026 +0000 # # On branch b-into-a-1 # Changes to be committed: # new file: b.txt # [b-into-a-1 15551bd] Merge b into a (using imerge) Date: Fri Mar 27 18:27:50 2026 +0000 + test_merge a-into-b-1 b a 1-1 2-1 + local name=a-into-b-1 + local dst=b + local src=a + local conflict1=1-1 + local conflict2=2-1 + git checkout b Switched to branch 'b' + git-imerge merge --branch=a-into-b-1 a + tee imerge-a-into-b-1-1.out Attempting automerge of 4-3...success. Autofilling 1-3...unexpected conflict. Backtracking... Autofilling 1-2...unexpected conflict. Backtracking... Autofilling 1-1...unexpected conflict. Backtracking... Switched to branch 'imerge/a' Auto-merging a.txt CONFLICT (content): Merge conflict in a.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit 044a3fac3fa19a3a6428eaeeb356b18764b9b1f2 Author: Loú User Date: Thu Apr 7 22:13:18 2005 +0000 b⇒1 and a⇒X on branch b Original second commit: commit 2f1f75a7b49864d699f9e222c1d78078cfe01587 Author: Loú User Date: Thu Apr 7 22:13:15 2005 +0000 a⇒1 on branch a There was a conflict merging commit 1-1, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + git-imerge diagram --commits --frontier 0 4 | | 0 - ***** - b *#??? *???? 3 - *???? | a 0 4 | | 0 - ***** - b *#??? *???? 3 - *???? | a Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + grep -q There was a conflict merging commit 1-1 imerge-a-into-b-1-1.out + echo 1 + git add a.txt + git-imerge continue --no-edit + tee imerge-a-into-b-1-2.out [imerge/a a9c3492] imerge 'a': manual merge 1-1 Merge has been recorded for merge 1-1. Attempting automerge of 1-3...success. Autofilling 1-2...success. Autofilling 1-3...success. Recording autofilled block MergeState('a', tip1='b', tip2='a', goal='merge')[0:2,1:4]. Attempting automerge of 4-3...failure. Attempting automerge of 2-1...failure. Switched to branch 'imerge/a' Auto-merging a.txt CONFLICT (content): Merge conflict in a.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit 7851975ee7d12ef0a256db7ebd029aab51f895ab Author: Loú User Date: Thu Apr 7 22:13:19 2005 +0000 b⇒2 and a⇒0 on branch b Original second commit: commit 2f1f75a7b49864d699f9e222c1d78078cfe01587 Author: Loú User Date: Thu Apr 7 22:13:15 2005 +0000 a⇒1 on branch a There was a conflict merging commit 2-1, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + git-imerge diagram --commits --frontier 0 4 | | 0 - ***** - b **#?? *.??? 3 - *.??? | a 0 4 | | 0 - ***** - b **#?? *|??? 3 - *+??? | a Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + grep -q There was a conflict merging commit 2-1 imerge-a-into-b-1-2.out + echo 1 + git add a.txt + git-imerge continue --no-edit + tee imerge-a-into-b-1-3.out [imerge/a 2780ff1] imerge 'a': manual merge 2-1 Merge has been recorded for merge 2-1. Attempting automerge of 2-3...success. Autofilling 2-2...success. Autofilling 2-3...success. Recording autofilled block MergeState('a', tip1='b', tip2='a', goal='merge')[1:3,1:4]. Attempting automerge of 4-3...success. Autofilling 3-3...success. Autofilling 4-1...success. Autofilling 4-2...success. Autofilling 4-3 (first way)...success. Autofilling 4-3 (second way)...success. The two ways of autofilling 4-3 agree. Recording autofilled block MergeState('a', tip1='b', tip2='a', goal='merge')[2:5,0:4]. Merge is complete! + grep -q Merge is complete imerge-a-into-b-1-3.out + git-imerge diagram --commits --frontier 0 4 | | 0 - ***** - b ***?. *..?. 3 - *.... | a 0 4 | | 0 - ***** - b ***?| *..?| 3 - *---+ | a Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + GIT_EDITOR=cat git-imerge finish Merge a into b (using imerge) # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # Date: Fri Mar 27 18:27:52 2026 +0000 # # On branch a-into-b-1 # Changes to be committed: # modified: a.txt # [a-into-b-1 fe4d6a6] Merge a into b (using imerge) Date: Fri Mar 27 18:27:52 2026 +0000 + flip_flop_test 2 + local n=2 + TMP=/build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-2 + DESCRIPTION=git-imerge test repository with a commit and its revert at n=2 + init_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-2 git-imerge test repository with a commit and its revert at n=2 + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-2 + local description=git-imerge test repository with a commit and its revert at n=2 + delete_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-2 git-imerge test repository with a commit and its revert at n=2 + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-2 + local description=git-imerge test repository with a commit and its revert at n=2 + test -d /build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-2 + mkdir -p /build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-2 + git init /build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-2 hint: Using 'master' as the name for the initial branch. This default branch name hint: is subject to change. To configure the initial branch name to use in all hint: of your new repositories, which will suppress this warning, call: hint: hint: git config --global init.defaultBranch hint: hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and hint: 'development'. The just-created branch can be renamed via this command: hint: hint: git branch -m Initialized empty Git repository in /build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-2/.git/ + echo git-imerge test repository with a commit and its revert at n=2 + printf %s\n /*.out /*.css /*.html + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-2/.git config user.name Loú User + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-2/.git config user.email luser@example.com + TIME=1112911993 + ln -s /build/reproducible-path/git-imerge-1.2.0/imerge.css /build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-2 + cd /build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-2 + modify a.txt 0 + filename=a.txt + text=0 + echo 0 + git add a.txt + commit -m m⇒0 + TIME=1112911994 + GIT_AUTHOR_DATE=@1112911994 +0000 GIT_COMMITTER_DATE=@1112911994 +0000 git commit -m m⇒0 [master (root-commit) a733afa] m⇒0 1 file changed, 1 insertion(+) create mode 100644 a.txt + git checkout -b a -- Switched to a new branch 'a' + modify a.txt 1 + filename=a.txt + text=1 + echo 1 + git add a.txt + commit -m a⇒1 on branch a + TIME=1112911995 + GIT_AUTHOR_DATE=@1112911995 +0000 GIT_COMMITTER_DATE=@1112911995 +0000 git commit -m a⇒1 on branch a [a 2f1f75a] a⇒1 on branch a 1 file changed, 1 insertion(+), 1 deletion(-) + modify a.txt 2 + filename=a.txt + text=2 + echo 2 + git add a.txt + commit -m a⇒2 on branch a + TIME=1112911996 + GIT_AUTHOR_DATE=@1112911996 +0000 GIT_COMMITTER_DATE=@1112911996 +0000 git commit -m a⇒2 on branch a [a 4700669] a⇒2 on branch a 1 file changed, 1 insertion(+), 1 deletion(-) + modify a.txt 3 + filename=a.txt + text=3 + echo 3 + git add a.txt + commit -m a⇒3 on branch a + TIME=1112911997 + GIT_AUTHOR_DATE=@1112911997 +0000 GIT_COMMITTER_DATE=@1112911997 +0000 git commit -m a⇒3 on branch a [a 621c381] a⇒3 on branch a 1 file changed, 1 insertion(+), 1 deletion(-) + git checkout -b b master -- Switched to a new branch 'b' + modify b.txt 1 + filename=b.txt + text=1 + echo 1 + git add b.txt + msg=b⇒1 + test 1 = 2 + test 1 = 3 + commit -m b⇒1 on branch b + TIME=1112911998 + GIT_AUTHOR_DATE=@1112911998 +0000 GIT_COMMITTER_DATE=@1112911998 +0000 git commit -m b⇒1 on branch b [b 1f7d097] b⇒1 on branch b 1 file changed, 1 insertion(+) create mode 100644 b.txt + modify b.txt 2 + filename=b.txt + text=2 + echo 2 + git add b.txt + msg=b⇒2 + test 2 = 2 + modify a.txt X + filename=a.txt + text=X + echo X + git add a.txt + msg=b⇒2 and a⇒X + test 2 = 3 + commit -m b⇒2 and a⇒X on branch b + TIME=1112911999 + GIT_AUTHOR_DATE=@1112911999 +0000 GIT_COMMITTER_DATE=@1112911999 +0000 git commit -m b⇒2 and a⇒X on branch b [b 48df77d] b⇒2 and a⇒X on branch b 2 files changed, 2 insertions(+), 2 deletions(-) + modify b.txt 3 + filename=b.txt + text=3 + echo 3 + git add b.txt + msg=b⇒3 + test 3 = 2 + test 3 = 3 + modify a.txt 0 + filename=a.txt + text=0 + echo 0 + git add a.txt + msg=b⇒3 and a⇒0 + commit -m b⇒3 and a⇒0 on branch b + TIME=1112912000 + GIT_AUTHOR_DATE=@1112912000 +0000 GIT_COMMITTER_DATE=@1112912000 +0000 git commit -m b⇒3 and a⇒0 on branch b [b f3ef019] b⇒3 and a⇒0 on branch b 2 files changed, 2 insertions(+), 2 deletions(-) + modify b.txt 4 + filename=b.txt + text=4 + echo 4 + git add b.txt + msg=b⇒4 + test 4 = 2 + test 4 = 3 + commit -m b⇒4 on branch b + TIME=1112912001 + GIT_AUTHOR_DATE=@1112912001 +0000 GIT_COMMITTER_DATE=@1112912001 +0000 git commit -m b⇒4 on branch b [b 69d0c21] b⇒4 on branch b 1 file changed, 1 insertion(+), 1 deletion(-) + test_merge b-into-a-2 a b 1-2 1-3 + local name=b-into-a-2 + local dst=a + local src=b + local conflict1=1-2 + local conflict2=1-3 + git checkout a Switched to branch 'a' + git-imerge merge --branch=b-into-a-2 b + tee imerge-b-into-a-2-1.out Attempting automerge of 3-4...success. Autofilling 1-4...success. Autofilling 2-4...success. Autofilling 3-1...success. Autofilling 3-2...unexpected conflict. Backtracking... Autofilling 1-4...success. Autofilling 2-1...success. Autofilling 2-2...unexpected conflict. Backtracking... Autofilling 1-1...success. Autofilling 1-2...unexpected conflict. Backtracking... Autofilling 1-1...success. Autofilling 2-1...success. Autofilling 3-1...success. Recording autofilled block MergeState('b', tip1='a', tip2='b', goal='merge')[0:4,0:2]. Attempting automerge of 3-4...success. Autofilling 1-4...success. Autofilling 2-4...success. Autofilling 3-2...unexpected conflict. Backtracking... Autofilling 1-4...success. Autofilling 2-2...unexpected conflict. Backtracking... Autofilling 1-2...unexpected conflict. Backtracking... Switched to branch 'imerge/b' Auto-merging a.txt CONFLICT (content): Merge conflict in a.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit 2f1f75a7b49864d699f9e222c1d78078cfe01587 Author: Loú User Date: Thu Apr 7 22:13:15 2005 +0000 a⇒1 on branch a Original second commit: commit 48df77d20a6d16fe330e32ba17d5472d3868a622 Author: Loú User Date: Thu Apr 7 22:13:19 2005 +0000 b⇒2 and a⇒X on branch b There was a conflict merging commit 1-2, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + git-imerge diagram --commits --frontier 0 3 | | 0 - **** - a *... *#?? *??? 4 - *??? | b 0 3 | | 0 - **** - a *--+ *#?? *??? 4 - *??? | b Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + grep -q There was a conflict merging commit 1-2 imerge-b-into-a-2-1.out + echo 1 + git add a.txt + git-imerge continue --no-edit + tee imerge-b-into-a-2-2.out [imerge/b 7595dc2] imerge 'b': manual merge 1-2 Merge has been recorded for merge 1-2. Attempting automerge of 1-4...failure. Attempting automerge of 1-3...failure. Attempting automerge of 3-2...success. Autofilling 2-2...success. Autofilling 3-2...success. Recording autofilled block MergeState('b', tip1='a', tip2='b', goal='merge')[1:4,1:3]. Previous HEAD position was 82e3583 imerge 'b': automatic merge 3-2 Switched to branch 'imerge/b' Auto-merging a.txt CONFLICT (content): Merge conflict in a.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit 2f1f75a7b49864d699f9e222c1d78078cfe01587 Author: Loú User Date: Thu Apr 7 22:13:15 2005 +0000 a⇒1 on branch a Original second commit: commit f3ef01986be02ef5e40589b283c0385471ecca7d Author: Loú User Date: Thu Apr 7 22:13:20 2005 +0000 b⇒3 and a⇒0 on branch b There was a conflict merging commit 1-3, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + git-imerge diagram --commits --frontier 0 3 | | 0 - **** - a *... **.. *#?? 4 - *??? | b 0 3 | | 0 - **** - a *..| **-+ *#?? 4 - *??? | b Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + grep -q There was a conflict merging commit 1-3 imerge-b-into-a-2-2.out + echo 1 + git add a.txt + git-imerge continue --no-edit + tee imerge-b-into-a-2-3.out [imerge/b 10fdab3] imerge 'b': manual merge 1-3 Merge has been recorded for merge 1-3. Attempting automerge of 1-4...success. Autofilling 1-4...success. Recording autofilled block MergeState('b', tip1='a', tip2='b', goal='merge')[0:2,3:5]. Attempting automerge of 3-4...success. Autofilling 2-4...success. Autofilling 3-3...success. Autofilling 3-4 (first way)...success. Autofilling 3-4 (second way)...success. The two ways of autofilling 3-4 agree. Recording autofilled block MergeState('b', tip1='a', tip2='b', goal='merge')[1:4,2:5]. Merge is complete! + grep -q Merge is complete imerge-b-into-a-2-3.out + git-imerge diagram --commits --frontier 0 3 | | 0 - **** - a *... **.. **?. 4 - *... | b 0 3 | | 0 - **** - a *..| **.| **?| 4 - *--+ | b Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + GIT_EDITOR=cat git-imerge finish Merge b into a (using imerge) # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # Date: Fri Mar 27 18:27:54 2026 +0000 # # On branch b-into-a-2 # Changes to be committed: # new file: b.txt # [b-into-a-2 4ff8548] Merge b into a (using imerge) Date: Fri Mar 27 18:27:54 2026 +0000 + test_merge a-into-b-2 b a 2-1 3-1 + local name=a-into-b-2 + local dst=b + local src=a + local conflict1=2-1 + local conflict2=3-1 + git checkout b Switched to branch 'b' + git-imerge merge --branch=a-into-b-2 a + tee imerge-a-into-b-2-1.out Attempting automerge of 4-3...success. Autofilling 1-3...success. Autofilling 2-3...unexpected conflict. Backtracking... Autofilling 1-1...success. Autofilling 1-2...success. Autofilling 1-3...success. Recording autofilled block MergeState('a', tip1='b', tip2='a', goal='merge')[0:2,0:4]. Autofilling 2-2...unexpected conflict. Backtracking... Autofilling 2-1...unexpected conflict. Backtracking... Switched to branch 'imerge/a' Auto-merging a.txt CONFLICT (content): Merge conflict in a.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit 48df77d20a6d16fe330e32ba17d5472d3868a622 Author: Loú User Date: Thu Apr 7 22:13:19 2005 +0000 b⇒2 and a⇒X on branch b Original second commit: commit 2f1f75a7b49864d699f9e222c1d78078cfe01587 Author: Loú User Date: Thu Apr 7 22:13:15 2005 +0000 a⇒1 on branch a There was a conflict merging commit 2-1, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + git-imerge diagram --commits --frontier 0 4 | | 0 - ***** - b *.#?? *.??? 3 - *.??? | a 0 4 | | 0 - ***** - b *|#?? *|??? 3 - *+??? | a Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + grep -q There was a conflict merging commit 2-1 imerge-a-into-b-2-1.out + echo 1 + git add a.txt + git-imerge continue --no-edit + tee imerge-a-into-b-2-2.out [imerge/a f194e7d] imerge 'a': manual merge 2-1 Merge has been recorded for merge 2-1. Attempting automerge of 2-3...success. Autofilling 2-2...success. Autofilling 2-3...success. Recording autofilled block MergeState('a', tip1='b', tip2='a', goal='merge')[1:3,1:4]. Attempting automerge of 4-3...failure. Attempting automerge of 3-1...failure. Switched to branch 'imerge/a' Auto-merging a.txt CONFLICT (content): Merge conflict in a.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit f3ef01986be02ef5e40589b283c0385471ecca7d Author: Loú User Date: Thu Apr 7 22:13:20 2005 +0000 b⇒3 and a⇒0 on branch b Original second commit: commit 2f1f75a7b49864d699f9e222c1d78078cfe01587 Author: Loú User Date: Thu Apr 7 22:13:15 2005 +0000 a⇒1 on branch a There was a conflict merging commit 3-1, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + git-imerge diagram --commits --frontier 0 4 | | 0 - ***** - b *.*#? *..?? 3 - *..?? | a 0 4 | | 0 - ***** - b *.*#? *.|?? 3 - *-+?? | a Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + grep -q There was a conflict merging commit 3-1 imerge-a-into-b-2-2.out + echo 1 + git add a.txt + git-imerge continue --no-edit + tee imerge-a-into-b-2-3.out [imerge/a 2ce6759] imerge 'a': manual merge 3-1 Merge has been recorded for merge 3-1. Attempting automerge of 3-3...success. Autofilling 3-2...success. Autofilling 3-3...success. Recording autofilled block MergeState('a', tip1='b', tip2='a', goal='merge')[2:4,1:4]. Attempting automerge of 4-3...success. Autofilling 4-1...success. Autofilling 4-2...success. Autofilling 4-3...success. Recording autofilled block MergeState('a', tip1='b', tip2='a', goal='merge')[3:5,0:4]. Merge is complete! + grep -q Merge is complete imerge-a-into-b-2-3.out + git-imerge diagram --commits --frontier 0 4 | | 0 - ***** - b *.**. *.... 3 - *.... | a 0 4 | | 0 - ***** - b *.**| *...| 3 - *---+ | a Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + GIT_EDITOR=cat git-imerge finish Merge a into b (using imerge) # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # Date: Fri Mar 27 18:27:56 2026 +0000 # # On branch a-into-b-2 # Changes to be committed: # modified: a.txt # [a-into-b-2 f97a4b1] Merge a into b (using imerge) Date: Fri Mar 27 18:27:56 2026 +0000 + flip_flop_test 3 + local n=3 + TMP=/build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-3 + DESCRIPTION=git-imerge test repository with a commit and its revert at n=3 + init_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-3 git-imerge test repository with a commit and its revert at n=3 + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-3 + local description=git-imerge test repository with a commit and its revert at n=3 + delete_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-3 git-imerge test repository with a commit and its revert at n=3 + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-3 + local description=git-imerge test repository with a commit and its revert at n=3 + test -d /build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-3 + mkdir -p /build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-3 + git init /build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-3 hint: Using 'master' as the name for the initial branch. This default branch name hint: is subject to change. To configure the initial branch name to use in all hint: of your new repositories, which will suppress this warning, call: hint: hint: git config --global init.defaultBranch hint: hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and hint: 'development'. The just-created branch can be renamed via this command: hint: hint: git branch -m Initialized empty Git repository in /build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-3/.git/ + echo git-imerge test repository with a commit and its revert at n=3 + printf %s\n /*.out /*.css /*.html + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-3/.git config user.name Loú User + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-3/.git config user.email luser@example.com + TIME=1112911993 + ln -s /build/reproducible-path/git-imerge-1.2.0/imerge.css /build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-3 + cd /build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-3 + modify a.txt 0 + filename=a.txt + text=0 + echo 0 + git add a.txt + commit -m m⇒0 + TIME=1112911994 + GIT_AUTHOR_DATE=@1112911994 +0000 GIT_COMMITTER_DATE=@1112911994 +0000 git commit -m m⇒0 [master (root-commit) a733afa] m⇒0 1 file changed, 1 insertion(+) create mode 100644 a.txt + git checkout -b a -- Switched to a new branch 'a' + modify a.txt 1 + filename=a.txt + text=1 + echo 1 + git add a.txt + commit -m a⇒1 on branch a + TIME=1112911995 + GIT_AUTHOR_DATE=@1112911995 +0000 GIT_COMMITTER_DATE=@1112911995 +0000 git commit -m a⇒1 on branch a [a 2f1f75a] a⇒1 on branch a 1 file changed, 1 insertion(+), 1 deletion(-) + modify a.txt 2 + filename=a.txt + text=2 + echo 2 + git add a.txt + commit -m a⇒2 on branch a + TIME=1112911996 + GIT_AUTHOR_DATE=@1112911996 +0000 GIT_COMMITTER_DATE=@1112911996 +0000 git commit -m a⇒2 on branch a [a 4700669] a⇒2 on branch a 1 file changed, 1 insertion(+), 1 deletion(-) + modify a.txt 3 + filename=a.txt + text=3 + echo 3 + git add a.txt + commit -m a⇒3 on branch a + TIME=1112911997 + GIT_AUTHOR_DATE=@1112911997 +0000 GIT_COMMITTER_DATE=@1112911997 +0000 git commit -m a⇒3 on branch a [a 621c381] a⇒3 on branch a 1 file changed, 1 insertion(+), 1 deletion(-) + git checkout -b b master -- Switched to a new branch 'b' + modify b.txt 1 + filename=b.txt + text=1 + echo 1 + git add b.txt + msg=b⇒1 + test 1 = 3 + test 1 = 4 + commit -m b⇒1 on branch b + TIME=1112911998 + GIT_AUTHOR_DATE=@1112911998 +0000 GIT_COMMITTER_DATE=@1112911998 +0000 git commit -m b⇒1 on branch b [b 1f7d097] b⇒1 on branch b 1 file changed, 1 insertion(+) create mode 100644 b.txt + modify b.txt 2 + filename=b.txt + text=2 + echo 2 + git add b.txt + msg=b⇒2 + test 2 = 3 + test 2 = 4 + commit -m b⇒2 on branch b + TIME=1112911999 + GIT_AUTHOR_DATE=@1112911999 +0000 GIT_COMMITTER_DATE=@1112911999 +0000 git commit -m b⇒2 on branch b [b ce671e9] b⇒2 on branch b 1 file changed, 1 insertion(+), 1 deletion(-) + modify b.txt 3 + filename=b.txt + text=3 + echo 3 + git add b.txt + msg=b⇒3 + test 3 = 3 + modify a.txt X + filename=a.txt + text=X + echo X + git add a.txt + msg=b⇒3 and a⇒X + test 3 = 4 + commit -m b⇒3 and a⇒X on branch b + TIME=1112912000 + GIT_AUTHOR_DATE=@1112912000 +0000 GIT_COMMITTER_DATE=@1112912000 +0000 git commit -m b⇒3 and a⇒X on branch b [b d40495e] b⇒3 and a⇒X on branch b 2 files changed, 2 insertions(+), 2 deletions(-) + modify b.txt 4 + filename=b.txt + text=4 + echo 4 + git add b.txt + msg=b⇒4 + test 4 = 3 + test 4 = 4 + modify a.txt 0 + filename=a.txt + text=0 + echo 0 + git add a.txt + msg=b⇒4 and a⇒0 + commit -m b⇒4 and a⇒0 on branch b + TIME=1112912001 + GIT_AUTHOR_DATE=@1112912001 +0000 GIT_COMMITTER_DATE=@1112912001 +0000 git commit -m b⇒4 and a⇒0 on branch b [b eb736f2] b⇒4 and a⇒0 on branch b 2 files changed, 2 insertions(+), 2 deletions(-) + test_merge b-into-a-3 a b 1-3 1-4 + local name=b-into-a-3 + local dst=a + local src=b + local conflict1=1-3 + local conflict2=1-4 + git checkout a Switched to branch 'a' + git-imerge merge --branch=b-into-a-3 b + tee imerge-b-into-a-3-1.out Attempting automerge of 3-4...success. Autofilling 1-4...success. Autofilling 2-4...success. Autofilling 3-1...success. Autofilling 3-2...success. Autofilling 3-3...unexpected conflict. Backtracking... Autofilling 1-4...success. Autofilling 2-1...success. Autofilling 2-2...success. Autofilling 2-3...unexpected conflict. Backtracking... Autofilling 1-1...success. Autofilling 1-2...success. Autofilling 1-3...unexpected conflict. Backtracking... Autofilling 1-2...success. Autofilling 2-2...success. Autofilling 3-1...success. Autofilling 3-2 (first way)...success. Autofilling 3-2 (second way)...success. The two ways of autofilling 3-2 agree. Recording autofilled block MergeState('b', tip1='a', tip2='b', goal='merge')[0:4,0:3]. Attempting automerge of 3-4...success. Autofilling 1-4...success. Autofilling 2-4...success. Autofilling 3-3...unexpected conflict. Backtracking... Autofilling 1-4...success. Autofilling 2-3...unexpected conflict. Backtracking... Autofilling 1-3...unexpected conflict. Backtracking... Switched to branch 'imerge/b' Auto-merging a.txt CONFLICT (content): Merge conflict in a.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit 2f1f75a7b49864d699f9e222c1d78078cfe01587 Author: Loú User Date: Thu Apr 7 22:13:15 2005 +0000 a⇒1 on branch a Original second commit: commit d40495ed379f376841e517047f90b663e8c7c7e1 Author: Loú User Date: Thu Apr 7 22:13:20 2005 +0000 b⇒3 and a⇒X on branch b There was a conflict merging commit 1-3, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + git-imerge diagram --commits --frontier 0 3 | | 0 - **** - a *??. *... *#?? 4 - *??? | b 0 3 | | 0 - **** - a *??| *--+ *#?? 4 - *??? | b Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + grep -q There was a conflict merging commit 1-3 imerge-b-into-a-3-1.out + echo 1 + git add a.txt + git-imerge continue --no-edit + tee imerge-b-into-a-3-2.out [imerge/b b5806d9] imerge 'b': manual merge 1-3 Merge has been recorded for merge 1-3. Attempting automerge of 1-4...failure. Attempting automerge of 1-4...failure. Attempting automerge of 3-3...success. Autofilling 2-3...success. Autofilling 3-3...success. Recording autofilled block MergeState('b', tip1='a', tip2='b', goal='merge')[1:4,2:4]. Previous HEAD position was 0b408e5 imerge 'b': automatic merge 3-3 Switched to branch 'imerge/b' Auto-merging a.txt CONFLICT (content): Merge conflict in a.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit 2f1f75a7b49864d699f9e222c1d78078cfe01587 Author: Loú User Date: Thu Apr 7 22:13:15 2005 +0000 a⇒1 on branch a Original second commit: commit eb736f2ae81944f79f443fd39a89adf74dbc907a Author: Loú User Date: Thu Apr 7 22:13:21 2005 +0000 b⇒4 and a⇒0 on branch b There was a conflict merging commit 1-4, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + git-imerge diagram --commits --frontier 0 3 | | 0 - **** - a *??. *... **.. 4 - *#?? | b 0 3 | | 0 - **** - a *??| *..| **-+ 4 - *#?? | b Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + grep -q There was a conflict merging commit 1-4 imerge-b-into-a-3-2.out + echo 1 + git add a.txt + git-imerge continue --no-edit + tee imerge-b-into-a-3-3.out [imerge/b 5562d65] imerge 'b': manual merge 1-4 Merge has been recorded for merge 1-4. Attempting automerge of 3-4...success. Autofilling 2-4...success. Autofilling 3-4...success. Recording autofilled block MergeState('b', tip1='a', tip2='b', goal='merge')[1:4,3:5]. Merge is complete! + grep -q Merge is complete imerge-b-into-a-3-3.out + git-imerge diagram --commits --frontier 0 3 | | 0 - **** - a *??. *... **.. 4 - **.. | b 0 3 | | 0 - **** - a *??| *..| **.| 4 - **-+ | b Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + GIT_EDITOR=cat git-imerge finish Merge b into a (using imerge) # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # Date: Fri Mar 27 18:27:58 2026 +0000 # # On branch b-into-a-3 # Changes to be committed: # new file: b.txt # [b-into-a-3 93ed93c] Merge b into a (using imerge) Date: Fri Mar 27 18:27:58 2026 +0000 + test_merge a-into-b-3 b a 3-1 4-1 + local name=a-into-b-3 + local dst=b + local src=a + local conflict1=3-1 + local conflict2=4-1 + git checkout b Switched to branch 'b' + git-imerge merge --branch=a-into-b-3 a + tee imerge-a-into-b-3-1.out Attempting automerge of 4-3...success. Autofilling 1-3...success. Autofilling 2-3...success. Autofilling 3-3...unexpected conflict. Backtracking... Autofilling 1-3...success. Autofilling 2-1...success. Autofilling 2-2...success. Autofilling 2-3 (first way)...success. Autofilling 2-3 (second way)...success. The two ways of autofilling 2-3 agree. Recording autofilled block MergeState('a', tip1='b', tip2='a', goal='merge')[0:3,0:4]. Autofilling 3-2...unexpected conflict. Backtracking... Autofilling 3-1...unexpected conflict. Backtracking... Switched to branch 'imerge/a' Auto-merging a.txt CONFLICT (content): Merge conflict in a.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit d40495ed379f376841e517047f90b663e8c7c7e1 Author: Loú User Date: Thu Apr 7 22:13:20 2005 +0000 b⇒3 and a⇒X on branch b Original second commit: commit 2f1f75a7b49864d699f9e222c1d78078cfe01587 Author: Loú User Date: Thu Apr 7 22:13:15 2005 +0000 a⇒1 on branch a There was a conflict merging commit 3-1, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + git-imerge diagram --commits --frontier 0 4 | | 0 - ***** - b *?.#? *?.?? 3 - *..?? | a 0 4 | | 0 - ***** - b *?|#? *?|?? 3 - *-+?? | a Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + grep -q There was a conflict merging commit 3-1 imerge-a-into-b-3-1.out + echo 1 + git add a.txt + git-imerge continue --no-edit + tee imerge-a-into-b-3-2.out [imerge/a aac72e5] imerge 'a': manual merge 3-1 Merge has been recorded for merge 3-1. Attempting automerge of 3-3...success. Autofilling 3-2...success. Autofilling 3-3...success. Recording autofilled block MergeState('a', tip1='b', tip2='a', goal='merge')[2:4,1:4]. Attempting automerge of 4-3...failure. Attempting automerge of 4-1...failure. Switched to branch 'imerge/a' Auto-merging a.txt CONFLICT (content): Merge conflict in a.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit eb736f2ae81944f79f443fd39a89adf74dbc907a Author: Loú User Date: Thu Apr 7 22:13:21 2005 +0000 b⇒4 and a⇒0 on branch b Original second commit: commit 2f1f75a7b49864d699f9e222c1d78078cfe01587 Author: Loú User Date: Thu Apr 7 22:13:15 2005 +0000 a⇒1 on branch a There was a conflict merging commit 4-1, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + git-imerge diagram --commits --frontier 0 4 | | 0 - ***** - b *?.*# *?..? 3 - *...? | a 0 4 | | 0 - ***** - b *?.*# *?.|? 3 - *--+? | a Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + grep -q There was a conflict merging commit 4-1 imerge-a-into-b-3-2.out + echo 1 + git add a.txt + git-imerge continue --no-edit + tee imerge-a-into-b-3-3.out [imerge/a 97fa36a] imerge 'a': manual merge 4-1 Merge has been recorded for merge 4-1. Attempting automerge of 4-3...success. Autofilling 4-2...success. Autofilling 4-3...success. Recording autofilled block MergeState('a', tip1='b', tip2='a', goal='merge')[3:5,1:4]. Merge is complete! + grep -q Merge is complete imerge-a-into-b-3-3.out + git-imerge diagram --commits --frontier 0 4 | | 0 - ***** - b *?.** *?... 3 - *.... | a 0 4 | | 0 - ***** - b *?.** *?..| 3 - *---+ | a Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + GIT_EDITOR=cat git-imerge finish Merge a into b (using imerge) # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # Date: Fri Mar 27 18:28:00 2026 +0000 # # On branch a-into-b-3 # Changes to be committed: # modified: a.txt # [a-into-b-3 d167233] Merge a into b (using imerge) Date: Fri Mar 27 18:28:00 2026 +0000 py313: commands[5] .pybuild/cpython3_3.13/build> /bin/sh t/test-drop + dirname t/test-drop + cd t + pwd + dirname /build/reproducible-path/git-imerge-1.2.0/t + BASE=/build/reproducible-path/git-imerge-1.2.0 + . /build/reproducible-path/git-imerge-1.2.0/t/test-lib.sh + GIT_IMERGE=git-imerge + TMP=/build/reproducible-path/git-imerge-1.2.0/t/tmp/drop + DESCRIPTION=git-imerge drop test repository + init_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/drop git-imerge drop test repository + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/drop + local description=git-imerge drop test repository + delete_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/drop git-imerge drop test repository + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/drop + local description=git-imerge drop test repository + test -d /build/reproducible-path/git-imerge-1.2.0/t/tmp/drop + mkdir -p /build/reproducible-path/git-imerge-1.2.0/t/tmp/drop + git init /build/reproducible-path/git-imerge-1.2.0/t/tmp/drop hint: Using 'master' as the name for the initial branch. This default branch name hint: is subject to change. To configure the initial branch name to use in all hint: of your new repositories, which will suppress this warning, call: hint: hint: git config --global init.defaultBranch hint: hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and hint: 'development'. The just-created branch can be renamed via this command: hint: hint: git branch -m Initialized empty Git repository in /build/reproducible-path/git-imerge-1.2.0/t/tmp/drop/.git/ + echo git-imerge drop test repository + printf %s\n /*.out /*.css /*.html + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/drop/.git config user.name Loú User + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/drop/.git config user.email luser@example.com + TIME=1112911993 + ln -s /build/reproducible-path/git-imerge-1.2.0/imerge.css /build/reproducible-path/git-imerge-1.2.0/t/tmp/drop + cd /build/reproducible-path/git-imerge-1.2.0/t/tmp/drop + modify a.txt 0 + filename=a.txt + text=0 + echo 0 + git add a.txt + commit -m m⇒0 + TIME=1112911994 + GIT_AUTHOR_DATE=@1112911994 +0000 GIT_COMMITTER_DATE=@1112911994 +0000 git commit -m m⇒0 [master (root-commit) a733afa] m⇒0 1 file changed, 1 insertion(+) create mode 100644 a.txt + seq 6 + modify a1.txt 1 + filename=a1.txt + text=1 + echo 1 + git add a1.txt + commit -m a1⇒1 + TIME=1112911995 + GIT_AUTHOR_DATE=@1112911995 +0000 GIT_COMMITTER_DATE=@1112911995 +0000 git commit -m a1⇒1 [master 389a4ba] a1⇒1 1 file changed, 1 insertion(+) create mode 100644 a1.txt + modify a2.txt 2 + filename=a2.txt + text=2 + echo 2 + git add a2.txt + commit -m a2⇒2 + TIME=1112911996 + GIT_AUTHOR_DATE=@1112911996 +0000 GIT_COMMITTER_DATE=@1112911996 +0000 git commit -m a2⇒2 [master 4785218] a2⇒2 1 file changed, 1 insertion(+) create mode 100644 a2.txt + modify a3.txt 3 + filename=a3.txt + text=3 + echo 3 + git add a3.txt + commit -m a3⇒3 + TIME=1112911997 + GIT_AUTHOR_DATE=@1112911997 +0000 GIT_COMMITTER_DATE=@1112911997 +0000 git commit -m a3⇒3 [master 34bdde3] a3⇒3 1 file changed, 1 insertion(+) create mode 100644 a3.txt + modify a4.txt 4 + filename=a4.txt + text=4 + echo 4 + git add a4.txt + commit -m a4⇒4 + TIME=1112911998 + GIT_AUTHOR_DATE=@1112911998 +0000 GIT_COMMITTER_DATE=@1112911998 +0000 git commit -m a4⇒4 [master c793a5a] a4⇒4 1 file changed, 1 insertion(+) create mode 100644 a4.txt + modify a5.txt 5 + filename=a5.txt + text=5 + echo 5 + git add a5.txt + commit -m a5⇒5 + TIME=1112911999 + GIT_AUTHOR_DATE=@1112911999 +0000 GIT_COMMITTER_DATE=@1112911999 +0000 git commit -m a5⇒5 [master b42f60c] a5⇒5 1 file changed, 1 insertion(+) create mode 100644 a5.txt + modify a6.txt 6 + filename=a6.txt + text=6 + echo 6 + git add a6.txt + commit -m a6⇒6 + TIME=1112912000 + GIT_AUTHOR_DATE=@1112912000 +0000 GIT_COMMITTER_DATE=@1112912000 +0000 git commit -m a6⇒6 [master 9d6aec5] a6⇒6 1 file changed, 1 insertion(+) create mode 100644 a6.txt + git checkout -b dropped master Switched to a new branch 'dropped' + git-imerge drop HEAD~5..HEAD~3 Note: switching to '34bdde3a6a5b6b9c8bcac5aa36109195e2a3dc7a^0'. You are in 'detached HEAD' state. You can look around, make experimental changes and commit them, and you can discard any commits you make in this state without impacting any branches by switching back to a branch. If you want to create a new branch to retain commits you create, you may do so (now or later) by using -c with the switch command. Example: git switch -c Or undo this operation with: git switch - Turn off this advice by setting config variable advice.detachedHead to false HEAD is now at 34bdde3 a3⇒3 [detached HEAD 4b42950] Revert "a3⇒3" Date: Fri Mar 27 18:28:00 2026 +0000 1 file changed, 1 deletion(-) delete mode 100644 a3.txt [detached HEAD 5a0f565] Revert "a2⇒2" Date: Fri Mar 27 18:28:00 2026 +0000 1 file changed, 1 deletion(-) delete mode 100644 a2.txt Attempting automerge of 3-2...success. Autofilling 1-2...success. Autofilling 2-2...success. Autofilling 3-1...success. Autofilling 3-2 (first way)...success. Autofilling 3-2 (second way)...success. The two ways of autofilling 3-2 agree. Recording autofilled block MergeState('dropped', tip1='dropped', tip2='5a0f565823853324f0b34342e7ad550e5cf26c74', goal='drop')[0:4,0:3]. Merge is complete! + git-imerge diagram --commits --frontier --html=imerge-drop.html 0 3 | | 0 - **** - dropped *??. 2 - *... | 5a0f565823853324f0b34342e7ad550e5cf26c74 0 3 | | 0 - **** - dropped *??| 2 - *--+ | 5a0f565823853324f0b34342e7ad550e5cf26c74 Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + git-imerge finish + check_tree dropped 3b92d9e80adb5b542a651863e6853ff5de9e496b + local refname=dropped + local expected_tree=3b92d9e80adb5b542a651863e6853ff5de9e496b + git rev-parse dropped^{tree} + test 3b92d9e80adb5b542a651863e6853ff5de9e496b = 3b92d9e80adb5b542a651863e6853ff5de9e496b + git checkout -b reverted master Switched to a new branch 'reverted' + git-imerge revert HEAD~5..HEAD~3 Note: switching to '34bdde3a6a5b6b9c8bcac5aa36109195e2a3dc7a^0'. You are in 'detached HEAD' state. You can look around, make experimental changes and commit them, and you can discard any commits you make in this state without impacting any branches by switching back to a branch. If you want to create a new branch to retain commits you create, you may do so (now or later) by using -c with the switch command. Example: git switch -c Or undo this operation with: git switch - Turn off this advice by setting config variable advice.detachedHead to false HEAD is now at 34bdde3 a3⇒3 [detached HEAD 12da661] Revert "a3⇒3" Date: Fri Mar 27 18:28:01 2026 +0000 1 file changed, 1 deletion(-) delete mode 100644 a3.txt [detached HEAD dc31bc9] Revert "a2⇒2" Date: Fri Mar 27 18:28:01 2026 +0000 1 file changed, 1 deletion(-) delete mode 100644 a2.txt Attempting automerge of 3-2...success. Autofilling 1-2...success. Autofilling 2-2...success. Autofilling 3-1...success. Autofilling 3-2 (first way)...success. Autofilling 3-2 (second way)...success. The two ways of autofilling 3-2 agree. Recording autofilled block MergeState('reverted', tip1='reverted', tip2='dc31bc9f8a4ae85067a870f524c2e480c5db97e5', goal='revert')[0:4,0:3]. Merge is complete! + git-imerge diagram --commits --frontier --html=imerge-revert.html 0 3 | | 0 - **** - reverted *??. 2 - *... | dc31bc9f8a4ae85067a870f524c2e480c5db97e5 0 3 | | 0 - **** - reverted *??| 2 - *--+ | dc31bc9f8a4ae85067a870f524c2e480c5db97e5 Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + git-imerge finish + check_tree reverted 3b92d9e80adb5b542a651863e6853ff5de9e496b + local refname=reverted + local expected_tree=3b92d9e80adb5b542a651863e6853ff5de9e496b + git rev-parse reverted^{tree} + test 3b92d9e80adb5b542a651863e6853ff5de9e496b = 3b92d9e80adb5b542a651863e6853ff5de9e496b py313: OK (93.78=setup[1.45]+cmd[4.79,61.91,9.71,3.41,10.94,1.57] seconds) congratulations :) (93.88 seconds) create-stamp debian/debhelper-build-stamp dh_testroot -O--buildsystem=pybuild dh_prep -O--buildsystem=pybuild dh_auto_install --destdir=debian/git-imerge/ -O--buildsystem=pybuild I: pybuild base:311: /usr/bin/python3 setup.py install --root /build/reproducible-path/git-imerge-1.2.0/debian/git-imerge running install /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:66: SetuptoolsDeprecationWarning: setup.py install is deprecated. !! ******************************************************************************** Please avoid running ``setup.py`` directly. Instead, use pypa/build, pypa/installer or other standards-based tools. See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details. ******************************************************************************** !! self.initialize_options() running build running build_py running install_lib creating /build/reproducible-path/git-imerge-1.2.0/debian/git-imerge/usr/lib/python3.13/dist-packages copying /build/reproducible-path/git-imerge-1.2.0/.pybuild/cpython3_3.13/build/gitimerge.py -> /build/reproducible-path/git-imerge-1.2.0/debian/git-imerge/usr/lib/python3.13/dist-packages byte-compiling /build/reproducible-path/git-imerge-1.2.0/debian/git-imerge/usr/lib/python3.13/dist-packages/gitimerge.py to gitimerge.cpython-313.pyc running install_data creating /build/reproducible-path/git-imerge-1.2.0/debian/git-imerge/usr/share/bash-completion/completions copying completions/git-imerge -> /build/reproducible-path/git-imerge-1.2.0/debian/git-imerge/usr/share/bash-completion/completions running install_egg_info running egg_info writing git_imerge.egg-info/PKG-INFO writing dependency_links to git_imerge.egg-info/dependency_links.txt writing entry points to git_imerge.egg-info/entry_points.txt writing top-level names to git_imerge.egg-info/top_level.txt reading manifest file 'git_imerge.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' adding license file 'COPYING' writing manifest file 'git_imerge.egg-info/SOURCES.txt' Copying git_imerge.egg-info to /build/reproducible-path/git-imerge-1.2.0/debian/git-imerge/usr/lib/python3.13/dist-packages/git_imerge-1.2.0.egg-info Skipping SOURCES.txt running install_scripts Installing git-imerge script to /build/reproducible-path/git-imerge-1.2.0/debian/git-imerge/usr/bin dh_installdocs -O--buildsystem=pybuild dh_installchangelogs -O--buildsystem=pybuild dh_python3 -O--buildsystem=pybuild dh_installsystemduser -O--buildsystem=pybuild dh_perl -O--buildsystem=pybuild dh_link -O--buildsystem=pybuild dh_strip_nondeterminism -O--buildsystem=pybuild dh_compress -O--buildsystem=pybuild dh_fixperms -O--buildsystem=pybuild dh_missing -O--buildsystem=pybuild dh_installdeb -O--buildsystem=pybuild dh_gencontrol -O--buildsystem=pybuild dh_md5sums -O--buildsystem=pybuild dh_builddeb -O--buildsystem=pybuild dpkg-deb: building package 'git-imerge' in '../git-imerge_1.2.0-5_all.deb'. dpkg-genbuildinfo --build=binary -O../git-imerge_1.2.0-5_arm64.buildinfo dpkg-genchanges --build=binary -O../git-imerge_1.2.0-5_arm64.changes dpkg-genchanges: info: binary-only upload (no source code included) dpkg-source --after-build . dpkg-buildpackage: info: binary-only upload (no source included) dpkg-genchanges: info: not including original source code in upload I: copying local configuration I: unmounting dev/ptmx filesystem I: unmounting dev/pts filesystem I: unmounting dev/shm filesystem I: unmounting proc filesystem I: unmounting sys filesystem I: cleaning the build env I: removing directory /srv/workspace/pbuilder/1649155 and its subdirectories I: Current time: Fri Mar 27 06:28:06 -12 2026 I: pbuilder-time-stamp: 1774636086 Fri Mar 27 18:28:06 UTC 2026 I: Signing ./b1/git-imerge_1.2.0-5_arm64.buildinfo as git-imerge_1.2.0-5_arm64.buildinfo.asc Fri Mar 27 18:28:06 UTC 2026 I: Signed ./b1/git-imerge_1.2.0-5_arm64.buildinfo as ./b1/git-imerge_1.2.0-5_arm64.buildinfo.asc Fri Mar 27 18:28:06 UTC 2026 - build #1 for git-imerge/trixie/arm64 on codethink03-arm64 done. Starting cleanup. All cleanup done. Fri Mar 27 18:28:06 UTC 2026 - reproducible_build.sh stopped running as /tmp/jenkins-script-9X6xnYfh, removing. /srv/reproducible-results/rbuild-debian/r-b-build.7f9P2HTC: total 16 drwxr-xr-x 2 jenkins jenkins 4096 Feb 22 12:05 b1 drwxr-xr-x 2 jenkins jenkins 4096 Feb 22 12:02 b2 -rw-r--r-- 1 jenkins jenkins 1896 Aug 19 2023 git-imerge_1.2.0-5.dsc -rw------- 1 jenkins jenkins 3022 Feb 22 12:02 rbuildlog.BhslHav /srv/reproducible-results/rbuild-debian/r-b-build.7f9P2HTC/b1: total 412 -rw-r--r-- 1 jenkins jenkins 338852 Feb 22 12:05 build.log -rw-r--r-- 1 jenkins jenkins 3144 Feb 22 12:05 git-imerge_1.2.0-5.debian.tar.xz -rw-r--r-- 1 jenkins jenkins 1896 Feb 22 12:05 git-imerge_1.2.0-5.dsc -rw-r--r-- 1 jenkins jenkins 48992 Feb 22 12:05 git-imerge_1.2.0-5_all.deb -rw-r--r-- 1 jenkins jenkins 7029 Feb 22 12:05 git-imerge_1.2.0-5_arm64.buildinfo -rw-r--r-- 1 jenkins jenkins 7911 Feb 22 12:05 git-imerge_1.2.0-5_arm64.buildinfo.asc -rw-r--r-- 1 jenkins jenkins 1153 Feb 22 12:05 git-imerge_1.2.0-5_arm64.changes -rw-r--r-- 1 jenkins jenkins 1327 Feb 22 12:05 git-imerge_1.2.0-5_source.changes /srv/reproducible-results/rbuild-debian/r-b-build.7f9P2HTC/b2: total 0 Sat Feb 22 12:05:07 UTC 2025 I: Deleting $TMPDIR on codethink03-arm64.debian.net. I: pbuilder: network access will be disabled during build I: Current time: Fri Mar 27 06:25:48 -12 2026 I: pbuilder-time-stamp: 1774635948 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/trixie-reproducible-base.tgz] I: copying local configuration W: --override-config is not set; not updating apt.conf Read the manpage for details. I: mounting /proc filesystem I: mounting /sys filesystem I: creating /{dev,run}/shm I: mounting /dev/pts filesystem I: redirecting /dev/ptmx to /dev/pts/ptmx I: policy-rc.d already exists I: Copying source file I: copying [git-imerge_1.2.0-5.dsc] I: copying [./git-imerge_1.2.0.orig.tar.gz] I: copying [./git-imerge_1.2.0-5.debian.tar.xz] I: Extracting source dpkg-source: warning: cannot verify inline signature for ./git-imerge_1.2.0-5.dsc: unsupported subcommand dpkg-source: info: extracting git-imerge in git-imerge-1.2.0 dpkg-source: info: unpacking git-imerge_1.2.0.orig.tar.gz dpkg-source: info: unpacking git-imerge_1.2.0-5.debian.tar.xz dpkg-source: info: using patch list from debian/patches/series dpkg-source: info: applying tox-4-pr-204.patch I: Not using root during the build. I: Installing the build-deps I: user script /srv/workspace/pbuilder/1649155/tmp/hooks/D02_print_environment starting I: set BUILDDIR='/build/reproducible-path' BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other' BUILDUSERNAME='pbuilder1' BUILD_ARCH='arm64' DEBIAN_FRONTEND='noninteractive' DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=12 ' DISTRIBUTION='trixie' HOME='/root' HOST_ARCH='arm64' IFS=' ' INVOCATION_ID='ee4e18bba7d344a0acbb0b59d5778a4a' LANG='C' LANGUAGE='en_US:en' LC_ALL='C' MAIL='/var/mail/root' OPTIND='1' PATH='/usr/sbin:/usr/bin:/sbin:/bin:/usr/games' PBCURRENTCOMMANDLINEOPERATION='build' PBUILDER_OPERATION='build' PBUILDER_PKGDATADIR='/usr/share/pbuilder' PBUILDER_PKGLIBDIR='/usr/lib/pbuilder' PBUILDER_SYSCONFDIR='/etc' PPID='1649155' PS1='# ' PS2='> ' PS4='+ ' PWD='/' SHELL='/bin/bash' SHLVL='2' SUDO_COMMAND='/usr/bin/timeout -k 18.1h 18h /usr/bin/ionice -c 3 /usr/bin/nice /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.7f9P2HTC/pbuilderrc_9GmO --distribution trixie --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/trixie-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.7f9P2HTC/b1 --logfile b1/build.log git-imerge_1.2.0-5.dsc' SUDO_GID='109' SUDO_UID='104' SUDO_USER='jenkins' TERM='unknown' TZ='/usr/share/zoneinfo/Etc/GMT+12' USER='root' _='/usr/bin/systemd-run' http_proxy='http://192.168.101.4:3128' I: uname -a Linux codethink03-arm64 6.1.0-31-cloud-arm64 #1 SMP Debian 6.1.128-1 (2025-02-07) aarch64 GNU/Linux I: ls -l /bin lrwxrwxrwx 1 root root 7 Nov 22 2024 /bin -> usr/bin I: user script /srv/workspace/pbuilder/1649155/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy Version: 0.invalid.0 Architecture: arm64 Maintainer: Debian Pbuilder Team Description: Dummy package to satisfy dependencies with aptitude - created by pbuilder This package was created automatically by pbuilder to satisfy the build-dependencies of the package being currently built. Depends: bash-completion, debhelper-compat (= 13), dh-sequence-python3, git, pkg-config, python3, python3-setuptools, python3-wheel, tox dpkg-deb: building package 'pbuilder-satisfydepends-dummy' in '/tmp/satisfydepends-aptitude/pbuilder-satisfydepends-dummy.deb'. Selecting previously unselected package pbuilder-satisfydepends-dummy. (Reading database ... 19922 files and directories currently installed.) Preparing to unpack .../pbuilder-satisfydepends-dummy.deb ... Unpacking pbuilder-satisfydepends-dummy (0.invalid.0) ... dpkg: pbuilder-satisfydepends-dummy: dependency problems, but configuring anyway as you requested: pbuilder-satisfydepends-dummy depends on bash-completion; however: Package bash-completion is not installed. pbuilder-satisfydepends-dummy depends on debhelper-compat (= 13); however: Package debhelper-compat is not installed. pbuilder-satisfydepends-dummy depends on dh-sequence-python3; however: Package dh-sequence-python3 is not installed. pbuilder-satisfydepends-dummy depends on git; however: Package git is not installed. pbuilder-satisfydepends-dummy depends on pkg-config; however: Package pkg-config is not installed. pbuilder-satisfydepends-dummy depends on python3; however: Package python3 is not installed. pbuilder-satisfydepends-dummy depends on python3-setuptools; however: Package python3-setuptools is not installed. pbuilder-satisfydepends-dummy depends on python3-wheel; however: Package python3-wheel is not installed. pbuilder-satisfydepends-dummy depends on tox; however: Package tox is not installed. Setting up pbuilder-satisfydepends-dummy (0.invalid.0) ... Reading package lists... Building dependency tree... Reading state information... Initializing package states... Writing extended state information... Building tag database... pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) The following NEW packages will be installed: autoconf{a} automake{a} autopoint{a} autotools-dev{a} bash-completion{a} bsdextrautils{a} ca-certificates{a} debhelper{a} dh-autoreconf{a} dh-python{a} dh-strip-nondeterminism{a} dwz{a} file{a} gettext{a} gettext-base{a} git{a} git-man{a} groff-base{a} intltool-debian{a} libarchive-zip-perl{a} libbrotli1{a} libcom-err2{a} libcurl3t64-gnutls{a} libdebhelper-perl{a} libelf1t64{a} liberror-perl{a} libexpat1{a} libffi8{a} libfile-stripnondeterminism-perl{a} libgnutls30t64{a} libgssapi-krb5-2{a} libicu72{a} libidn2-0{a} libjs-jquery{a} libjs-sphinxdoc{a} libjs-underscore{a} libk5crypto3{a} libkeyutils1{a} libkrb5-3{a} libkrb5support0{a} libldap2{a} libmagic-mgc{a} libmagic1t64{a} libnghttp2-14{a} libnghttp3-9{a} libngtcp2-16{a} libngtcp2-crypto-gnutls8{a} libp11-kit0{a} libpipeline1{a} libpkgconf3{a} libpsl5t64{a} libpython3-stdlib{a} libpython3.13-minimal{a} libpython3.13-stdlib{a} libreadline8t64{a} librtmp1{a} libsasl2-2{a} libsasl2-modules-db{a} libssh2-1t64{a} libtasn1-6{a} libtool{a} libuchardet0{a} libunistring5{a} libxml2{a} m4{a} man-db{a} media-types{a} netbase{a} openssl{a} pkg-config{a} pkgconf{a} pkgconf-bin{a} po-debconf{a} python3{a} python3-autocommand{a} python3-cachetools{a} python3-chardet{a} python3-colorama{a} python3-distlib{a} python3-filelock{a} python3-inflect{a} python3-jaraco.context{a} python3-jaraco.functools{a} python3-jaraco.text{a} python3-minimal{a} python3-more-itertools{a} python3-packaging{a} python3-pip-whl{a} python3-pkg-resources{a} python3-platformdirs{a} python3-pluggy{a} python3-pyproject-api{a} python3-setuptools{a} python3-setuptools-whl{a} python3-typeguard{a} python3-typing-extensions{a} python3-virtualenv{a} python3-wheel{a} python3-wheel-whl{a} python3-zipp{a} python3.13{a} python3.13-minimal{a} readline-common{a} sensible-utils{a} tox{a} tzdata{a} The following packages are RECOMMENDED but will NOT be installed: curl javascript-common krb5-locales less libarchive-cpio-perl libldap-common libltdl-dev libmail-sendmail-perl libsasl2-modules lynx openssh-client publicsuffix python3-dev wget 0 packages upgraded, 106 newly installed, 0 to remove and 0 not upgraded. Need to get 49.1 MB of archives. After unpacking 197 MB will be used. Writing extended state information... Get: 1 http://deb.debian.org/debian trixie/main arm64 libpython3.13-minimal arm64 3.13.2-1 [853 kB] Get: 2 http://deb.debian.org/debian trixie/main arm64 libexpat1 arm64 2.6.4-1 [90.7 kB] Get: 3 http://deb.debian.org/debian trixie/main arm64 python3.13-minimal arm64 3.13.2-1 [1997 kB] Get: 4 http://deb.debian.org/debian trixie/main arm64 python3-minimal arm64 3.13.1-2 [27.0 kB] Get: 5 http://deb.debian.org/debian trixie/main arm64 media-types all 10.1.0 [26.9 kB] Get: 6 http://deb.debian.org/debian trixie/main arm64 netbase all 6.4 [12.8 kB] Get: 7 http://deb.debian.org/debian trixie/main arm64 tzdata all 2025a-2 [259 kB] Get: 8 http://deb.debian.org/debian trixie/main arm64 libffi8 arm64 3.4.7-1 [21.2 kB] Get: 9 http://deb.debian.org/debian trixie/main arm64 readline-common all 8.2-6 [69.4 kB] Get: 10 http://deb.debian.org/debian trixie/main arm64 libreadline8t64 arm64 8.2-6 [159 kB] Get: 11 http://deb.debian.org/debian trixie/main arm64 libpython3.13-stdlib arm64 3.13.2-1 [1914 kB] Get: 12 http://deb.debian.org/debian trixie/main arm64 python3.13 arm64 3.13.2-1 [745 kB] Get: 13 http://deb.debian.org/debian trixie/main arm64 libpython3-stdlib arm64 3.13.1-2 [9952 B] Get: 14 http://deb.debian.org/debian trixie/main arm64 python3 arm64 3.13.1-2 [28.0 kB] Get: 15 http://deb.debian.org/debian trixie/main arm64 sensible-utils all 0.0.24 [24.8 kB] Get: 16 http://deb.debian.org/debian trixie/main arm64 bash-completion all 1:2.16.0-7 [319 kB] Get: 17 http://deb.debian.org/debian trixie/main arm64 openssl arm64 3.4.1-1 [1390 kB] Get: 18 http://deb.debian.org/debian trixie/main arm64 ca-certificates all 20241223 [164 kB] Get: 19 http://deb.debian.org/debian trixie/main arm64 libmagic-mgc arm64 1:5.45-3+b1 [314 kB] Get: 20 http://deb.debian.org/debian trixie/main arm64 libmagic1t64 arm64 1:5.45-3+b1 [102 kB] Get: 21 http://deb.debian.org/debian trixie/main arm64 file arm64 1:5.45-3+b1 [43.4 kB] Get: 22 http://deb.debian.org/debian trixie/main arm64 gettext-base arm64 0.23.1-1 [241 kB] Get: 23 http://deb.debian.org/debian trixie/main arm64 libuchardet0 arm64 0.0.8-1+b2 [69.2 kB] Get: 24 http://deb.debian.org/debian trixie/main arm64 groff-base arm64 1.23.0-7 [1129 kB] Get: 25 http://deb.debian.org/debian trixie/main arm64 bsdextrautils arm64 2.40.4-3 [92.0 kB] Get: 26 http://deb.debian.org/debian trixie/main arm64 libpipeline1 arm64 1.5.8-1 [40.2 kB] Get: 27 http://deb.debian.org/debian trixie/main arm64 man-db arm64 2.13.0-1 [1404 kB] Get: 28 http://deb.debian.org/debian trixie/main arm64 m4 arm64 1.4.19-5 [284 kB] Get: 29 http://deb.debian.org/debian trixie/main arm64 autoconf all 2.72-3 [493 kB] Get: 30 http://deb.debian.org/debian trixie/main arm64 autotools-dev all 20220109.1 [51.6 kB] Get: 31 http://deb.debian.org/debian trixie/main arm64 automake all 1:1.17-3 [862 kB] Get: 32 http://deb.debian.org/debian trixie/main arm64 autopoint all 0.23.1-1 [770 kB] Get: 33 http://deb.debian.org/debian trixie/main arm64 libdebhelper-perl all 13.24.1 [90.9 kB] Get: 34 http://deb.debian.org/debian trixie/main arm64 libtool all 2.5.4-3 [539 kB] Get: 35 http://deb.debian.org/debian trixie/main arm64 dh-autoreconf all 20 [17.1 kB] Get: 36 http://deb.debian.org/debian trixie/main arm64 libarchive-zip-perl all 1.68-1 [104 kB] Get: 37 http://deb.debian.org/debian trixie/main arm64 libfile-stripnondeterminism-perl all 1.14.1-2 [19.7 kB] Get: 38 http://deb.debian.org/debian trixie/main arm64 dh-strip-nondeterminism all 1.14.1-2 [8620 B] Get: 39 http://deb.debian.org/debian trixie/main arm64 libelf1t64 arm64 0.192-4 [189 kB] Get: 40 http://deb.debian.org/debian trixie/main arm64 dwz arm64 0.15-1+b1 [102 kB] Get: 41 http://deb.debian.org/debian trixie/main arm64 libunistring5 arm64 1.3-1 [449 kB] Get: 42 http://deb.debian.org/debian trixie/main arm64 libicu72 arm64 72.1-6 [9239 kB] Get: 43 http://deb.debian.org/debian trixie/main arm64 libxml2 arm64 2.12.7+dfsg+really2.9.14-0.2+b1 [630 kB] Get: 44 http://deb.debian.org/debian trixie/main arm64 gettext arm64 0.23.1-1 [1610 kB] Get: 45 http://deb.debian.org/debian trixie/main arm64 intltool-debian all 0.35.0+20060710.6 [22.9 kB] Get: 46 http://deb.debian.org/debian trixie/main arm64 po-debconf all 1.0.21+nmu1 [248 kB] Get: 47 http://deb.debian.org/debian trixie/main arm64 debhelper all 13.24.1 [920 kB] Get: 48 http://deb.debian.org/debian trixie/main arm64 python3-autocommand all 2.2.2-3 [13.6 kB] Get: 49 http://deb.debian.org/debian trixie/main arm64 python3-more-itertools all 10.6.0-1 [65.3 kB] Get: 50 http://deb.debian.org/debian trixie/main arm64 python3-typing-extensions all 4.12.2-2 [73.0 kB] Get: 51 http://deb.debian.org/debian trixie/main arm64 python3-typeguard all 4.4.1-1 [37.0 kB] Get: 52 http://deb.debian.org/debian trixie/main arm64 python3-inflect all 7.3.1-2 [32.4 kB] Get: 53 http://deb.debian.org/debian trixie/main arm64 python3-jaraco.context all 6.0.0-1 [7984 B] Get: 54 http://deb.debian.org/debian trixie/main arm64 python3-jaraco.functools all 4.1.0-1 [12.0 kB] Get: 55 http://deb.debian.org/debian trixie/main arm64 python3-pkg-resources all 75.6.0-1 [222 kB] Get: 56 http://deb.debian.org/debian trixie/main arm64 python3-jaraco.text all 4.0.0-1 [11.4 kB] Get: 57 http://deb.debian.org/debian trixie/main arm64 python3-zipp all 3.21.0-1 [10.6 kB] Get: 58 http://deb.debian.org/debian trixie/main arm64 python3-setuptools all 75.6.0-1 [720 kB] Get: 59 http://deb.debian.org/debian trixie/main arm64 dh-python all 6.20250108 [113 kB] Get: 60 http://deb.debian.org/debian trixie/main arm64 libbrotli1 arm64 1.1.0-2+b6 [297 kB] Get: 61 http://deb.debian.org/debian trixie/main arm64 libidn2-0 arm64 2.3.7-2+b1 [127 kB] Get: 62 http://deb.debian.org/debian trixie/main arm64 libp11-kit0 arm64 0.25.5-3 [409 kB] Get: 63 http://deb.debian.org/debian trixie/main arm64 libtasn1-6 arm64 4.20.0-2 [47.3 kB] Get: 64 http://deb.debian.org/debian trixie/main arm64 libgnutls30t64 arm64 3.8.9-2 [1374 kB] Get: 65 http://deb.debian.org/debian trixie/main arm64 libkrb5support0 arm64 1.21.3-4 [32.2 kB] Get: 66 http://deb.debian.org/debian trixie/main arm64 libcom-err2 arm64 1.47.2-1 [23.9 kB] Get: 67 http://deb.debian.org/debian trixie/main arm64 libk5crypto3 arm64 1.21.3-4 [81.5 kB] Get: 68 http://deb.debian.org/debian trixie/main arm64 libkeyutils1 arm64 1.6.3-4 [9352 B] Get: 69 http://deb.debian.org/debian trixie/main arm64 libkrb5-3 arm64 1.21.3-4 [308 kB] Get: 70 http://deb.debian.org/debian trixie/main arm64 libgssapi-krb5-2 arm64 1.21.3-4 [127 kB] Get: 71 http://deb.debian.org/debian trixie/main arm64 libsasl2-modules-db arm64 2.1.28+dfsg1-8+b1 [20.3 kB] Get: 72 http://deb.debian.org/debian trixie/main arm64 libsasl2-2 arm64 2.1.28+dfsg1-8+b1 [55.7 kB] Get: 73 http://deb.debian.org/debian trixie/main arm64 libldap2 arm64 2.6.9+dfsg-1 [179 kB] Get: 74 http://deb.debian.org/debian trixie/main arm64 libnghttp2-14 arm64 1.64.0-1 [71.3 kB] Get: 75 http://deb.debian.org/debian trixie/main arm64 libnghttp3-9 arm64 1.6.0-2 [60.5 kB] Get: 76 http://deb.debian.org/debian trixie/main arm64 libngtcp2-16 arm64 1.9.1-1 [109 kB] Get: 77 http://deb.debian.org/debian trixie/main arm64 libngtcp2-crypto-gnutls8 arm64 1.9.1-1 [17.3 kB] Get: 78 http://deb.debian.org/debian trixie/main arm64 libpsl5t64 arm64 0.21.2-1.1+b1 [57.1 kB] Get: 79 http://deb.debian.org/debian trixie/main arm64 librtmp1 arm64 2.4+20151223.gitfa8646d.1-2+b5 [56.8 kB] Get: 80 http://deb.debian.org/debian trixie/main arm64 libssh2-1t64 arm64 1.11.1-1 [235 kB] Get: 81 http://deb.debian.org/debian trixie/main arm64 libcurl3t64-gnutls arm64 8.12.1-2 [336 kB] Get: 82 http://deb.debian.org/debian trixie/main arm64 liberror-perl all 0.17029-2 [29.0 kB] Get: 83 http://deb.debian.org/debian trixie/main arm64 git-man all 1:2.47.2-0.1 [2205 kB] Get: 84 http://deb.debian.org/debian trixie/main arm64 git arm64 1:2.47.2-0.1 [8756 kB] Get: 85 http://deb.debian.org/debian trixie/main arm64 libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [326 kB] Get: 86 http://deb.debian.org/debian trixie/main arm64 libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [116 kB] Get: 87 http://deb.debian.org/debian trixie/main arm64 libjs-sphinxdoc all 8.1.3-4 [30.4 kB] Get: 88 http://deb.debian.org/debian trixie/main arm64 libpkgconf3 arm64 1.8.1-4 [35.3 kB] Get: 89 http://deb.debian.org/debian trixie/main arm64 pkgconf-bin arm64 1.8.1-4 [29.6 kB] Get: 90 http://deb.debian.org/debian trixie/main arm64 pkgconf arm64 1.8.1-4 [26.1 kB] Get: 91 http://deb.debian.org/debian trixie/main arm64 pkg-config arm64 1.8.1-4 [14.0 kB] Get: 92 http://deb.debian.org/debian trixie/main arm64 python3-cachetools all 5.3.3-1 [13.2 kB] Get: 93 http://deb.debian.org/debian trixie/main arm64 python3-chardet all 5.2.0+dfsg-2 [108 kB] Get: 94 http://deb.debian.org/debian trixie/main arm64 python3-colorama all 0.4.6-4 [36.2 kB] Get: 95 http://deb.debian.org/debian trixie/main arm64 python3-distlib all 0.3.9-1 [257 kB] Get: 96 http://deb.debian.org/debian trixie/main arm64 python3-filelock all 3.16.1-1 [12.6 kB] Get: 97 http://deb.debian.org/debian trixie/main arm64 python3-packaging all 24.2-1 [55.3 kB] Get: 98 http://deb.debian.org/debian trixie/main arm64 python3-pip-whl all 25.0+dfsg-1 [1522 kB] Get: 99 http://deb.debian.org/debian trixie/main arm64 python3-platformdirs all 4.3.6-1 [16.6 kB] Get: 100 http://deb.debian.org/debian trixie/main arm64 python3-pluggy all 1.5.0-1 [26.9 kB] Get: 101 http://deb.debian.org/debian trixie/main arm64 python3-pyproject-api all 1.9.0-1 [51.6 kB] Get: 102 http://deb.debian.org/debian trixie/main arm64 python3-setuptools-whl all 75.6.0-1 [1239 kB] Get: 103 http://deb.debian.org/debian trixie/main arm64 python3-wheel-whl all 0.45.1-1 [75.3 kB] Get: 104 http://deb.debian.org/debian trixie/main arm64 python3-virtualenv all 20.29.1+ds-1 [71.6 kB] Get: 105 http://deb.debian.org/debian trixie/main arm64 python3-wheel all 0.45.1-1 [56.7 kB] Get: 106 http://deb.debian.org/debian trixie/main arm64 tox all 4.24.1-1 [399 kB] Fetched 49.1 MB in 0s (144 MB/s) Preconfiguring packages ... Selecting previously unselected package libpython3.13-minimal:arm64. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 19922 files and directories currently installed.) Preparing to unpack .../libpython3.13-minimal_3.13.2-1_arm64.deb ... Unpacking libpython3.13-minimal:arm64 (3.13.2-1) ... Selecting previously unselected package libexpat1:arm64. Preparing to unpack .../libexpat1_2.6.4-1_arm64.deb ... Unpacking libexpat1:arm64 (2.6.4-1) ... Selecting previously unselected package python3.13-minimal. Preparing to unpack .../python3.13-minimal_3.13.2-1_arm64.deb ... Unpacking python3.13-minimal (3.13.2-1) ... Setting up libpython3.13-minimal:arm64 (3.13.2-1) ... Setting up libexpat1:arm64 (2.6.4-1) ... Setting up python3.13-minimal (3.13.2-1) ... Selecting previously unselected package python3-minimal. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 20256 files and directories currently installed.) Preparing to unpack .../0-python3-minimal_3.13.1-2_arm64.deb ... Unpacking python3-minimal (3.13.1-2) ... Selecting previously unselected package media-types. Preparing to unpack .../1-media-types_10.1.0_all.deb ... Unpacking media-types (10.1.0) ... Selecting previously unselected package netbase. Preparing to unpack .../2-netbase_6.4_all.deb ... Unpacking netbase (6.4) ... Selecting previously unselected package tzdata. Preparing to unpack .../3-tzdata_2025a-2_all.deb ... Unpacking tzdata (2025a-2) ... Selecting previously unselected package libffi8:arm64. Preparing to unpack .../4-libffi8_3.4.7-1_arm64.deb ... Unpacking libffi8:arm64 (3.4.7-1) ... Selecting previously unselected package readline-common. Preparing to unpack .../5-readline-common_8.2-6_all.deb ... Unpacking readline-common (8.2-6) ... Selecting previously unselected package libreadline8t64:arm64. Preparing to unpack .../6-libreadline8t64_8.2-6_arm64.deb ... Adding 'diversion of /lib/aarch64-linux-gnu/libhistory.so.8 to /lib/aarch64-linux-gnu/libhistory.so.8.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/aarch64-linux-gnu/libhistory.so.8.2 to /lib/aarch64-linux-gnu/libhistory.so.8.2.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/aarch64-linux-gnu/libreadline.so.8 to /lib/aarch64-linux-gnu/libreadline.so.8.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/aarch64-linux-gnu/libreadline.so.8.2 to /lib/aarch64-linux-gnu/libreadline.so.8.2.usr-is-merged by libreadline8t64' Unpacking libreadline8t64:arm64 (8.2-6) ... Selecting previously unselected package libpython3.13-stdlib:arm64. Preparing to unpack .../7-libpython3.13-stdlib_3.13.2-1_arm64.deb ... Unpacking libpython3.13-stdlib:arm64 (3.13.2-1) ... Selecting previously unselected package python3.13. Preparing to unpack .../8-python3.13_3.13.2-1_arm64.deb ... Unpacking python3.13 (3.13.2-1) ... Selecting previously unselected package libpython3-stdlib:arm64. Preparing to unpack .../9-libpython3-stdlib_3.13.1-2_arm64.deb ... Unpacking libpython3-stdlib:arm64 (3.13.1-2) ... Setting up python3-minimal (3.13.1-2) ... Selecting previously unselected package python3. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 21266 files and directories currently installed.) Preparing to unpack .../00-python3_3.13.1-2_arm64.deb ... Unpacking python3 (3.13.1-2) ... Selecting previously unselected package sensible-utils. Preparing to unpack .../01-sensible-utils_0.0.24_all.deb ... Unpacking sensible-utils (0.0.24) ... Selecting previously unselected package bash-completion. Preparing to unpack .../02-bash-completion_1%3a2.16.0-7_all.deb ... Unpacking bash-completion (1:2.16.0-7) ... Selecting previously unselected package openssl. Preparing to unpack .../03-openssl_3.4.1-1_arm64.deb ... Unpacking openssl (3.4.1-1) ... Selecting previously unselected package ca-certificates. Preparing to unpack .../04-ca-certificates_20241223_all.deb ... Unpacking ca-certificates (20241223) ... Selecting previously unselected package libmagic-mgc. Preparing to unpack .../05-libmagic-mgc_1%3a5.45-3+b1_arm64.deb ... Unpacking libmagic-mgc (1:5.45-3+b1) ... Selecting previously unselected package libmagic1t64:arm64. Preparing to unpack .../06-libmagic1t64_1%3a5.45-3+b1_arm64.deb ... Unpacking libmagic1t64:arm64 (1:5.45-3+b1) ... Selecting previously unselected package file. Preparing to unpack .../07-file_1%3a5.45-3+b1_arm64.deb ... Unpacking file (1:5.45-3+b1) ... Selecting previously unselected package gettext-base. Preparing to unpack .../08-gettext-base_0.23.1-1_arm64.deb ... Unpacking gettext-base (0.23.1-1) ... Selecting previously unselected package libuchardet0:arm64. Preparing to unpack .../09-libuchardet0_0.0.8-1+b2_arm64.deb ... Unpacking libuchardet0:arm64 (0.0.8-1+b2) ... Selecting previously unselected package groff-base. Preparing to unpack .../10-groff-base_1.23.0-7_arm64.deb ... Unpacking groff-base (1.23.0-7) ... Selecting previously unselected package bsdextrautils. Preparing to unpack .../11-bsdextrautils_2.40.4-3_arm64.deb ... Unpacking bsdextrautils (2.40.4-3) ... Selecting previously unselected package libpipeline1:arm64. Preparing to unpack .../12-libpipeline1_1.5.8-1_arm64.deb ... Unpacking libpipeline1:arm64 (1.5.8-1) ... Selecting previously unselected package man-db. Preparing to unpack .../13-man-db_2.13.0-1_arm64.deb ... Unpacking man-db (2.13.0-1) ... Selecting previously unselected package m4. Preparing to unpack .../14-m4_1.4.19-5_arm64.deb ... Unpacking m4 (1.4.19-5) ... Selecting previously unselected package autoconf. Preparing to unpack .../15-autoconf_2.72-3_all.deb ... Unpacking autoconf (2.72-3) ... Selecting previously unselected package autotools-dev. Preparing to unpack .../16-autotools-dev_20220109.1_all.deb ... Unpacking autotools-dev (20220109.1) ... Selecting previously unselected package automake. Preparing to unpack .../17-automake_1%3a1.17-3_all.deb ... Unpacking automake (1:1.17-3) ... Selecting previously unselected package autopoint. Preparing to unpack .../18-autopoint_0.23.1-1_all.deb ... Unpacking autopoint (0.23.1-1) ... Selecting previously unselected package libdebhelper-perl. Preparing to unpack .../19-libdebhelper-perl_13.24.1_all.deb ... Unpacking libdebhelper-perl (13.24.1) ... Selecting previously unselected package libtool. Preparing to unpack .../20-libtool_2.5.4-3_all.deb ... Unpacking libtool (2.5.4-3) ... Selecting previously unselected package dh-autoreconf. Preparing to unpack .../21-dh-autoreconf_20_all.deb ... Unpacking dh-autoreconf (20) ... Selecting previously unselected package libarchive-zip-perl. Preparing to unpack .../22-libarchive-zip-perl_1.68-1_all.deb ... Unpacking libarchive-zip-perl (1.68-1) ... Selecting previously unselected package libfile-stripnondeterminism-perl. Preparing to unpack .../23-libfile-stripnondeterminism-perl_1.14.1-2_all.deb ... Unpacking libfile-stripnondeterminism-perl (1.14.1-2) ... Selecting previously unselected package dh-strip-nondeterminism. Preparing to unpack .../24-dh-strip-nondeterminism_1.14.1-2_all.deb ... Unpacking dh-strip-nondeterminism (1.14.1-2) ... Selecting previously unselected package libelf1t64:arm64. Preparing to unpack .../25-libelf1t64_0.192-4_arm64.deb ... Unpacking libelf1t64:arm64 (0.192-4) ... Selecting previously unselected package dwz. Preparing to unpack .../26-dwz_0.15-1+b1_arm64.deb ... Unpacking dwz (0.15-1+b1) ... Selecting previously unselected package libunistring5:arm64. Preparing to unpack .../27-libunistring5_1.3-1_arm64.deb ... Unpacking libunistring5:arm64 (1.3-1) ... Selecting previously unselected package libicu72:arm64. Preparing to unpack .../28-libicu72_72.1-6_arm64.deb ... Unpacking libicu72:arm64 (72.1-6) ... Selecting previously unselected package libxml2:arm64. Preparing to unpack .../29-libxml2_2.12.7+dfsg+really2.9.14-0.2+b1_arm64.deb ... Unpacking libxml2:arm64 (2.12.7+dfsg+really2.9.14-0.2+b1) ... Selecting previously unselected package gettext. Preparing to unpack .../30-gettext_0.23.1-1_arm64.deb ... Unpacking gettext (0.23.1-1) ... Selecting previously unselected package intltool-debian. Preparing to unpack .../31-intltool-debian_0.35.0+20060710.6_all.deb ... Unpacking intltool-debian (0.35.0+20060710.6) ... Selecting previously unselected package po-debconf. Preparing to unpack .../32-po-debconf_1.0.21+nmu1_all.deb ... Unpacking po-debconf (1.0.21+nmu1) ... Selecting previously unselected package debhelper. Preparing to unpack .../33-debhelper_13.24.1_all.deb ... Unpacking debhelper (13.24.1) ... Selecting previously unselected package python3-autocommand. Preparing to unpack .../34-python3-autocommand_2.2.2-3_all.deb ... Unpacking python3-autocommand (2.2.2-3) ... Selecting previously unselected package python3-more-itertools. Preparing to unpack .../35-python3-more-itertools_10.6.0-1_all.deb ... Unpacking python3-more-itertools (10.6.0-1) ... Selecting previously unselected package python3-typing-extensions. Preparing to unpack .../36-python3-typing-extensions_4.12.2-2_all.deb ... Unpacking python3-typing-extensions (4.12.2-2) ... Selecting previously unselected package python3-typeguard. Preparing to unpack .../37-python3-typeguard_4.4.1-1_all.deb ... Unpacking python3-typeguard (4.4.1-1) ... Selecting previously unselected package python3-inflect. Preparing to unpack .../38-python3-inflect_7.3.1-2_all.deb ... Unpacking python3-inflect (7.3.1-2) ... Selecting previously unselected package python3-jaraco.context. Preparing to unpack .../39-python3-jaraco.context_6.0.0-1_all.deb ... Unpacking python3-jaraco.context (6.0.0-1) ... Selecting previously unselected package python3-jaraco.functools. Preparing to unpack .../40-python3-jaraco.functools_4.1.0-1_all.deb ... Unpacking python3-jaraco.functools (4.1.0-1) ... Selecting previously unselected package python3-pkg-resources. Preparing to unpack .../41-python3-pkg-resources_75.6.0-1_all.deb ... Unpacking python3-pkg-resources (75.6.0-1) ... Selecting previously unselected package python3-jaraco.text. Preparing to unpack .../42-python3-jaraco.text_4.0.0-1_all.deb ... Unpacking python3-jaraco.text (4.0.0-1) ... Selecting previously unselected package python3-zipp. Preparing to unpack .../43-python3-zipp_3.21.0-1_all.deb ... Unpacking python3-zipp (3.21.0-1) ... Selecting previously unselected package python3-setuptools. Preparing to unpack .../44-python3-setuptools_75.6.0-1_all.deb ... Unpacking python3-setuptools (75.6.0-1) ... Selecting previously unselected package dh-python. Preparing to unpack .../45-dh-python_6.20250108_all.deb ... Unpacking dh-python (6.20250108) ... Selecting previously unselected package libbrotli1:arm64. Preparing to unpack .../46-libbrotli1_1.1.0-2+b6_arm64.deb ... Unpacking libbrotli1:arm64 (1.1.0-2+b6) ... Selecting previously unselected package libidn2-0:arm64. Preparing to unpack .../47-libidn2-0_2.3.7-2+b1_arm64.deb ... Unpacking libidn2-0:arm64 (2.3.7-2+b1) ... Selecting previously unselected package libp11-kit0:arm64. Preparing to unpack .../48-libp11-kit0_0.25.5-3_arm64.deb ... Unpacking libp11-kit0:arm64 (0.25.5-3) ... Selecting previously unselected package libtasn1-6:arm64. Preparing to unpack .../49-libtasn1-6_4.20.0-2_arm64.deb ... Unpacking libtasn1-6:arm64 (4.20.0-2) ... Selecting previously unselected package libgnutls30t64:arm64. Preparing to unpack .../50-libgnutls30t64_3.8.9-2_arm64.deb ... Unpacking libgnutls30t64:arm64 (3.8.9-2) ... Selecting previously unselected package libkrb5support0:arm64. Preparing to unpack .../51-libkrb5support0_1.21.3-4_arm64.deb ... Unpacking libkrb5support0:arm64 (1.21.3-4) ... Selecting previously unselected package libcom-err2:arm64. Preparing to unpack .../52-libcom-err2_1.47.2-1_arm64.deb ... Unpacking libcom-err2:arm64 (1.47.2-1) ... Selecting previously unselected package libk5crypto3:arm64. Preparing to unpack .../53-libk5crypto3_1.21.3-4_arm64.deb ... Unpacking libk5crypto3:arm64 (1.21.3-4) ... Selecting previously unselected package libkeyutils1:arm64. Preparing to unpack .../54-libkeyutils1_1.6.3-4_arm64.deb ... Unpacking libkeyutils1:arm64 (1.6.3-4) ... Selecting previously unselected package libkrb5-3:arm64. Preparing to unpack .../55-libkrb5-3_1.21.3-4_arm64.deb ... Unpacking libkrb5-3:arm64 (1.21.3-4) ... Selecting previously unselected package libgssapi-krb5-2:arm64. Preparing to unpack .../56-libgssapi-krb5-2_1.21.3-4_arm64.deb ... Unpacking libgssapi-krb5-2:arm64 (1.21.3-4) ... Selecting previously unselected package libsasl2-modules-db:arm64. Preparing to unpack .../57-libsasl2-modules-db_2.1.28+dfsg1-8+b1_arm64.deb ... Unpacking libsasl2-modules-db:arm64 (2.1.28+dfsg1-8+b1) ... Selecting previously unselected package libsasl2-2:arm64. Preparing to unpack .../58-libsasl2-2_2.1.28+dfsg1-8+b1_arm64.deb ... Unpacking libsasl2-2:arm64 (2.1.28+dfsg1-8+b1) ... Selecting previously unselected package libldap2:arm64. Preparing to unpack .../59-libldap2_2.6.9+dfsg-1_arm64.deb ... Unpacking libldap2:arm64 (2.6.9+dfsg-1) ... Selecting previously unselected package libnghttp2-14:arm64. Preparing to unpack .../60-libnghttp2-14_1.64.0-1_arm64.deb ... Unpacking libnghttp2-14:arm64 (1.64.0-1) ... Selecting previously unselected package libnghttp3-9:arm64. Preparing to unpack .../61-libnghttp3-9_1.6.0-2_arm64.deb ... Unpacking libnghttp3-9:arm64 (1.6.0-2) ... Selecting previously unselected package libngtcp2-16:arm64. Preparing to unpack .../62-libngtcp2-16_1.9.1-1_arm64.deb ... Unpacking libngtcp2-16:arm64 (1.9.1-1) ... Selecting previously unselected package libngtcp2-crypto-gnutls8:arm64. Preparing to unpack .../63-libngtcp2-crypto-gnutls8_1.9.1-1_arm64.deb ... Unpacking libngtcp2-crypto-gnutls8:arm64 (1.9.1-1) ... Selecting previously unselected package libpsl5t64:arm64. Preparing to unpack .../64-libpsl5t64_0.21.2-1.1+b1_arm64.deb ... Unpacking libpsl5t64:arm64 (0.21.2-1.1+b1) ... Selecting previously unselected package librtmp1:arm64. Preparing to unpack .../65-librtmp1_2.4+20151223.gitfa8646d.1-2+b5_arm64.deb ... Unpacking librtmp1:arm64 (2.4+20151223.gitfa8646d.1-2+b5) ... Selecting previously unselected package libssh2-1t64:arm64. Preparing to unpack .../66-libssh2-1t64_1.11.1-1_arm64.deb ... Unpacking libssh2-1t64:arm64 (1.11.1-1) ... Selecting previously unselected package libcurl3t64-gnutls:arm64. Preparing to unpack .../67-libcurl3t64-gnutls_8.12.1-2_arm64.deb ... Unpacking libcurl3t64-gnutls:arm64 (8.12.1-2) ... Selecting previously unselected package liberror-perl. Preparing to unpack .../68-liberror-perl_0.17029-2_all.deb ... Unpacking liberror-perl (0.17029-2) ... Selecting previously unselected package git-man. Preparing to unpack .../69-git-man_1%3a2.47.2-0.1_all.deb ... Unpacking git-man (1:2.47.2-0.1) ... Selecting previously unselected package git. Preparing to unpack .../70-git_1%3a2.47.2-0.1_arm64.deb ... Unpacking git (1:2.47.2-0.1) ... Selecting previously unselected package libjs-jquery. Preparing to unpack .../71-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... Selecting previously unselected package libjs-underscore. Preparing to unpack .../72-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... Selecting previously unselected package libjs-sphinxdoc. Preparing to unpack .../73-libjs-sphinxdoc_8.1.3-4_all.deb ... Unpacking libjs-sphinxdoc (8.1.3-4) ... Selecting previously unselected package libpkgconf3:arm64. Preparing to unpack .../74-libpkgconf3_1.8.1-4_arm64.deb ... Unpacking libpkgconf3:arm64 (1.8.1-4) ... Selecting previously unselected package pkgconf-bin. Preparing to unpack .../75-pkgconf-bin_1.8.1-4_arm64.deb ... Unpacking pkgconf-bin (1.8.1-4) ... Selecting previously unselected package pkgconf:arm64. Preparing to unpack .../76-pkgconf_1.8.1-4_arm64.deb ... Unpacking pkgconf:arm64 (1.8.1-4) ... Selecting previously unselected package pkg-config:arm64. Preparing to unpack .../77-pkg-config_1.8.1-4_arm64.deb ... Unpacking pkg-config:arm64 (1.8.1-4) ... Selecting previously unselected package python3-cachetools. Preparing to unpack .../78-python3-cachetools_5.3.3-1_all.deb ... Unpacking python3-cachetools (5.3.3-1) ... Selecting previously unselected package python3-chardet. Preparing to unpack .../79-python3-chardet_5.2.0+dfsg-2_all.deb ... Unpacking python3-chardet (5.2.0+dfsg-2) ... Selecting previously unselected package python3-colorama. Preparing to unpack .../80-python3-colorama_0.4.6-4_all.deb ... Unpacking python3-colorama (0.4.6-4) ... Selecting previously unselected package python3-distlib. Preparing to unpack .../81-python3-distlib_0.3.9-1_all.deb ... Unpacking python3-distlib (0.3.9-1) ... Selecting previously unselected package python3-filelock. Preparing to unpack .../82-python3-filelock_3.16.1-1_all.deb ... Unpacking python3-filelock (3.16.1-1) ... Selecting previously unselected package python3-packaging. Preparing to unpack .../83-python3-packaging_24.2-1_all.deb ... Unpacking python3-packaging (24.2-1) ... Selecting previously unselected package python3-pip-whl. Preparing to unpack .../84-python3-pip-whl_25.0+dfsg-1_all.deb ... Unpacking python3-pip-whl (25.0+dfsg-1) ... Selecting previously unselected package python3-platformdirs. Preparing to unpack .../85-python3-platformdirs_4.3.6-1_all.deb ... Unpacking python3-platformdirs (4.3.6-1) ... Selecting previously unselected package python3-pluggy. Preparing to unpack .../86-python3-pluggy_1.5.0-1_all.deb ... Unpacking python3-pluggy (1.5.0-1) ... Selecting previously unselected package python3-pyproject-api. Preparing to unpack .../87-python3-pyproject-api_1.9.0-1_all.deb ... Unpacking python3-pyproject-api (1.9.0-1) ... Selecting previously unselected package python3-setuptools-whl. Preparing to unpack .../88-python3-setuptools-whl_75.6.0-1_all.deb ... Unpacking python3-setuptools-whl (75.6.0-1) ... Selecting previously unselected package python3-wheel-whl. Preparing to unpack .../89-python3-wheel-whl_0.45.1-1_all.deb ... Unpacking python3-wheel-whl (0.45.1-1) ... Selecting previously unselected package python3-virtualenv. Preparing to unpack .../90-python3-virtualenv_20.29.1+ds-1_all.deb ... Unpacking python3-virtualenv (20.29.1+ds-1) ... Selecting previously unselected package python3-wheel. Preparing to unpack .../91-python3-wheel_0.45.1-1_all.deb ... Unpacking python3-wheel (0.45.1-1) ... Selecting previously unselected package tox. Preparing to unpack .../92-tox_4.24.1-1_all.deb ... Unpacking tox (4.24.1-1) ... Setting up media-types (10.1.0) ... Setting up libpipeline1:arm64 (1.5.8-1) ... Setting up python3-setuptools-whl (75.6.0-1) ... Setting up libkeyutils1:arm64 (1.6.3-4) ... Setting up libicu72:arm64 (72.1-6) ... Setting up bsdextrautils (2.40.4-3) ... Setting up libmagic-mgc (1:5.45-3+b1) ... Setting up libarchive-zip-perl (1.68-1) ... Setting up libdebhelper-perl (13.24.1) ... Setting up libbrotli1:arm64 (1.1.0-2+b6) ... Setting up libmagic1t64:arm64 (1:5.45-3+b1) ... Setting up libnghttp2-14:arm64 (1.64.0-1) ... Setting up gettext-base (0.23.1-1) ... Setting up m4 (1.4.19-5) ... Setting up libcom-err2:arm64 (1.47.2-1) ... Setting up file (1:5.45-3+b1) ... Setting up libelf1t64:arm64 (0.192-4) ... Setting up libkrb5support0:arm64 (1.21.3-4) ... Setting up libsasl2-modules-db:arm64 (2.1.28+dfsg1-8+b1) ... Setting up tzdata (2025a-2) ... Current default time zone: 'Etc/UTC' Local time is now: Fri Mar 27 18:26:09 UTC 2026. Universal Time is now: Fri Mar 27 18:26:09 UTC 2026. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up liberror-perl (0.17029-2) ... Setting up autotools-dev (20220109.1) ... Setting up libpkgconf3:arm64 (1.8.1-4) ... Setting up bash-completion (1:2.16.0-7) ... Setting up libunistring5:arm64 (1.3-1) ... Setting up autopoint (0.23.1-1) ... Setting up pkgconf-bin (1.8.1-4) ... Setting up libk5crypto3:arm64 (1.21.3-4) ... Setting up libsasl2-2:arm64 (2.1.28+dfsg1-8+b1) ... Setting up autoconf (2.72-3) ... Setting up libnghttp3-9:arm64 (1.6.0-2) ... Setting up libffi8:arm64 (3.4.7-1) ... Setting up dwz (0.15-1+b1) ... Setting up sensible-utils (0.0.24) ... Setting up libuchardet0:arm64 (0.0.8-1+b2) ... Setting up libtasn1-6:arm64 (4.20.0-2) ... Setting up git-man (1:2.47.2-0.1) ... Setting up netbase (6.4) ... Setting up libngtcp2-16:arm64 (1.9.1-1) ... Setting up libkrb5-3:arm64 (1.21.3-4) ... Setting up libssh2-1t64:arm64 (1.11.1-1) ... Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... Setting up openssl (3.4.1-1) ... Setting up python3-wheel-whl (0.45.1-1) ... Setting up readline-common (8.2-6) ... Setting up libxml2:arm64 (2.12.7+dfsg+really2.9.14-0.2+b1) ... Setting up libldap2:arm64 (2.6.9+dfsg-1) ... Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... Setting up automake (1:1.17-3) ... update-alternatives: using /usr/bin/automake-1.17 to provide /usr/bin/automake (automake) in auto mode Setting up libfile-stripnondeterminism-perl (1.14.1-2) ... Setting up gettext (0.23.1-1) ... Setting up libtool (2.5.4-3) ... Setting up libidn2-0:arm64 (2.3.7-2+b1) ... Setting up pkgconf:arm64 (1.8.1-4) ... Setting up intltool-debian (0.35.0+20060710.6) ... Setting up dh-autoreconf (20) ... Setting up ca-certificates (20241223) ... Updating certificates in /etc/ssl/certs... 152 added, 0 removed; done. Setting up libp11-kit0:arm64 (0.25.5-3) ... Setting up libgssapi-krb5-2:arm64 (1.21.3-4) ... Setting up pkg-config:arm64 (1.8.1-4) ... Setting up libjs-sphinxdoc (8.1.3-4) ... Setting up libreadline8t64:arm64 (8.2-6) ... Setting up dh-strip-nondeterminism (1.14.1-2) ... Setting up groff-base (1.23.0-7) ... Setting up libpython3.13-stdlib:arm64 (3.13.2-1) ... Setting up libpython3-stdlib:arm64 (3.13.1-2) ... Setting up libgnutls30t64:arm64 (3.8.9-2) ... Setting up python3.13 (3.13.2-1) ... Setting up python3-pip-whl (25.0+dfsg-1) ... Setting up po-debconf (1.0.21+nmu1) ... Setting up libpsl5t64:arm64 (0.21.2-1.1+b1) ... Setting up python3 (3.13.1-2) ... Setting up python3-distlib (0.3.9-1) ... Setting up python3-zipp (3.21.0-1) ... Setting up python3-autocommand (2.2.2-3) ... Setting up man-db (2.13.0-1) ... Not building database; man-db/auto-update is not 'true'. Setting up python3-wheel (0.45.1-1) ... Setting up python3-platformdirs (4.3.6-1) ... Setting up python3-packaging (24.2-1) ... Setting up python3-chardet (5.2.0+dfsg-2) ... Setting up librtmp1:arm64 (2.4+20151223.gitfa8646d.1-2+b5) ... Setting up python3-typing-extensions (4.12.2-2) ... Setting up python3-pluggy (1.5.0-1) ... Setting up libngtcp2-crypto-gnutls8:arm64 (1.9.1-1) ... Setting up python3-more-itertools (10.6.0-1) ... Setting up python3-filelock (3.16.1-1) ... Setting up python3-jaraco.functools (4.1.0-1) ... Setting up python3-jaraco.context (6.0.0-1) ... Setting up python3-cachetools (5.3.3-1) ... Setting up python3-colorama (0.4.6-4) ... Setting up python3-pyproject-api (1.9.0-1) ... Setting up python3-typeguard (4.4.1-1) ... Setting up libcurl3t64-gnutls:arm64 (8.12.1-2) ... Setting up python3-virtualenv (20.29.1+ds-1) ... Setting up debhelper (13.24.1) ... Setting up python3-inflect (7.3.1-2) ... Setting up python3-jaraco.text (4.0.0-1) ... Setting up git (1:2.47.2-0.1) ... Setting up python3-pkg-resources (75.6.0-1) ... Setting up python3-setuptools (75.6.0-1) ... Setting up tox (4.24.1-1) ... Setting up dh-python (6.20250108) ... Processing triggers for libc-bin (2.40-7) ... Processing triggers for ca-certificates (20241223) ... Updating certificates in /etc/ssl/certs... 0 added, 0 removed; done. Running hooks in /etc/ca-certificates/update.d... done. Reading package lists... Building dependency tree... Reading state information... Reading extended state information... Initializing package states... Writing extended state information... Building tag database... -> Finished parsing the build-deps I: Building the package I: Running cd /build/reproducible-path/git-imerge-1.2.0/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-genchanges -S > ../git-imerge_1.2.0-5_source.changes dpkg-buildpackage: info: source package git-imerge dpkg-buildpackage: info: source version 1.2.0-5 dpkg-buildpackage: info: source distribution unstable dpkg-buildpackage: info: source changed by Paul Wise dpkg-source --before-build . dpkg-buildpackage: info: host architecture arm64 debian/rules clean dh clean --buildsystem=pybuild dh_auto_clean -O--buildsystem=pybuild I: pybuild base:311: python3.13 setup.py clean running clean removing '/build/reproducible-path/git-imerge-1.2.0/.pybuild/cpython3_3.13/build' (and everything under it) 'build/bdist.linux-aarch64' does not exist -- can't clean it 'build/scripts-3.13' does not exist -- can't clean it dh_autoreconf_clean -O--buildsystem=pybuild dh_clean -O--buildsystem=pybuild debian/rules binary dh binary --buildsystem=pybuild dh_update_autotools_config -O--buildsystem=pybuild dh_autoreconf -O--buildsystem=pybuild dh_auto_configure -O--buildsystem=pybuild I: pybuild base:311: python3.13 setup.py config running config dh_auto_build -O--buildsystem=pybuild I: pybuild base:311: /usr/bin/python3 setup.py build running build running build_py copying gitimerge.py -> /build/reproducible-path/git-imerge-1.2.0/.pybuild/cpython3_3.13/build dh_auto_test -O--buildsystem=pybuild I: pybuild base:311: /usr/bin/python3 -c "import setuptools, runpy; runpy.run_path('setup.py')" bdist_wheel running bdist_wheel running build running build_py creating build/lib copying gitimerge.py -> build/lib /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:66: SetuptoolsDeprecationWarning: setup.py install is deprecated. !! ******************************************************************************** Please avoid running ``setup.py`` directly. Instead, use pypa/build, pypa/installer or other standards-based tools. See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details. ******************************************************************************** !! self.initialize_options() installing to build/bdist.linux-aarch64/wheel running install running install_lib creating build/bdist.linux-aarch64/wheel copying build/lib/gitimerge.py -> build/bdist.linux-aarch64/wheel/. running install_data creating build/bdist.linux-aarch64/wheel/git_imerge-1.2.0.data/data creating build/bdist.linux-aarch64/wheel/usr/share/bash-completion/completions copying completions/git-imerge -> build/bdist.linux-aarch64/wheel/usr/share/bash-completion/completions running install_egg_info running egg_info creating git_imerge.egg-info writing git_imerge.egg-info/PKG-INFO writing dependency_links to git_imerge.egg-info/dependency_links.txt writing entry points to git_imerge.egg-info/entry_points.txt writing top-level names to git_imerge.egg-info/top_level.txt writing manifest file 'git_imerge.egg-info/SOURCES.txt' reading manifest file 'git_imerge.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' adding license file 'COPYING' writing manifest file 'git_imerge.egg-info/SOURCES.txt' Copying git_imerge.egg-info to build/bdist.linux-aarch64/wheel/./git_imerge-1.2.0.egg-info running install_scripts creating build/bdist.linux-aarch64/wheel/git_imerge-1.2.0.dist-info/WHEEL creating 'dist/git_imerge-1.2.0-py3-none-any.whl' and adding 'build/bdist.linux-aarch64/wheel' to it adding 'gitimerge.py' adding 'usr/share/bash-completion/completions/git-imerge' adding 'git_imerge-1.2.0.dist-info/COPYING' adding 'git_imerge-1.2.0.dist-info/METADATA' adding 'git_imerge-1.2.0.dist-info/WHEEL' adding 'git_imerge-1.2.0.dist-info/entry_points.txt' adding 'git_imerge-1.2.0.dist-info/top_level.txt' adding 'git_imerge-1.2.0.dist-info/RECORD' removing build/bdist.linux-aarch64/wheel I: pybuild base:311: cd /build/reproducible-path/git-imerge-1.2.0/.pybuild/cpython3_3.13/build; tox -c /build/reproducible-path/git-imerge-1.2.0/tox.ini --sitepackages -e py313 -x testenv.passenv+=_PYTHON_HOST_PLATFORM --installpkg /build/reproducible-path/git-imerge-1.2.0/.pybuild/cpython3_3.13/git_imerge-1.2.0-py3-none-any.whl py313: install_package .pybuild/cpython3_3.13/build> python -I -m pip install --force-reinstall --no-deps /build/reproducible-path/git-imerge-1.2.0/.pybuild/cpython3_3.13/git_imerge-1.2.0-py3-none-any.whl py313: commands[0] .pybuild/cpython3_3.13/build> /bin/sh t/test-unconflicted + dirname t/test-unconflicted + cd t + pwd + dirname /build/reproducible-path/git-imerge-1.2.0/t + BASE=/build/reproducible-path/git-imerge-1.2.0 + . /build/reproducible-path/git-imerge-1.2.0/t/test-lib.sh + GIT_IMERGE=git-imerge + TMP=/build/reproducible-path/git-imerge-1.2.0/t/tmp/unconflicted + DESCRIPTION=git-imerge test repository without conflicts + init_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/unconflicted git-imerge test repository without conflicts + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/unconflicted + local description=git-imerge test repository without conflicts + delete_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/unconflicted git-imerge test repository without conflicts + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/unconflicted + local description=git-imerge test repository without conflicts + test -d /build/reproducible-path/git-imerge-1.2.0/t/tmp/unconflicted + mkdir -p /build/reproducible-path/git-imerge-1.2.0/t/tmp/unconflicted + git init /build/reproducible-path/git-imerge-1.2.0/t/tmp/unconflicted hint: Using 'master' as the name for the initial branch. This default branch name hint: is subject to change. To configure the initial branch name to use in all hint: of your new repositories, which will suppress this warning, call: hint: hint: git config --global init.defaultBranch hint: hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and hint: 'development'. The just-created branch can be renamed via this command: hint: hint: git branch -m Initialized empty Git repository in /build/reproducible-path/git-imerge-1.2.0/t/tmp/unconflicted/.git/ + echo git-imerge test repository without conflicts + printf %s\n /*.out /*.css /*.html + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/unconflicted/.git config user.name Loú User + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/unconflicted/.git config user.email luser@example.com + TIME=1112911993 + ln -s /build/reproducible-path/git-imerge-1.2.0/imerge.css /build/reproducible-path/git-imerge-1.2.0/t/tmp/unconflicted + cd /build/reproducible-path/git-imerge-1.2.0/t/tmp/unconflicted + modify a.txt 0 + filename=a.txt + text=0 + echo 0 + git add a.txt + modify b.txt 0 + filename=b.txt + text=0 + echo 0 + git add b.txt + commit -m m⇒0 + TIME=1112911994 + GIT_AUTHOR_DATE=@1112911994 +0000 GIT_COMMITTER_DATE=@1112911994 +0000 git commit -m m⇒0 [master (root-commit) 780ddf5] m⇒0 2 files changed, 2 insertions(+) create mode 100644 a.txt create mode 100644 b.txt + git checkout -b a -- Switched to a new branch 'a' + seq 8 + modify a.txt 1 + filename=a.txt + text=1 + echo 1 + git add a.txt + commit -m a⇒1 + TIME=1112911995 + GIT_AUTHOR_DATE=@1112911995 +0000 GIT_COMMITTER_DATE=@1112911995 +0000 git commit -m a⇒1 [a b862e30] a⇒1 1 file changed, 1 insertion(+), 1 deletion(-) + modify a.txt 2 + filename=a.txt + text=2 + echo 2 + git add a.txt + commit -m a⇒2 + TIME=1112911996 + GIT_AUTHOR_DATE=@1112911996 +0000 GIT_COMMITTER_DATE=@1112911996 +0000 git commit -m a⇒2 [a dcbe282] a⇒2 1 file changed, 1 insertion(+), 1 deletion(-) + modify a.txt 3 + filename=a.txt + text=3 + echo 3 + git add a.txt + commit -m a⇒3 + TIME=1112911997 + GIT_AUTHOR_DATE=@1112911997 +0000 GIT_COMMITTER_DATE=@1112911997 +0000 git commit -m a⇒3 [a ecd8647] a⇒3 1 file changed, 1 insertion(+), 1 deletion(-) + modify a.txt 4 + filename=a.txt + text=4 + echo 4 + git add a.txt + commit -m a⇒4 + TIME=1112911998 + GIT_AUTHOR_DATE=@1112911998 +0000 GIT_COMMITTER_DATE=@1112911998 +0000 git commit -m a⇒4 [a 1634bab] a⇒4 1 file changed, 1 insertion(+), 1 deletion(-) + modify a.txt 5 + filename=a.txt + text=5 + echo 5 + git add a.txt + commit -m a⇒5 + TIME=1112911999 + GIT_AUTHOR_DATE=@1112911999 +0000 GIT_COMMITTER_DATE=@1112911999 +0000 git commit -m a⇒5 [a 909ce12] a⇒5 1 file changed, 1 insertion(+), 1 deletion(-) + modify a.txt 6 + filename=a.txt + text=6 + echo 6 + git add a.txt + commit -m a⇒6 + TIME=1112912000 + GIT_AUTHOR_DATE=@1112912000 +0000 GIT_COMMITTER_DATE=@1112912000 +0000 git commit -m a⇒6 [a f6520bf] a⇒6 1 file changed, 1 insertion(+), 1 deletion(-) + modify a.txt 7 + filename=a.txt + text=7 + echo 7 + git add a.txt + commit -m a⇒7 + TIME=1112912001 + GIT_AUTHOR_DATE=@1112912001 +0000 GIT_COMMITTER_DATE=@1112912001 +0000 git commit -m a⇒7 [a 6797186] a⇒7 1 file changed, 1 insertion(+), 1 deletion(-) + modify a.txt 8 + filename=a.txt + text=8 + echo 8 + git add a.txt + commit -m a⇒8 + TIME=1112912002 + GIT_AUTHOR_DATE=@1112912002 +0000 GIT_COMMITTER_DATE=@1112912002 +0000 git commit -m a⇒8 [a 49643dd] a⇒8 1 file changed, 1 insertion(+), 1 deletion(-) + git checkout -b b master -- Switched to a new branch 'b' + seq 5 + modify b.txt 1 + filename=b.txt + text=1 + echo 1 + git add b.txt + commit -m b⇒1 + TIME=1112912003 + GIT_AUTHOR_DATE=@1112912003 +0000 GIT_COMMITTER_DATE=@1112912003 +0000 git commit -m b⇒1 [b d43305b] b⇒1 1 file changed, 1 insertion(+), 1 deletion(-) + modify b.txt 2 + filename=b.txt + text=2 + echo 2 + git add b.txt + commit -m b⇒2 + TIME=1112912004 + GIT_AUTHOR_DATE=@1112912004 +0000 GIT_COMMITTER_DATE=@1112912004 +0000 git commit -m b⇒2 [b 853ee68] b⇒2 1 file changed, 1 insertion(+), 1 deletion(-) + modify b.txt 3 + filename=b.txt + text=3 + echo 3 + git add b.txt + commit -m b⇒3 + TIME=1112912005 + GIT_AUTHOR_DATE=@1112912005 +0000 GIT_COMMITTER_DATE=@1112912005 +0000 git commit -m b⇒3 [b 03a2455] b⇒3 1 file changed, 1 insertion(+), 1 deletion(-) + modify b.txt 4 + filename=b.txt + text=4 + echo 4 + git add b.txt + commit -m b⇒4 + TIME=1112912006 + GIT_AUTHOR_DATE=@1112912006 +0000 GIT_COMMITTER_DATE=@1112912006 +0000 git commit -m b⇒4 [b 484ea85] b⇒4 1 file changed, 1 insertion(+), 1 deletion(-) + modify b.txt 5 + filename=b.txt + text=5 + echo 5 + git add b.txt + commit -m b⇒5 + TIME=1112912007 + GIT_AUTHOR_DATE=@1112912007 +0000 GIT_COMMITTER_DATE=@1112912007 +0000 git commit -m b⇒5 [b e22cd97] b⇒5 1 file changed, 1 insertion(+), 1 deletion(-) + EXPECTED_TREE=e4a7b27799be355bbcbf8bfe9c29d74190082c42 + git checkout a Switched to branch 'a' + git-imerge start --first-parent --name=a-b --branch=a-b-merge b Attempting automerge of 8-5...success. Autofilling 1-5...success. Autofilling 2-5...success. Autofilling 3-5...success. Autofilling 4-5...success. Autofilling 5-5...success. Autofilling 6-5...success. Autofilling 7-5...success. Autofilling 8-1...success. Autofilling 8-2...success. Autofilling 8-3...success. Autofilling 8-4...success. Autofilling 8-5 (first way)...success. Autofilling 8-5 (second way)...success. The two ways of autofilling 8-5 agree. Recording autofilled block MergeState('a-b', tip1='a', tip2='b', goal='merge')[0:9,0:6]. Merge is complete! + git-imerge list * a-b + git-imerge diagram --commits --frontier --html=imerge3.html 0 5 8 | | | 0 - ********* - a *???????. *???????. *???????. *???????. 5 - *........ | b 0 5 8 | | | 0 - ********* - a *???????| *???????| *???????| *???????| 5 - *-------+ | b Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + GIT_EDITOR=cat git-imerge simplify --goal=merge --branch=a-b-merge Merge b into a (using imerge) # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # Date: Fri Mar 27 18:26:30 2026 +0000 # # On branch a-b-merge # Changes to be committed: # modified: b.txt # [a-b-merge 311cfbf] Merge b into a (using imerge) Date: Fri Mar 27 18:26:30 2026 +0000 + check_tree a-b-merge e4a7b27799be355bbcbf8bfe9c29d74190082c42 + local refname=a-b-merge + local expected_tree=e4a7b27799be355bbcbf8bfe9c29d74190082c42 + git rev-parse a-b-merge^{tree} + test e4a7b27799be355bbcbf8bfe9c29d74190082c42 = e4a7b27799be355bbcbf8bfe9c29d74190082c42 + git-imerge simplify --goal=rebase --branch=a-b-rebase + check_tree a-b-rebase e4a7b27799be355bbcbf8bfe9c29d74190082c42 + local refname=a-b-rebase + local expected_tree=e4a7b27799be355bbcbf8bfe9c29d74190082c42 + git rev-parse a-b-rebase^{tree} + test e4a7b27799be355bbcbf8bfe9c29d74190082c42 = e4a7b27799be355bbcbf8bfe9c29d74190082c42 + git-imerge simplify --goal=rebase-with-history --branch=a-b-rebase-with-history + check_tree a-b-rebase-with-history e4a7b27799be355bbcbf8bfe9c29d74190082c42 + local refname=a-b-rebase-with-history + local expected_tree=e4a7b27799be355bbcbf8bfe9c29d74190082c42 + git rev-parse a-b-rebase-with-history^{tree} + test e4a7b27799be355bbcbf8bfe9c29d74190082c42 = e4a7b27799be355bbcbf8bfe9c29d74190082c42 + git-imerge simplify --goal=border --branch=a-b-border + check_tree a-b-border e4a7b27799be355bbcbf8bfe9c29d74190082c42 + local refname=a-b-border + local expected_tree=e4a7b27799be355bbcbf8bfe9c29d74190082c42 + git rev-parse a-b-border^{tree} + test e4a7b27799be355bbcbf8bfe9c29d74190082c42 = e4a7b27799be355bbcbf8bfe9c29d74190082c42 + git-imerge simplify --goal=border-with-history --branch=a-b-border-with-history + check_tree a-b-border-with-history e4a7b27799be355bbcbf8bfe9c29d74190082c42 + local refname=a-b-border-with-history + local expected_tree=e4a7b27799be355bbcbf8bfe9c29d74190082c42 + git rev-parse a-b-border-with-history^{tree} + test e4a7b27799be355bbcbf8bfe9c29d74190082c42 = e4a7b27799be355bbcbf8bfe9c29d74190082c42 + git-imerge simplify --goal=border-with-history2 --branch=a-b-border-with-history2 + check_tree a-b-border-with-history2 e4a7b27799be355bbcbf8bfe9c29d74190082c42 + local refname=a-b-border-with-history2 + local expected_tree=e4a7b27799be355bbcbf8bfe9c29d74190082c42 + git rev-parse a-b-border-with-history2^{tree} + test e4a7b27799be355bbcbf8bfe9c29d74190082c42 = e4a7b27799be355bbcbf8bfe9c29d74190082c42 + git-imerge remove + git checkout a Switched to branch 'a' + git-imerge start --goal=full --name=a-b b Attempting to merge 1-1...success. Attempting to merge 1-2...success. Attempting to merge 1-3...success. Attempting to merge 1-4...success. Attempting to merge 1-5...success. Attempting to merge 2-1...success. Attempting to merge 2-2...success. Attempting to merge 2-3...success. Attempting to merge 2-4...success. Attempting to merge 2-5...success. Attempting to merge 3-1...success. Attempting to merge 3-2...success. Attempting to merge 3-3...success. Attempting to merge 3-4...success. Attempting to merge 3-5...success. Attempting to merge 4-1...success. Attempting to merge 4-2...success. Attempting to merge 4-3...success. Attempting to merge 4-4...success. Attempting to merge 4-5...success. Attempting to merge 5-1...success. Attempting to merge 5-2...success. Attempting to merge 5-3...success. Attempting to merge 5-4...success. Attempting to merge 5-5...success. Attempting to merge 6-1...success. Attempting to merge 6-2...success. Attempting to merge 6-3...success. Attempting to merge 6-4...success. Attempting to merge 6-5...success. Attempting to merge 7-1...success. Attempting to merge 7-2...success. Attempting to merge 7-3...success. Attempting to merge 7-4...success. Attempting to merge 7-5...success. Attempting to merge 8-1...success. Attempting to merge 8-2...success. Attempting to merge 8-3...success. Attempting to merge 8-4...success. Attempting to merge 8-5...success. Merge is complete! + git-imerge list * a-b + git-imerge diagram --commits --frontier --html=imerge4.html 0 5 8 | | | 0 - ********* - a *........ *........ *........ *........ 5 - *........ | b 0 5 8 | | | 0 - ********* - a *.......| *.......| *.......| *.......| 5 - *-------+ | b Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + git-imerge finish --branch=a-b-full + check_tree a-b-full e4a7b27799be355bbcbf8bfe9c29d74190082c42 + local refname=a-b-full + local expected_tree=e4a7b27799be355bbcbf8bfe9c29d74190082c42 + git rev-parse a-b-full^{tree} + test e4a7b27799be355bbcbf8bfe9c29d74190082c42 = e4a7b27799be355bbcbf8bfe9c29d74190082c42 py313: commands[1] .pybuild/cpython3_3.13/build> /bin/sh t/test-conflicted + dirname t/test-conflicted + cd t + pwd + dirname /build/reproducible-path/git-imerge-1.2.0/t + BASE=/build/reproducible-path/git-imerge-1.2.0 + . /build/reproducible-path/git-imerge-1.2.0/t/test-lib.sh + GIT_IMERGE=git-imerge + EXPECTED_TREE=ffa191c987a8d3f597376744a95439fa1b4a55c5 + test_conflict 4-3 + local conflict=4-3 + TMP=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-4-3 + DESCRIPTION=git-imerge test repository with conflict at 4-3 + init_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-4-3 git-imerge test repository with conflict at 4-3 + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-4-3 + local description=git-imerge test repository with conflict at 4-3 + delete_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-4-3 git-imerge test repository with conflict at 4-3 + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-4-3 + local description=git-imerge test repository with conflict at 4-3 + test -d /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-4-3 + mkdir -p /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-4-3 + git init /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-4-3 hint: Using 'master' as the name for the initial branch. This default branch name hint: is subject to change. To configure the initial branch name to use in all hint: of your new repositories, which will suppress this warning, call: hint: hint: git config --global init.defaultBranch hint: hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and hint: 'development'. The just-created branch can be renamed via this command: hint: hint: git branch -m Initialized empty Git repository in /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-4-3/.git/ + echo git-imerge test repository with conflict at 4-3 + printf %s\n /*.out /*.css /*.html + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-4-3/.git config user.name Loú User + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-4-3/.git config user.email luser@example.com + TIME=1112911993 + ln -s /build/reproducible-path/git-imerge-1.2.0/imerge.css /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-4-3 + cd /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-4-3 + modify c.txt 0 + filename=c.txt + text=0 + echo 0 + git add c.txt + modify d.txt 0 + filename=d.txt + text=0 + echo 0 + git add d.txt + modify conflict.txt original version + filename=conflict.txt + text=original version + echo original version + git add conflict.txt + commit -m m⇒0 + TIME=1112911994 + GIT_AUTHOR_DATE=@1112911994 +0000 GIT_COMMITTER_DATE=@1112911994 +0000 git commit -m m⇒0 + git checkout -b c master -- [master (root-commit) d70e04b] m⇒0 3 files changed, 3 insertions(+) create mode 100644 c.txt create mode 100644 conflict.txt create mode 100644 d.txt Switched to a new branch 'c' + seq 9 + modify c.txt 1 + filename=c.txt + text=1 + echo 1 + git add c.txt + commit -m c⇒1 + TIME=1112911995 + GIT_AUTHOR_DATE=@1112911995 +0000 GIT_COMMITTER_DATE=@1112911995 +0000 git commit -m c⇒1 [c 89e2141] c⇒1 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 2 + filename=c.txt + text=2 + echo 2 + git add c.txt + commit -m c⇒2 + TIME=1112911996 + GIT_AUTHOR_DATE=@1112911996 +0000 GIT_COMMITTER_DATE=@1112911996 +0000 git commit -m c⇒2 [c 7c431f2] c⇒2 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 3 + filename=c.txt + text=3 + echo 3 + git add c.txt + commit -m c⇒3 + TIME=1112911997 + GIT_AUTHOR_DATE=@1112911997 +0000 GIT_COMMITTER_DATE=@1112911997 +0000 git commit -m c⇒3 [c f02ab24] c⇒3 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 4 + filename=c.txt + text=4 + echo 4 + git add c.txt + modify conflict.txt c version + filename=conflict.txt + text=c version + echo c version + git add conflict.txt + commit -m c⇒4 + TIME=1112911998 + GIT_AUTHOR_DATE=@1112911998 +0000 GIT_COMMITTER_DATE=@1112911998 +0000 git commit -m c⇒4 [c 3c091de] c⇒4 2 files changed, 2 insertions(+), 2 deletions(-) + modify c.txt 5 + filename=c.txt + text=5 + echo 5 + git add c.txt + commit -m c⇒5 + TIME=1112911999 + GIT_AUTHOR_DATE=@1112911999 +0000 GIT_COMMITTER_DATE=@1112911999 +0000 git commit -m c⇒5 [c a0ac37a] c⇒5 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 6 + filename=c.txt + text=6 + echo 6 + git add c.txt + commit -m c⇒6 + TIME=1112912000 + GIT_AUTHOR_DATE=@1112912000 +0000 GIT_COMMITTER_DATE=@1112912000 +0000 git commit -m c⇒6 [c ed9fdfa] c⇒6 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 7 + filename=c.txt + text=7 + echo 7 + git add c.txt + commit -m c⇒7 + TIME=1112912001 + GIT_AUTHOR_DATE=@1112912001 +0000 GIT_COMMITTER_DATE=@1112912001 +0000 git commit -m c⇒7 [c 1da7bf5] c⇒7 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 8 + filename=c.txt + text=8 + echo 8 + git add c.txt + commit -m c⇒8 + TIME=1112912002 + GIT_AUTHOR_DATE=@1112912002 +0000 GIT_COMMITTER_DATE=@1112912002 +0000 git commit -m c⇒8 [c d8de99f] c⇒8 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 9 + filename=c.txt + text=9 + echo 9 + git add c.txt + commit -m c⇒9 + TIME=1112912003 + GIT_AUTHOR_DATE=@1112912003 +0000 GIT_COMMITTER_DATE=@1112912003 +0000 git commit -m c⇒9 [c 9cde605] c⇒9 1 file changed, 1 insertion(+), 1 deletion(-) + git checkout -b d master -- Switched to a new branch 'd' + seq 6 + modify d.txt 1 + filename=d.txt + text=1 + echo 1 + git add d.txt + commit -m d⇒1 + TIME=1112912004 + GIT_AUTHOR_DATE=@1112912004 +0000 GIT_COMMITTER_DATE=@1112912004 +0000 git commit -m d⇒1 [d bd5368a] d⇒1 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 2 + filename=d.txt + text=2 + echo 2 + git add d.txt + commit -m d⇒2 + TIME=1112912005 + GIT_AUTHOR_DATE=@1112912005 +0000 GIT_COMMITTER_DATE=@1112912005 +0000 git commit -m d⇒2 [d 93e27e6] d⇒2 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 3 + filename=d.txt + text=3 + echo 3 + git add d.txt + modify conflict.txt d version + filename=conflict.txt + text=d version + echo d version + git add conflict.txt + commit -m d⇒3 + TIME=1112912006 + GIT_AUTHOR_DATE=@1112912006 +0000 GIT_COMMITTER_DATE=@1112912006 +0000 git commit -m d⇒3 [d 2bb1a7e] d⇒3 2 files changed, 2 insertions(+), 2 deletions(-) + modify d.txt 4 + filename=d.txt + text=4 + echo 4 + git add d.txt + commit -m d⇒4 + TIME=1112912007 + GIT_AUTHOR_DATE=@1112912007 +0000 GIT_COMMITTER_DATE=@1112912007 +0000 git commit -m d⇒4 [d 81f9c80] d⇒4 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 5 + filename=d.txt + text=5 + echo 5 + git add d.txt + commit -m d⇒5 + TIME=1112912008 + GIT_AUTHOR_DATE=@1112912008 +0000 GIT_COMMITTER_DATE=@1112912008 +0000 git commit -m d⇒5 + modify d.txt 6 + filename=d.txt + text=6 + echo 6 [d 3690dde] d⇒5 1 file changed, 1 insertion(+), 1 deletion(-) + git add d.txt + commit -m d⇒6 + TIME=1112912009 + GIT_AUTHOR_DATE=@1112912009 +0000 GIT_COMMITTER_DATE=@1112912009 +0000 git commit -m d⇒6 [d 8085853] d⇒6 1 file changed, 1 insertion(+), 1 deletion(-) + git checkout c Switched to branch 'c' + git-imerge init --name=c-d d + git-imerge list * c-d + git-imerge diagram --commits --frontier --html=imerge0.html 0 5 9 | | | 0 - ********** - c *????????? *????????? *????????? *????????? 5 - *????????? 6 - *????????? | d 0 5 9 | | | 0 - ********** - c *????????? *????????? *????????? *????????? 5 - *????????? 6 - *????????? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + git-imerge autofill + tee autofill.out Attempting automerge of 9-6...failure. Attempting automerge of 1-1...success. Attempting automerge of 1-4...success. Attempting automerge of 1-6...success. Attempting automerge of 9-6...failure. Attempting automerge of 5-6...failure. Attempting automerge of 3-6...success. Attempting automerge of 4-6...failure. Attempting automerge of 4-1...success. Attempting automerge of 4-4...failure. Attempting automerge of 4-3...failure. Attempting automerge of 4-2...success. Attempting automerge of 9-2...success. Autofilling 1-6...success. Autofilling 2-6...success. Autofilling 3-1...success. Autofilling 3-2...success. Autofilling 3-3...success. Autofilling 3-4...success. Autofilling 3-5...success. Autofilling 3-6 (first way)...success. Autofilling 3-6 (second way)...success. The two ways of autofilling 3-6 agree. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[0:4,0:7]. Autofilling 4-2...success. Autofilling 5-2...success. Autofilling 6-2...success. Autofilling 7-2...success. Autofilling 8-2...success. Autofilling 9-1...success. Autofilling 9-2 (first way)...success. Autofilling 9-2 (second way)...success. The two ways of autofilling 9-2 agree. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[3:10,0:3]. Attempting automerge of 9-6...failure. Attempting automerge of 4-3...failure. HEAD is now at 9cde605 c⇒9 Conflict; suggest manual merge of 4-3 + grep -q Traceback autofill.out + grep -q suggest manual merge of 4-3 autofill.out + git-imerge diagram --commits --frontier --html=imerge1.html 0 5 9 | | | 0 - ********** - c *??.?????. *??....... *??.#????? *??.?????? 5 - *??.?????? 6 - *...?????? | d 0 5 9 | | | 0 - ********** - c *??.?????| *??.-----+ *??|#????? *??|?????? 5 - *??|?????? 6 - *--+?????? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + git-imerge continue --edit Switched to branch 'imerge/c-d' Auto-merging conflict.txt CONFLICT (content): Merge conflict in conflict.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit 3c091ded129a5edf9061360bab867edade996c93 Author: Loú User Date: Thu Apr 7 22:13:18 2005 +0000 c⇒4 Original second commit: commit 2bb1a7e7c5451146af7dc59b69b8289c76a3ee7b Author: Loú User Date: Thu Apr 7 22:13:26 2005 +0000 d⇒3 There was a conflict merging commit 4-3, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + echo merged version + git add conflict.txt + git-imerge continue --no-edit [imerge/c-d a7b0370] imerge 'c-d': manual merge 4-3 Merge has been recorded for merge 4-3. Attempting automerge of 4-6...success. Autofilling 4-4...success. Autofilling 4-5...success. Autofilling 4-6...success. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[3:5,3:7]. Attempting automerge of 9-6...success. Autofilling 5-6...success. Autofilling 6-6...success. Autofilling 7-6...success. Autofilling 8-6...success. Autofilling 9-3...success. Autofilling 9-4...success. Autofilling 9-5...success. Autofilling 9-6 (first way)...success. Autofilling 9-6 (second way)...success. The two ways of autofilling 9-6 agree. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[4:10,2:7]. Merge is complete! + git-imerge diagram --commits --frontier --html=imerge2.html 0 5 9 | | | 0 - ********** - c *??.?????. *??....... *??.*????. *??..????. 5 - *??..????. 6 - *......... | d 0 5 9 | | | 0 - ********** - c *??.?????| *??......| *??.*????| *??..????| 5 - *??..????| 6 - *--------+ | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + GIT_EDITOR=cat git-imerge simplify --goal=merge --branch=c-d-merge Merge d into c (using imerge) # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # Date: Fri Mar 27 18:26:37 2026 +0000 # # On branch c-d-merge # Changes to be committed: # modified: conflict.txt # modified: d.txt # [c-d-merge a5ec3ea] Merge d into c (using imerge) Date: Fri Mar 27 18:26:37 2026 +0000 + check_tree c-d-merge ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-merge + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-merge^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=rebase --branch=c-d-rebase + check_tree c-d-rebase ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-rebase + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-rebase^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=rebase-with-history --branch=c-d-rebase-with-history + check_tree c-d-rebase-with-history ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-rebase-with-history + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-rebase-with-history^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border --branch=c-d-border + check_tree c-d-border ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-border^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border-with-history --branch=c-d-border-with-history + check_tree c-d-border-with-history ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border-with-history + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-border-with-history^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border-with-history2 --branch=c-d-border-with-history2 + check_tree c-d-border-with-history2 ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border-with-history2 + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-border-with-history2^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge remove + git checkout c Switched to branch 'c' + git-imerge start --goal=full --first-parent --name=c-d d + tee start.out Attempting to merge 1-1...success. Attempting to merge 1-2...success. Attempting to merge 1-3...success. Attempting to merge 1-4...success. Attempting to merge 1-5...success. Attempting to merge 1-6...success. Attempting to merge 2-1...success. Attempting to merge 2-2...success. Attempting to merge 2-3...success. Attempting to merge 2-4...success. Attempting to merge 2-5...success. Attempting to merge 2-6...success. Attempting to merge 3-1...success. Attempting to merge 3-2...success. Attempting to merge 3-3...success. Attempting to merge 3-4...success. Attempting to merge 3-5...success. Attempting to merge 3-6...success. Attempting to merge 4-1...success. Attempting to merge 4-2...success. Attempting to merge 4-3...conflict. Attempting to merge 5-1...success. Attempting to merge 5-2...success. Attempting to merge 6-1...success. Attempting to merge 6-2...success. Attempting to merge 7-1...success. Attempting to merge 7-2...success. Attempting to merge 8-1...success. Attempting to merge 8-2...success. Attempting to merge 9-1...success. Attempting to merge 9-2...success. Previous HEAD position was 03a27b6 imerge 'c-d': automatic merge 9-2 Switched to branch 'imerge/c-d' Auto-merging conflict.txt CONFLICT (content): Merge conflict in conflict.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit 3c091ded129a5edf9061360bab867edade996c93 Author: Loú User Date: Thu Apr 7 22:13:18 2005 +0000 c⇒4 Original second commit: commit 2bb1a7e7c5451146af7dc59b69b8289c76a3ee7b Author: Loú User Date: Thu Apr 7 22:13:26 2005 +0000 d⇒3 There was a conflict merging commit 4-3, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + grep -q Traceback start.out + grep -q suggest manual merge of 4-3 autofill.out + git-imerge diagram --commits --frontier --html=imerge3.html 0 5 9 | | | 0 - ********** - c *......... *......... *...#????? *...?????? 5 - *...?????? 6 - *...?????? | d 0 5 9 | | | 0 - ********** - c *........| *...-----+ *..|#????? *..|?????? 5 - *..|?????? 6 - *--+?????? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + echo merged version + git add conflict.txt + GIT_EDITOR=cat git commit imerge 'c-d': manual merge 4-3 # Conflicts: # conflict.txt # # It looks like you may be committing a merge. # If this is not correct, please run # git update-ref -d MERGE_HEAD # and try again. # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # On branch imerge/c-d # All conflicts fixed but you are still merging. # # Changes to be committed: # modified: conflict.txt # modified: d.txt # [imerge/c-d 4d6ff56] imerge 'c-d': manual merge 4-3 + git-imerge continue --edit Merge has been recorded for merge 4-3. Attempting to merge 4-4...success. Attempting to merge 4-5...success. Attempting to merge 4-6...success. Attempting to merge 5-3...success. Attempting to merge 5-4...success. Attempting to merge 5-5...success. Attempting to merge 5-6...success. Attempting to merge 6-3...success. Attempting to merge 6-4...success. Attempting to merge 6-5...success. Attempting to merge 6-6...success. Attempting to merge 7-3...success. Attempting to merge 7-4...success. Attempting to merge 7-5...success. Attempting to merge 7-6...success. Attempting to merge 8-3...success. Attempting to merge 8-4...success. Attempting to merge 8-5...success. Attempting to merge 8-6...success. Attempting to merge 9-3...success. Attempting to merge 9-4...success. Attempting to merge 9-5...success. Attempting to merge 9-6...success. Merge is complete! + git-imerge diagram --commits --frontier --html=imerge4.html 0 5 9 | | | 0 - ********** - c *......... *......... *...*..... *......... 5 - *......... 6 - *......... | d 0 5 9 | | | 0 - ********** - c *........| *........| *...*....| *........| 5 - *........| 6 - *--------+ | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + git-imerge finish --branch=c-d-full + check_tree c-d-full ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-full + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-full^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + test_conflict 1-1 + local conflict=1-1 + TMP=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-1 + DESCRIPTION=git-imerge test repository with conflict at 1-1 + init_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-1 git-imerge test repository with conflict at 1-1 + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-1 + local description=git-imerge test repository with conflict at 1-1 + delete_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-1 git-imerge test repository with conflict at 1-1 + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-1 + local description=git-imerge test repository with conflict at 1-1 + test -d /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-1 + mkdir -p /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-1 + git init /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-1 hint: Using 'master' as the name for the initial branch. This default branch name hint: is subject to change. To configure the initial branch name to use in all hint: of your new repositories, which will suppress this warning, call: hint: hint: git config --global init.defaultBranch hint: hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and hint: 'development'. The just-created branch can be renamed via this command: hint: hint: git branch -m + echo git-imerge test repository with conflict at 1-1 Initialized empty Git repository in /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-1/.git/ + printf %s\n /*.out /*.css /*.html + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-1/.git config user.name Loú User + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-1/.git config user.email luser@example.com + TIME=1112911993 + ln -s /build/reproducible-path/git-imerge-1.2.0/imerge.css /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-1 + cd /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-1 + modify c.txt 0 + filename=c.txt + text=0 + echo 0 + git add c.txt + modify d.txt 0 + filename=d.txt + text=0 + echo 0 + git add d.txt + modify conflict.txt original version + filename=conflict.txt + text=original version + echo original version + git add conflict.txt + commit -m m⇒0 + TIME=1112911994 + GIT_AUTHOR_DATE=@1112911994 +0000 GIT_COMMITTER_DATE=@1112911994 +0000 git commit -m m⇒0 [master (root-commit) d70e04b] m⇒0 3 files changed, 3 insertions(+) create mode 100644 c.txt create mode 100644 conflict.txt create mode 100644 d.txt + git checkout -b c master -- Switched to a new branch 'c' + seq 9 + modify c.txt 1 + filename=c.txt + text=1 + echo 1 + git add c.txt + modify conflict.txt c version + filename=conflict.txt + text=c version + echo c version + git add conflict.txt + commit -m c⇒1 + TIME=1112911995 + GIT_AUTHOR_DATE=@1112911995 +0000 GIT_COMMITTER_DATE=@1112911995 +0000 git commit -m c⇒1 [c 2120f40] c⇒1 2 files changed, 2 insertions(+), 2 deletions(-) + modify c.txt 2 + filename=c.txt + text=2 + echo 2 + git add c.txt + commit -m c⇒2 + TIME=1112911996 + GIT_AUTHOR_DATE=@1112911996 +0000 GIT_COMMITTER_DATE=@1112911996 +0000 git commit -m c⇒2 [c 90cc7de] c⇒2 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 3 + filename=c.txt + text=3 + echo 3 + git add c.txt + commit -m c⇒3 + TIME=1112911997 + GIT_AUTHOR_DATE=@1112911997 +0000 GIT_COMMITTER_DATE=@1112911997 +0000 git commit -m c⇒3 [c 2046ed2] c⇒3 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 4 + filename=c.txt + text=4 + echo 4 + git add c.txt + commit -m c⇒4 + TIME=1112911998 + GIT_AUTHOR_DATE=@1112911998 +0000 GIT_COMMITTER_DATE=@1112911998 +0000 git commit -m c⇒4 [c 8a2cee9] c⇒4 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 5 + filename=c.txt + text=5 + echo 5 + git add c.txt + commit -m c⇒5 + TIME=1112911999 + GIT_AUTHOR_DATE=@1112911999 +0000 GIT_COMMITTER_DATE=@1112911999 +0000 git commit -m c⇒5 [c ac16a05] c⇒5 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 6 + filename=c.txt + text=6 + echo 6 + git add c.txt + commit -m c⇒6 + TIME=1112912000 + GIT_AUTHOR_DATE=@1112912000 +0000 GIT_COMMITTER_DATE=@1112912000 +0000 git commit -m c⇒6 [c 30dd2ae] c⇒6 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 7 + filename=c.txt + text=7 + echo 7 + git add c.txt + commit -m c⇒7 + TIME=1112912001 + GIT_AUTHOR_DATE=@1112912001 +0000 GIT_COMMITTER_DATE=@1112912001 +0000 git commit -m c⇒7 [c 0883eb9] c⇒7 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 8 + filename=c.txt + text=8 + echo 8 + git add c.txt + commit -m c⇒8 + TIME=1112912002 + GIT_AUTHOR_DATE=@1112912002 +0000 GIT_COMMITTER_DATE=@1112912002 +0000 git commit -m c⇒8 [c f661c06] c⇒8 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 9 + filename=c.txt + text=9 + echo 9 + git add c.txt + commit -m c⇒9 + TIME=1112912003 + GIT_AUTHOR_DATE=@1112912003 +0000 GIT_COMMITTER_DATE=@1112912003 +0000 git commit -m c⇒9 [c 243e8ed] c⇒9 1 file changed, 1 insertion(+), 1 deletion(-) + git checkout -b d master -- Switched to a new branch 'd' + seq 6 + modify d.txt 1 + filename=d.txt + text=1 + echo 1 + git add d.txt + modify conflict.txt d version + filename=conflict.txt + text=d version + echo d version + git add conflict.txt + commit -m d⇒1 + TIME=1112912004 + GIT_AUTHOR_DATE=@1112912004 +0000 GIT_COMMITTER_DATE=@1112912004 +0000 git commit -m d⇒1 [d ac0427a] d⇒1 2 files changed, 2 insertions(+), 2 deletions(-) + modify d.txt 2 + filename=d.txt + text=2 + echo 2 + git add d.txt + commit -m d⇒2 + TIME=1112912005 + GIT_AUTHOR_DATE=@1112912005 +0000 GIT_COMMITTER_DATE=@1112912005 +0000 git commit -m d⇒2 [d 43c38c0] d⇒2 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 3 + filename=d.txt + text=3 + echo 3 + git add d.txt + commit -m d⇒3 + TIME=1112912006 + GIT_AUTHOR_DATE=@1112912006 +0000 GIT_COMMITTER_DATE=@1112912006 +0000 git commit -m d⇒3 [d 0260058] d⇒3 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 4 + filename=d.txt + text=4 + echo 4 + git add d.txt + commit -m d⇒4 + TIME=1112912007 + GIT_AUTHOR_DATE=@1112912007 +0000 GIT_COMMITTER_DATE=@1112912007 +0000 git commit -m d⇒4 [d 40fef44] d⇒4 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 5 + filename=d.txt + text=5 + echo 5 + git add d.txt + commit -m d⇒5 + TIME=1112912008 + GIT_AUTHOR_DATE=@1112912008 +0000 GIT_COMMITTER_DATE=@1112912008 +0000 git commit -m d⇒5 [d b080a65] d⇒5 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 6 + filename=d.txt + text=6 + echo 6 + git add d.txt + commit -m d⇒6 + TIME=1112912009 + GIT_AUTHOR_DATE=@1112912009 +0000 GIT_COMMITTER_DATE=@1112912009 +0000 git commit -m d⇒6 [d 200ce5c] d⇒6 1 file changed, 1 insertion(+), 1 deletion(-) + git checkout c Switched to branch 'c' + git-imerge init --name=c-d d + git-imerge list * c-d + git-imerge diagram --commits --frontier --html=imerge0.html 0 5 9 | | | 0 - ********** - c *????????? *????????? *????????? *????????? 5 - *????????? 6 - *????????? | d 0 5 9 | | | 0 - ********** - c *????????? *????????? *????????? *????????? 5 - *????????? 6 - *????????? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + git-imerge autofill + tee autofill.out Attempting automerge of 9-6...failure. Attempting automerge of 1-1...failure. HEAD is now at 243e8ed c⇒9 No progress was possible; suggest manual merge of 1-1 + grep -q Traceback autofill.out + grep -q suggest manual merge of 1-1 autofill.out + git-imerge diagram --commits --frontier --html=imerge1.html 0 5 9 | | | 0 - ********** - c *#???????? *????????? *????????? *????????? 5 - *????????? 6 - *????????? | d 0 5 9 | | | 0 - ********** - c *#???????? *????????? *????????? *????????? 5 - *????????? 6 - *????????? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + git-imerge continue --edit Switched to branch 'imerge/c-d' Auto-merging conflict.txt CONFLICT (content): Merge conflict in conflict.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit 2120f40dc39d28052a5279b645124e8ed7e5de73 Author: Loú User Date: Thu Apr 7 22:13:15 2005 +0000 c⇒1 Original second commit: commit ac0427a285b64f2815ebd6eb83880f309600d0c7 Author: Loú User Date: Thu Apr 7 22:13:24 2005 +0000 d⇒1 There was a conflict merging commit 1-1, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + echo merged version + git add conflict.txt + git-imerge continue --no-edit [imerge/c-d 5e3968e] imerge 'c-d': manual merge 1-1 Merge has been recorded for merge 1-1. Attempting automerge of 1-6...success. Autofilling 1-2...success. Autofilling 1-3...success. Autofilling 1-4...success. Autofilling 1-5...success. Autofilling 1-6...success. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[0:2,1:7]. Attempting automerge of 9-6...success. Autofilling 2-6...success. Autofilling 3-6...success. Autofilling 4-6...success. Autofilling 5-6...success. Autofilling 6-6...success. Autofilling 7-6...success. Autofilling 8-6...success. Autofilling 9-1...success. Autofilling 9-2...success. Autofilling 9-3...success. Autofilling 9-4...success. Autofilling 9-5...success. Autofilling 9-6 (first way)...success. Autofilling 9-6 (second way)...success. The two ways of autofilling 9-6 agree. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[1:10,0:7]. Merge is complete! + git-imerge diagram --commits --frontier --html=imerge2.html 0 5 9 | | | 0 - ********** - c **???????. *.???????. *.???????. *.???????. 5 - *.???????. 6 - *......... | d 0 5 9 | | | 0 - ********** - c **???????| *.???????| *.???????| *.???????| 5 - *.???????| 6 - *--------+ | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + GIT_EDITOR=cat git-imerge simplify --goal=merge --branch=c-d-merge Merge d into c (using imerge) # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # Date: Fri Mar 27 18:26:43 2026 +0000 # # On branch c-d-merge # Changes to be committed: # modified: conflict.txt # modified: d.txt # [c-d-merge 039bf02] Merge d into c (using imerge) Date: Fri Mar 27 18:26:43 2026 +0000 + check_tree c-d-merge ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-merge + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-merge^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=rebase --branch=c-d-rebase + check_tree c-d-rebase ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-rebase + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-rebase^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=rebase-with-history --branch=c-d-rebase-with-history + check_tree c-d-rebase-with-history ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-rebase-with-history + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-rebase-with-history^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border --branch=c-d-border + check_tree c-d-border ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-border^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border-with-history --branch=c-d-border-with-history + check_tree c-d-border-with-history ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border-with-history + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-border-with-history^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border-with-history2 --branch=c-d-border-with-history2 + check_tree c-d-border-with-history2 ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border-with-history2 + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-border-with-history2^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge remove + git checkout c Switched to branch 'c' + git-imerge start --goal=full --first-parent --name=c-d d + tee start.out Attempting to merge 1-1...conflict. Switched to branch 'imerge/c-d' Auto-merging conflict.txt CONFLICT (content): Merge conflict in conflict.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit 2120f40dc39d28052a5279b645124e8ed7e5de73 Author: Loú User Date: Thu Apr 7 22:13:15 2005 +0000 c⇒1 Original second commit: commit ac0427a285b64f2815ebd6eb83880f309600d0c7 Author: Loú User Date: Thu Apr 7 22:13:24 2005 +0000 d⇒1 There was a conflict merging commit 1-1, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + grep -q Traceback start.out + grep -q suggest manual merge of 1-1 autofill.out + git-imerge diagram --commits --frontier --html=imerge3.html 0 5 9 | | | 0 - ********** - c *#???????? *????????? *????????? *????????? 5 - *????????? 6 - *????????? | d 0 5 9 | | | 0 - ********** - c *#???????? *????????? *????????? *????????? 5 - *????????? 6 - *????????? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + echo merged version + git add conflict.txt + GIT_EDITOR=cat git commit imerge 'c-d': manual merge 1-1 # Conflicts: # conflict.txt # # It looks like you may be committing a merge. # If this is not correct, please run # git update-ref -d MERGE_HEAD # and try again. # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # On branch imerge/c-d # All conflicts fixed but you are still merging. # # Changes to be committed: # modified: conflict.txt # modified: d.txt # [imerge/c-d 854e1c5] imerge 'c-d': manual merge 1-1 + git-imerge continue --edit Merge has been recorded for merge 1-1. Attempting to merge 1-2...success. Attempting to merge 1-3...success. Attempting to merge 1-4...success. Attempting to merge 1-5...success. Attempting to merge 1-6...success. Attempting to merge 2-1...success. Attempting to merge 2-2...success. Attempting to merge 2-3...success. Attempting to merge 2-4...success. Attempting to merge 2-5...success. Attempting to merge 2-6...success. Attempting to merge 3-1...success. Attempting to merge 3-2...success. Attempting to merge 3-3...success. Attempting to merge 3-4...success. Attempting to merge 3-5...success. Attempting to merge 3-6...success. Attempting to merge 4-1...success. Attempting to merge 4-2...success. Attempting to merge 4-3...success. Attempting to merge 4-4...success. Attempting to merge 4-5...success. Attempting to merge 4-6...success. Attempting to merge 5-1...success. Attempting to merge 5-2...success. Attempting to merge 5-3...success. Attempting to merge 5-4...success. Attempting to merge 5-5...success. Attempting to merge 5-6...success. Attempting to merge 6-1...success. Attempting to merge 6-2...success. Attempting to merge 6-3...success. Attempting to merge 6-4...success. Attempting to merge 6-5...success. Attempting to merge 6-6...success. Attempting to merge 7-1...success. Attempting to merge 7-2...success. Attempting to merge 7-3...success. Attempting to merge 7-4...success. Attempting to merge 7-5...success. Attempting to merge 7-6...success. Attempting to merge 8-1...success. Attempting to merge 8-2...success. Attempting to merge 8-3...success. Attempting to merge 8-4...success. Attempting to merge 8-5...success. Attempting to merge 8-6...success. Attempting to merge 9-1...success. Attempting to merge 9-2...success. Attempting to merge 9-3...success. Attempting to merge 9-4...success. Attempting to merge 9-5...success. Attempting to merge 9-6...success. Merge is complete! + git-imerge diagram --commits --frontier --html=imerge4.html 0 5 9 | | | 0 - ********** - c **........ *......... *......... *......... 5 - *......... 6 - *......... | d 0 5 9 | | | 0 - ********** - c **.......| *........| *........| *........| 5 - *........| 6 - *--------+ | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + git-imerge finish --branch=c-d-full + check_tree c-d-full ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-full + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-full^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + test_conflict 9-1 + local conflict=9-1 + TMP=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-1 + DESCRIPTION=git-imerge test repository with conflict at 9-1 + init_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-1 git-imerge test repository with conflict at 9-1 + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-1 + local description=git-imerge test repository with conflict at 9-1 + delete_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-1 git-imerge test repository with conflict at 9-1 + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-1 + local description=git-imerge test repository with conflict at 9-1 + test -d /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-1 + mkdir -p /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-1 + git init /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-1 hint: Using 'master' as the name for the initial branch. This default branch name hint: is subject to change. To configure the initial branch name to use in all hint: of your new repositories, which will suppress this warning, call: hint: hint: git config --global init.defaultBranch hint: hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and hint: 'development'. The just-created branch can be renamed via this command: hint: hint: git branch -m Initialized empty Git repository in /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-1/.git/ + echo git-imerge test repository with conflict at 9-1 + printf %s\n /*.out /*.css /*.html + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-1/.git config user.name Loú User + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-1/.git config user.email luser@example.com + TIME=1112911993 + ln -s /build/reproducible-path/git-imerge-1.2.0/imerge.css /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-1 + cd /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-1 + modify c.txt 0 + filename=c.txt + text=0 + echo 0 + git add c.txt + modify d.txt 0 + filename=d.txt + text=0 + echo 0 + git add d.txt + modify conflict.txt original version + filename=conflict.txt + text=original version + echo original version + git add conflict.txt + commit -m m⇒0 + TIME=1112911994 + GIT_AUTHOR_DATE=@1112911994 +0000 GIT_COMMITTER_DATE=@1112911994 +0000 git commit -m m⇒0 [master (root-commit) d70e04b] m⇒0 3 files changed, 3 insertions(+) create mode 100644 c.txt create mode 100644 conflict.txt create mode 100644 d.txt + git checkout -b c master -- Switched to a new branch 'c' + seq 9 + modify c.txt 1 + filename=c.txt + text=1 + echo 1 + git add c.txt + commit -m c⇒1 + TIME=1112911995 + GIT_AUTHOR_DATE=@1112911995 +0000 GIT_COMMITTER_DATE=@1112911995 +0000 git commit -m c⇒1 [c 89e2141] c⇒1 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 2 + filename=c.txt + text=2 + echo 2 + git add c.txt + commit -m c⇒2 + TIME=1112911996 + GIT_AUTHOR_DATE=@1112911996 +0000 GIT_COMMITTER_DATE=@1112911996 +0000 git commit -m c⇒2 [c 7c431f2] c⇒2 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 3 + filename=c.txt + text=3 + echo 3 + git add c.txt + commit -m c⇒3 + TIME=1112911997 + GIT_AUTHOR_DATE=@1112911997 +0000 GIT_COMMITTER_DATE=@1112911997 +0000 git commit -m c⇒3 [c f02ab24] c⇒3 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 4 + filename=c.txt + text=4 + echo 4 + git add c.txt + commit -m c⇒4 + TIME=1112911998 + GIT_AUTHOR_DATE=@1112911998 +0000 GIT_COMMITTER_DATE=@1112911998 +0000 git commit -m c⇒4 [c ed9122f] c⇒4 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 5 + filename=c.txt + text=5 + echo 5 + git add c.txt + commit -m c⇒5 + TIME=1112911999 + GIT_AUTHOR_DATE=@1112911999 +0000 GIT_COMMITTER_DATE=@1112911999 +0000 git commit -m c⇒5 [c 1d3bf09] c⇒5 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 6 + filename=c.txt + text=6 + echo 6 + git add c.txt + commit -m c⇒6 + TIME=1112912000 + GIT_AUTHOR_DATE=@1112912000 +0000 GIT_COMMITTER_DATE=@1112912000 +0000 git commit -m c⇒6 [c f999ecd] c⇒6 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 7 + filename=c.txt + text=7 + echo 7 + git add c.txt + commit -m c⇒7 + TIME=1112912001 + GIT_AUTHOR_DATE=@1112912001 +0000 GIT_COMMITTER_DATE=@1112912001 +0000 git commit -m c⇒7 [c 7050a8a] c⇒7 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 8 + filename=c.txt + text=8 + echo 8 + git add c.txt + commit -m c⇒8 + TIME=1112912002 + GIT_AUTHOR_DATE=@1112912002 +0000 GIT_COMMITTER_DATE=@1112912002 +0000 git commit -m c⇒8 [c 9732e77] c⇒8 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 9 + filename=c.txt + text=9 + echo 9 + git add c.txt + modify conflict.txt c version + filename=conflict.txt + text=c version + echo c version + git add conflict.txt + commit -m c⇒9 + TIME=1112912003 + GIT_AUTHOR_DATE=@1112912003 +0000 GIT_COMMITTER_DATE=@1112912003 +0000 git commit -m c⇒9 [c 73a5eed] c⇒9 2 files changed, 2 insertions(+), 2 deletions(-) + git checkout -b d master -- Switched to a new branch 'd' + seq 6 + modify d.txt 1 + filename=d.txt + text=1 + echo 1 + git add d.txt + modify conflict.txt d version + filename=conflict.txt + text=d version + echo d version + git add conflict.txt + commit -m d⇒1 + TIME=1112912004 + GIT_AUTHOR_DATE=@1112912004 +0000 GIT_COMMITTER_DATE=@1112912004 +0000 git commit -m d⇒1 [d ac0427a] d⇒1 2 files changed, 2 insertions(+), 2 deletions(-) + modify d.txt 2 + filename=d.txt + text=2 + echo 2 + git add d.txt + commit -m d⇒2 + TIME=1112912005 + GIT_AUTHOR_DATE=@1112912005 +0000 GIT_COMMITTER_DATE=@1112912005 +0000 git commit -m d⇒2 [d 43c38c0] d⇒2 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 3 + filename=d.txt + text=3 + echo 3 + git add d.txt + commit -m d⇒3 + TIME=1112912006 + GIT_AUTHOR_DATE=@1112912006 +0000 GIT_COMMITTER_DATE=@1112912006 +0000 git commit -m d⇒3 [d 0260058] d⇒3 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 4 + filename=d.txt + text=4 + echo 4 + git add d.txt + commit -m d⇒4 + TIME=1112912007 + GIT_AUTHOR_DATE=@1112912007 +0000 GIT_COMMITTER_DATE=@1112912007 +0000 git commit -m d⇒4 [d 40fef44] d⇒4 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 5 + filename=d.txt + text=5 + echo 5 + git add d.txt + commit -m d⇒5 + TIME=1112912008 + GIT_AUTHOR_DATE=@1112912008 +0000 GIT_COMMITTER_DATE=@1112912008 +0000 git commit -m d⇒5 [d b080a65] d⇒5 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 6 + filename=d.txt + text=6 + echo 6 + git add d.txt + commit -m d⇒6 + TIME=1112912009 + GIT_AUTHOR_DATE=@1112912009 +0000 GIT_COMMITTER_DATE=@1112912009 +0000 git commit -m d⇒6 [d 200ce5c] d⇒6 1 file changed, 1 insertion(+), 1 deletion(-) + git checkout c Switched to branch 'c' + git-imerge init --name=c-d d + git-imerge list * c-d + git-imerge diagram --commits --frontier --html=imerge0.html 0 5 9 | | | 0 - ********** - c *????????? *????????? *????????? *????????? 5 - *????????? 6 - *????????? | d 0 5 9 | | | 0 - ********** - c *????????? *????????? *????????? *????????? 5 - *????????? 6 - *????????? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + git-imerge autofill + tee autofill.out Attempting automerge of 9-6...failure. Attempting automerge of 1-1...success. Attempting automerge of 1-4...success. Attempting automerge of 1-6...success. Attempting automerge of 9-6...failure. Attempting automerge of 5-6...success. Attempting automerge of 7-6...success. Attempting automerge of 8-6...success. Attempting automerge of 9-1...failure. Autofilling 1-6...success. Autofilling 2-6...success. Autofilling 3-6...success. Autofilling 4-6...success. Autofilling 5-6...success. Autofilling 6-6...success. Autofilling 7-6...success. Autofilling 8-1...success. Autofilling 8-2...success. Autofilling 8-3...success. Autofilling 8-4...success. Autofilling 8-5...success. Autofilling 8-6 (first way)...success. Autofilling 8-6 (second way)...success. The two ways of autofilling 8-6 agree. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[0:9,0:7]. Attempting automerge of 9-6...failure. Attempting automerge of 9-1...failure. HEAD is now at 73a5eed c⇒9 Conflict; suggest manual merge of 9-1 + grep -q Traceback autofill.out + grep -q suggest manual merge of 9-1 autofill.out + git-imerge diagram --commits --frontier --html=imerge1.html 0 5 9 | | | 0 - ********** - c *???????.# *???????.? *???????.? *???????.? 5 - *???????.? 6 - *........? | d 0 5 9 | | | 0 - ********** - c *???????|# *???????|? *???????|? *???????|? 5 - *???????|? 6 - *-------+? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + git-imerge continue --edit Switched to branch 'imerge/c-d' Auto-merging conflict.txt CONFLICT (content): Merge conflict in conflict.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit 73a5eedb087a0f656d730831b8def7943b40f3cf Author: Loú User Date: Thu Apr 7 22:13:23 2005 +0000 c⇒9 Original second commit: commit ac0427a285b64f2815ebd6eb83880f309600d0c7 Author: Loú User Date: Thu Apr 7 22:13:24 2005 +0000 d⇒1 There was a conflict merging commit 9-1, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + echo merged version + git add conflict.txt + git-imerge continue --no-edit [imerge/c-d 4d7dc5d] imerge 'c-d': manual merge 9-1 Merge has been recorded for merge 9-1. Attempting automerge of 9-6...success. Autofilling 9-2...success. Autofilling 9-3...success. Autofilling 9-4...success. Autofilling 9-5...success. Autofilling 9-6...success. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[8:10,1:7]. Merge is complete! + git-imerge diagram --commits --frontier --html=imerge2.html 0 5 9 | | | 0 - ********** - c *???????.* *???????.. *???????.. *???????.. 5 - *???????.. 6 - *......... | d 0 5 9 | | | 0 - ********** - c *???????.* *???????.| *???????.| *???????.| 5 - *???????.| 6 - *--------+ | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + GIT_EDITOR=cat git-imerge simplify --goal=merge --branch=c-d-merge Merge d into c (using imerge) # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # Date: Fri Mar 27 18:26:50 2026 +0000 # # On branch c-d-merge # Changes to be committed: # modified: conflict.txt # modified: d.txt # [c-d-merge 881a356] Merge d into c (using imerge) Date: Fri Mar 27 18:26:50 2026 +0000 + check_tree c-d-merge ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-merge + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-merge^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=rebase --branch=c-d-rebase + check_tree c-d-rebase ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-rebase + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-rebase^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=rebase-with-history --branch=c-d-rebase-with-history + check_tree c-d-rebase-with-history ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-rebase-with-history + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-rebase-with-history^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border --branch=c-d-border + check_tree c-d-border ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-border^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border-with-history --branch=c-d-border-with-history + check_tree c-d-border-with-history ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border-with-history + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-border-with-history^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border-with-history2 --branch=c-d-border-with-history2 + check_tree c-d-border-with-history2 ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border-with-history2 + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-border-with-history2^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge remove + git checkout c Switched to branch 'c' + git-imerge start --goal=full --first-parent --name=c-d d + tee start.out Attempting to merge 1-1...success. Attempting to merge 1-2...success. Attempting to merge 1-3...success. Attempting to merge 1-4...success. Attempting to merge 1-5...success. Attempting to merge 1-6...success. Attempting to merge 2-1...success. Attempting to merge 2-2...success. Attempting to merge 2-3...success. Attempting to merge 2-4...success. Attempting to merge 2-5...success. Attempting to merge 2-6...success. Attempting to merge 3-1...success. Attempting to merge 3-2...success. Attempting to merge 3-3...success. Attempting to merge 3-4...success. Attempting to merge 3-5...success. Attempting to merge 3-6...success. Attempting to merge 4-1...success. Attempting to merge 4-2...success. Attempting to merge 4-3...success. Attempting to merge 4-4...success. Attempting to merge 4-5...success. Attempting to merge 4-6...success. Attempting to merge 5-1...success. Attempting to merge 5-2...success. Attempting to merge 5-3...success. Attempting to merge 5-4...success. Attempting to merge 5-5...success. Attempting to merge 5-6...success. Attempting to merge 6-1...success. Attempting to merge 6-2...success. Attempting to merge 6-3...success. Attempting to merge 6-4...success. Attempting to merge 6-5...success. Attempting to merge 6-6...success. Attempting to merge 7-1...success. Attempting to merge 7-2...success. Attempting to merge 7-3...success. Attempting to merge 7-4...success. Attempting to merge 7-5...success. Attempting to merge 7-6...success. Attempting to merge 8-1...success. Attempting to merge 8-2...success. Attempting to merge 8-3...success. Attempting to merge 8-4...success. Attempting to merge 8-5...success. Attempting to merge 8-6...success. Attempting to merge 9-1...conflict. Switched to branch 'imerge/c-d' Auto-merging conflict.txt CONFLICT (content): Merge conflict in conflict.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit 73a5eedb087a0f656d730831b8def7943b40f3cf Author: Loú User Date: Thu Apr 7 22:13:23 2005 +0000 c⇒9 Original second commit: commit ac0427a285b64f2815ebd6eb83880f309600d0c7 Author: Loú User Date: Thu Apr 7 22:13:24 2005 +0000 d⇒1 There was a conflict merging commit 9-1, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + grep -q Traceback start.out + grep -q suggest manual merge of 9-1 autofill.out + git-imerge diagram --commits --frontier --html=imerge3.html 0 5 9 | | | 0 - ********** - c *........# *........? *........? *........? 5 - *........? 6 - *........? | d 0 5 9 | | | 0 - ********** - c *.......|# *.......|? *.......|? *.......|? 5 - *.......|? 6 - *-------+? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + echo merged version + git add conflict.txt + GIT_EDITOR=cat git commit imerge 'c-d': manual merge 9-1 # Conflicts: # conflict.txt # # It looks like you may be committing a merge. # If this is not correct, please run # git update-ref -d MERGE_HEAD # and try again. # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # On branch imerge/c-d # All conflicts fixed but you are still merging. # # Changes to be committed: # modified: conflict.txt # modified: d.txt # [imerge/c-d 8d600bb] imerge 'c-d': manual merge 9-1 + git-imerge continue --edit Merge has been recorded for merge 9-1. Attempting to merge 9-2...success. Attempting to merge 9-3...success. Attempting to merge 9-4...success. Attempting to merge 9-5...success. Attempting to merge 9-6...success. Merge is complete! + git-imerge diagram --commits --frontier --html=imerge4.html 0 5 9 | | | 0 - ********** - c *........* *......... *......... *......... 5 - *......... 6 - *......... | d 0 5 9 | | | 0 - ********** - c *........* *........| *........| *........| 5 - *........| 6 - *--------+ | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + git-imerge finish --branch=c-d-full + check_tree c-d-full ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-full + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-full^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + test_conflict 1-6 + local conflict=1-6 + TMP=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-6 + DESCRIPTION=git-imerge test repository with conflict at 1-6 + init_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-6 git-imerge test repository with conflict at 1-6 + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-6 + local description=git-imerge test repository with conflict at 1-6 + delete_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-6 git-imerge test repository with conflict at 1-6 + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-6 + local description=git-imerge test repository with conflict at 1-6 Initialized empty Git repository in /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-6/.git/ + test -d /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-6 + mkdir -p /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-6 + git init /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-6 hint: Using 'master' as the name for the initial branch. This default branch name hint: is subject to change. To configure the initial branch name to use in all hint: of your new repositories, which will suppress this warning, call: hint: hint: git config --global init.defaultBranch hint: hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and hint: 'development'. The just-created branch can be renamed via this command: hint: hint: git branch -m + echo git-imerge test repository with conflict at 1-6 + printf %s\n /*.out /*.css /*.html + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-6/.git config user.name Loú User + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-6/.git config user.email luser@example.com + TIME=1112911993 + ln -s /build/reproducible-path/git-imerge-1.2.0/imerge.css /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-6 + cd /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-6 + modify c.txt 0 + filename=c.txt + text=0 + echo 0 + git add c.txt + modify d.txt 0 + filename=d.txt + text=0 + echo 0 + git add d.txt + modify conflict.txt original version + filename=conflict.txt + text=original version + echo original version + git add conflict.txt + commit -m m⇒0 + TIME=1112911994 + GIT_AUTHOR_DATE=@1112911994 +0000 GIT_COMMITTER_DATE=@1112911994 +0000 git commit -m m⇒0 [master (root-commit) d70e04b] m⇒0 3 files changed, 3 insertions(+) create mode 100644 c.txt create mode 100644 conflict.txt create mode 100644 d.txt + git checkout -b c master -- Switched to a new branch 'c' + seq 9 + modify c.txt 1 + filename=c.txt + text=1 + echo 1 + git add c.txt + modify conflict.txt c version + filename=conflict.txt + text=c version + echo c version + git add conflict.txt + commit -m c⇒1 + TIME=1112911995 + GIT_AUTHOR_DATE=@1112911995 +0000 GIT_COMMITTER_DATE=@1112911995 +0000 git commit -m c⇒1 [c 2120f40] c⇒1 2 files changed, 2 insertions(+), 2 deletions(-) + modify c.txt 2 + filename=c.txt + text=2 + echo 2 + git add c.txt + commit -m c⇒2 + TIME=1112911996 + GIT_AUTHOR_DATE=@1112911996 +0000 GIT_COMMITTER_DATE=@1112911996 +0000 git commit -m c⇒2 + modify c.txt 3 + filename=c.txt + text=3 + echo 3 + git add c.txt + commit -m c⇒3 + TIME=1112911997 + GIT_AUTHOR_DATE=@1112911997 +0000 GIT_COMMITTER_DATE=@1112911997 +0000 git commit -m c⇒3 [c 90cc7de] c⇒2 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 4 + filename=c.txt + text=4 + echo 4 + git add c.txt [c 2046ed2] c⇒3 1 file changed, 1 insertion(+), 1 deletion(-) + commit -m c⇒4 + TIME=1112911998 + GIT_AUTHOR_DATE=@1112911998 +0000 GIT_COMMITTER_DATE=@1112911998 +0000 git commit -m c⇒4 [c 8a2cee9] c⇒4 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 5 + filename=c.txt + text=5 + echo 5 + git add c.txt + commit -m c⇒5 + TIME=1112911999 + GIT_AUTHOR_DATE=@1112911999 +0000 GIT_COMMITTER_DATE=@1112911999 +0000 git commit -m c⇒5 [c ac16a05] c⇒5 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 6 + filename=c.txt + text=6 + echo 6 + git add c.txt + commit -m c⇒6 + TIME=1112912000 + GIT_AUTHOR_DATE=@1112912000 +0000 GIT_COMMITTER_DATE=@1112912000 +0000 git commit -m c⇒6 [c 30dd2ae] c⇒6 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 7 + filename=c.txt + text=7 + echo 7 + git add c.txt + commit -m c⇒7 + TIME=1112912001 + GIT_AUTHOR_DATE=@1112912001 +0000 GIT_COMMITTER_DATE=@1112912001 +0000 git commit -m c⇒7 [c 0883eb9] c⇒7 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 8 + filename=c.txt + text=8 + echo 8 + git add c.txt + commit -m c⇒8 + TIME=1112912002 + GIT_AUTHOR_DATE=@1112912002 +0000 GIT_COMMITTER_DATE=@1112912002 +0000 git commit -m c⇒8 [c f661c06] c⇒8 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 9 + filename=c.txt + text=9 + echo 9 + git add c.txt + commit -m c⇒9 + TIME=1112912003 + GIT_AUTHOR_DATE=@1112912003 +0000 GIT_COMMITTER_DATE=@1112912003 +0000 git commit -m c⇒9 [c 243e8ed] c⇒9 1 file changed, 1 insertion(+), 1 deletion(-) + git checkout -b d master -- Switched to a new branch 'd' + seq 6 + modify d.txt 1 + filename=d.txt + text=1 + echo 1 + git add d.txt + commit -m d⇒1 + TIME=1112912004 + GIT_AUTHOR_DATE=@1112912004 +0000 GIT_COMMITTER_DATE=@1112912004 +0000 git commit -m d⇒1 [d bd5368a] d⇒1 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 2 + filename=d.txt + text=2 + echo 2 + git add d.txt + commit -m d⇒2 + TIME=1112912005 + GIT_AUTHOR_DATE=@1112912005 +0000 GIT_COMMITTER_DATE=@1112912005 +0000 git commit -m d⇒2 + modify d.txt 3 + filename=d.txt + text=3 + echo 3 + git add d.txt [d 93e27e6] d⇒2 1 file changed, 1 insertion(+), 1 deletion(-) + commit -m d⇒3 + TIME=1112912006 + GIT_AUTHOR_DATE=@1112912006 +0000 GIT_COMMITTER_DATE=@1112912006 +0000 git commit -m d⇒3 [d 133f385] d⇒3 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 4 + filename=d.txt + text=4 + echo 4 + git add d.txt + commit -m d⇒4 + TIME=1112912007 + GIT_AUTHOR_DATE=@1112912007 +0000 GIT_COMMITTER_DATE=@1112912007 +0000 git commit -m d⇒4 [d 586472a] d⇒4 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 5 + filename=d.txt + text=5 + echo 5 + git add d.txt + commit -m d⇒5 + TIME=1112912008 + GIT_AUTHOR_DATE=@1112912008 +0000 GIT_COMMITTER_DATE=@1112912008 +0000 git commit -m d⇒5 [d 9522207] d⇒5 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 6 + filename=d.txt + text=6 + echo 6 + git add d.txt + modify conflict.txt d version + filename=conflict.txt + text=d version + echo d version + git add conflict.txt + commit -m d⇒6 + TIME=1112912009 + GIT_AUTHOR_DATE=@1112912009 +0000 GIT_COMMITTER_DATE=@1112912009 +0000 git commit -m d⇒6 [d f7e451a] d⇒6 2 files changed, 2 insertions(+), 2 deletions(-) + git checkout c Switched to branch 'c' + git-imerge init --name=c-d d + git-imerge list * c-d + git-imerge diagram --commits --frontier --html=imerge0.html 0 5 9 | | | 0 - ********** - c *????????? *????????? *????????? *????????? 5 - *????????? 6 - *????????? | d 0 5 9 | | | 0 - ********** - c *????????? *????????? *????????? *????????? 5 - *????????? 6 - *????????? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + tee autofill.out + git-imerge autofill Attempting automerge of 9-6...failure. Attempting automerge of 1-1...success. Attempting automerge of 1-4...success. Attempting automerge of 1-6...failure. Attempting automerge of 1-5...success. Attempting automerge of 9-5...success. Autofilling 1-5...success. Autofilling 2-5...success. Autofilling 3-5...success. Autofilling 4-5...success. Autofilling 5-5...success. Autofilling 6-5...success. Autofilling 7-5...success. Autofilling 8-5...success. Autofilling 9-1...success. Autofilling 9-2...success. Autofilling 9-3...success. Autofilling 9-4...success. Autofilling 9-5 (first way)...success. Autofilling 9-5 (second way)...success. The two ways of autofilling 9-5 agree. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[0:10,0:6]. Attempting automerge of 9-6...failure. Attempting automerge of 1-6...failure. HEAD is now at 243e8ed c⇒9 Conflict; suggest manual merge of 1-6 + grep -q Traceback autofill.out + grep -q suggest manual merge of 1-6 autofill.out + git-imerge diagram --commits --frontier --html=imerge1.html 0 5 9 | | | 0 - ********** - c *????????. *????????. *????????. *????????. 5 - *......... 6 - *#???????? | d 0 5 9 | | | 0 - ********** - c *????????| *????????| *????????| *????????| 5 - *--------+ 6 - *#???????? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + git-imerge continue --edit Switched to branch 'imerge/c-d' Auto-merging conflict.txt CONFLICT (content): Merge conflict in conflict.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit 2120f40dc39d28052a5279b645124e8ed7e5de73 Author: Loú User Date: Thu Apr 7 22:13:15 2005 +0000 c⇒1 Original second commit: There was a conflict merging commit 1-6, shown above. Please resolve the conflict, commit the result, then type git-imerge continue commit f7e451a6c9656dda15641a9fbc591a602f158692 Author: Loú User Date: Thu Apr 7 22:13:29 2005 +0000 d⇒6 + echo merged version + git add conflict.txt + git-imerge continue --no-edit [imerge/c-d f2a0104] imerge 'c-d': manual merge 1-6 Merge has been recorded for merge 1-6. Attempting automerge of 9-6...success. Autofilling 2-6...success. Autofilling 3-6...success. Autofilling 4-6...success. Autofilling 5-6...success. Autofilling 6-6...success. Autofilling 7-6...success. Autofilling 8-6...success. Autofilling 9-6...success. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[1:10,5:7]. Merge is complete! + git-imerge diagram --commits --frontier --html=imerge2.html 0 5 9 | | | 0 - ********** - c *????????. *????????. *????????. *????????. 5 - *......... 6 - **........ | d 0 5 9 | | | 0 - ********** - c *????????| *????????| *????????| *????????| 5 - *........| 6 - **-------+ | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + GIT_EDITOR=cat git-imerge simplify --goal=merge --branch=c-d-merge Merge d into c (using imerge) # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # Date: Fri Mar 27 18:26:57 2026 +0000 # # On branch c-d-merge # Changes to be committed: # modified: conflict.txt # modified: d.txt # [c-d-merge 97db426] Merge d into c (using imerge) Date: Fri Mar 27 18:26:57 2026 +0000 + check_tree c-d-merge ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-merge + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-merge^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=rebase --branch=c-d-rebase + check_tree c-d-rebase ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-rebase + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-rebase^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=rebase-with-history --branch=c-d-rebase-with-history + check_tree c-d-rebase-with-history ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-rebase-with-history + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-rebase-with-history^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border --branch=c-d-border + check_tree c-d-border ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-border^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border-with-history --branch=c-d-border-with-history + check_tree c-d-border-with-history ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border-with-history + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-border-with-history^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border-with-history2 --branch=c-d-border-with-history2 + check_tree c-d-border-with-history2 ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border-with-history2 + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-border-with-history2^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge remove + git checkout c Switched to branch 'c' + git-imerge start --goal=full --first-parent --name=c-d d + tee start.out Attempting to merge 1-1...success. Attempting to merge 1-2...success. Attempting to merge 1-3...success. Attempting to merge 1-4...success. Attempting to merge 1-5...success. Attempting to merge 1-6...conflict. Attempting to merge 2-1...success. Attempting to merge 2-2...success. Attempting to merge 2-3...success. Attempting to merge 2-4...success. Attempting to merge 2-5...success. Attempting to merge 3-1...success. Attempting to merge 3-2...success. Attempting to merge 3-3...success. Attempting to merge 3-4...success. Attempting to merge 3-5...success. Attempting to merge 4-1...success. Attempting to merge 4-2...success. Attempting to merge 4-3...success. Attempting to merge 4-4...success. Attempting to merge 4-5...success. Attempting to merge 5-1...success. Attempting to merge 5-2...success. Attempting to merge 5-3...success. Attempting to merge 5-4...success. Attempting to merge 5-5...success. Attempting to merge 6-1...success. Attempting to merge 6-2...success. Attempting to merge 6-3...success. Attempting to merge 6-4...success. Attempting to merge 6-5...success. Attempting to merge 7-1...success. Attempting to merge 7-2...success. Attempting to merge 7-3...success. Attempting to merge 7-4...success. Attempting to merge 7-5...success. Attempting to merge 8-1...success. Attempting to merge 8-2...success. Attempting to merge 8-3...success. Attempting to merge 8-4...success. Attempting to merge 8-5...success. Attempting to merge 9-1...success. Attempting to merge 9-2...success. Attempting to merge 9-3...success. Attempting to merge 9-4...success. Attempting to merge 9-5...success. Previous HEAD position was 2748734 imerge 'c-d': automatic merge 9-5 Switched to branch 'imerge/c-d' Auto-merging conflict.txt CONFLICT (content): Merge conflict in conflict.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit 2120f40dc39d28052a5279b645124e8ed7e5de73 Author: Loú User Date: Thu Apr 7 22:13:15 2005 +0000 c⇒1 Original second commit: commit f7e451a6c9656dda15641a9fbc591a602f158692 Author: Loú User Date: Thu Apr 7 22:13:29 2005 +0000 d⇒6 There was a conflict merging commit 1-6, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + grep -q Traceback start.out + grep -q suggest manual merge of 1-6 autofill.out + git-imerge diagram --commits --frontier --html=imerge3.html 0 5 9 | | | 0 - ********** - c *......... *......... *......... *......... 5 - *......... 6 - *#???????? | d 0 5 9 | | | 0 - ********** - c *........| *........| *........| *........| 5 - *--------+ 6 - *#???????? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + echo merged version + git add conflict.txt + GIT_EDITOR=cat git commit imerge 'c-d': manual merge 1-6 # Conflicts: # conflict.txt # # It looks like you may be committing a merge. # If this is not correct, please run # git update-ref -d MERGE_HEAD # and try again. # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # On branch imerge/c-d # All conflicts fixed but you are still merging. # # Changes to be committed: # modified: conflict.txt # modified: d.txt # [imerge/c-d ce7bf24] imerge 'c-d': manual merge 1-6 + git-imerge continue --edit Merge has been recorded for merge 1-6. Attempting to merge 2-6...success. Attempting to merge 3-6...success. Attempting to merge 4-6...success. Attempting to merge 5-6...success. Attempting to merge 6-6...success. Attempting to merge 7-6...success. Attempting to merge 8-6...success. Attempting to merge 9-6...success. Merge is complete! + git-imerge diagram --commits --frontier --html=imerge4.html 0 5 9 | | | 0 - ********** - c *......... *......... *......... *......... 5 - *......... 6 - **........ | d 0 5 9 | | | 0 - ********** - c *........| *........| *........| *........| 5 - *........| 6 - **-------+ | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + git-imerge finish --branch=c-d-full + check_tree c-d-full ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-full + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-full^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + test_conflict 9-6 + local conflict=9-6 + TMP=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-6 + DESCRIPTION=git-imerge test repository with conflict at 9-6 + init_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-6 git-imerge test repository with conflict at 9-6 + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-6 + local description=git-imerge test repository with conflict at 9-6 + delete_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-6 git-imerge test repository with conflict at 9-6 + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-6 + local description=git-imerge test repository with conflict at 9-6 + test -d /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-6 + mkdir -p /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-6 + git init /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-6 hint: Using 'master' as the name for the initial branch. This default branch name hint: is subject to change. To configure the initial branch name to use in all hint: of your new repositories, which will suppress this warning, call: hint: hint: git config --global init.defaultBranch hint: hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and hint: 'development'. The just-created branch can be renamed via this command: hint: hint: git branch -m Initialized empty Git repository in /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-6/.git/ + echo git-imerge test repository with conflict at 9-6 + printf %s\n /*.out /*.css /*.html + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-6/.git config user.name Loú User + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-6/.git config user.email luser@example.com + TIME=1112911993 + ln -s /build/reproducible-path/git-imerge-1.2.0/imerge.css /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-6 + cd /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-6 + modify c.txt 0 + filename=c.txt + text=0 + echo 0 + git add c.txt + modify d.txt 0 + filename=d.txt + text=0 + echo 0 + git add d.txt + modify conflict.txt original version + filename=conflict.txt + text=original version + echo original version + git add conflict.txt + commit -m m⇒0 + TIME=1112911994 + GIT_AUTHOR_DATE=@1112911994 +0000 GIT_COMMITTER_DATE=@1112911994 +0000 git commit -m m⇒0 [master (root-commit) d70e04b] m⇒0 3 files changed, 3 insertions(+) create mode 100644 c.txt create mode 100644 conflict.txt create mode 100644 d.txt + git checkout -b c master -- Switched to a new branch 'c' + seq 9 + modify c.txt 1 + filename=c.txt + text=1 + echo 1 + git add c.txt + commit -m c⇒1 + TIME=1112911995 + GIT_AUTHOR_DATE=@1112911995 +0000 GIT_COMMITTER_DATE=@1112911995 +0000 git commit -m c⇒1 [c 89e2141] c⇒1 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 2 + filename=c.txt + text=2 + echo 2 + git add c.txt + commit -m c⇒2 + TIME=1112911996 + GIT_AUTHOR_DATE=@1112911996 +0000 GIT_COMMITTER_DATE=@1112911996 +0000 git commit -m c⇒2 [c 7c431f2] c⇒2 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 3 + filename=c.txt + text=3 + echo 3 + git add c.txt + commit -m c⇒3 + TIME=1112911997 + GIT_AUTHOR_DATE=@1112911997 +0000 GIT_COMMITTER_DATE=@1112911997 +0000 git commit -m c⇒3 [c f02ab24] c⇒3 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 4 + filename=c.txt + text=4 + echo 4 + git add c.txt + commit -m c⇒4 + TIME=1112911998 + GIT_AUTHOR_DATE=@1112911998 +0000 GIT_COMMITTER_DATE=@1112911998 +0000 git commit -m c⇒4 [c ed9122f] c⇒4 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 5 + filename=c.txt + text=5 + echo 5 + git add c.txt + commit -m c⇒5 + TIME=1112911999 + GIT_AUTHOR_DATE=@1112911999 +0000 GIT_COMMITTER_DATE=@1112911999 +0000 git commit -m c⇒5 [c 1d3bf09] c⇒5 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 6 + filename=c.txt + text=6 + echo 6 + git add c.txt + commit -m c⇒6 + TIME=1112912000 + GIT_AUTHOR_DATE=@1112912000 +0000 GIT_COMMITTER_DATE=@1112912000 +0000 git commit -m c⇒6 [c f999ecd] c⇒6 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 7 + filename=c.txt + text=7 + echo 7 + git add c.txt + commit -m c⇒7 + TIME=1112912001 + GIT_AUTHOR_DATE=@1112912001 +0000 GIT_COMMITTER_DATE=@1112912001 +0000 git commit -m c⇒7 [c 7050a8a] c⇒7 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 8 + filename=c.txt + text=8 + echo 8 + git add c.txt + commit -m c⇒8 + TIME=1112912002 + GIT_AUTHOR_DATE=@1112912002 +0000 GIT_COMMITTER_DATE=@1112912002 +0000 git commit -m c⇒8 [c 9732e77] c⇒8 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 9 + filename=c.txt + text=9 + echo 9 + git add c.txt + modify conflict.txt c version + filename=conflict.txt + text=c version + echo c version + git add conflict.txt + commit -m c⇒9 + TIME=1112912003 + GIT_AUTHOR_DATE=@1112912003 +0000 GIT_COMMITTER_DATE=@1112912003 +0000 git commit -m c⇒9 [c 73a5eed] c⇒9 2 files changed, 2 insertions(+), 2 deletions(-) + git checkout -b d master -- Switched to a new branch 'd' + seq 6 + modify d.txt 1 + filename=d.txt + text=1 + echo 1 + git add d.txt + commit -m d⇒1 + TIME=1112912004 + GIT_AUTHOR_DATE=@1112912004 +0000 GIT_COMMITTER_DATE=@1112912004 +0000 git commit -m d⇒1 [d bd5368a] d⇒1 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 2 + filename=d.txt + text=2 + echo 2 + git add d.txt + commit -m d⇒2 + TIME=1112912005 + GIT_AUTHOR_DATE=@1112912005 +0000 GIT_COMMITTER_DATE=@1112912005 +0000 git commit -m d⇒2 [d 93e27e6] d⇒2 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 3 + filename=d.txt + text=3 + echo 3 + git add d.txt + commit -m d⇒3 + TIME=1112912006 + GIT_AUTHOR_DATE=@1112912006 +0000 GIT_COMMITTER_DATE=@1112912006 +0000 git commit -m d⇒3 [d 133f385] d⇒3 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 4 + filename=d.txt + text=4 + echo 4 + git add d.txt + commit -m d⇒4 + TIME=1112912007 + GIT_AUTHOR_DATE=@1112912007 +0000 GIT_COMMITTER_DATE=@1112912007 +0000 git commit -m d⇒4 [d 586472a] d⇒4 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 5 + filename=d.txt + text=5 + echo 5 + git add d.txt + commit -m d⇒5 + TIME=1112912008 + GIT_AUTHOR_DATE=@1112912008 +0000 GIT_COMMITTER_DATE=@1112912008 +0000 git commit -m d⇒5 [d 9522207] d⇒5 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 6 + filename=d.txt + text=6 + echo 6 + git add d.txt + modify conflict.txt d version + filename=conflict.txt + text=d version + echo d version + git add conflict.txt + commit -m d⇒6 + TIME=1112912009 + GIT_AUTHOR_DATE=@1112912009 +0000 GIT_COMMITTER_DATE=@1112912009 +0000 git commit -m d⇒6 [d f7e451a] d⇒6 2 files changed, 2 insertions(+), 2 deletions(-) + git checkout c Switched to branch 'c' + git-imerge init --name=c-d d + git-imerge list * c-d + git-imerge diagram --commits --frontier --html=imerge0.html 0 5 9 | | | 0 - ********** - c *????????? *????????? *????????? *????????? 5 - *????????? 6 - *????????? | d 0 5 9 | | | 0 - ********** - c *????????? *????????? *????????? *????????? 5 - *????????? 6 - *????????? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + git-imerge autofill + tee autofill.out Attempting automerge of 9-6...failure. Attempting automerge of 1-1...success. Attempting automerge of 1-4...success. Attempting automerge of 1-6...success. Attempting automerge of 9-6...failure. Attempting automerge of 5-6...success. Attempting automerge of 7-6...success. Attempting automerge of 8-6...success. Attempting automerge of 9-1...success. Attempting automerge of 9-4...success. Attempting automerge of 9-5...success. Autofilling 1-6...success. Autofilling 2-6...success. Autofilling 3-6...success. Autofilling 4-6...success. Autofilling 5-6...success. Autofilling 6-6...success. Autofilling 7-6...success. Autofilling 8-1...success. Autofilling 8-2...success. Autofilling 8-3...success. Autofilling 8-4...success. Autofilling 8-5...success. Autofilling 8-6 (first way)...success. Autofilling 8-6 (second way)...success. The two ways of autofilling 8-6 agree. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[0:9,0:7]. Autofilling 9-1...success. Autofilling 9-2...success. Autofilling 9-3...success. Autofilling 9-4...success. Autofilling 9-5...success. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[8:10,0:6]. Attempting automerge of 9-6...failure. Attempting automerge of 9-6...failure. HEAD is now at 73a5eed c⇒9 Conflict; suggest manual merge of 9-6 + grep -q Traceback autofill.out + grep -q suggest manual merge of 9-6 autofill.out + git-imerge diagram --commits --frontier --html=imerge1.html 0 5 9 | | | 0 - ********** - c *???????.. *???????.. *???????.. *???????.. 5 - *???????.. 6 - *........# | d 0 5 9 | | | 0 - ********** - c *???????.| *???????.| *???????.| *???????.| 5 - *???????.+ 6 - *-------+# | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + git-imerge continue --edit Switched to branch 'imerge/c-d' Auto-merging conflict.txt CONFLICT (content): Merge conflict in conflict.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit 73a5eedb087a0f656d730831b8def7943b40f3cf Author: Loú User Date: Thu Apr 7 22:13:23 2005 +0000 c⇒9 Original second commit: commit f7e451a6c9656dda15641a9fbc591a602f158692 Author: Loú User Date: Thu Apr 7 22:13:29 2005 +0000 d⇒6 There was a conflict merging commit 9-6, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + echo merged version + git add conflict.txt + git-imerge continue --no-edit [imerge/c-d 682aae2] imerge 'c-d': manual merge 9-6 Merge has been recorded for merge 9-6. Merge is complete! + git-imerge diagram --commits --frontier --html=imerge2.html 0 5 9 | | | 0 - ********** - c *???????.. *???????.. *???????.. *???????.. 5 - *???????.. 6 - *........* | d 0 5 9 | | | 0 - ********** - c *???????.| *???????.| *???????.| *???????.| 5 - *???????.| 6 - *--------* | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + GIT_EDITOR=cat git-imerge simplify --goal=merge --branch=c-d-merge Merge d into c (using imerge) # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # Date: Fri Mar 27 18:27:03 2026 +0000 # # On branch c-d-merge # Changes to be committed: # modified: conflict.txt # modified: d.txt # [c-d-merge 1f72e3e] Merge d into c (using imerge) Date: Fri Mar 27 18:27:03 2026 +0000 + check_tree c-d-merge ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-merge + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-merge^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=rebase --branch=c-d-rebase + check_tree c-d-rebase ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-rebase + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-rebase^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=rebase-with-history --branch=c-d-rebase-with-history + check_tree c-d-rebase-with-history ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-rebase-with-history + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-rebase-with-history^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border --branch=c-d-border + check_tree c-d-border ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-border^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border-with-history --branch=c-d-border-with-history + check_tree c-d-border-with-history ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border-with-history + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-border-with-history^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border-with-history2 --branch=c-d-border-with-history2 + check_tree c-d-border-with-history2 ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border-with-history2 + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-border-with-history2^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge remove + git checkout c Switched to branch 'c' + git-imerge start --goal=full --first-parent --name=c-d d + tee start.out Attempting to merge 1-1...success. Attempting to merge 1-2...success. Attempting to merge 1-3...success. Attempting to merge 1-4...success. Attempting to merge 1-5...success. Attempting to merge 1-6...success. Attempting to merge 2-1...success. Attempting to merge 2-2...success. Attempting to merge 2-3...success. Attempting to merge 2-4...success. Attempting to merge 2-5...success. Attempting to merge 2-6...success. Attempting to merge 3-1...success. Attempting to merge 3-2...success. Attempting to merge 3-3...success. Attempting to merge 3-4...success. Attempting to merge 3-5...success. Attempting to merge 3-6...success. Attempting to merge 4-1...success. Attempting to merge 4-2...success. Attempting to merge 4-3...success. Attempting to merge 4-4...success. Attempting to merge 4-5...success. Attempting to merge 4-6...success. Attempting to merge 5-1...success. Attempting to merge 5-2...success. Attempting to merge 5-3...success. Attempting to merge 5-4...success. Attempting to merge 5-5...success. Attempting to merge 5-6...success. Attempting to merge 6-1...success. Attempting to merge 6-2...success. Attempting to merge 6-3...success. Attempting to merge 6-4...success. Attempting to merge 6-5...success. Attempting to merge 6-6...success. Attempting to merge 7-1...success. Attempting to merge 7-2...success. Attempting to merge 7-3...success. Attempting to merge 7-4...success. Attempting to merge 7-5...success. Attempting to merge 7-6...success. Attempting to merge 8-1...success. Attempting to merge 8-2...success. Attempting to merge 8-3...success. Attempting to merge 8-4...success. Attempting to merge 8-5...success. Attempting to merge 8-6...success. Attempting to merge 9-1...success. Attempting to merge 9-2...success. Attempting to merge 9-3...success. Attempting to merge 9-4...success. Attempting to merge 9-5...success. Attempting to merge 9-6...conflict. Switched to branch 'imerge/c-d' Auto-merging conflict.txt CONFLICT (content): Merge conflict in conflict.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit 73a5eedb087a0f656d730831b8def7943b40f3cf Author: Loú User Date: Thu Apr 7 22:13:23 2005 +0000 c⇒9 Original second commit: commit f7e451a6c9656dda15641a9fbc591a602f158692 Author: Loú User Date: Thu Apr 7 22:13:29 2005 +0000 d⇒6 There was a conflict merging commit 9-6, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + grep -q Traceback start.out + grep -q suggest manual merge of 9-6 autofill.out + git-imerge diagram --commits --frontier --html=imerge3.html 0 5 9 | | | 0 - ********** - c *......... *......... *......... *......... 5 - *......... 6 - *........# | d 0 5 9 | | | 0 - ********** - c *........| *........| *........| *........| 5 - *........+ 6 - *-------+# | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + echo merged version + git add conflict.txt + GIT_EDITOR=cat git commit imerge 'c-d': manual merge 9-6 # Conflicts: # conflict.txt # # It looks like you may be committing a merge. # If this is not correct, please run # git update-ref -d MERGE_HEAD # and try again. # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # On branch imerge/c-d # All conflicts fixed but you are still merging. # # Changes to be committed: # modified: conflict.txt # modified: d.txt # [imerge/c-d 7e0a406] imerge 'c-d': manual merge 9-6 + git-imerge continue --edit Merge has been recorded for merge 9-6. Merge is complete! + git-imerge diagram --commits --frontier --html=imerge4.html 0 5 9 | | | 0 - ********** - c *......... *......... *......... *......... 5 - *......... 6 - *........* | d 0 5 9 | | | 0 - ********** - c *........| *........| *........| *........| 5 - *........| 6 - *--------* | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + git-imerge finish --branch=c-d-full + check_tree c-d-full ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-full + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-full^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + test_conflict 1-2 + local conflict=1-2 + TMP=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-2 + DESCRIPTION=git-imerge test repository with conflict at 1-2 + init_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-2 git-imerge test repository with conflict at 1-2 + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-2 + local description=git-imerge test repository with conflict at 1-2 + delete_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-2 git-imerge test repository with conflict at 1-2 + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-2 + local description=git-imerge test repository with conflict at 1-2 + test -d /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-2 + mkdir -p /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-2 + git init /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-2 hint: Using 'master' as the name for the initial branch. This default branch name hint: is subject to change. To configure the initial branch name to use in all hint: of your new repositories, which will suppress this warning, call: hint: hint: git config --global init.defaultBranch hint: hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and hint: 'development'. The just-created branch can be renamed via this command: hint: hint: git branch -m + echo git-imerge test repository with conflict at 1-2 + printf %s\n /*.out /*.css /*.html + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-2/.git config user.name Loú User + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-2/.git config user.email luser@example.com + TIME=1112911993 + ln -s /build/reproducible-path/git-imerge-1.2.0/imerge.css /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-2 Initialized empty Git repository in /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-2/.git/ + cd /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-2 + modify c.txt 0 + filename=c.txt + text=0 + echo 0 + git add c.txt + modify d.txt 0 + filename=d.txt + text=0 + echo 0 + git add d.txt + modify conflict.txt original version + filename=conflict.txt + text=original version + echo original version + git add conflict.txt + commit -m m⇒0 + TIME=1112911994 + GIT_AUTHOR_DATE=@1112911994 +0000 GIT_COMMITTER_DATE=@1112911994 +0000 git commit -m m⇒0 [master (root-commit) d70e04b] m⇒0 3 files changed, 3 insertions(+) create mode 100644 c.txt create mode 100644 conflict.txt create mode 100644 d.txt + git checkout -b c master -- Switched to a new branch 'c' + seq 9 + modify c.txt 1 + filename=c.txt + text=1 + echo 1 + git add c.txt + modify conflict.txt c version + filename=conflict.txt + text=c version + echo c version + git add conflict.txt [c 2120f40] c⇒1 2 files changed, 2 insertions(+), 2 deletions(-) + commit -m c⇒1 + TIME=1112911995 + GIT_AUTHOR_DATE=@1112911995 +0000 GIT_COMMITTER_DATE=@1112911995 +0000 git commit -m c⇒1 + modify c.txt 2 + filename=c.txt + text=2 + echo 2 + git add c.txt + commit -m c⇒2 + TIME=1112911996 + GIT_AUTHOR_DATE=@1112911996 +0000 GIT_COMMITTER_DATE=@1112911996 +0000 git commit -m c⇒2 [c 90cc7de] c⇒2 1 file changed, 1 insertion(+), 1 deletion(-) [c 2046ed2] c⇒3 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 3 + filename=c.txt + text=3 + echo 3 + git add c.txt + commit -m c⇒3 + TIME=1112911997 + GIT_AUTHOR_DATE=@1112911997 +0000 GIT_COMMITTER_DATE=@1112911997 +0000 git commit -m c⇒3 + modify c.txt 4 + filename=c.txt + text=4 + echo 4 + git add c.txt + commit -m c⇒4 + TIME=1112911998 + GIT_AUTHOR_DATE=@1112911998 +0000 GIT_COMMITTER_DATE=@1112911998 +0000 git commit -m c⇒4 [c 8a2cee9] c⇒4 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 5 + filename=c.txt + text=5 + echo 5 + git add c.txt + commit -m c⇒5 + TIME=1112911999 + GIT_AUTHOR_DATE=@1112911999 +0000 GIT_COMMITTER_DATE=@1112911999 +0000 git commit -m c⇒5 [c ac16a05] c⇒5 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 6 + filename=c.txt + text=6 + echo 6 + git add c.txt + commit -m c⇒6 + TIME=1112912000 + GIT_AUTHOR_DATE=@1112912000 +0000 GIT_COMMITTER_DATE=@1112912000 +0000 git commit -m c⇒6 [c 30dd2ae] c⇒6 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 7 + filename=c.txt + text=7 + echo 7 + git add c.txt [c 0883eb9] c⇒7 1 file changed, 1 insertion(+), 1 deletion(-) + commit -m c⇒7 + TIME=1112912001 + GIT_AUTHOR_DATE=@1112912001 +0000 GIT_COMMITTER_DATE=@1112912001 +0000 git commit -m c⇒7 + modify c.txt 8 + filename=c.txt + text=8 + echo 8 + git add c.txt + commit -m c⇒8 + TIME=1112912002 + GIT_AUTHOR_DATE=@1112912002 +0000 GIT_COMMITTER_DATE=@1112912002 +0000 git commit -m c⇒8 [c f661c06] c⇒8 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 9 + filename=c.txt + text=9 + echo 9 + git add c.txt + commit -m c⇒9 + TIME=1112912003 + GIT_AUTHOR_DATE=@1112912003 +0000 GIT_COMMITTER_DATE=@1112912003 +0000 git commit -m c⇒9 [c 243e8ed] c⇒9 1 file changed, 1 insertion(+), 1 deletion(-) + git checkout -b d master -- Switched to a new branch 'd' + seq 6 + modify d.txt 1 + filename=d.txt + text=1 + echo 1 + git add d.txt + commit -m d⇒1 + TIME=1112912004 + GIT_AUTHOR_DATE=@1112912004 +0000 GIT_COMMITTER_DATE=@1112912004 +0000 git commit -m d⇒1 [d bd5368a] d⇒1 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 2 + filename=d.txt + text=2 + echo 2 + git add d.txt + modify conflict.txt d version + filename=conflict.txt + text=d version + echo d version + git add conflict.txt + commit -m d⇒2 + TIME=1112912005 + GIT_AUTHOR_DATE=@1112912005 +0000 GIT_COMMITTER_DATE=@1112912005 +0000 git commit -m d⇒2 [d 69efde8] d⇒2 2 files changed, 2 insertions(+), 2 deletions(-) + modify d.txt 3 + filename=d.txt + text=3 + echo 3 + git add d.txt + commit -m d⇒3 + TIME=1112912006 + GIT_AUTHOR_DATE=@1112912006 +0000 GIT_COMMITTER_DATE=@1112912006 +0000 git commit -m d⇒3 [d 3169557] d⇒3 1 file changed, 1 insertion(+), 1 deletion(-) [d 86c8052] d⇒4 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 4 + filename=d.txt + text=4 + echo 4 + git add d.txt + commit -m d⇒4 + TIME=1112912007 + GIT_AUTHOR_DATE=@1112912007 +0000 GIT_COMMITTER_DATE=@1112912007 +0000 git commit -m d⇒4 + modify d.txt 5 + filename=d.txt + text=5 + echo 5 + git add d.txt [d 1700773] d⇒5 1 file changed, 1 insertion(+), 1 deletion(-) + commit -m d⇒5 + TIME=1112912008 + GIT_AUTHOR_DATE=@1112912008 +0000 GIT_COMMITTER_DATE=@1112912008 +0000 git commit -m d⇒5 + modify d.txt 6 + filename=d.txt + text=6 + echo 6 + git add d.txt + commit -m d⇒6 + TIME=1112912009 + GIT_AUTHOR_DATE=@1112912009 +0000 GIT_COMMITTER_DATE=@1112912009 +0000 git commit -m d⇒6 [d df2e493] d⇒6 1 file changed, 1 insertion(+), 1 deletion(-) + git checkout c Switched to branch 'c' + git-imerge init --name=c-d d + git-imerge list * c-d + git-imerge diagram --commits --frontier --html=imerge0.html 0 5 9 | | | 0 - ********** - c *????????? *????????? *????????? *????????? 5 - *????????? 6 - *????????? | d 0 5 9 | | | 0 - ********** - c *????????? *????????? *????????? *????????? 5 - *????????? 6 - *????????? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + tee autofill.out + git-imerge autofill Attempting automerge of 9-6...failure. Attempting automerge of 1-1...success. Attempting automerge of 1-4...failure. Attempting automerge of 1-3...failure. Attempting automerge of 1-2...failure. Attempting automerge of 9-1...success. Autofilling 1-1...success. Autofilling 2-1...success. Autofilling 3-1...success. Autofilling 4-1...success. Autofilling 5-1...success. Autofilling 6-1...success. Autofilling 7-1...success. Autofilling 8-1...success. Autofilling 9-1...success. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[0:10,0:2]. Attempting automerge of 9-6...failure. Attempting automerge of 1-2...failure. HEAD is now at 243e8ed c⇒9 Conflict; suggest manual merge of 1-2 + grep -q Traceback autofill.out + grep -q suggest manual merge of 1-2 autofill.out + git-imerge diagram --commits --frontier --html=imerge1.html 0 5 9 | | | 0 - ********** - c *......... *#???????? *????????? *????????? 5 - *????????? 6 - *????????? | d 0 5 9 | | | 0 - ********** - c *--------+ *#???????? *????????? *????????? 5 - *????????? 6 - *????????? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + git-imerge continue --edit Switched to branch 'imerge/c-d' Auto-merging conflict.txt CONFLICT (content): Merge conflict in conflict.txt Original first commit: Automatic merge failed; fix conflicts and then commit the result. commit 2120f40dc39d28052a5279b645124e8ed7e5de73 Author: Loú User Date: Thu Apr 7 22:13:15 2005 +0000 c⇒1 commit 69efde8f66d581a765a3909ffacb9f895f95c345 Author: Loú User Date: Thu Apr 7 22:13:25 2005 +0000 d⇒2 Original second commit: There was a conflict merging commit 1-2, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + echo merged version + git add conflict.txt + git-imerge continue --no-edit [imerge/c-d 617b513] imerge 'c-d': manual merge 1-2 Merge has been recorded for merge 1-2. Attempting automerge of 1-6...success. Autofilling 1-3...success. Autofilling 1-4...success. Autofilling 1-5...success. Autofilling 1-6...success. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[0:2,2:7]. Attempting automerge of 9-6...success. Autofilling 2-6...success. Autofilling 3-6...success. Autofilling 4-6...success. Autofilling 5-6...success. Autofilling 6-6...success. Autofilling 7-6...success. Autofilling 8-6...success. Autofilling 9-2...success. Autofilling 9-3...success. Autofilling 9-4...success. Autofilling 9-5...success. Autofilling 9-6 (first way)...success. Autofilling 9-6 (second way)...success. The two ways of autofilling 9-6 agree. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[1:10,1:7]. Merge is complete! + git-imerge diagram --commits --frontier --html=imerge2.html 0 5 9 | | | 0 - ********** - c *......... **???????. *.???????. *.???????. 5 - *.???????. 6 - *......... | d 0 5 9 | | | 0 - ********** - c *........| **???????| *.???????| *.???????| 5 - *.???????| 6 - *--------+ | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + GIT_EDITOR=cat git-imerge simplify --goal=merge --branch=c-d-merge Merge d into c (using imerge) # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # Date: Fri Mar 27 18:27:10 2026 +0000 # # On branch c-d-merge # Changes to be committed: # modified: conflict.txt # modified: d.txt # [c-d-merge a6e68f7] Merge d into c (using imerge) Date: Fri Mar 27 18:27:10 2026 +0000 + check_tree c-d-merge ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-merge + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-merge^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=rebase --branch=c-d-rebase + check_tree c-d-rebase ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-rebase + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-rebase^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=rebase-with-history --branch=c-d-rebase-with-history + check_tree c-d-rebase-with-history ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-rebase-with-history + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-rebase-with-history^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border --branch=c-d-border + check_tree c-d-border ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-border^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border-with-history --branch=c-d-border-with-history + check_tree c-d-border-with-history ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border-with-history + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-border-with-history^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border-with-history2 --branch=c-d-border-with-history2 + check_tree c-d-border-with-history2 ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border-with-history2 + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-border-with-history2^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge remove + git checkout c Switched to branch 'c' + git-imerge start --goal=full --first-parent --name=c-d d + tee start.out Attempting to merge 1-1...success. Attempting to merge 1-2...conflict. Attempting to merge 2-1...success. Attempting to merge 3-1...success. Attempting to merge 4-1...success. Attempting to merge 5-1...success. Attempting to merge 6-1...success. Attempting to merge 7-1...success. Attempting to merge 8-1...success. Attempting to merge 9-1...success. Previous HEAD position was 2de6c0a imerge 'c-d': automatic merge 9-1 Switched to branch 'imerge/c-d' Auto-merging conflict.txt CONFLICT (content): Merge conflict in conflict.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit 2120f40dc39d28052a5279b645124e8ed7e5de73 Author: Loú User Date: Thu Apr 7 22:13:15 2005 +0000 c⇒1 Original second commit: commit 69efde8f66d581a765a3909ffacb9f895f95c345 Author: Loú User Date: Thu Apr 7 22:13:25 2005 +0000 d⇒2 There was a conflict merging commit 1-2, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + grep -q Traceback start.out + grep -q suggest manual merge of 1-2 autofill.out + git-imerge diagram --commits --frontier --html=imerge3.html 0 5 9 | | | 0 - ********** - c *......... *#???????? *????????? *????????? 5 - *????????? 6 - *????????? | d 0 5 9 | | | 0 - ********** - c *--------+ *#???????? *????????? *????????? 5 - *????????? 6 - *????????? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + echo merged version + git add conflict.txt + GIT_EDITOR=cat git commit imerge 'c-d': manual merge 1-2 # Conflicts: # conflict.txt # # It looks like you may be committing a merge. # If this is not correct, please run # git update-ref -d MERGE_HEAD # and try again. # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # On branch imerge/c-d # All conflicts fixed but you are still merging. # # Changes to be committed: # modified: conflict.txt # modified: d.txt # [imerge/c-d 3c3232e] imerge 'c-d': manual merge 1-2 + git-imerge continue --edit Merge has been recorded for merge 1-2. Attempting to merge 1-3...success. Attempting to merge 1-4...success. Attempting to merge 1-5...success. Attempting to merge 1-6...success. Attempting to merge 2-2...success. Attempting to merge 2-3...success. Attempting to merge 2-4...success. Attempting to merge 2-5...success. Attempting to merge 2-6...success. Attempting to merge 3-2...success. Attempting to merge 3-3...success. Attempting to merge 3-4...success. Attempting to merge 3-5...success. Attempting to merge 3-6...success. Attempting to merge 4-2...success. Attempting to merge 4-3...success. Attempting to merge 4-4...success. Attempting to merge 4-5...success. Attempting to merge 4-6...success. Attempting to merge 5-2...success. Attempting to merge 5-3...success. Attempting to merge 5-4...success. Attempting to merge 5-5...success. Attempting to merge 5-6...success. Attempting to merge 6-2...success. Attempting to merge 6-3...success. Attempting to merge 6-4...success. Attempting to merge 6-5...success. Attempting to merge 6-6...success. Attempting to merge 7-2...success. Attempting to merge 7-3...success. Attempting to merge 7-4...success. Attempting to merge 7-5...success. Attempting to merge 7-6...success. Attempting to merge 8-2...success. Attempting to merge 8-3...success. Attempting to merge 8-4...success. Attempting to merge 8-5...success. Attempting to merge 8-6...success. Attempting to merge 9-2...success. Attempting to merge 9-3...success. Attempting to merge 9-4...success. Attempting to merge 9-5...success. Attempting to merge 9-6...success. Merge is complete! + git-imerge diagram --commits --frontier --html=imerge4.html 0 5 9 | | | 0 - ********** - c *......... **........ *......... *......... 5 - *......... 6 - *......... | d 0 5 9 | | | 0 - ********** - c *........| **.......| *........| *........| 5 - *........| 6 - *--------+ | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + git-imerge finish --branch=c-d-full + check_tree c-d-full ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-full + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-full^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + test_conflict 9-5 + local conflict=9-5 + TMP=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-5 + DESCRIPTION=git-imerge test repository with conflict at 9-5 + init_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-5 git-imerge test repository with conflict at 9-5 + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-5 + local description=git-imerge test repository with conflict at 9-5 + delete_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-5 git-imerge test repository with conflict at 9-5 + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-5 + local description=git-imerge test repository with conflict at 9-5 + test -d /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-5 + mkdir -p /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-5 + git init /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-5 hint: Using 'master' as the name for the initial branch. This default branch name hint: is subject to change. To configure the initial branch name to use in all hint: of your new repositories, which will suppress this warning, call: hint: hint: git config --global init.defaultBranch hint: hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and hint: 'development'. The just-created branch can be renamed via this command: hint: hint: git branch -m Initialized empty Git repository in /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-5/.git/ + echo git-imerge test repository with conflict at 9-5 + printf %s\n /*.out /*.css /*.html + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-5/.git config user.name Loú User + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-5/.git config user.email luser@example.com + TIME=1112911993 + ln -s /build/reproducible-path/git-imerge-1.2.0/imerge.css /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-5 + cd /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-5 + modify c.txt 0 + filename=c.txt + text=0 + echo 0 + git add c.txt + modify d.txt 0 + filename=d.txt + text=0 + echo 0 + git add d.txt + modify conflict.txt original version + filename=conflict.txt + text=original version + echo original version + git add conflict.txt + commit -m m⇒0 + TIME=1112911994 + GIT_AUTHOR_DATE=@1112911994 +0000 GIT_COMMITTER_DATE=@1112911994 +0000 git commit -m m⇒0 [master (root-commit) d70e04b] m⇒0 3 files changed, 3 insertions(+) create mode 100644 c.txt create mode 100644 conflict.txt create mode 100644 d.txt + git checkout -b c master -- Switched to a new branch 'c' + seq 9 + modify c.txt 1 + filename=c.txt + text=1 + echo 1 + git add c.txt + commit -m c⇒1 + TIME=1112911995 + GIT_AUTHOR_DATE=@1112911995 +0000 GIT_COMMITTER_DATE=@1112911995 +0000 git commit -m c⇒1 [c 89e2141] c⇒1 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 2 + filename=c.txt + text=2 + echo 2 + git add c.txt + commit -m c⇒2 + TIME=1112911996 + GIT_AUTHOR_DATE=@1112911996 +0000 GIT_COMMITTER_DATE=@1112911996 +0000 git commit -m c⇒2 [c 7c431f2] c⇒2 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 3 + filename=c.txt + text=3 + echo 3 + git add c.txt + commit -m c⇒3 + TIME=1112911997 + GIT_AUTHOR_DATE=@1112911997 +0000 GIT_COMMITTER_DATE=@1112911997 +0000 git commit -m c⇒3 [c f02ab24] c⇒3 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 4 + filename=c.txt + text=4 + echo 4 + git add c.txt + commit -m c⇒4 + TIME=1112911998 + GIT_AUTHOR_DATE=@1112911998 +0000 GIT_COMMITTER_DATE=@1112911998 +0000 git commit -m c⇒4 [c ed9122f] c⇒4 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 5 + filename=c.txt + text=5 + echo 5 + git add c.txt + commit -m c⇒5 + TIME=1112911999 + GIT_AUTHOR_DATE=@1112911999 +0000 GIT_COMMITTER_DATE=@1112911999 +0000 git commit -m c⇒5 [c 1d3bf09] c⇒5 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 6 + filename=c.txt + text=6 + echo 6 + git add c.txt + commit -m c⇒6 + TIME=1112912000 + GIT_AUTHOR_DATE=@1112912000 +0000 GIT_COMMITTER_DATE=@1112912000 +0000 git commit -m c⇒6 [c f999ecd] c⇒6 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 7 + filename=c.txt + text=7 + echo 7 + git add c.txt + commit -m c⇒7 + TIME=1112912001 + GIT_AUTHOR_DATE=@1112912001 +0000 GIT_COMMITTER_DATE=@1112912001 +0000 git commit -m c⇒7 [c 7050a8a] c⇒7 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 8 + filename=c.txt + text=8 + echo 8 + git add c.txt + commit -m c⇒8 + TIME=1112912002 + GIT_AUTHOR_DATE=@1112912002 +0000 GIT_COMMITTER_DATE=@1112912002 +0000 git commit -m c⇒8 [c 9732e77] c⇒8 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 9 + filename=c.txt + text=9 + echo 9 + git add c.txt + modify conflict.txt c version + filename=conflict.txt + text=c version + echo c version + git add conflict.txt + commit -m c⇒9 + TIME=1112912003 + GIT_AUTHOR_DATE=@1112912003 +0000 GIT_COMMITTER_DATE=@1112912003 +0000 git commit -m c⇒9 [c 73a5eed] c⇒9 2 files changed, 2 insertions(+), 2 deletions(-) + git checkout -b d master -- Switched to a new branch 'd' + seq 6 + modify d.txt 1 + filename=d.txt + text=1 + echo 1 + git add d.txt + commit -m d⇒1 + TIME=1112912004 + GIT_AUTHOR_DATE=@1112912004 +0000 GIT_COMMITTER_DATE=@1112912004 +0000 git commit -m d⇒1 [d bd5368a] d⇒1 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 2 + filename=d.txt + text=2 + echo 2 + git add d.txt + commit -m d⇒2 + TIME=1112912005 + GIT_AUTHOR_DATE=@1112912005 +0000 GIT_COMMITTER_DATE=@1112912005 +0000 git commit -m d⇒2 [d 93e27e6] d⇒2 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 3 + filename=d.txt + text=3 + echo 3 + git add d.txt + commit -m d⇒3 + TIME=1112912006 + GIT_AUTHOR_DATE=@1112912006 +0000 GIT_COMMITTER_DATE=@1112912006 +0000 git commit -m d⇒3 [d 133f385] d⇒3 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 4 + filename=d.txt + text=4 + echo 4 + git add d.txt + commit -m d⇒4 + TIME=1112912007 + GIT_AUTHOR_DATE=@1112912007 +0000 GIT_COMMITTER_DATE=@1112912007 +0000 git commit -m d⇒4 [d 586472a] d⇒4 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 5 + filename=d.txt + text=5 + echo 5 + git add d.txt + modify conflict.txt d version + filename=conflict.txt + text=d version + echo d version + git add conflict.txt + commit -m d⇒5 + TIME=1112912008 + GIT_AUTHOR_DATE=@1112912008 +0000 GIT_COMMITTER_DATE=@1112912008 +0000 git commit -m d⇒5 [d 0a6f956] d⇒5 2 files changed, 2 insertions(+), 2 deletions(-) + modify d.txt 6 + filename=d.txt + text=6 + echo 6 + git add d.txt + commit -m d⇒6 + TIME=1112912009 + GIT_AUTHOR_DATE=@1112912009 +0000 GIT_COMMITTER_DATE=@1112912009 +0000 git commit -m d⇒6 [d bfb30f0] d⇒6 1 file changed, 1 insertion(+), 1 deletion(-) + git checkout c Switched to branch 'c' + git-imerge init --name=c-d d + git-imerge list * c-d + git-imerge diagram --commits --frontier --html=imerge0.html 0 5 9 | | | 0 - ********** - c *????????? *????????? *????????? *????????? 5 - *????????? 6 - *????????? | d 0 5 9 | | | 0 - ********** - c *????????? *????????? *????????? *????????? 5 - *????????? 6 - *????????? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + git-imerge autofill + tee autofill.out Attempting automerge of 9-6...failure. Attempting automerge of 1-1...success. Attempting automerge of 1-4...success. Attempting automerge of 1-6...success. Attempting automerge of 9-6...failure. Attempting automerge of 5-6...success. Attempting automerge of 7-6...success. Attempting automerge of 8-6...success. Attempting automerge of 9-1...success. Attempting automerge of 9-4...success. Attempting automerge of 9-5...failure. Autofilling 1-6...success. Autofilling 2-6...success. Autofilling 3-6...success. Autofilling 4-6...success. Autofilling 5-6...success. Autofilling 6-6...success. Autofilling 7-6...success. Autofilling 8-1...success. Autofilling 8-2...success. Autofilling 8-3...success. Autofilling 8-4...success. Autofilling 8-5...success. Autofilling 8-6 (first way)...success. Autofilling 8-6 (second way)...success. The two ways of autofilling 8-6 agree. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[0:9,0:7]. Autofilling 9-1...success. Autofilling 9-2...success. Autofilling 9-3...success. Autofilling 9-4...success. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[8:10,0:5]. Attempting automerge of 9-6...failure. Attempting automerge of 9-5...failure. HEAD is now at 73a5eed c⇒9 Conflict; suggest manual merge of 9-5 + grep -q Traceback autofill.out + grep -q suggest manual merge of 9-5 autofill.out + git-imerge diagram --commits --frontier --html=imerge1.html 0 5 9 | | | 0 - ********** - c *???????.. *???????.. *???????.. *???????.. 5 - *???????.# 6 - *........? | d 0 5 9 | | | 0 - ********** - c *???????.| *???????.| *???????.| *???????.+ 5 - *???????|# 6 - *-------+? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + git-imerge continue --edit Switched to branch 'imerge/c-d' Auto-merging conflict.txt CONFLICT (content): Merge conflict in conflict.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit 73a5eedb087a0f656d730831b8def7943b40f3cf Author: Loú User Date: Thu Apr 7 22:13:23 2005 +0000 c⇒9 Original second commit: commit 0a6f956bd00cebb5567e80d6ee247a51128ad36f Author: Loú User Date: Thu Apr 7 22:13:28 2005 +0000 d⇒5 There was a conflict merging commit 9-5, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + echo merged version + git add conflict.txt + git-imerge continue --no-edit [imerge/c-d 0928625] imerge 'c-d': manual merge 9-5 Merge has been recorded for merge 9-5. Attempting automerge of 9-6...success. Autofilling 9-6...success. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[8:10,5:7]. Merge is complete! + git-imerge diagram --commits --frontier --html=imerge2.html 0 5 9 | | | 0 - ********** - c *???????.. *???????.. *???????.. *???????.. 5 - *???????.* 6 - *......... | d 0 5 9 | | | 0 - ********** - c *???????.| *???????.| *???????.| *???????.| 5 - *???????.* 6 - *--------+ | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + GIT_EDITOR=cat git-imerge simplify --goal=merge --branch=c-d-merge Merge d into c (using imerge) # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # Date: Fri Mar 27 18:27:16 2026 +0000 # # On branch c-d-merge # Changes to be committed: # modified: conflict.txt # modified: d.txt # [c-d-merge fd36d87] Merge d into c (using imerge) Date: Fri Mar 27 18:27:16 2026 +0000 + check_tree c-d-merge ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-merge + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-merge^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=rebase --branch=c-d-rebase + check_tree c-d-rebase ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-rebase + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-rebase^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=rebase-with-history --branch=c-d-rebase-with-history + check_tree c-d-rebase-with-history ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-rebase-with-history + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-rebase-with-history^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border --branch=c-d-border + check_tree c-d-border ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-border^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border-with-history --branch=c-d-border-with-history + check_tree c-d-border-with-history ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border-with-history + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-border-with-history^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border-with-history2 --branch=c-d-border-with-history2 + check_tree c-d-border-with-history2 ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border-with-history2 + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-border-with-history2^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge remove + git checkout c Switched to branch 'c' + + git-imerge start --goal=full --first-parent --name=c-d d tee start.out Attempting to merge 1-1...success. Attempting to merge 1-2...success. Attempting to merge 1-3...success. Attempting to merge 1-4...success. Attempting to merge 1-5...success. Attempting to merge 1-6...success. Attempting to merge 2-1...success. Attempting to merge 2-2...success. Attempting to merge 2-3...success. Attempting to merge 2-4...success. Attempting to merge 2-5...success. Attempting to merge 2-6...success. Attempting to merge 3-1...success. Attempting to merge 3-2...success. Attempting to merge 3-3...success. Attempting to merge 3-4...success. Attempting to merge 3-5...success. Attempting to merge 3-6...success. Attempting to merge 4-1...success. Attempting to merge 4-2...success. Attempting to merge 4-3...success. Attempting to merge 4-4...success. Attempting to merge 4-5...success. Attempting to merge 4-6...success. Attempting to merge 5-1...success. Attempting to merge 5-2...success. Attempting to merge 5-3...success. Attempting to merge 5-4...success. Attempting to merge 5-5...success. Attempting to merge 5-6...success. Attempting to merge 6-1...success. Attempting to merge 6-2...success. Attempting to merge 6-3...success. Attempting to merge 6-4...success. Attempting to merge 6-5...success. Attempting to merge 6-6...success. Attempting to merge 7-1...success. Attempting to merge 7-2...success. Attempting to merge 7-3...success. Attempting to merge 7-4...success. Attempting to merge 7-5...success. Attempting to merge 7-6...success. Attempting to merge 8-1...success. Attempting to merge 8-2...success. Attempting to merge 8-3...success. Attempting to merge 8-4...success. Attempting to merge 8-5...success. Attempting to merge 8-6...success. Attempting to merge 9-1...success. Attempting to merge 9-2...success. Attempting to merge 9-3...success. Attempting to merge 9-4...success. Attempting to merge 9-5...conflict. Switched to branch 'imerge/c-d' Auto-merging conflict.txt CONFLICT (content): Merge conflict in conflict.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit 73a5eedb087a0f656d730831b8def7943b40f3cf Author: Loú User Date: Thu Apr 7 22:13:23 2005 +0000 c⇒9 Original second commit: commit 0a6f956bd00cebb5567e80d6ee247a51128ad36f Author: Loú User Date: Thu Apr 7 22:13:28 2005 +0000 d⇒5 There was a conflict merging commit 9-5, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + grep -q Traceback start.out + grep -q suggest manual merge of 9-5 autofill.out + git-imerge diagram --commits --frontier --html=imerge3.html 0 5 9 | | | 0 - ********** - c *......... *......... *......... *......... 5 - *........# 6 - *........? | d 0 5 9 | | | 0 - ********** - c *........| *........| *........| *........+ 5 - *.......|# 6 - *-------+? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + echo merged version + git add conflict.txt + GIT_EDITOR=cat git commit imerge 'c-d': manual merge 9-5 # Conflicts: # conflict.txt # # It looks like you may be committing a merge. # If this is not correct, please run # git update-ref -d MERGE_HEAD # and try again. # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # On branch imerge/c-d # All conflicts fixed but you are still merging. # # Changes to be committed: # modified: conflict.txt # modified: d.txt # [imerge/c-d 79d797b] imerge 'c-d': manual merge 9-5 + git-imerge continue --edit Merge has been recorded for merge 9-5. Attempting to merge 9-6...success. Merge is complete! + git-imerge diagram --commits --frontier --html=imerge4.html 0 5 9 | | | 0 - ********** - c *......... *......... *......... *......... 5 - *........* 6 - *......... | d 0 5 9 | | | 0 - ********** - c *........| *........| *........| *........| 5 - *........* 6 - *--------+ | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + git-imerge finish --branch=c-d-full + check_tree c-d-full ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-full + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-full^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + test_conflict 5-1 + local conflict=5-1 + TMP=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-5-1 + DESCRIPTION=git-imerge test repository with conflict at 5-1 + init_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-5-1 git-imerge test repository with conflict at 5-1 + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-5-1 + local description=git-imerge test repository with conflict at 5-1 + delete_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-5-1 git-imerge test repository with conflict at 5-1 + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-5-1 + local description=git-imerge test repository with conflict at 5-1 + test -d /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-5-1 + mkdir -p /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-5-1 + git init /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-5-1 hint: Using 'master' as the name for the initial branch. This default branch name hint: is subject to change. To configure the initial branch name to use in all hint: of your new repositories, which will suppress this warning, call: hint: hint: git config --global init.defaultBranch hint: hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and hint: 'development'. The just-created branch can be renamed via this command: hint: hint: git branch -m Initialized empty Git repository in /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-5-1/.git/ + echo git-imerge test repository with conflict at 5-1 + printf %s\n /*.out /*.css /*.html + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-5-1/.git config user.name Loú User + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-5-1/.git config user.email luser@example.com + TIME=1112911993 + ln -s /build/reproducible-path/git-imerge-1.2.0/imerge.css /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-5-1 + cd /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-5-1 + modify c.txt 0 + filename=c.txt + text=0 + echo 0 + git add c.txt + modify d.txt 0 + filename=d.txt + text=0 + echo 0 + git add d.txt + modify conflict.txt original version + filename=conflict.txt + text=original version + echo original version + git add conflict.txt + commit -m m⇒0 + TIME=1112911994 + GIT_AUTHOR_DATE=@1112911994 +0000 GIT_COMMITTER_DATE=@1112911994 +0000 git commit -m m⇒0 [master (root-commit) d70e04b] m⇒0 3 files changed, 3 insertions(+) create mode 100644 c.txt create mode 100644 conflict.txt create mode 100644 d.txt + git checkout -b c master -- Switched to a new branch 'c' + seq 9 + modify c.txt 1 + filename=c.txt + text=1 + echo 1 + git add c.txt + commit -m c⇒1 + TIME=1112911995 + GIT_AUTHOR_DATE=@1112911995 +0000 GIT_COMMITTER_DATE=@1112911995 +0000 git commit -m c⇒1 [c 89e2141] c⇒1 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 2 + filename=c.txt + text=2 + echo 2 + git add c.txt + commit -m c⇒2 + TIME=1112911996 + GIT_AUTHOR_DATE=@1112911996 +0000 GIT_COMMITTER_DATE=@1112911996 +0000 git commit -m c⇒2 [c 7c431f2] c⇒2 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 3 + filename=c.txt + text=3 + echo 3 + git add c.txt + commit -m c⇒3 + TIME=1112911997 + GIT_AUTHOR_DATE=@1112911997 +0000 GIT_COMMITTER_DATE=@1112911997 +0000 git commit -m c⇒3 [c f02ab24] c⇒3 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 4 + filename=c.txt + text=4 + echo 4 + git add c.txt + commit -m c⇒4 + TIME=1112911998 + GIT_AUTHOR_DATE=@1112911998 +0000 GIT_COMMITTER_DATE=@1112911998 +0000 git commit -m c⇒4 [c ed9122f] c⇒4 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 5 + filename=c.txt + text=5 + echo 5 + git add c.txt + modify conflict.txt c version + filename=conflict.txt + text=c version + echo c version + git add conflict.txt + commit -m c⇒5 + TIME=1112911999 + GIT_AUTHOR_DATE=@1112911999 +0000 GIT_COMMITTER_DATE=@1112911999 +0000 git commit -m c⇒5 [c 7e31f25] c⇒5 2 files changed, 2 insertions(+), 2 deletions(-) + modify c.txt 6 + filename=c.txt + text=6 + echo 6 + git add c.txt + commit -m c⇒6 + TIME=1112912000 + GIT_AUTHOR_DATE=@1112912000 +0000 GIT_COMMITTER_DATE=@1112912000 +0000 git commit -m c⇒6 [c df3c57a] c⇒6 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 7 + filename=c.txt + text=7 + echo 7 + git add c.txt + commit -m c⇒7 + TIME=1112912001 + GIT_AUTHOR_DATE=@1112912001 +0000 GIT_COMMITTER_DATE=@1112912001 +0000 git commit -m c⇒7 [c ea32d81] c⇒7 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 8 + filename=c.txt + text=8 + echo 8 + git add c.txt + commit -m c⇒8 + TIME=1112912002 + GIT_AUTHOR_DATE=@1112912002 +0000 GIT_COMMITTER_DATE=@1112912002 +0000 git commit -m c⇒8 [c 44473d6] c⇒8 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 9 + filename=c.txt + text=9 + echo 9 + git add c.txt + commit -m c⇒9 + TIME=1112912003 + GIT_AUTHOR_DATE=@1112912003 +0000 GIT_COMMITTER_DATE=@1112912003 +0000 git commit -m c⇒9 [c d8d80cf] c⇒9 1 file changed, 1 insertion(+), 1 deletion(-) + git checkout -b d master -- Switched to a new branch 'd' + seq 6 + modify d.txt 1 + filename=d.txt + text=1 + echo 1 + git add d.txt + modify conflict.txt d version + filename=conflict.txt + text=d version + echo d version + git add conflict.txt + commit -m d⇒1 + TIME=1112912004 + GIT_AUTHOR_DATE=@1112912004 +0000 GIT_COMMITTER_DATE=@1112912004 +0000 git commit -m d⇒1 [d ac0427a] d⇒1 2 files changed, 2 insertions(+), 2 deletions(-) + modify d.txt 2 + filename=d.txt + text=2 + echo 2 + git add d.txt + commit -m d⇒2 + TIME=1112912005 + GIT_AUTHOR_DATE=@1112912005 +0000 GIT_COMMITTER_DATE=@1112912005 +0000 git commit -m d⇒2 [d 43c38c0] d⇒2 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 3 + filename=d.txt + text=3 + echo 3 + git add d.txt + commit -m d⇒3 + TIME=1112912006 + GIT_AUTHOR_DATE=@1112912006 +0000 GIT_COMMITTER_DATE=@1112912006 +0000 git commit -m d⇒3 [d 0260058] d⇒3 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 4 + filename=d.txt + text=4 + echo 4 + git add d.txt + commit -m d⇒4 + TIME=1112912007 + GIT_AUTHOR_DATE=@1112912007 +0000 GIT_COMMITTER_DATE=@1112912007 +0000 git commit -m d⇒4 [d 40fef44] d⇒4 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 5 + filename=d.txt + text=5 + echo 5 + git add d.txt + commit -m d⇒5 + TIME=1112912008 + GIT_AUTHOR_DATE=@1112912008 +0000 GIT_COMMITTER_DATE=@1112912008 +0000 git commit -m d⇒5 [d b080a65] d⇒5 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 6 + filename=d.txt + text=6 + echo 6 + git add d.txt + commit -m d⇒6 + TIME=1112912009 + GIT_AUTHOR_DATE=@1112912009 +0000 GIT_COMMITTER_DATE=@1112912009 +0000 git commit -m d⇒6 [d 200ce5c] d⇒6 1 file changed, 1 insertion(+), 1 deletion(-) + git checkout c Switched to branch 'c' + git-imerge init --name=c-d d + git-imerge list * c-d + git-imerge diagram --commits --frontier --html=imerge0.html 0 5 9 | | | 0 - ********** - c *????????? *????????? *????????? *????????? 5 - *????????? 6 - *????????? | d 0 5 9 | | | 0 - ********** - c *????????? *????????? *????????? *????????? 5 - *????????? 6 - *????????? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + git-imerge autofill + tee autofill.out Attempting automerge of 9-6...failure. Attempting automerge of 1-1...success. Attempting automerge of 1-4...success. Attempting automerge of 1-6...success. Attempting automerge of 9-6...failure. Attempting automerge of 5-6...failure. Attempting automerge of 3-6...success. Attempting automerge of 4-6...success. Attempting automerge of 5-1...failure. Autofilling 1-6...success. Autofilling 2-6...success. Autofilling 3-6...success. Autofilling 4-1...success. Autofilling 4-2...success. Autofilling 4-3...success. Autofilling 4-4...success. Autofilling 4-5...success. Autofilling 4-6 (first way)...success. Autofilling 4-6 (second way)...success. The two ways of autofilling 4-6 agree. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[0:5,0:7]. Attempting automerge of 9-6...failure. Attempting automerge of 5-1...failure. HEAD is now at d8d80cf c⇒9 Conflict; suggest manual merge of 5-1 + grep -q Traceback autofill.out + grep -q suggest manual merge of 5-1 autofill.out + git-imerge diagram --commits --frontier --html=imerge1.html 0 5 9 | | | 0 - ********** - c *???.#???? *???.????? *???.????? *???.????? 5 - *???.????? 6 - *....????? | d 0 5 9 | | | 0 - ********** - c *???|#???? *???|????? *???|????? *???|????? 5 - *???|????? 6 - *---+????? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + git-imerge continue --edit Switched to branch 'imerge/c-d' Auto-merging conflict.txt CONFLICT (content): Merge conflict in conflict.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit 7e31f254c318decc434628f023dac0703f3d2b9e Author: Loú User Date: Thu Apr 7 22:13:19 2005 +0000 c⇒5 Original second commit: commit ac0427a285b64f2815ebd6eb83880f309600d0c7 Author: Loú User Date: Thu Apr 7 22:13:24 2005 +0000 d⇒1 There was a conflict merging commit 5-1, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + echo merged version + git add conflict.txt + git-imerge continue --no-edit [imerge/c-d 8d2d1da] imerge 'c-d': manual merge 5-1 Merge has been recorded for merge 5-1. Attempting automerge of 5-6...success. Autofilling 5-2...success. Autofilling 5-3...success. Autofilling 5-4...success. Autofilling 5-5...success. Autofilling 5-6...success. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[4:6,1:7]. Attempting automerge of 9-6...success. Autofilling 6-6...success. Autofilling 7-6...success. Autofilling 8-6...success. Autofilling 9-1...success. Autofilling 9-2...success. Autofilling 9-3...success. Autofilling 9-4...success. Autofilling 9-5...success. Autofilling 9-6 (first way)...success. Autofilling 9-6 (second way)...success. The two ways of autofilling 9-6 agree. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[5:10,0:7]. Merge is complete! + git-imerge diagram --commits --frontier --html=imerge2.html 0 5 9 | | | 0 - ********** - c *???.*???. *???..???. *???..???. *???..???. 5 - *???..???. 6 - *......... | d 0 5 9 | | | 0 - ********** - c *???.*???| *???..???| *???..???| *???..???| 5 - *???..???| 6 - *--------+ | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + GIT_EDITOR=cat git-imerge simplify --goal=merge --branch=c-d-merge Merge d into c (using imerge) # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # Date: Fri Mar 27 18:27:23 2026 +0000 # # On branch c-d-merge # Changes to be committed: # modified: conflict.txt # modified: d.txt # [c-d-merge 22e5fc3] Merge d into c (using imerge) Date: Fri Mar 27 18:27:23 2026 +0000 + check_tree c-d-merge ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-merge + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-merge^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=rebase --branch=c-d-rebase + check_tree c-d-rebase ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-rebase + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-rebase^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=rebase-with-history --branch=c-d-rebase-with-history + check_tree c-d-rebase-with-history ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-rebase-with-history + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-rebase-with-history^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border --branch=c-d-border + check_tree c-d-border ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-border^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border-with-history --branch=c-d-border-with-history + check_tree c-d-border-with-history ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border-with-history + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-border-with-history^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border-with-history2 --branch=c-d-border-with-history2 + check_tree c-d-border-with-history2 ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border-with-history2 + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-border-with-history2^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge remove + git checkout c Switched to branch 'c' + git-imerge start --goal=full --first-parent --name=c-d d + tee start.out Attempting to merge 1-1...success. Attempting to merge 1-2...success. Attempting to merge 1-3...success. Attempting to merge 1-4...success. Attempting to merge 1-5...success. Attempting to merge 1-6...success. Attempting to merge 2-1...success. Attempting to merge 2-2...success. Attempting to merge 2-3...success. Attempting to merge 2-4...success. Attempting to merge 2-5...success. Attempting to merge 2-6...success. Attempting to merge 3-1...success. Attempting to merge 3-2...success. Attempting to merge 3-3...success. Attempting to merge 3-4...success. Attempting to merge 3-5...success. Attempting to merge 3-6...success. Attempting to merge 4-1...success. Attempting to merge 4-2...success. Attempting to merge 4-3...success. Attempting to merge 4-4...success. Attempting to merge 4-5...success. Attempting to merge 4-6...success. Attempting to merge 5-1...conflict. Switched to branch 'imerge/c-d' Auto-merging conflict.txt CONFLICT (content): Merge conflict in conflict.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit 7e31f254c318decc434628f023dac0703f3d2b9e Author: Loú User Date: Thu Apr 7 22:13:19 2005 +0000 c⇒5 Original second commit: commit ac0427a285b64f2815ebd6eb83880f309600d0c7 Author: Loú User Date: Thu Apr 7 22:13:24 2005 +0000 d⇒1 There was a conflict merging commit 5-1, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + grep -q Traceback start.out + grep -q suggest manual merge of 5-1 autofill.out + git-imerge diagram --commits --frontier --html=imerge3.html 0 5 9 | | | 0 - ********** - c *....#???? *....????? *....????? *....????? 5 - *....????? 6 - *....????? | d 0 5 9 | | | 0 - ********** - c *...|#???? *...|????? *...|????? *...|????? 5 - *...|????? 6 - *---+????? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + echo merged version + git add conflict.txt + GIT_EDITOR=cat git commit imerge 'c-d': manual merge 5-1 # Conflicts: # conflict.txt # # It looks like you may be committing a merge. # If this is not correct, please run # git update-ref -d MERGE_HEAD # and try again. # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # On branch imerge/c-d # All conflicts fixed but you are still merging. # # Changes to be committed: # modified: conflict.txt # modified: d.txt # [imerge/c-d a8a4ce2] imerge 'c-d': manual merge 5-1 + git-imerge continue --edit Merge has been recorded for merge 5-1. Attempting to merge 5-2...success. Attempting to merge 5-3...success. Attempting to merge 5-4...success. Attempting to merge 5-5...success. Attempting to merge 5-6...success. Attempting to merge 6-1...success. Attempting to merge 6-2...success. Attempting to merge 6-3...success. Attempting to merge 6-4...success. Attempting to merge 6-5...success. Attempting to merge 6-6...success. Attempting to merge 7-1...success. Attempting to merge 7-2...success. Attempting to merge 7-3...success. Attempting to merge 7-4...success. Attempting to merge 7-5...success. Attempting to merge 7-6...success. Attempting to merge 8-1...success. Attempting to merge 8-2...success. Attempting to merge 8-3...success. Attempting to merge 8-4...success. Attempting to merge 8-5...success. Attempting to merge 8-6...success. Attempting to merge 9-1...success. Attempting to merge 9-2...success. Attempting to merge 9-3...success. Attempting to merge 9-4...success. Attempting to merge 9-5...success. Attempting to merge 9-6...success. Merge is complete! + git-imerge diagram --commits --frontier --html=imerge4.html 0 5 9 | | | 0 - ********** - c *....*.... *......... *......... *......... 5 - *......... 6 - *......... | d 0 5 9 | | | 0 - ********** - c *....*...| *........| *........| *........| 5 - *........| 6 - *--------+ | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + git-imerge finish --branch=c-d-full + check_tree c-d-full ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-full + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-full^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + test_conflict 6-6 + local conflict=6-6 + TMP=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-6-6 + DESCRIPTION=git-imerge test repository with conflict at 6-6 + init_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-6-6 git-imerge test repository with conflict at 6-6 + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-6-6 + local description=git-imerge test repository with conflict at 6-6 + delete_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-6-6 git-imerge test repository with conflict at 6-6 + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-6-6 + local description=git-imerge test repository with conflict at 6-6 + test -d /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-6-6 + mkdir -p /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-6-6 + git init /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-6-6 hint: Using 'master' as the name for the initial branch. This default branch name hint: is subject to change. To configure the initial branch name to use in all hint: of your new repositories, which will suppress this warning, call: hint: hint: git config --global init.defaultBranch hint: hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and hint: 'development'. The just-created branch can be renamed via this command: hint: hint: git branch -m Initialized empty Git repository in /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-6-6/.git/ + echo git-imerge test repository with conflict at 6-6 + printf %s\n /*.out /*.css /*.html + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-6-6/.git config user.name Loú User + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-6-6/.git config user.email luser@example.com + TIME=1112911993 + ln -s /build/reproducible-path/git-imerge-1.2.0/imerge.css /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-6-6 + cd /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-6-6 + modify c.txt 0 + filename=c.txt + text=0 + echo 0 + git add c.txt + modify d.txt 0 + filename=d.txt + text=0 + echo 0 + git add d.txt + modify conflict.txt original version + filename=conflict.txt + text=original version + echo original version + git add conflict.txt + commit -m m⇒0 + TIME=1112911994 + GIT_AUTHOR_DATE=@1112911994 +0000 GIT_COMMITTER_DATE=@1112911994 +0000 git commit -m m⇒0 [master (root-commit) d70e04b] m⇒0 3 files changed, 3 insertions(+) create mode 100644 c.txt create mode 100644 conflict.txt create mode 100644 d.txt + git checkout -b c master -- Switched to a new branch 'c' + seq 9 + modify c.txt 1 + filename=c.txt + text=1 + echo 1 + git add c.txt + commit -m c⇒1 + TIME=1112911995 + GIT_AUTHOR_DATE=@1112911995 +0000 GIT_COMMITTER_DATE=@1112911995 +0000 git commit -m c⇒1 [c 89e2141] c⇒1 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 2 + filename=c.txt + text=2 + echo 2 + git add c.txt + commit -m c⇒2 + TIME=1112911996 + GIT_AUTHOR_DATE=@1112911996 +0000 GIT_COMMITTER_DATE=@1112911996 +0000 git commit -m c⇒2 [c 7c431f2] c⇒2 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 3 + filename=c.txt + text=3 + echo 3 + git add c.txt + commit -m c⇒3 + TIME=1112911997 + GIT_AUTHOR_DATE=@1112911997 +0000 GIT_COMMITTER_DATE=@1112911997 +0000 git commit -m c⇒3 [c f02ab24] c⇒3 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 4 + filename=c.txt + text=4 + echo 4 + git add c.txt + commit -m c⇒4 + TIME=1112911998 + GIT_AUTHOR_DATE=@1112911998 +0000 GIT_COMMITTER_DATE=@1112911998 +0000 git commit -m c⇒4 [c ed9122f] c⇒4 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 5 + filename=c.txt + text=5 + echo 5 + git add c.txt + commit -m c⇒5 + TIME=1112911999 + GIT_AUTHOR_DATE=@1112911999 +0000 GIT_COMMITTER_DATE=@1112911999 +0000 git commit -m c⇒5 [c 1d3bf09] c⇒5 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 6 + filename=c.txt + text=6 + echo 6 + git add c.txt + modify conflict.txt c version + filename=conflict.txt + text=c version + echo c version + git add conflict.txt + commit -m c⇒6 + TIME=1112912000 + GIT_AUTHOR_DATE=@1112912000 +0000 GIT_COMMITTER_DATE=@1112912000 +0000 git commit -m c⇒6 [c fe4fed8] c⇒6 2 files changed, 2 insertions(+), 2 deletions(-) + modify c.txt 7 + filename=c.txt + text=7 + echo 7 + git add c.txt + commit -m c⇒7 + TIME=1112912001 + GIT_AUTHOR_DATE=@1112912001 +0000 GIT_COMMITTER_DATE=@1112912001 +0000 git commit -m c⇒7 [c ec255ea] c⇒7 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 8 + filename=c.txt + text=8 + echo 8 + git add c.txt + commit -m c⇒8 + TIME=1112912002 + GIT_AUTHOR_DATE=@1112912002 +0000 GIT_COMMITTER_DATE=@1112912002 +0000 git commit -m c⇒8 [c 7459ac3] c⇒8 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 9 + filename=c.txt + text=9 + echo 9 + git add c.txt + commit -m c⇒9 + TIME=1112912003 + GIT_AUTHOR_DATE=@1112912003 +0000 GIT_COMMITTER_DATE=@1112912003 +0000 git commit -m c⇒9 [c 70408c8] c⇒9 1 file changed, 1 insertion(+), 1 deletion(-) + git checkout -b d master -- Switched to a new branch 'd' + seq 6 + modify d.txt 1 + filename=d.txt + text=1 + echo 1 + git add d.txt + commit -m d⇒1 + TIME=1112912004 + GIT_AUTHOR_DATE=@1112912004 +0000 GIT_COMMITTER_DATE=@1112912004 +0000 git commit -m d⇒1 [d bd5368a] d⇒1 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 2 + filename=d.txt + text=2 + echo 2 + git add d.txt + commit -m d⇒2 + TIME=1112912005 + GIT_AUTHOR_DATE=@1112912005 +0000 GIT_COMMITTER_DATE=@1112912005 +0000 git commit -m d⇒2 [d 93e27e6] d⇒2 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 3 + filename=d.txt + text=3 + echo 3 + git add d.txt + commit -m d⇒3 + TIME=1112912006 + GIT_AUTHOR_DATE=@1112912006 +0000 GIT_COMMITTER_DATE=@1112912006 +0000 git commit -m d⇒3 [d 133f385] d⇒3 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 4 + filename=d.txt + text=4 + echo 4 + git add d.txt + commit -m d⇒4 + TIME=1112912007 + GIT_AUTHOR_DATE=@1112912007 +0000 GIT_COMMITTER_DATE=@1112912007 +0000 git commit -m d⇒4 [d 586472a] d⇒4 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 5 + filename=d.txt + text=5 + echo 5 + git add d.txt + commit -m d⇒5 + TIME=1112912008 + GIT_AUTHOR_DATE=@1112912008 +0000 GIT_COMMITTER_DATE=@1112912008 +0000 git commit -m d⇒5 [d 9522207] d⇒5 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 6 + filename=d.txt + text=6 + echo 6 + git add d.txt + modify conflict.txt d version + filename=conflict.txt + text=d version + echo d version + git add conflict.txt + commit -m d⇒6 + TIME=1112912009 + GIT_AUTHOR_DATE=@1112912009 +0000 GIT_COMMITTER_DATE=@1112912009 +0000 git commit -m d⇒6 [d f7e451a] d⇒6 2 files changed, 2 insertions(+), 2 deletions(-) + git checkout c Switched to branch 'c' + git-imerge init --name=c-d d + git-imerge list * c-d + git-imerge diagram --commits --frontier --html=imerge0.html 0 5 9 | | | 0 - ********** - c *????????? *????????? *????????? *????????? 5 - *????????? 6 - *????????? | d 0 5 9 | | | 0 - ********** - c *????????? *????????? *????????? *????????? 5 - *????????? 6 - *????????? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + git-imerge autofill + tee autofill.out Attempting automerge of 9-6...failure. Attempting automerge of 1-1...success. Attempting automerge of 1-4...success. Attempting automerge of 1-6...success. Attempting automerge of 9-6...failure. Attempting automerge of 5-6...success. Attempting automerge of 7-6...failure. Attempting automerge of 6-6...failure. Attempting automerge of 6-1...success. Attempting automerge of 6-4...success. Attempting automerge of 6-5...success. Attempting automerge of 9-5...success. Autofilling 1-6...success. Autofilling 2-6...success. Autofilling 3-6...success. Autofilling 4-6...success. Autofilling 5-1...success. Autofilling 5-2...success. Autofilling 5-3...success. Autofilling 5-4...success. Autofilling 5-5...success. Autofilling 5-6 (first way)...success. Autofilling 5-6 (second way)...success. The two ways of autofilling 5-6 agree. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[0:6,0:7]. Autofilling 6-5...success. Autofilling 7-5...success. Autofilling 8-5...success. Autofilling 9-1...success. Autofilling 9-2...success. Autofilling 9-3...success. Autofilling 9-4...success. Autofilling 9-5 (first way)...success. Autofilling 9-5 (second way)...success. The two ways of autofilling 9-5 agree. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[5:10,0:6]. Attempting automerge of 9-6...failure. Attempting automerge of 6-6...failure. HEAD is now at 70408c8 c⇒9 Conflict; suggest manual merge of 6-6 + grep -q Traceback autofill.out + grep -q suggest manual merge of 6-6 autofill.out + git-imerge diagram --commits --frontier --html=imerge1.html 0 5 9 | | | 0 - ********** - c *????.???. *????.???. *????.???. *????.???. 5 - *????..... 6 - *.....#??? | d 0 5 9 | | | 0 - ********** - c *????.???| *????.???| *????.???| *????.???| 5 - *????.---+ 6 - *----+#??? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + git-imerge continue --edit Switched to branch 'imerge/c-d' Auto-merging conflict.txt CONFLICT (content): Merge conflict in conflict.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit fe4fed83ab13bbc7e9ee5ef0a814b170b8194854 Author: Loú User Date: Thu Apr 7 22:13:20 2005 +0000 c⇒6 Original second commit: commit f7e451a6c9656dda15641a9fbc591a602f158692 Author: Loú User Date: Thu Apr 7 22:13:29 2005 +0000 d⇒6 There was a conflict merging commit 6-6, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + echo merged version + git add conflict.txt + git-imerge continue --no-edit [imerge/c-d 052d07a] imerge 'c-d': manual merge 6-6 Merge has been recorded for merge 6-6. Attempting automerge of 9-6...success. Autofilling 7-6...success. Autofilling 8-6...success. Autofilling 9-6...success. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[6:10,5:7]. Merge is complete! + git-imerge diagram --commits --frontier --html=imerge2.html 0 5 9 | | | 0 - ********** - c *????.???. *????.???. *????.???. *????.???. 5 - *????..... 6 - *.....*... | d 0 5 9 | | | 0 - ********** - c *????.???| *????.???| *????.???| *????.???| 5 - *????....| 6 - *-----*--+ | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + GIT_EDITOR=cat git-imerge simplify --goal=merge --branch=c-d-merge Merge d into c (using imerge) # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # Date: Fri Mar 27 18:27:31 2026 +0000 # # On branch c-d-merge # Changes to be committed: # modified: conflict.txt # modified: d.txt # [c-d-merge 8d6d059] Merge d into c (using imerge) Date: Fri Mar 27 18:27:31 2026 +0000 + check_tree c-d-merge ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-merge + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-merge^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=rebase --branch=c-d-rebase + check_tree c-d-rebase ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-rebase + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-rebase^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=rebase-with-history --branch=c-d-rebase-with-history + check_tree c-d-rebase-with-history ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-rebase-with-history + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-rebase-with-history^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border --branch=c-d-border + check_tree c-d-border ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-border^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border-with-history --branch=c-d-border-with-history + check_tree c-d-border-with-history ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border-with-history + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-border-with-history^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border-with-history2 --branch=c-d-border-with-history2 + check_tree c-d-border-with-history2 ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border-with-history2 + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-border-with-history2^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge remove + git checkout c Switched to branch 'c' + git-imerge start --goal=full --first-parent --name=c-d d + tee start.out Attempting to merge 1-1...success. Attempting to merge 1-2...success. Attempting to merge 1-3...success. Attempting to merge 1-4...success. Attempting to merge 1-5...success. Attempting to merge 1-6...success. Attempting to merge 2-1...success. Attempting to merge 2-2...success. Attempting to merge 2-3...success. Attempting to merge 2-4...success. Attempting to merge 2-5...success. Attempting to merge 2-6...success. Attempting to merge 3-1...success. Attempting to merge 3-2...success. Attempting to merge 3-3...success. Attempting to merge 3-4...success. Attempting to merge 3-5...success. Attempting to merge 3-6...success. Attempting to merge 4-1...success. Attempting to merge 4-2...success. Attempting to merge 4-3...success. Attempting to merge 4-4...success. Attempting to merge 4-5...success. Attempting to merge 4-6...success. Attempting to merge 5-1...success. Attempting to merge 5-2...success. Attempting to merge 5-3...success. Attempting to merge 5-4...success. Attempting to merge 5-5...success. Attempting to merge 5-6...success. Attempting to merge 6-1...success. Attempting to merge 6-2...success. Attempting to merge 6-3...success. Attempting to merge 6-4...success. Attempting to merge 6-5...success. Attempting to merge 6-6...conflict. Attempting to merge 7-1...success. Attempting to merge 7-2...success. Attempting to merge 7-3...success. Attempting to merge 7-4...success. Attempting to merge 7-5...success. Attempting to merge 8-1...success. Attempting to merge 8-2...success. Attempting to merge 8-3...success. Attempting to merge 8-4...success. Attempting to merge 8-5...success. Attempting to merge 9-1...success. Attempting to merge 9-2...success. Attempting to merge 9-3...success. Attempting to merge 9-4...success. Attempting to merge 9-5...success. Previous HEAD position was 753b070 imerge 'c-d': automatic merge 9-5 Switched to branch 'imerge/c-d' Auto-merging conflict.txt CONFLICT (content): Merge conflict in conflict.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit fe4fed83ab13bbc7e9ee5ef0a814b170b8194854 Author: Loú User Date: Thu Apr 7 22:13:20 2005 +0000 c⇒6 Original second commit: commit f7e451a6c9656dda15641a9fbc591a602f158692 Author: Loú User Date: Thu Apr 7 22:13:29 2005 +0000 d⇒6 There was a conflict merging commit 6-6, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + grep -q Traceback start.out + grep -q suggest manual merge of 6-6 autofill.out + git-imerge diagram --commits --frontier --html=imerge3.html 0 5 9 | | | 0 - ********** - c *......... *......... *......... *......... 5 - *......... 6 - *.....#??? | d 0 5 9 | | | 0 - ********** - c *........| *........| *........| *........| 5 - *.....---+ 6 - *----+#??? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + echo merged version + git add conflict.txt + GIT_EDITOR=cat git commit imerge 'c-d': manual merge 6-6 # Conflicts: # conflict.txt # # It looks like you may be committing a merge. # If this is not correct, please run # git update-ref -d MERGE_HEAD # and try again. # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # On branch imerge/c-d # All conflicts fixed but you are still merging. # # Changes to be committed: # modified: conflict.txt # modified: d.txt # [imerge/c-d b34ff65] imerge 'c-d': manual merge 6-6 + git-imerge continue --edit Merge has been recorded for merge 6-6. Attempting to merge 7-6...success. Attempting to merge 8-6...success. Attempting to merge 9-6...success. Merge is complete! + git-imerge diagram --commits --frontier --html=imerge4.html 0 5 9 | | | 0 - ********** - c *......... *......... *......... *......... 5 - *......... 6 - *.....*... | d 0 5 9 | | | 0 - ********** - c *........| *........| *........| *........| 5 - *........| 6 - *-----*--+ | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + git-imerge finish --branch=c-d-full + check_tree c-d-full ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-full + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-full^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 py313: commands[2] .pybuild/cpython3_3.13/build> /bin/sh t/test-really-conflicted + dirname t/test-really-conflicted + cd t + pwd + dirname /build/reproducible-path/git-imerge-1.2.0/t + BASE=/build/reproducible-path/git-imerge-1.2.0 + . /build/reproducible-path/git-imerge-1.2.0/t/test-lib.sh + GIT_IMERGE=git-imerge + TMP=/build/reproducible-path/git-imerge-1.2.0/t/tmp/really-conflicted + DESCRIPTION=git-imerge test repository with multiple conflicts + init_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/really-conflicted git-imerge test repository with multiple conflicts + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/really-conflicted + local description=git-imerge test repository with multiple conflicts + delete_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/really-conflicted git-imerge test repository with multiple conflicts + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/really-conflicted + local description=git-imerge test repository with multiple conflicts + test -d /build/reproducible-path/git-imerge-1.2.0/t/tmp/really-conflicted + mkdir -p /build/reproducible-path/git-imerge-1.2.0/t/tmp/really-conflicted + git init /build/reproducible-path/git-imerge-1.2.0/t/tmp/really-conflicted hint: Using 'master' as the name for the initial branch. This default branch name hint: is subject to change. To configure the initial branch name to use in all hint: of your new repositories, which will suppress this warning, call: hint: hint: git config --global init.defaultBranch hint: hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and hint: 'development'. The just-created branch can be renamed via this command: hint: hint: git branch -m Initialized empty Git repository in /build/reproducible-path/git-imerge-1.2.0/t/tmp/really-conflicted/.git/ + echo git-imerge test repository with multiple conflicts + printf %s\n /*.out /*.css /*.html + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/really-conflicted/.git config user.name Loú User + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/really-conflicted/.git config user.email luser@example.com + TIME=1112911993 + ln -s /build/reproducible-path/git-imerge-1.2.0/imerge.css /build/reproducible-path/git-imerge-1.2.0/t/tmp/really-conflicted + cd /build/reproducible-path/git-imerge-1.2.0/t/tmp/really-conflicted + modify c.txt 0 + filename=c.txt + text=0 + echo 0 + git add c.txt + modify d.txt 0 + filename=d.txt + text=0 + echo 0 + git add d.txt + seq 0 7 + modify conflict0.txt original version + filename=conflict0.txt + text=original version + echo original version + git add conflict0.txt + modify conflict1.txt original version + filename=conflict1.txt + text=original version + echo original version + git add conflict1.txt + modify conflict2.txt original version + filename=conflict2.txt + text=original version + echo original version + git add conflict2.txt + modify conflict3.txt original version + filename=conflict3.txt + text=original version + echo original version + git add conflict3.txt + modify conflict4.txt original version + filename=conflict4.txt + text=original version + echo original version + git add conflict4.txt + modify conflict5.txt original version + filename=conflict5.txt + text=original version + echo original version + git add conflict5.txt + modify conflict6.txt original version + filename=conflict6.txt + text=original version + echo original version + git add conflict6.txt + modify conflict7.txt original version + filename=conflict7.txt + text=original version + echo original version + git add conflict7.txt + commit -m m⇒0 + TIME=1112911994 + GIT_AUTHOR_DATE=@1112911994 +0000 GIT_COMMITTER_DATE=@1112911994 +0000 git commit -m m⇒0 [master (root-commit) 8e21fbd] m⇒0 10 files changed, 10 insertions(+) create mode 100644 c.txt create mode 100644 conflict0.txt create mode 100644 conflict1.txt create mode 100644 conflict2.txt create mode 100644 conflict3.txt create mode 100644 conflict4.txt create mode 100644 conflict5.txt create mode 100644 conflict6.txt create mode 100644 conflict7.txt create mode 100644 d.txt + git checkout -b c master -- Switched to a new branch 'c' + modify c.txt 1 + filename=c.txt + text=1 + echo 1 + git add c.txt + modify conflict0.txt c version + filename=conflict0.txt + text=c version + echo c version + git add conflict0.txt + modify conflict4.txt c version + filename=conflict4.txt + text=c version + echo c version + git add conflict4.txt + commit -m c⇒1 + TIME=1112911995 + GIT_AUTHOR_DATE=@1112911995 +0000 GIT_COMMITTER_DATE=@1112911995 +0000 git commit -m c⇒1 [c 4e6007a] c⇒1 3 files changed, 3 insertions(+), 3 deletions(-) + modify c.txt 2 + filename=c.txt + text=2 + echo 2 + git add c.txt + commit -m c⇒2 + TIME=1112911996 + GIT_AUTHOR_DATE=@1112911996 +0000 GIT_COMMITTER_DATE=@1112911996 +0000 git commit -m c⇒2 [c c2b7c49] c⇒2 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 3 + filename=c.txt + text=3 + echo 3 + git add c.txt + commit -m c⇒3 + TIME=1112911997 + GIT_AUTHOR_DATE=@1112911997 +0000 GIT_COMMITTER_DATE=@1112911997 +0000 git commit -m c⇒3 [c 42ad55a] c⇒3 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 4 + filename=c.txt + text=4 + echo 4 + git add c.txt + modify conflict1.txt c version + filename=conflict1.txt + text=c version + echo c version + git add conflict1.txt + commit -m c⇒4 + TIME=1112911998 + GIT_AUTHOR_DATE=@1112911998 +0000 GIT_COMMITTER_DATE=@1112911998 +0000 git commit -m c⇒4 [c a891793] c⇒4 2 files changed, 2 insertions(+), 2 deletions(-) + modify c.txt 5 + filename=c.txt + text=5 + echo 5 + git add c.txt + modify conflict3.txt c version + filename=conflict3.txt + text=c version + echo c version + git add conflict3.txt + modify conflict6.txt c version + filename=conflict6.txt + text=c version + echo c version + git add conflict6.txt + commit -m c⇒5 + TIME=1112911999 + GIT_AUTHOR_DATE=@1112911999 +0000 GIT_COMMITTER_DATE=@1112911999 +0000 git commit -m c⇒5 [c c21441d] c⇒5 3 files changed, 3 insertions(+), 3 deletions(-) + modify c.txt 6 + filename=c.txt + text=6 + echo 6 + git add c.txt + modify conflict5.txt c version + filename=conflict5.txt + text=c version + echo c version + git add conflict5.txt + commit -m c⇒6 + TIME=1112912000 + GIT_AUTHOR_DATE=@1112912000 +0000 GIT_COMMITTER_DATE=@1112912000 +0000 git commit -m c⇒6 [c a797a66] c⇒6 2 files changed, 2 insertions(+), 2 deletions(-) + modify c.txt 7 + filename=c.txt + text=7 + echo 7 + git add c.txt + modify conflict2.txt c version + filename=conflict2.txt + text=c version + echo c version + git add conflict2.txt + commit -m c⇒7 + TIME=1112912001 + GIT_AUTHOR_DATE=@1112912001 +0000 GIT_COMMITTER_DATE=@1112912001 +0000 git commit -m c⇒7 [c c0e1537] c⇒7 2 files changed, 2 insertions(+), 2 deletions(-) + modify c.txt 8 + filename=c.txt + text=8 + echo 8 + git add c.txt + commit -m c⇒8 + TIME=1112912002 + GIT_AUTHOR_DATE=@1112912002 +0000 GIT_COMMITTER_DATE=@1112912002 +0000 git commit -m c⇒8 [c 9f3e7c8] c⇒8 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 9 + filename=c.txt + text=9 + echo 9 + git add c.txt + modify conflict7.txt c version + filename=conflict7.txt + text=c version + echo c version + git add conflict7.txt + commit -m c⇒9 + TIME=1112912003 + GIT_AUTHOR_DATE=@1112912003 +0000 GIT_COMMITTER_DATE=@1112912003 +0000 git commit -m c⇒9 [c ccbfccb] c⇒9 2 files changed, 2 insertions(+), 2 deletions(-) + git checkout -b d master -- Switched to a new branch 'd' + modify d.txt 1 + filename=d.txt + text=1 + echo 1 + git add d.txt + modify conflict0.txt d version + filename=conflict0.txt + text=d version + echo d version + git add conflict0.txt + modify conflict6.txt d version + filename=conflict6.txt + text=d version + echo d version + git add conflict6.txt + commit -m d⇒1 + TIME=1112912004 + GIT_AUTHOR_DATE=@1112912004 +0000 GIT_COMMITTER_DATE=@1112912004 +0000 git commit -m d⇒1 [d 8c3c065] d⇒1 3 files changed, 3 insertions(+), 3 deletions(-) + modify d.txt 2 + filename=d.txt + text=2 + echo 2 + git add d.txt + modify conflict1.txt d version + filename=conflict1.txt + text=d version + echo d version + git add conflict1.txt + modify conflict2.txt d version + filename=conflict2.txt + text=d version + echo d version + git add conflict2.txt + commit -m d⇒2 + TIME=1112912005 + GIT_AUTHOR_DATE=@1112912005 +0000 GIT_COMMITTER_DATE=@1112912005 +0000 git commit -m d⇒2 [d 820b787] d⇒2 3 files changed, 3 insertions(+), 3 deletions(-) + modify d.txt 3 + filename=d.txt + text=3 + echo 3 + git add d.txt + commit -m d⇒3 + TIME=1112912006 + GIT_AUTHOR_DATE=@1112912006 +0000 GIT_COMMITTER_DATE=@1112912006 +0000 git commit -m d⇒3 [d 821c792] d⇒3 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 4 + filename=d.txt + text=4 + echo 4 + git add d.txt + commit -m d⇒4 + TIME=1112912007 + GIT_AUTHOR_DATE=@1112912007 +0000 GIT_COMMITTER_DATE=@1112912007 +0000 git commit -m d⇒4 [d c2a1456] d⇒4 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 5 + filename=d.txt + text=5 + echo 5 + git add d.txt + modify conflict3.txt d version + filename=conflict3.txt + text=d version + echo d version + git add conflict3.txt + commit -m d⇒5 + TIME=1112912008 + GIT_AUTHOR_DATE=@1112912008 +0000 GIT_COMMITTER_DATE=@1112912008 +0000 git commit -m d⇒5 [d c3e3890] d⇒5 2 files changed, 2 insertions(+), 2 deletions(-) + modify d.txt 6 + filename=d.txt + text=6 + echo 6 + git add d.txt + modify conflict4.txt d version + filename=conflict4.txt + text=d version + echo d version + git add conflict4.txt + commit -m d⇒6 + TIME=1112912009 + GIT_AUTHOR_DATE=@1112912009 +0000 GIT_COMMITTER_DATE=@1112912009 +0000 git commit -m d⇒6 [d b2f5c5e] d⇒6 2 files changed, 2 insertions(+), 2 deletions(-) + modify d.txt 7 + filename=d.txt + text=7 + echo 7 + git add d.txt + modify conflict5.txt d version + filename=conflict5.txt + text=d version + echo d version + git add conflict5.txt + commit -m d⇒7 + TIME=1112912010 + GIT_AUTHOR_DATE=@1112912010 +0000 GIT_COMMITTER_DATE=@1112912010 +0000 git commit -m d⇒7 [d 892af56] d⇒7 2 files changed, 2 insertions(+), 2 deletions(-) + modify d.txt 8 + filename=d.txt + text=8 + echo 8 + git add d.txt + modify conflict7.txt d version + filename=conflict7.txt + text=d version + echo d version + git add conflict7.txt + commit -m d⇒8 + TIME=1112912011 + GIT_AUTHOR_DATE=@1112912011 +0000 GIT_COMMITTER_DATE=@1112912011 +0000 git commit -m d⇒8 [d 67099d0] d⇒8 2 files changed, 2 insertions(+), 2 deletions(-) + git checkout c Switched to branch 'c' + git-imerge init --name=c-d d + git-imerge diagram --commits --frontier 0 5 9 | | | 0 - ********** - c *????????? *????????? *????????? *????????? 5 - *????????? *????????? *????????? 8 - *????????? | d 0 5 9 | | | 0 - ********** - c *????????? *????????? *????????? *????????? 5 - *????????? *????????? *????????? 8 - *????????? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + conflict_count=0 + true + git-imerge continue --no-edit + tee autofill.out Attempting automerge of 9-8...failure. Attempting automerge of 1-1...failure. Switched to branch 'imerge/c-d' Auto-merging conflict0.txt CONFLICT (content): Merge conflict in conflict0.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit 4e6007a9261b8d70c6c9cb31fdf801cada885a79 Author: Loú User Date: Thu Apr 7 22:13:15 2005 +0000 c⇒1 Original second commit: commit 8c3c06526942b1b7ef891dac2d98b871c0269ebc Author: Loú User Date: Thu Apr 7 22:13:24 2005 +0000 d⇒1 There was a conflict merging commit 1-1, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + grep -q Traceback autofill.out + git-imerge diagram --frontier 0 5 9 | | | 0 - ********** - c *#???????? *????????? *????????? *????????? 5 - *????????? *????????? *????????? 8 - *????????? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + grep -q There was a conflict merging autofill.out + seq 0 7 + grep -q ==== conflict0.txt + modify conflict0.txt merged version + filename=conflict0.txt + text=merged version + echo merged version + git add conflict0.txt + conflict_count=1 + grep -q ==== conflict1.txt + grep -q ==== conflict2.txt + grep -q ==== conflict3.txt + grep -q ==== conflict4.txt + grep -q ==== conflict5.txt + grep -q ==== conflict6.txt + grep -q ==== conflict7.txt + true + git-imerge continue --no-edit + tee autofill.out [imerge/c-d 5987727] imerge 'c-d': manual merge 1-1 Merge has been recorded for merge 1-1. Attempting automerge of 1-8...failure. Attempting automerge of 1-2...success. Attempting automerge of 1-6...failure. Attempting automerge of 1-4...success. Attempting automerge of 1-5...success. Autofilling 1-2...success. Autofilling 1-3...success. Autofilling 1-4...success. Autofilling 1-5...success. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[0:2,1:6]. Attempting automerge of 1-8...failure. Attempting automerge of 1-6...failure. Attempting automerge of 9-5...failure. Attempting automerge of 2-1...success. Attempting automerge of 2-4...success. Attempting automerge of 2-5...success. Attempting automerge of 9-5...failure. Attempting automerge of 6-5...failure. Attempting automerge of 4-5...failure. Attempting automerge of 3-5...success. Attempting automerge of 4-1...success. Attempting automerge of 4-3...failure. Attempting automerge of 4-2...failure. Attempting automerge of 9-1...failure. Attempting automerge of 7-1...failure. Attempting automerge of 6-1...failure. Attempting automerge of 5-1...failure. Autofilling 2-5...success. Autofilling 3-1...success. Autofilling 3-2...success. Autofilling 3-3...success. Autofilling 3-4...success. Autofilling 3-5 (first way)...success. Autofilling 3-5 (second way)...success. The two ways of autofilling 3-5 agree. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[1:4,0:6]. Autofilling 4-1...success. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[3:5,0:2]. Attempting automerge of 4-5...failure. Attempting automerge of 4-2...failure. Attempting automerge of 9-1...failure. Attempting automerge of 5-1...failure. Previous HEAD position was c21441d c⇒5 Switched to branch 'imerge/c-d' Auto-merging conflict4.txt CONFLICT (content): Merge conflict in conflict4.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit 4e6007a9261b8d70c6c9cb31fdf801cada885a79 Author: Loú User Date: Thu Apr 7 22:13:15 2005 +0000 c⇒1 Original second commit: commit b2f5c5e78cd79a99aa1f8f4a9d8054b2d5a484ff Author: Loú User Date: Thu Apr 7 22:13:29 2005 +0000 d⇒6 There was a conflict merging commit 1-6, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + grep -q Traceback autofill.out + git-imerge diagram --frontier 0 5 9 | | | 0 - ********** - c **?.+#???? *.?|#????? *.?|?????? *.?|?????? 5 - *--+?????? *#???????? *????????? 8 - *????????? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + grep -q There was a conflict merging autofill.out + seq 0 7 + grep -q ==== conflict0.txt + grep -q ==== conflict1.txt + grep -q ==== conflict2.txt + grep -q ==== conflict3.txt + grep -q ==== conflict4.txt + modify conflict4.txt merged version + filename=conflict4.txt + text=merged version + echo merged version + git add conflict4.txt + conflict_count=2 + grep -q ==== conflict5.txt + grep -q ==== conflict6.txt + grep -q ==== conflict7.txt + true + git-imerge continue --no-edit + tee autofill.out [imerge/c-d 516c9bf] imerge 'c-d': manual merge 1-6 Merge has been recorded for merge 1-6. Attempting automerge of 1-8...success. Autofilling 1-7...success. Autofilling 1-8...success. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[0:2,6:9]. Attempting automerge of 3-8...success. Autofilling 2-8...success. Autofilling 3-6...success. Autofilling 3-7...success. Autofilling 3-8 (first way)...success. Autofilling 3-8 (second way)...success. The two ways of autofilling 3-8 agree. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[1:4,5:9]. Warning: you are leaving 1 commit behind, not connected to any of your branches: 141992b imerge 'c-d': automatic merge 3-8 If you want to keep it by creating a new branch, this may be a good time to do so with: git branch 141992b Switched to branch 'imerge/c-d' Auto-merging conflict1.txt CONFLICT (content): Merge conflict in conflict1.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit a89179336bb40a4ca90903425239a9ef3ce659bd Author: Loú User Date: Thu Apr 7 22:13:18 2005 +0000 c⇒4 Original second commit: commit 820b787e86e22612af7a061db842dc95e9f1d49f Author: Loú User Date: Thu Apr 7 22:13:25 2005 +0000 d⇒2 There was a conflict merging commit 4-2, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + grep -q Traceback autofill.out + git-imerge diagram --frontier 0 5 9 | | | 0 - ********** - c **?.+#???? *.?|#????? *.?|?????? *.?|?????? 5 - *..|?????? **?|?????? *.?|?????? 8 - *--+?????? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + grep -q There was a conflict merging autofill.out + seq 0 7 + grep -q ==== conflict0.txt + grep -q ==== conflict1.txt + modify conflict1.txt merged version + filename=conflict1.txt + text=merged version + echo merged version + git add conflict1.txt + conflict_count=3 + grep -q ==== conflict2.txt + grep -q ==== conflict3.txt + grep -q ==== conflict4.txt + grep -q ==== conflict5.txt + grep -q ==== conflict6.txt + grep -q ==== conflict7.txt + true + git-imerge continue --no-edit + tee autofill.out [imerge/c-d dff9049] imerge 'c-d': manual merge 4-2 Merge has been recorded for merge 4-2. Attempting automerge of 4-8...success. Autofilling 4-3...success. Autofilling 4-4...success. Autofilling 4-5...success. Autofilling 4-6...success. Autofilling 4-7...success. Autofilling 4-8...success. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[3:5,2:9]. Previous HEAD position was 80cda00 imerge 'c-d': automatic merge 4-8 Switched to branch 'imerge/c-d' Auto-merging conflict6.txt CONFLICT (content): Merge conflict in conflict6.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit c21441db0b1abc10e3caf5024d19976bd7f9b469 Author: Loú User Date: Thu Apr 7 22:13:19 2005 +0000 c⇒5 Original second commit: commit 8c3c06526942b1b7ef891dac2d98b871c0269ebc Author: Loú User Date: Thu Apr 7 22:13:24 2005 +0000 d⇒1 There was a conflict merging commit 5-1, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + grep -q Traceback autofill.out + git-imerge diagram --frontier 0 5 9 | | | 0 - ********** - c **?.|#???? *.?.*????? *.?.|????? *.?.|????? 5 - *...|????? **?.|????? *.?.|????? 8 - *---+????? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + grep -q There was a conflict merging autofill.out + seq 0 7 + grep -q ==== conflict0.txt + grep -q ==== conflict1.txt + grep -q ==== conflict2.txt + grep -q ==== conflict3.txt + grep -q ==== conflict4.txt + grep -q ==== conflict5.txt + grep -q ==== conflict6.txt + modify conflict6.txt merged version + filename=conflict6.txt + text=merged version + echo merged version + git add conflict6.txt + conflict_count=4 + grep -q ==== conflict7.txt + true + git-imerge continue --no-edit + tee autofill.out [imerge/c-d b5718c1] imerge 'c-d': manual merge 5-1 Merge has been recorded for merge 5-1. Attempting automerge of 5-8...failure. Attempting automerge of 5-2...success. Attempting automerge of 5-6...failure. Attempting automerge of 5-4...success. Attempting automerge of 5-5...failure. Autofilling 5-2...success. Autofilling 5-3...success. Autofilling 5-4...success. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[4:6,1:5]. Attempting automerge of 5-8...failure. Attempting automerge of 5-5...failure. Attempting automerge of 9-4...failure. Attempting automerge of 6-1...success. Attempting automerge of 6-3...success. Attempting automerge of 6-4...success. Attempting automerge of 9-4...failure. Attempting automerge of 8-4...failure. Attempting automerge of 7-4...failure. Attempting automerge of 7-1...success. Attempting automerge of 7-3...failure. Attempting automerge of 7-2...failure. Attempting automerge of 9-1...success. Autofilling 6-1...success. Autofilling 6-2...success. Autofilling 6-3...success. Autofilling 6-4...success. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[5:7,0:5]. Autofilling 7-1...success. Autofilling 8-1...success. Autofilling 9-1...success. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[6:10,0:2]. Attempting automerge of 9-4...failure. Attempting automerge of 7-2...failure. Previous HEAD position was a6286bf imerge 'c-d': automatic merge 7-1 Switched to branch 'imerge/c-d' Auto-merging conflict3.txt CONFLICT (content): Merge conflict in conflict3.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit c21441db0b1abc10e3caf5024d19976bd7f9b469 Author: Loú User Date: Thu Apr 7 22:13:19 2005 +0000 c⇒5 Original second commit: commit c3e3890b9e3c756c1d8f7e345184d576739be079 Author: Loú User Date: Thu Apr 7 22:13:28 2005 +0000 d⇒5 There was a conflict merging commit 5-5, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + grep -q Traceback autofill.out + git-imerge diagram --frontier 0 5 9 | | | 0 - ********** - c **?..*.--+ *.?.*.|#?? *.?...|??? *.?..-+??? 5 - *...|#???? **?.|????? *.?.|????? 8 - *---+????? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + grep -q There was a conflict merging autofill.out + seq 0 7 + grep -q ==== conflict0.txt + grep -q ==== conflict1.txt + grep -q ==== conflict2.txt + grep -q ==== conflict3.txt + modify conflict3.txt merged version + filename=conflict3.txt + text=merged version + echo merged version + git add conflict3.txt + conflict_count=5 + grep -q ==== conflict4.txt + grep -q ==== conflict5.txt + grep -q ==== conflict6.txt + grep -q ==== conflict7.txt + true + git-imerge continue --no-edit + tee autofill.out [imerge/c-d 75ea384] imerge 'c-d': manual merge 5-5 Merge has been recorded for merge 5-5. Attempting automerge of 5-8...success. Autofilling 5-6...success. Autofilling 5-7...success. Autofilling 5-8...success. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[4:6,5:9]. Attempting automerge of 6-8...failure. Attempting automerge of 6-5...success. Attempting automerge of 6-7...failure. Attempting automerge of 6-6...success. Autofilling 6-5...success. Autofilling 6-6...success. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[5:7,4:7]. Attempting automerge of 6-8...failure. Attempting automerge of 6-7...failure. Switched to branch 'imerge/c-d' Auto-merging conflict5.txt CONFLICT (content): Merge conflict in conflict5.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit a797a66a0e4b89690099557280641efeac302bcf Author: Loú User Date: Thu Apr 7 22:13:20 2005 +0000 c⇒6 Original second commit: commit 892af56ace54c97776e84dff9e6fba7312efe5d0 Author: Loú User Date: Thu Apr 7 22:13:30 2005 +0000 d⇒7 There was a conflict merging commit 6-7, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + grep -q Traceback autofill.out + git-imerge diagram --frontier 0 5 9 | | | 0 - ********** - c **?..*.--+ *.?.*.|#?? *.?...|??? *.?...|??? 5 - *....*|??? **?...+??? *.?..|#??? 8 - *----+???? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + grep -q There was a conflict merging autofill.out + seq 0 7 + grep -q ==== conflict0.txt + grep -q ==== conflict1.txt + grep -q ==== conflict2.txt + grep -q ==== conflict3.txt + grep -q ==== conflict4.txt + grep -q ==== conflict5.txt + modify conflict5.txt merged version + filename=conflict5.txt + text=merged version + echo merged version + git add conflict5.txt + conflict_count=6 + grep -q ==== conflict6.txt + grep -q ==== conflict7.txt + true + git-imerge continue --no-edit + tee autofill.out [imerge/c-d 341c7e0] imerge 'c-d': manual merge 6-7 Merge has been recorded for merge 6-7. Attempting automerge of 6-8...success. Autofilling 6-8...success. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[5:7,7:9]. Previous HEAD position was 6c9ef13 imerge 'c-d': automatic merge 6-8 Switched to branch 'imerge/c-d' Auto-merging conflict2.txt CONFLICT (content): Merge conflict in conflict2.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit c0e1537f1ecf33aa719926933c7db8cb93eb5315 Author: Loú User Date: Thu Apr 7 22:13:21 2005 +0000 c⇒7 Original second commit: commit 820b787e86e22612af7a061db842dc95e9f1d49f Author: Loú User Date: Thu Apr 7 22:13:25 2005 +0000 d⇒2 There was a conflict merging commit 7-2, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + grep -q Traceback autofill.out + git-imerge diagram --frontier 0 5 9 | | | 0 - ********** - c **?..*.--+ *.?.*.|#?? *.?...|??? *.?...|??? 5 - *....*|??? **?...|??? *.?...*??? 8 - *-----+??? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + grep -q There was a conflict merging autofill.out + seq 0 7 + grep -q ==== conflict0.txt + grep -q ==== conflict1.txt + grep -q ==== conflict2.txt + modify conflict2.txt merged version + filename=conflict2.txt + text=merged version + echo merged version + git add conflict2.txt + conflict_count=7 + grep -q ==== conflict3.txt + grep -q ==== conflict4.txt + grep -q ==== conflict5.txt + grep -q ==== conflict6.txt + grep -q ==== conflict7.txt + true + git-imerge continue --no-edit + tee autofill.out [imerge/c-d b4c8739] imerge 'c-d': manual merge 7-2 Merge has been recorded for merge 7-2. Attempting automerge of 7-8...success. Autofilling 7-3...success. Autofilling 7-4...success. Autofilling 7-5...success. Autofilling 7-6...success. Autofilling 7-7...success. Autofilling 7-8...success. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[6:8,2:9]. Attempting automerge of 9-8...failure. Attempting automerge of 8-2...success. Attempting automerge of 8-6...success. Attempting automerge of 8-8...success. Attempting automerge of 9-8...failure. Attempting automerge of 9-2...success. Attempting automerge of 9-5...success. Attempting automerge of 9-7...success. Autofilling 8-2...success. Autofilling 8-3...success. Autofilling 8-4...success. Autofilling 8-5...success. Autofilling 8-6...success. Autofilling 8-7...success. Autofilling 8-8...success. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[7:9,1:9]. Autofilling 9-2...success. Autofilling 9-3...success. Autofilling 9-4...success. Autofilling 9-5...success. Autofilling 9-6...success. Autofilling 9-7...success. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[8:10,1:8]. Attempting automerge of 9-8...failure. Attempting automerge of 9-8...failure. Switched to branch 'imerge/c-d' Auto-merging conflict7.txt CONFLICT (content): Merge conflict in conflict7.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit ccbfccb3f61dac677c0a80382aaf6055a11a8a87 Author: Loú User Date: Thu Apr 7 22:13:23 2005 +0000 c⇒9 Original second commit: commit 67099d078100141fbe4063d46a6408200f4ff311 Author: Loú User Date: Thu Apr 7 22:13:31 2005 +0000 d⇒8 There was a conflict merging commit 9-8, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + grep -q Traceback autofill.out + git-imerge diagram --frontier 0 5 9 | | | 0 - ********** - c **?..*...| *.?.*..*.| *.?......| *.?......| 5 - *....*...| **?......| *.?...*..+ 8 - *-------+# | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + grep -q There was a conflict merging autofill.out + seq 0 7 + grep -q ==== conflict0.txt + grep -q ==== conflict1.txt + grep -q ==== conflict2.txt + grep -q ==== conflict3.txt + grep -q ==== conflict4.txt + grep -q ==== conflict5.txt + grep -q ==== conflict6.txt + grep -q ==== conflict7.txt + modify conflict7.txt merged version + filename=conflict7.txt + text=merged version + echo merged version + git add conflict7.txt + conflict_count=8 + true + git-imerge continue --no-edit + tee autofill.out [imerge/c-d 7016c6a] imerge 'c-d': manual merge 9-8 Merge has been recorded for merge 9-8. Merge is complete! + grep -q Traceback autofill.out + git-imerge diagram --frontier 0 5 9 | | | 0 - ********** - c **?..*...| *.?.*..*.| *.?......| *.?......| 5 - *....*...| **?......| *.?...*..| 8 - *--------* | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + grep -q There was a conflict merging autofill.out + break + test 8 -ne 8 + git-imerge diagram --commits + cat + diff -u - diagram.out + EXPECTED_TREE=13e5a8955ab8f88dc7fec8278ee2622655c21d7f + GIT_EDITOR=cat git-imerge simplify --goal=merge --branch=c-d-merge Merge d into c (using imerge) # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # Date: Fri Mar 27 18:27:43 2026 +0000 # # On branch c-d-merge # Changes to be committed: # modified: conflict0.txt # modified: conflict1.txt # modified: conflict2.txt # modified: conflict3.txt # modified: conflict4.txt # modified: conflict5.txt # modified: conflict6.txt # modified: conflict7.txt # modified: d.txt # [c-d-merge cf2b85c] Merge d into c (using imerge) Date: Fri Mar 27 18:27:43 2026 +0000 + check_tree c-d-merge 13e5a8955ab8f88dc7fec8278ee2622655c21d7f + local refname=c-d-merge + local expected_tree=13e5a8955ab8f88dc7fec8278ee2622655c21d7f + git rev-parse c-d-merge^{tree} + test 13e5a8955ab8f88dc7fec8278ee2622655c21d7f = 13e5a8955ab8f88dc7fec8278ee2622655c21d7f + git-imerge simplify --goal=rebase --branch=c-d-rebase + check_tree c-d-rebase 13e5a8955ab8f88dc7fec8278ee2622655c21d7f + local refname=c-d-rebase + local expected_tree=13e5a8955ab8f88dc7fec8278ee2622655c21d7f + git rev-parse c-d-rebase^{tree} + test 13e5a8955ab8f88dc7fec8278ee2622655c21d7f = 13e5a8955ab8f88dc7fec8278ee2622655c21d7f + git-imerge simplify --goal=rebase-with-history --branch=c-d-rebase-with-history + check_tree c-d-rebase-with-history 13e5a8955ab8f88dc7fec8278ee2622655c21d7f + local refname=c-d-rebase-with-history + local expected_tree=13e5a8955ab8f88dc7fec8278ee2622655c21d7f + git rev-parse c-d-rebase-with-history^{tree} + test 13e5a8955ab8f88dc7fec8278ee2622655c21d7f = 13e5a8955ab8f88dc7fec8278ee2622655c21d7f + git-imerge simplify --goal=border --branch=c-d-border + check_tree c-d-border 13e5a8955ab8f88dc7fec8278ee2622655c21d7f + local refname=c-d-border + local expected_tree=13e5a8955ab8f88dc7fec8278ee2622655c21d7f + git rev-parse c-d-border^{tree} + test 13e5a8955ab8f88dc7fec8278ee2622655c21d7f = 13e5a8955ab8f88dc7fec8278ee2622655c21d7f + git-imerge simplify --goal=border-with-history --branch=c-d-border-with-history + check_tree c-d-border-with-history 13e5a8955ab8f88dc7fec8278ee2622655c21d7f + local refname=c-d-border-with-history + local expected_tree=13e5a8955ab8f88dc7fec8278ee2622655c21d7f + git rev-parse c-d-border-with-history^{tree} + test 13e5a8955ab8f88dc7fec8278ee2622655c21d7f = 13e5a8955ab8f88dc7fec8278ee2622655c21d7f + git-imerge simplify --goal=border-with-history2 --branch=c-d-border-with-history2 + check_tree c-d-border-with-history2 13e5a8955ab8f88dc7fec8278ee2622655c21d7f + local refname=c-d-border-with-history2 + local expected_tree=13e5a8955ab8f88dc7fec8278ee2622655c21d7f + git rev-parse c-d-border-with-history2^{tree} + test 13e5a8955ab8f88dc7fec8278ee2622655c21d7f = 13e5a8955ab8f88dc7fec8278ee2622655c21d7f + git-imerge remove py313: commands[3] .pybuild/cpython3_3.13/build> /bin/sh t/test-duplicated + dirname t/test-duplicated + cd t + pwd + dirname /build/reproducible-path/git-imerge-1.2.0/t + BASE=/build/reproducible-path/git-imerge-1.2.0 + . /build/reproducible-path/git-imerge-1.2.0/t/test-lib.sh + GIT_IMERGE=git-imerge + TMP=/build/reproducible-path/git-imerge-1.2.0/t/tmp/duplicated + DESCRIPTION=git-imerge test repository with duplicate commits + init_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/duplicated git-imerge test repository with duplicate commits + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/duplicated + local description=git-imerge test repository with duplicate commits + delete_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/duplicated git-imerge test repository with duplicate commits + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/duplicated + local description=git-imerge test repository with duplicate commits + test -d /build/reproducible-path/git-imerge-1.2.0/t/tmp/duplicated + mkdir -p /build/reproducible-path/git-imerge-1.2.0/t/tmp/duplicated + git init /build/reproducible-path/git-imerge-1.2.0/t/tmp/duplicated hint: Using 'master' as the name for the initial branch. This default branch name hint: is subject to change. To configure the initial branch name to use in all hint: of your new repositories, which will suppress this warning, call: hint: hint: git config --global init.defaultBranch hint: hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and hint: 'development'. The just-created branch can be renamed via this command: hint: hint: git branch -m Initialized empty Git repository in /build/reproducible-path/git-imerge-1.2.0/t/tmp/duplicated/.git/ + echo git-imerge test repository with duplicate commits + printf %s\n /*.out /*.css /*.html + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/duplicated/.git config user.name Loú User + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/duplicated/.git config user.email luser@example.com + TIME=1112911993 + ln -s /build/reproducible-path/git-imerge-1.2.0/imerge.css /build/reproducible-path/git-imerge-1.2.0/t/tmp/duplicated + cd /build/reproducible-path/git-imerge-1.2.0/t/tmp/duplicated + modify a.txt 0 + filename=a.txt + text=0 + echo 0 + git add a.txt + commit -m m⇒0 + TIME=1112911994 + GIT_AUTHOR_DATE=@1112911994 +0000 GIT_COMMITTER_DATE=@1112911994 +0000 git commit -m m⇒0 [master (root-commit) a733afa] m⇒0 1 file changed, 1 insertion(+) create mode 100644 a.txt + git checkout -b a -- Switched to a new branch 'a' + seq 3 + modify a.txt 1 + filename=a.txt + text=1 + echo 1 + git add a.txt + commit -m a⇒1 on branch a + TIME=1112911995 + GIT_AUTHOR_DATE=@1112911995 +0000 GIT_COMMITTER_DATE=@1112911995 +0000 git commit -m a⇒1 on branch a [a 2f1f75a] a⇒1 on branch a 1 file changed, 1 insertion(+), 1 deletion(-) + modify a.txt 2 + filename=a.txt + text=2 + echo 2 + git add a.txt + commit -m a⇒2 on branch a + TIME=1112911996 + GIT_AUTHOR_DATE=@1112911996 +0000 GIT_COMMITTER_DATE=@1112911996 +0000 git commit -m a⇒2 on branch a [a 4700669] a⇒2 on branch a 1 file changed, 1 insertion(+), 1 deletion(-) + modify a.txt 3 + filename=a.txt + text=3 + echo 3 + git add a.txt + commit -m a⇒3 on branch a + TIME=1112911997 + GIT_AUTHOR_DATE=@1112911997 +0000 GIT_COMMITTER_DATE=@1112911997 +0000 git commit -m a⇒3 on branch a [a 621c381] a⇒3 on branch a 1 file changed, 1 insertion(+), 1 deletion(-) + git checkout -b b master -- Switched to a new branch 'b' + seq 4 + modify a.txt 1 + filename=a.txt + text=1 + echo 1 + git add a.txt + commit -m a⇒1 on branch b + TIME=1112911998 + GIT_AUTHOR_DATE=@1112911998 +0000 GIT_COMMITTER_DATE=@1112911998 +0000 git commit -m a⇒1 on branch b [b 62a5c56] a⇒1 on branch b 1 file changed, 1 insertion(+), 1 deletion(-) + modify a.txt 2 + filename=a.txt + text=2 + echo 2 + git add a.txt + commit -m a⇒2 on branch b + TIME=1112911999 + GIT_AUTHOR_DATE=@1112911999 +0000 GIT_COMMITTER_DATE=@1112911999 +0000 git commit -m a⇒2 on branch b [b f846281] a⇒2 on branch b 1 file changed, 1 insertion(+), 1 deletion(-) + modify a.txt 3 + filename=a.txt + text=3 + echo 3 + git add a.txt + commit -m a⇒3 on branch b + TIME=1112912000 + GIT_AUTHOR_DATE=@1112912000 +0000 GIT_COMMITTER_DATE=@1112912000 +0000 git commit -m a⇒3 on branch b [b a4b2c2b] a⇒3 on branch b 1 file changed, 1 insertion(+), 1 deletion(-) + modify a.txt 4 + filename=a.txt + text=4 + echo 4 + git add a.txt + commit -m a⇒4 on branch b + TIME=1112912001 + GIT_AUTHOR_DATE=@1112912001 +0000 GIT_COMMITTER_DATE=@1112912001 +0000 git commit -m a⇒4 on branch b [b 5b24553] a⇒4 on branch b 1 file changed, 1 insertion(+), 1 deletion(-) + EXPECTED_TREE=9d521927e179e882efacd2a0ba94b89a1de00eb2 + git checkout a Switched to branch 'a' + git-imerge start --first-parent --name=a-b --branch=a-b-merge b Attempting automerge of 3-4...failure. Attempting automerge of 1-1...success. Attempting automerge of 1-3...failure. Attempting automerge of 1-2...failure. Attempting automerge of 3-1...failure. Attempting automerge of 2-1...failure. Autofilling 1-1...success. Recording autofilled block MergeState('a-b', tip1='a', tip2='b', goal='merge')[0:2,0:2]. Attempting automerge of 1-4...success. Autofilling 1-2...success. Autofilling 1-3...success. Autofilling 1-4...success. Recording autofilled block MergeState('a-b', tip1='a', tip2='b', goal='merge')[0:2,1:5]. Attempting automerge of 3-4...failure. Attempting automerge of 2-1...success. Attempting automerge of 2-3...failure. Attempting automerge of 2-2...success. Attempting automerge of 3-2...failure. Attempting automerge of 3-1...success. Autofilling 2-1...success. Autofilling 2-2...success. Recording autofilled block MergeState('a-b', tip1='a', tip2='b', goal='merge')[1:3,0:3]. Autofilling 3-1...success. Recording autofilled block MergeState('a-b', tip1='a', tip2='b', goal='merge')[2:4,0:2]. Attempting automerge of 2-4...success. Autofilling 2-3...success. Autofilling 2-4...success. Recording autofilled block MergeState('a-b', tip1='a', tip2='b', goal='merge')[1:3,2:5]. Attempting automerge of 3-4...failure. Attempting automerge of 3-2...success. Attempting automerge of 3-4...failure. Attempting automerge of 3-3...success. Autofilling 3-2...success. Autofilling 3-3...success. Recording autofilled block MergeState('a-b', tip1='a', tip2='b', goal='merge')[2:4,1:4]. Attempting automerge of 3-4...success. Autofilling 3-4...success. Recording autofilled block MergeState('a-b', tip1='a', tip2='b', goal='merge')[2:4,3:5]. Merge is complete! + git-imerge diagram --commits --frontier --html=imerge5.html 0 3 | | 0 - **** - a *... *... *... 4 - *... | b 0 3 | | 0 - **** - a *..| *..| *..| 4 - *--+ | b Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + GIT_EDITOR=cat git-imerge simplify --goal=merge --branch=a-b-merge Merge b into a (using imerge) # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # Date: Fri Mar 27 18:27:47 2026 +0000 # # On branch a-b-merge # Changes to be committed: # modified: a.txt # [a-b-merge 70c163e] Merge b into a (using imerge) Date: Fri Mar 27 18:27:47 2026 +0000 + check_tree a-b-merge 9d521927e179e882efacd2a0ba94b89a1de00eb2 + local refname=a-b-merge + local expected_tree=9d521927e179e882efacd2a0ba94b89a1de00eb2 + git rev-parse a-b-merge^{tree} + test 9d521927e179e882efacd2a0ba94b89a1de00eb2 = 9d521927e179e882efacd2a0ba94b89a1de00eb2 + git-imerge simplify --goal=rebase --branch=a-b-rebase + check_tree a-b-rebase 9d521927e179e882efacd2a0ba94b89a1de00eb2 + local refname=a-b-rebase + local expected_tree=9d521927e179e882efacd2a0ba94b89a1de00eb2 + git rev-parse a-b-rebase^{tree} + test 9d521927e179e882efacd2a0ba94b89a1de00eb2 = 9d521927e179e882efacd2a0ba94b89a1de00eb2 + git-imerge simplify --goal=rebase-with-history --branch=a-b-rebase-with-history + check_tree a-b-rebase-with-history 9d521927e179e882efacd2a0ba94b89a1de00eb2 + local refname=a-b-rebase-with-history + local expected_tree=9d521927e179e882efacd2a0ba94b89a1de00eb2 + git rev-parse a-b-rebase-with-history^{tree} + test 9d521927e179e882efacd2a0ba94b89a1de00eb2 = 9d521927e179e882efacd2a0ba94b89a1de00eb2 + git-imerge simplify --goal=border --branch=a-b-border + check_tree a-b-border 9d521927e179e882efacd2a0ba94b89a1de00eb2 + local refname=a-b-border + local expected_tree=9d521927e179e882efacd2a0ba94b89a1de00eb2 + git rev-parse a-b-border^{tree} + test 9d521927e179e882efacd2a0ba94b89a1de00eb2 = 9d521927e179e882efacd2a0ba94b89a1de00eb2 + git-imerge simplify --goal=border-with-history --branch=a-b-border-with-history + check_tree a-b-border-with-history 9d521927e179e882efacd2a0ba94b89a1de00eb2 + local refname=a-b-border-with-history + local expected_tree=9d521927e179e882efacd2a0ba94b89a1de00eb2 + git rev-parse a-b-border-with-history^{tree} + test 9d521927e179e882efacd2a0ba94b89a1de00eb2 = 9d521927e179e882efacd2a0ba94b89a1de00eb2 + git-imerge finish --goal=border-with-history2 --branch=a-b-border-with-history2 + check_tree a-b-border-with-history2 9d521927e179e882efacd2a0ba94b89a1de00eb2 + local refname=a-b-border-with-history2 + local expected_tree=9d521927e179e882efacd2a0ba94b89a1de00eb2 + git rev-parse a-b-border-with-history2^{tree} + test 9d521927e179e882efacd2a0ba94b89a1de00eb2 = 9d521927e179e882efacd2a0ba94b89a1de00eb2 + git checkout a Switched to branch 'a' + git-imerge start --goal=full --name=a-b b Attempting to merge 1-1...success. Attempting to merge 1-2...success. Attempting to merge 1-3...success. Attempting to merge 1-4...success. Attempting to merge 2-1...success. Attempting to merge 2-2...success. Attempting to merge 2-3...success. Attempting to merge 2-4...success. Attempting to merge 3-1...success. Attempting to merge 3-2...success. Attempting to merge 3-3...success. Attempting to merge 3-4...success. Merge is complete! + git-imerge list * a-b + git-imerge diagram --commits --frontier --html=imerge6.html 0 3 | | 0 - **** - a *... *... *... 4 - *... | b 0 3 | | 0 - **** - a *..| *..| *..| 4 - *--+ | b Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + git-imerge finish --branch=a-b-full + check_tree a-b-full 9d521927e179e882efacd2a0ba94b89a1de00eb2 + local refname=a-b-full + local expected_tree=9d521927e179e882efacd2a0ba94b89a1de00eb2 + git rev-parse a-b-full^{tree} + test 9d521927e179e882efacd2a0ba94b89a1de00eb2 = 9d521927e179e882efacd2a0ba94b89a1de00eb2 py313: commands[4] .pybuild/cpython3_3.13/build> /bin/sh t/test-flip-flop + dirname t/test-flip-flop + cd t + pwd + dirname /build/reproducible-path/git-imerge-1.2.0/t + BASE=/build/reproducible-path/git-imerge-1.2.0 + . /build/reproducible-path/git-imerge-1.2.0/t/test-lib.sh + GIT_IMERGE=git-imerge + flip_flop_test 1 + local n=1 + TMP=/build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-1 + DESCRIPTION=git-imerge test repository with a commit and its revert at n=1 + init_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-1 git-imerge test repository with a commit and its revert at n=1 + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-1 + local description=git-imerge test repository with a commit and its revert at n=1 + delete_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-1 git-imerge test repository with a commit and its revert at n=1 + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-1 + local description=git-imerge test repository with a commit and its revert at n=1 + test -d /build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-1 + mkdir -p /build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-1 + git init /build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-1 hint: Using 'master' as the name for the initial branch. This default branch name hint: is subject to change. To configure the initial branch name to use in all hint: of your new repositories, which will suppress this warning, call: hint: hint: git config --global init.defaultBranch hint: hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and hint: 'development'. The just-created branch can be renamed via this command: hint: hint: git branch -m Initialized empty Git repository in /build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-1/.git/ + echo git-imerge test repository with a commit and its revert at n=1 + printf %s\n /*.out /*.css /*.html + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-1/.git config user.name Loú User + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-1/.git config user.email luser@example.com + TIME=1112911993 + ln -s /build/reproducible-path/git-imerge-1.2.0/imerge.css /build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-1 + cd /build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-1 + modify a.txt 0 + filename=a.txt + text=0 + echo 0 + git add a.txt + commit -m m⇒0 + TIME=1112911994 + GIT_AUTHOR_DATE=@1112911994 +0000 GIT_COMMITTER_DATE=@1112911994 +0000 git commit -m m⇒0 [master (root-commit) a733afa] m⇒0 1 file changed, 1 insertion(+) create mode 100644 a.txt + git checkout -b a -- Switched to a new branch 'a' + modify a.txt 1 + filename=a.txt + text=1 + echo 1 + git add a.txt + commit -m a⇒1 on branch a + TIME=1112911995 + GIT_AUTHOR_DATE=@1112911995 +0000 GIT_COMMITTER_DATE=@1112911995 +0000 git commit -m a⇒1 on branch a [a 2f1f75a] a⇒1 on branch a 1 file changed, 1 insertion(+), 1 deletion(-) + modify a.txt 2 + filename=a.txt + text=2 + echo 2 + git add a.txt + commit -m a⇒2 on branch a + TIME=1112911996 + GIT_AUTHOR_DATE=@1112911996 +0000 GIT_COMMITTER_DATE=@1112911996 +0000 git commit -m a⇒2 on branch a [a 4700669] a⇒2 on branch a 1 file changed, 1 insertion(+), 1 deletion(-) + modify a.txt 3 + filename=a.txt + text=3 + echo 3 + git add a.txt + commit -m a⇒3 on branch a + TIME=1112911997 + GIT_AUTHOR_DATE=@1112911997 +0000 GIT_COMMITTER_DATE=@1112911997 +0000 git commit -m a⇒3 on branch a [a 621c381] a⇒3 on branch a 1 file changed, 1 insertion(+), 1 deletion(-) + git checkout -b b master -- Switched to a new branch 'b' + modify b.txt 1 + filename=b.txt + text=1 + echo 1 + git add b.txt + msg=b⇒1 + test 1 = 1 + modify a.txt X + filename=a.txt + text=X + echo X + git add a.txt + msg=b⇒1 and a⇒X + test 1 = 2 + commit -m b⇒1 and a⇒X on branch b + TIME=1112911998 + GIT_AUTHOR_DATE=@1112911998 +0000 GIT_COMMITTER_DATE=@1112911998 +0000 git commit -m b⇒1 and a⇒X on branch b [b 044a3fa] b⇒1 and a⇒X on branch b 2 files changed, 2 insertions(+), 1 deletion(-) create mode 100644 b.txt + modify b.txt 2 + filename=b.txt + text=2 + echo 2 + git add b.txt + msg=b⇒2 + test 2 = 1 + test 2 = 2 + modify a.txt 0 + filename=a.txt + text=0 + echo 0 + git add a.txt + msg=b⇒2 and a⇒0 + commit -m b⇒2 and a⇒0 on branch b + TIME=1112911999 + GIT_AUTHOR_DATE=@1112911999 +0000 GIT_COMMITTER_DATE=@1112911999 +0000 git commit -m b⇒2 and a⇒0 on branch b [b 7851975] b⇒2 and a⇒0 on branch b 2 files changed, 2 insertions(+), 2 deletions(-) + modify b.txt 3 + filename=b.txt + text=3 + echo 3 + git add b.txt + msg=b⇒3 + test 3 = 1 + test 3 = 2 + commit -m b⇒3 on branch b + TIME=1112912000 + GIT_AUTHOR_DATE=@1112912000 +0000 GIT_COMMITTER_DATE=@1112912000 +0000 git commit -m b⇒3 on branch b [b 6fe24f0] b⇒3 on branch b 1 file changed, 1 insertion(+), 1 deletion(-) + modify b.txt 4 + filename=b.txt + text=4 + echo 4 + git add b.txt + msg=b⇒4 + test 4 = 1 + test 4 = 2 + commit -m b⇒4 on branch b + TIME=1112912001 + GIT_AUTHOR_DATE=@1112912001 +0000 GIT_COMMITTER_DATE=@1112912001 +0000 git commit -m b⇒4 on branch b [b 2dc5eb7] b⇒4 on branch b 1 file changed, 1 insertion(+), 1 deletion(-) + test_merge b-into-a-1 a b 1-1 1-2 + local name=b-into-a-1 + local dst=a + local src=b + local conflict1=1-1 + local conflict2=1-2 + git checkout a Switched to branch 'a' + git-imerge merge --branch=b-into-a-1 b + tee imerge-b-into-a-1-1.out Attempting automerge of 3-4...success. Autofilling 1-4...success. Autofilling 2-4...success. Autofilling 3-1...unexpected conflict. Backtracking... Autofilling 1-4...success. Autofilling 2-1...unexpected conflict. Backtracking... Autofilling 1-1...unexpected conflict. Backtracking... Switched to branch 'imerge/b' Auto-merging a.txt CONFLICT (content): Merge conflict in a.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit 2f1f75a7b49864d699f9e222c1d78078cfe01587 Author: Loú User Date: Thu Apr 7 22:13:15 2005 +0000 a⇒1 on branch a Original second commit: commit 044a3fac3fa19a3a6428eaeeb356b18764b9b1f2 Author: Loú User Date: Thu Apr 7 22:13:18 2005 +0000 b⇒1 and a⇒X on branch b There was a conflict merging commit 1-1, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + git-imerge diagram --commits --frontier 0 3 | | 0 - **** - a *#?? *??? *??? 4 - *??? | b 0 3 | | 0 - **** - a *#?? *??? *??? 4 - *??? | b Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + grep -q There was a conflict merging commit 1-1 imerge-b-into-a-1-1.out + echo 1 + git add a.txt + git-imerge continue --no-edit + tee imerge-b-into-a-1-2.out [imerge/b e51c594] imerge 'b': manual merge 1-1 Merge has been recorded for merge 1-1. Attempting automerge of 1-4...failure. Attempting automerge of 1-2...failure. Attempting automerge of 3-1...success. Autofilling 2-1...success. Autofilling 3-1...success. Recording autofilled block MergeState('b', tip1='a', tip2='b', goal='merge')[1:4,0:2]. Previous HEAD position was 5c54507 imerge 'b': automatic merge 3-1 Switched to branch 'imerge/b' Auto-merging a.txt CONFLICT (content): Merge conflict in a.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit 2f1f75a7b49864d699f9e222c1d78078cfe01587 Author: Loú User Date: Thu Apr 7 22:13:15 2005 +0000 a⇒1 on branch a Original second commit: commit 7851975ee7d12ef0a256db7ebd029aab51f895ab Author: Loú User Date: Thu Apr 7 22:13:19 2005 +0000 b⇒2 and a⇒0 on branch b There was a conflict merging commit 1-2, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + git-imerge diagram --commits --frontier 0 3 | | 0 - **** - a **.. *#?? *??? 4 - *??? | b 0 3 | | 0 - **** - a **-+ *#?? *??? 4 - *??? | b Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + grep -q There was a conflict merging commit 1-2 imerge-b-into-a-1-2.out + echo 1 + git add a.txt + git-imerge continue --no-edit + tee imerge-b-into-a-1-3.out [imerge/b 509e423] imerge 'b': manual merge 1-2 Merge has been recorded for merge 1-2. Attempting automerge of 1-4...success. Autofilling 1-3...success. Autofilling 1-4...success. Recording autofilled block MergeState('b', tip1='a', tip2='b', goal='merge')[0:2,2:5]. Attempting automerge of 3-4...success. Autofilling 2-4...success. Autofilling 3-2...success. Autofilling 3-3...success. Autofilling 3-4 (first way)...success. Autofilling 3-4 (second way)...success. The two ways of autofilling 3-4 agree. Recording autofilled block MergeState('b', tip1='a', tip2='b', goal='merge')[1:4,1:5]. Merge is complete! + grep -q Merge is complete imerge-b-into-a-1-3.out + git-imerge diagram --commits --frontier 0 3 | | 0 - **** - a **.. **?. *.?. 4 - *... | b 0 3 | | 0 - **** - a **.| **?| *.?| 4 - *--+ | b Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + GIT_EDITOR=cat git-imerge finish Merge b into a (using imerge) # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # Date: Fri Mar 27 18:27:50 2026 +0000 # # On branch b-into-a-1 # Changes to be committed: # new file: b.txt # [b-into-a-1 15551bd] Merge b into a (using imerge) Date: Fri Mar 27 18:27:50 2026 +0000 + test_merge a-into-b-1 b a 1-1 2-1 + local name=a-into-b-1 + local dst=b + local src=a + local conflict1=1-1 + local conflict2=2-1 + git checkout b Switched to branch 'b' + git-imerge merge --branch=a-into-b-1 a + tee imerge-a-into-b-1-1.out Attempting automerge of 4-3...success. Autofilling 1-3...unexpected conflict. Backtracking... Autofilling 1-2...unexpected conflict. Backtracking... Autofilling 1-1...unexpected conflict. Backtracking... Switched to branch 'imerge/a' Auto-merging a.txt CONFLICT (content): Merge conflict in a.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit 044a3fac3fa19a3a6428eaeeb356b18764b9b1f2 Author: Loú User Date: Thu Apr 7 22:13:18 2005 +0000 b⇒1 and a⇒X on branch b Original second commit: commit 2f1f75a7b49864d699f9e222c1d78078cfe01587 Author: Loú User Date: Thu Apr 7 22:13:15 2005 +0000 a⇒1 on branch a There was a conflict merging commit 1-1, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + git-imerge diagram --commits --frontier 0 4 | | 0 - ***** - b *#??? *???? 3 - *???? | a 0 4 | | 0 - ***** - b *#??? *???? 3 - *???? | a Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + grep -q There was a conflict merging commit 1-1 imerge-a-into-b-1-1.out + echo 1 + git add a.txt + git-imerge continue --no-edit + tee imerge-a-into-b-1-2.out [imerge/a a9c3492] imerge 'a': manual merge 1-1 Merge has been recorded for merge 1-1. Attempting automerge of 1-3...success. Autofilling 1-2...success. Autofilling 1-3...success. Recording autofilled block MergeState('a', tip1='b', tip2='a', goal='merge')[0:2,1:4]. Attempting automerge of 4-3...failure. Attempting automerge of 2-1...failure. Switched to branch 'imerge/a' Auto-merging a.txt CONFLICT (content): Merge conflict in a.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit 7851975ee7d12ef0a256db7ebd029aab51f895ab Author: Loú User Date: Thu Apr 7 22:13:19 2005 +0000 b⇒2 and a⇒0 on branch b Original second commit: commit 2f1f75a7b49864d699f9e222c1d78078cfe01587 Author: Loú User Date: Thu Apr 7 22:13:15 2005 +0000 a⇒1 on branch a There was a conflict merging commit 2-1, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + git-imerge diagram --commits --frontier 0 4 | | 0 - ***** - b **#?? *.??? 3 - *.??? | a 0 4 | | 0 - ***** - b **#?? *|??? 3 - *+??? | a Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + grep -q There was a conflict merging commit 2-1 imerge-a-into-b-1-2.out + echo 1 + git add a.txt + git-imerge continue --no-edit + tee imerge-a-into-b-1-3.out [imerge/a 2780ff1] imerge 'a': manual merge 2-1 Merge has been recorded for merge 2-1. Attempting automerge of 2-3...success. Autofilling 2-2...success. Autofilling 2-3...success. Recording autofilled block MergeState('a', tip1='b', tip2='a', goal='merge')[1:3,1:4]. Attempting automerge of 4-3...success. Autofilling 3-3...success. Autofilling 4-1...success. Autofilling 4-2...success. Autofilling 4-3 (first way)...success. Autofilling 4-3 (second way)...success. The two ways of autofilling 4-3 agree. Recording autofilled block MergeState('a', tip1='b', tip2='a', goal='merge')[2:5,0:4]. Merge is complete! + grep -q Merge is complete imerge-a-into-b-1-3.out + git-imerge diagram --commits --frontier 0 4 | | 0 - ***** - b ***?. *..?. 3 - *.... | a 0 4 | | 0 - ***** - b ***?| *..?| 3 - *---+ | a Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + GIT_EDITOR=cat git-imerge finish Merge a into b (using imerge) # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # Date: Fri Mar 27 18:27:52 2026 +0000 # # On branch a-into-b-1 # Changes to be committed: # modified: a.txt # [a-into-b-1 fe4d6a6] Merge a into b (using imerge) Date: Fri Mar 27 18:27:52 2026 +0000 + flip_flop_test 2 + local n=2 + TMP=/build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-2 + DESCRIPTION=git-imerge test repository with a commit and its revert at n=2 + init_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-2 git-imerge test repository with a commit and its revert at n=2 + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-2 + local description=git-imerge test repository with a commit and its revert at n=2 + delete_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-2 git-imerge test repository with a commit and its revert at n=2 + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-2 + local description=git-imerge test repository with a commit and its revert at n=2 + test -d /build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-2 + mkdir -p /build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-2 + git init /build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-2 hint: Using 'master' as the name for the initial branch. This default branch name hint: is subject to change. To configure the initial branch name to use in all hint: of your new repositories, which will suppress this warning, call: hint: hint: git config --global init.defaultBranch hint: hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and hint: 'development'. The just-created branch can be renamed via this command: hint: hint: git branch -m Initialized empty Git repository in /build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-2/.git/ + echo git-imerge test repository with a commit and its revert at n=2 + printf %s\n /*.out /*.css /*.html + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-2/.git config user.name Loú User + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-2/.git config user.email luser@example.com + TIME=1112911993 + ln -s /build/reproducible-path/git-imerge-1.2.0/imerge.css /build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-2 + cd /build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-2 + modify a.txt 0 + filename=a.txt + text=0 + echo 0 + git add a.txt + commit -m m⇒0 + TIME=1112911994 + GIT_AUTHOR_DATE=@1112911994 +0000 GIT_COMMITTER_DATE=@1112911994 +0000 git commit -m m⇒0 [master (root-commit) a733afa] m⇒0 1 file changed, 1 insertion(+) create mode 100644 a.txt + git checkout -b a -- Switched to a new branch 'a' + modify a.txt 1 + filename=a.txt + text=1 + echo 1 + git add a.txt + commit -m a⇒1 on branch a + TIME=1112911995 + GIT_AUTHOR_DATE=@1112911995 +0000 GIT_COMMITTER_DATE=@1112911995 +0000 git commit -m a⇒1 on branch a [a 2f1f75a] a⇒1 on branch a 1 file changed, 1 insertion(+), 1 deletion(-) + modify a.txt 2 + filename=a.txt + text=2 + echo 2 + git add a.txt + commit -m a⇒2 on branch a + TIME=1112911996 + GIT_AUTHOR_DATE=@1112911996 +0000 GIT_COMMITTER_DATE=@1112911996 +0000 git commit -m a⇒2 on branch a [a 4700669] a⇒2 on branch a 1 file changed, 1 insertion(+), 1 deletion(-) + modify a.txt 3 + filename=a.txt + text=3 + echo 3 + git add a.txt + commit -m a⇒3 on branch a + TIME=1112911997 + GIT_AUTHOR_DATE=@1112911997 +0000 GIT_COMMITTER_DATE=@1112911997 +0000 git commit -m a⇒3 on branch a [a 621c381] a⇒3 on branch a 1 file changed, 1 insertion(+), 1 deletion(-) + git checkout -b b master -- Switched to a new branch 'b' + modify b.txt 1 + filename=b.txt + text=1 + echo 1 + git add b.txt + msg=b⇒1 + test 1 = 2 + test 1 = 3 + commit -m b⇒1 on branch b + TIME=1112911998 + GIT_AUTHOR_DATE=@1112911998 +0000 GIT_COMMITTER_DATE=@1112911998 +0000 git commit -m b⇒1 on branch b [b 1f7d097] b⇒1 on branch b 1 file changed, 1 insertion(+) create mode 100644 b.txt + modify b.txt 2 + filename=b.txt + text=2 + echo 2 + git add b.txt + msg=b⇒2 + test 2 = 2 + modify a.txt X + filename=a.txt + text=X + echo X + git add a.txt + msg=b⇒2 and a⇒X + test 2 = 3 + commit -m b⇒2 and a⇒X on branch b + TIME=1112911999 + GIT_AUTHOR_DATE=@1112911999 +0000 GIT_COMMITTER_DATE=@1112911999 +0000 git commit -m b⇒2 and a⇒X on branch b [b 48df77d] b⇒2 and a⇒X on branch b 2 files changed, 2 insertions(+), 2 deletions(-) + modify b.txt 3 + filename=b.txt + text=3 + echo 3 + git add b.txt + msg=b⇒3 + test 3 = 2 + test 3 = 3 + modify a.txt 0 + filename=a.txt + text=0 + echo 0 + git add a.txt + msg=b⇒3 and a⇒0 + commit -m b⇒3 and a⇒0 on branch b + TIME=1112912000 + GIT_AUTHOR_DATE=@1112912000 +0000 GIT_COMMITTER_DATE=@1112912000 +0000 git commit -m b⇒3 and a⇒0 on branch b [b f3ef019] b⇒3 and a⇒0 on branch b 2 files changed, 2 insertions(+), 2 deletions(-) + modify b.txt 4 + filename=b.txt + text=4 + echo 4 + git add b.txt + msg=b⇒4 + test 4 = 2 + test 4 = 3 + commit -m b⇒4 on branch b + TIME=1112912001 + GIT_AUTHOR_DATE=@1112912001 +0000 GIT_COMMITTER_DATE=@1112912001 +0000 git commit -m b⇒4 on branch b [b 69d0c21] b⇒4 on branch b 1 file changed, 1 insertion(+), 1 deletion(-) + test_merge b-into-a-2 a b 1-2 1-3 + local name=b-into-a-2 + local dst=a + local src=b + local conflict1=1-2 + local conflict2=1-3 + git checkout a Switched to branch 'a' + git-imerge merge --branch=b-into-a-2 b + tee imerge-b-into-a-2-1.out Attempting automerge of 3-4...success. Autofilling 1-4...success. Autofilling 2-4...success. Autofilling 3-1...success. Autofilling 3-2...unexpected conflict. Backtracking... Autofilling 1-4...success. Autofilling 2-1...success. Autofilling 2-2...unexpected conflict. Backtracking... Autofilling 1-1...success. Autofilling 1-2...unexpected conflict. Backtracking... Autofilling 1-1...success. Autofilling 2-1...success. Autofilling 3-1...success. Recording autofilled block MergeState('b', tip1='a', tip2='b', goal='merge')[0:4,0:2]. Attempting automerge of 3-4...success. Autofilling 1-4...success. Autofilling 2-4...success. Autofilling 3-2...unexpected conflict. Backtracking... Autofilling 1-4...success. Autofilling 2-2...unexpected conflict. Backtracking... Autofilling 1-2...unexpected conflict. Backtracking... Switched to branch 'imerge/b' Auto-merging a.txt CONFLICT (content): Merge conflict in a.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit 2f1f75a7b49864d699f9e222c1d78078cfe01587 Author: Loú User Date: Thu Apr 7 22:13:15 2005 +0000 a⇒1 on branch a Original second commit: commit 48df77d20a6d16fe330e32ba17d5472d3868a622 Author: Loú User Date: Thu Apr 7 22:13:19 2005 +0000 b⇒2 and a⇒X on branch b There was a conflict merging commit 1-2, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + git-imerge diagram --commits --frontier 0 3 | | 0 - **** - a *... *#?? *??? 4 - *??? | b 0 3 | | 0 - **** - a *--+ *#?? *??? 4 - *??? | b Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + grep -q There was a conflict merging commit 1-2 imerge-b-into-a-2-1.out + echo 1 + git add a.txt + git-imerge continue --no-edit + tee imerge-b-into-a-2-2.out [imerge/b 7595dc2] imerge 'b': manual merge 1-2 Merge has been recorded for merge 1-2. Attempting automerge of 1-4...failure. Attempting automerge of 1-3...failure. Attempting automerge of 3-2...success. Autofilling 2-2...success. Autofilling 3-2...success. Recording autofilled block MergeState('b', tip1='a', tip2='b', goal='merge')[1:4,1:3]. Previous HEAD position was 82e3583 imerge 'b': automatic merge 3-2 Switched to branch 'imerge/b' Auto-merging a.txt CONFLICT (content): Merge conflict in a.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit 2f1f75a7b49864d699f9e222c1d78078cfe01587 Author: Loú User Date: Thu Apr 7 22:13:15 2005 +0000 a⇒1 on branch a Original second commit: commit f3ef01986be02ef5e40589b283c0385471ecca7d Author: Loú User Date: Thu Apr 7 22:13:20 2005 +0000 b⇒3 and a⇒0 on branch b There was a conflict merging commit 1-3, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + git-imerge diagram --commits --frontier 0 3 | | 0 - **** - a *... **.. *#?? 4 - *??? | b 0 3 | | 0 - **** - a *..| **-+ *#?? 4 - *??? | b Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + grep -q There was a conflict merging commit 1-3 imerge-b-into-a-2-2.out + echo 1 + git add a.txt + git-imerge continue --no-edit + tee imerge-b-into-a-2-3.out [imerge/b 10fdab3] imerge 'b': manual merge 1-3 Merge has been recorded for merge 1-3. Attempting automerge of 1-4...success. Autofilling 1-4...success. Recording autofilled block MergeState('b', tip1='a', tip2='b', goal='merge')[0:2,3:5]. Attempting automerge of 3-4...success. Autofilling 2-4...success. Autofilling 3-3...success. Autofilling 3-4 (first way)...success. Autofilling 3-4 (second way)...success. The two ways of autofilling 3-4 agree. Recording autofilled block MergeState('b', tip1='a', tip2='b', goal='merge')[1:4,2:5]. Merge is complete! + grep -q Merge is complete imerge-b-into-a-2-3.out + git-imerge diagram --commits --frontier 0 3 | | 0 - **** - a *... **.. **?. 4 - *... | b 0 3 | | 0 - **** - a *..| **.| **?| 4 - *--+ | b Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + GIT_EDITOR=cat git-imerge finish Merge b into a (using imerge) # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # Date: Fri Mar 27 18:27:54 2026 +0000 # # On branch b-into-a-2 # Changes to be committed: # new file: b.txt # [b-into-a-2 4ff8548] Merge b into a (using imerge) Date: Fri Mar 27 18:27:54 2026 +0000 + test_merge a-into-b-2 b a 2-1 3-1 + local name=a-into-b-2 + local dst=b + local src=a + local conflict1=2-1 + local conflict2=3-1 + git checkout b Switched to branch 'b' + git-imerge merge --branch=a-into-b-2 a + tee imerge-a-into-b-2-1.out Attempting automerge of 4-3...success. Autofilling 1-3...success. Autofilling 2-3...unexpected conflict. Backtracking... Autofilling 1-1...success. Autofilling 1-2...success. Autofilling 1-3...success. Recording autofilled block MergeState('a', tip1='b', tip2='a', goal='merge')[0:2,0:4]. Autofilling 2-2...unexpected conflict. Backtracking... Autofilling 2-1...unexpected conflict. Backtracking... Switched to branch 'imerge/a' Auto-merging a.txt CONFLICT (content): Merge conflict in a.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit 48df77d20a6d16fe330e32ba17d5472d3868a622 Author: Loú User Date: Thu Apr 7 22:13:19 2005 +0000 b⇒2 and a⇒X on branch b Original second commit: commit 2f1f75a7b49864d699f9e222c1d78078cfe01587 Author: Loú User Date: Thu Apr 7 22:13:15 2005 +0000 a⇒1 on branch a There was a conflict merging commit 2-1, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + git-imerge diagram --commits --frontier 0 4 | | 0 - ***** - b *.#?? *.??? 3 - *.??? | a 0 4 | | 0 - ***** - b *|#?? *|??? 3 - *+??? | a Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + grep -q There was a conflict merging commit 2-1 imerge-a-into-b-2-1.out + echo 1 + git add a.txt + git-imerge continue --no-edit + tee imerge-a-into-b-2-2.out [imerge/a f194e7d] imerge 'a': manual merge 2-1 Merge has been recorded for merge 2-1. Attempting automerge of 2-3...success. Autofilling 2-2...success. Autofilling 2-3...success. Recording autofilled block MergeState('a', tip1='b', tip2='a', goal='merge')[1:3,1:4]. Attempting automerge of 4-3...failure. Attempting automerge of 3-1...failure. Switched to branch 'imerge/a' Auto-merging a.txt CONFLICT (content): Merge conflict in a.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit f3ef01986be02ef5e40589b283c0385471ecca7d Author: Loú User Date: Thu Apr 7 22:13:20 2005 +0000 b⇒3 and a⇒0 on branch b Original second commit: commit 2f1f75a7b49864d699f9e222c1d78078cfe01587 Author: Loú User Date: Thu Apr 7 22:13:15 2005 +0000 a⇒1 on branch a There was a conflict merging commit 3-1, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + git-imerge diagram --commits --frontier 0 4 | | 0 - ***** - b *.*#? *..?? 3 - *..?? | a 0 4 | | 0 - ***** - b *.*#? *.|?? 3 - *-+?? | a Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + grep -q There was a conflict merging commit 3-1 imerge-a-into-b-2-2.out + echo 1 + git add a.txt + git-imerge continue --no-edit + tee imerge-a-into-b-2-3.out [imerge/a 2ce6759] imerge 'a': manual merge 3-1 Merge has been recorded for merge 3-1. Attempting automerge of 3-3...success. Autofilling 3-2...success. Autofilling 3-3...success. Recording autofilled block MergeState('a', tip1='b', tip2='a', goal='merge')[2:4,1:4]. Attempting automerge of 4-3...success. Autofilling 4-1...success. Autofilling 4-2...success. Autofilling 4-3...success. Recording autofilled block MergeState('a', tip1='b', tip2='a', goal='merge')[3:5,0:4]. Merge is complete! + grep -q Merge is complete imerge-a-into-b-2-3.out + git-imerge diagram --commits --frontier 0 4 | | 0 - ***** - b *.**. *.... 3 - *.... | a 0 4 | | 0 - ***** - b *.**| *...| 3 - *---+ | a Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + GIT_EDITOR=cat git-imerge finish Merge a into b (using imerge) # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # Date: Fri Mar 27 18:27:56 2026 +0000 # # On branch a-into-b-2 # Changes to be committed: # modified: a.txt # [a-into-b-2 f97a4b1] Merge a into b (using imerge) Date: Fri Mar 27 18:27:56 2026 +0000 + flip_flop_test 3 + local n=3 + TMP=/build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-3 + DESCRIPTION=git-imerge test repository with a commit and its revert at n=3 + init_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-3 git-imerge test repository with a commit and its revert at n=3 + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-3 + local description=git-imerge test repository with a commit and its revert at n=3 + delete_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-3 git-imerge test repository with a commit and its revert at n=3 + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-3 + local description=git-imerge test repository with a commit and its revert at n=3 + test -d /build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-3 + mkdir -p /build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-3 + git init /build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-3 hint: Using 'master' as the name for the initial branch. This default branch name hint: is subject to change. To configure the initial branch name to use in all hint: of your new repositories, which will suppress this warning, call: hint: hint: git config --global init.defaultBranch hint: hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and hint: 'development'. The just-created branch can be renamed via this command: hint: hint: git branch -m Initialized empty Git repository in /build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-3/.git/ + echo git-imerge test repository with a commit and its revert at n=3 + printf %s\n /*.out /*.css /*.html + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-3/.git config user.name Loú User + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-3/.git config user.email luser@example.com + TIME=1112911993 + ln -s /build/reproducible-path/git-imerge-1.2.0/imerge.css /build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-3 + cd /build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-3 + modify a.txt 0 + filename=a.txt + text=0 + echo 0 + git add a.txt + commit -m m⇒0 + TIME=1112911994 + GIT_AUTHOR_DATE=@1112911994 +0000 GIT_COMMITTER_DATE=@1112911994 +0000 git commit -m m⇒0 [master (root-commit) a733afa] m⇒0 1 file changed, 1 insertion(+) create mode 100644 a.txt + git checkout -b a -- Switched to a new branch 'a' + modify a.txt 1 + filename=a.txt + text=1 + echo 1 + git add a.txt + commit -m a⇒1 on branch a + TIME=1112911995 + GIT_AUTHOR_DATE=@1112911995 +0000 GIT_COMMITTER_DATE=@1112911995 +0000 git commit -m a⇒1 on branch a [a 2f1f75a] a⇒1 on branch a 1 file changed, 1 insertion(+), 1 deletion(-) + modify a.txt 2 + filename=a.txt + text=2 + echo 2 + git add a.txt + commit -m a⇒2 on branch a + TIME=1112911996 + GIT_AUTHOR_DATE=@1112911996 +0000 GIT_COMMITTER_DATE=@1112911996 +0000 git commit -m a⇒2 on branch a [a 4700669] a⇒2 on branch a 1 file changed, 1 insertion(+), 1 deletion(-) + modify a.txt 3 + filename=a.txt + text=3 + echo 3 + git add a.txt + commit -m a⇒3 on branch a + TIME=1112911997 + GIT_AUTHOR_DATE=@1112911997 +0000 GIT_COMMITTER_DATE=@1112911997 +0000 git commit -m a⇒3 on branch a [a 621c381] a⇒3 on branch a 1 file changed, 1 insertion(+), 1 deletion(-) + git checkout -b b master -- Switched to a new branch 'b' + modify b.txt 1 + filename=b.txt + text=1 + echo 1 + git add b.txt + msg=b⇒1 + test 1 = 3 + test 1 = 4 + commit -m b⇒1 on branch b + TIME=1112911998 + GIT_AUTHOR_DATE=@1112911998 +0000 GIT_COMMITTER_DATE=@1112911998 +0000 git commit -m b⇒1 on branch b [b 1f7d097] b⇒1 on branch b 1 file changed, 1 insertion(+) create mode 100644 b.txt + modify b.txt 2 + filename=b.txt + text=2 + echo 2 + git add b.txt + msg=b⇒2 + test 2 = 3 + test 2 = 4 + commit -m b⇒2 on branch b + TIME=1112911999 + GIT_AUTHOR_DATE=@1112911999 +0000 GIT_COMMITTER_DATE=@1112911999 +0000 git commit -m b⇒2 on branch b [b ce671e9] b⇒2 on branch b 1 file changed, 1 insertion(+), 1 deletion(-) + modify b.txt 3 + filename=b.txt + text=3 + echo 3 + git add b.txt + msg=b⇒3 + test 3 = 3 + modify a.txt X + filename=a.txt + text=X + echo X + git add a.txt + msg=b⇒3 and a⇒X + test 3 = 4 + commit -m b⇒3 and a⇒X on branch b + TIME=1112912000 + GIT_AUTHOR_DATE=@1112912000 +0000 GIT_COMMITTER_DATE=@1112912000 +0000 git commit -m b⇒3 and a⇒X on branch b [b d40495e] b⇒3 and a⇒X on branch b 2 files changed, 2 insertions(+), 2 deletions(-) + modify b.txt 4 + filename=b.txt + text=4 + echo 4 + git add b.txt + msg=b⇒4 + test 4 = 3 + test 4 = 4 + modify a.txt 0 + filename=a.txt + text=0 + echo 0 + git add a.txt + msg=b⇒4 and a⇒0 + commit -m b⇒4 and a⇒0 on branch b + TIME=1112912001 + GIT_AUTHOR_DATE=@1112912001 +0000 GIT_COMMITTER_DATE=@1112912001 +0000 git commit -m b⇒4 and a⇒0 on branch b [b eb736f2] b⇒4 and a⇒0 on branch b 2 files changed, 2 insertions(+), 2 deletions(-) + test_merge b-into-a-3 a b 1-3 1-4 + local name=b-into-a-3 + local dst=a + local src=b + local conflict1=1-3 + local conflict2=1-4 + git checkout a Switched to branch 'a' + git-imerge merge --branch=b-into-a-3 b + tee imerge-b-into-a-3-1.out Attempting automerge of 3-4...success. Autofilling 1-4...success. Autofilling 2-4...success. Autofilling 3-1...success. Autofilling 3-2...success. Autofilling 3-3...unexpected conflict. Backtracking... Autofilling 1-4...success. Autofilling 2-1...success. Autofilling 2-2...success. Autofilling 2-3...unexpected conflict. Backtracking... Autofilling 1-1...success. Autofilling 1-2...success. Autofilling 1-3...unexpected conflict. Backtracking... Autofilling 1-2...success. Autofilling 2-2...success. Autofilling 3-1...success. Autofilling 3-2 (first way)...success. Autofilling 3-2 (second way)...success. The two ways of autofilling 3-2 agree. Recording autofilled block MergeState('b', tip1='a', tip2='b', goal='merge')[0:4,0:3]. Attempting automerge of 3-4...success. Autofilling 1-4...success. Autofilling 2-4...success. Autofilling 3-3...unexpected conflict. Backtracking... Autofilling 1-4...success. Autofilling 2-3...unexpected conflict. Backtracking... Autofilling 1-3...unexpected conflict. Backtracking... Switched to branch 'imerge/b' Auto-merging a.txt CONFLICT (content): Merge conflict in a.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit 2f1f75a7b49864d699f9e222c1d78078cfe01587 Author: Loú User Date: Thu Apr 7 22:13:15 2005 +0000 a⇒1 on branch a Original second commit: commit d40495ed379f376841e517047f90b663e8c7c7e1 Author: Loú User Date: Thu Apr 7 22:13:20 2005 +0000 b⇒3 and a⇒X on branch b There was a conflict merging commit 1-3, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + git-imerge diagram --commits --frontier 0 3 | | 0 - **** - a *??. *... *#?? 4 - *??? | b 0 3 | | 0 - **** - a *??| *--+ *#?? 4 - *??? | b Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + grep -q There was a conflict merging commit 1-3 imerge-b-into-a-3-1.out + echo 1 + git add a.txt + git-imerge continue --no-edit + tee imerge-b-into-a-3-2.out [imerge/b b5806d9] imerge 'b': manual merge 1-3 Merge has been recorded for merge 1-3. Attempting automerge of 1-4...failure. Attempting automerge of 1-4...failure. Attempting automerge of 3-3...success. Autofilling 2-3...success. Autofilling 3-3...success. Recording autofilled block MergeState('b', tip1='a', tip2='b', goal='merge')[1:4,2:4]. Previous HEAD position was 0b408e5 imerge 'b': automatic merge 3-3 Switched to branch 'imerge/b' Auto-merging a.txt CONFLICT (content): Merge conflict in a.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit 2f1f75a7b49864d699f9e222c1d78078cfe01587 Author: Loú User Date: Thu Apr 7 22:13:15 2005 +0000 a⇒1 on branch a Original second commit: commit eb736f2ae81944f79f443fd39a89adf74dbc907a Author: Loú User Date: Thu Apr 7 22:13:21 2005 +0000 b⇒4 and a⇒0 on branch b There was a conflict merging commit 1-4, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + git-imerge diagram --commits --frontier 0 3 | | 0 - **** - a *??. *... **.. 4 - *#?? | b 0 3 | | 0 - **** - a *??| *..| **-+ 4 - *#?? | b Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + grep -q There was a conflict merging commit 1-4 imerge-b-into-a-3-2.out + echo 1 + git add a.txt + git-imerge continue --no-edit + tee imerge-b-into-a-3-3.out [imerge/b 5562d65] imerge 'b': manual merge 1-4 Merge has been recorded for merge 1-4. Attempting automerge of 3-4...success. Autofilling 2-4...success. Autofilling 3-4...success. Recording autofilled block MergeState('b', tip1='a', tip2='b', goal='merge')[1:4,3:5]. Merge is complete! + grep -q Merge is complete imerge-b-into-a-3-3.out + git-imerge diagram --commits --frontier 0 3 | | 0 - **** - a *??. *... **.. 4 - **.. | b 0 3 | | 0 - **** - a *??| *..| **.| 4 - **-+ | b Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + GIT_EDITOR=cat git-imerge finish Merge b into a (using imerge) # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # Date: Fri Mar 27 18:27:58 2026 +0000 # # On branch b-into-a-3 # Changes to be committed: # new file: b.txt # [b-into-a-3 93ed93c] Merge b into a (using imerge) Date: Fri Mar 27 18:27:58 2026 +0000 + test_merge a-into-b-3 b a 3-1 4-1 + local name=a-into-b-3 + local dst=b + local src=a + local conflict1=3-1 + local conflict2=4-1 + git checkout b Switched to branch 'b' + git-imerge merge --branch=a-into-b-3 a + tee imerge-a-into-b-3-1.out Attempting automerge of 4-3...success. Autofilling 1-3...success. Autofilling 2-3...success. Autofilling 3-3...unexpected conflict. Backtracking... Autofilling 1-3...success. Autofilling 2-1...success. Autofilling 2-2...success. Autofilling 2-3 (first way)...success. Autofilling 2-3 (second way)...success. The two ways of autofilling 2-3 agree. Recording autofilled block MergeState('a', tip1='b', tip2='a', goal='merge')[0:3,0:4]. Autofilling 3-2...unexpected conflict. Backtracking... Autofilling 3-1...unexpected conflict. Backtracking... Switched to branch 'imerge/a' Auto-merging a.txt CONFLICT (content): Merge conflict in a.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit d40495ed379f376841e517047f90b663e8c7c7e1 Author: Loú User Date: Thu Apr 7 22:13:20 2005 +0000 b⇒3 and a⇒X on branch b Original second commit: commit 2f1f75a7b49864d699f9e222c1d78078cfe01587 Author: Loú User Date: Thu Apr 7 22:13:15 2005 +0000 a⇒1 on branch a There was a conflict merging commit 3-1, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + git-imerge diagram --commits --frontier 0 4 | | 0 - ***** - b *?.#? *?.?? 3 - *..?? | a 0 4 | | 0 - ***** - b *?|#? *?|?? 3 - *-+?? | a Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + grep -q There was a conflict merging commit 3-1 imerge-a-into-b-3-1.out + echo 1 + git add a.txt + git-imerge continue --no-edit + tee imerge-a-into-b-3-2.out [imerge/a aac72e5] imerge 'a': manual merge 3-1 Merge has been recorded for merge 3-1. Attempting automerge of 3-3...success. Autofilling 3-2...success. Autofilling 3-3...success. Recording autofilled block MergeState('a', tip1='b', tip2='a', goal='merge')[2:4,1:4]. Attempting automerge of 4-3...failure. Attempting automerge of 4-1...failure. Switched to branch 'imerge/a' Auto-merging a.txt CONFLICT (content): Merge conflict in a.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit eb736f2ae81944f79f443fd39a89adf74dbc907a Author: Loú User Date: Thu Apr 7 22:13:21 2005 +0000 b⇒4 and a⇒0 on branch b Original second commit: commit 2f1f75a7b49864d699f9e222c1d78078cfe01587 Author: Loú User Date: Thu Apr 7 22:13:15 2005 +0000 a⇒1 on branch a There was a conflict merging commit 4-1, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + git-imerge diagram --commits --frontier 0 4 | | 0 - ***** - b *?.*# *?..? 3 - *...? | a 0 4 | | 0 - ***** - b *?.*# *?.|? 3 - *--+? | a Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + grep -q There was a conflict merging commit 4-1 imerge-a-into-b-3-2.out + echo 1 + git add a.txt + git-imerge continue --no-edit + tee imerge-a-into-b-3-3.out [imerge/a 97fa36a] imerge 'a': manual merge 4-1 Merge has been recorded for merge 4-1. Attempting automerge of 4-3...success. Autofilling 4-2...success. Autofilling 4-3...success. Recording autofilled block MergeState('a', tip1='b', tip2='a', goal='merge')[3:5,1:4]. Merge is complete! + grep -q Merge is complete imerge-a-into-b-3-3.out + git-imerge diagram --commits --frontier 0 4 | | 0 - ***** - b *?.** *?... 3 - *.... | a 0 4 | | 0 - ***** - b *?.** *?..| 3 - *---+ | a Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + GIT_EDITOR=cat git-imerge finish Merge a into b (using imerge) # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # Date: Fri Mar 27 18:28:00 2026 +0000 # # On branch a-into-b-3 # Changes to be committed: # modified: a.txt # [a-into-b-3 d167233] Merge a into b (using imerge) Date: Fri Mar 27 18:28:00 2026 +0000 py313: commands[5] .pybuild/cpython3_3.13/build> /bin/sh t/test-drop + dirname t/test-drop + cd t + pwd + dirname /build/reproducible-path/git-imerge-1.2.0/t + BASE=/build/reproducible-path/git-imerge-1.2.0 + . /build/reproducible-path/git-imerge-1.2.0/t/test-lib.sh + GIT_IMERGE=git-imerge + TMP=/build/reproducible-path/git-imerge-1.2.0/t/tmp/drop + DESCRIPTION=git-imerge drop test repository + init_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/drop git-imerge drop test repository + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/drop + local description=git-imerge drop test repository + delete_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/drop git-imerge drop test repository + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/drop + local description=git-imerge drop test repository + test -d /build/reproducible-path/git-imerge-1.2.0/t/tmp/drop + mkdir -p /build/reproducible-path/git-imerge-1.2.0/t/tmp/drop + git init /build/reproducible-path/git-imerge-1.2.0/t/tmp/drop hint: Using 'master' as the name for the initial branch. This default branch name hint: is subject to change. To configure the initial branch name to use in all hint: of your new repositories, which will suppress this warning, call: hint: hint: git config --global init.defaultBranch hint: hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and hint: 'development'. The just-created branch can be renamed via this command: hint: hint: git branch -m Initialized empty Git repository in /build/reproducible-path/git-imerge-1.2.0/t/tmp/drop/.git/ + echo git-imerge drop test repository + printf %s\n /*.out /*.css /*.html + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/drop/.git config user.name Loú User + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/drop/.git config user.email luser@example.com + TIME=1112911993 + ln -s /build/reproducible-path/git-imerge-1.2.0/imerge.css /build/reproducible-path/git-imerge-1.2.0/t/tmp/drop + cd /build/reproducible-path/git-imerge-1.2.0/t/tmp/drop + modify a.txt 0 + filename=a.txt + text=0 + echo 0 + git add a.txt + commit -m m⇒0 + TIME=1112911994 + GIT_AUTHOR_DATE=@1112911994 +0000 GIT_COMMITTER_DATE=@1112911994 +0000 git commit -m m⇒0 [master (root-commit) a733afa] m⇒0 1 file changed, 1 insertion(+) create mode 100644 a.txt + seq 6 + modify a1.txt 1 + filename=a1.txt + text=1 + echo 1 + git add a1.txt + commit -m a1⇒1 + TIME=1112911995 + GIT_AUTHOR_DATE=@1112911995 +0000 GIT_COMMITTER_DATE=@1112911995 +0000 git commit -m a1⇒1 [master 389a4ba] a1⇒1 1 file changed, 1 insertion(+) create mode 100644 a1.txt + modify a2.txt 2 + filename=a2.txt + text=2 + echo 2 + git add a2.txt + commit -m a2⇒2 + TIME=1112911996 + GIT_AUTHOR_DATE=@1112911996 +0000 GIT_COMMITTER_DATE=@1112911996 +0000 git commit -m a2⇒2 [master 4785218] a2⇒2 1 file changed, 1 insertion(+) create mode 100644 a2.txt + modify a3.txt 3 + filename=a3.txt + text=3 + echo 3 + git add a3.txt + commit -m a3⇒3 + TIME=1112911997 + GIT_AUTHOR_DATE=@1112911997 +0000 GIT_COMMITTER_DATE=@1112911997 +0000 git commit -m a3⇒3 [master 34bdde3] a3⇒3 1 file changed, 1 insertion(+) create mode 100644 a3.txt + modify a4.txt 4 + filename=a4.txt + text=4 + echo 4 + git add a4.txt + commit -m a4⇒4 + TIME=1112911998 + GIT_AUTHOR_DATE=@1112911998 +0000 GIT_COMMITTER_DATE=@1112911998 +0000 git commit -m a4⇒4 [master c793a5a] a4⇒4 1 file changed, 1 insertion(+) create mode 100644 a4.txt + modify a5.txt 5 + filename=a5.txt + text=5 + echo 5 + git add a5.txt + commit -m a5⇒5 + TIME=1112911999 + GIT_AUTHOR_DATE=@1112911999 +0000 GIT_COMMITTER_DATE=@1112911999 +0000 git commit -m a5⇒5 [master b42f60c] a5⇒5 1 file changed, 1 insertion(+) create mode 100644 a5.txt + modify a6.txt 6 + filename=a6.txt + text=6 + echo 6 + git add a6.txt + commit -m a6⇒6 + TIME=1112912000 + GIT_AUTHOR_DATE=@1112912000 +0000 GIT_COMMITTER_DATE=@1112912000 +0000 git commit -m a6⇒6 [master 9d6aec5] a6⇒6 1 file changed, 1 insertion(+) create mode 100644 a6.txt + git checkout -b dropped master Switched to a new branch 'dropped' + git-imerge drop HEAD~5..HEAD~3 Note: switching to '34bdde3a6a5b6b9c8bcac5aa36109195e2a3dc7a^0'. You are in 'detached HEAD' state. You can look around, make experimental changes and commit them, and you can discard any commits you make in this state without impacting any branches by switching back to a branch. If you want to create a new branch to retain commits you create, you may do so (now or later) by using -c with the switch command. Example: git switch -c Or undo this operation with: git switch - Turn off this advice by setting config variable advice.detachedHead to false HEAD is now at 34bdde3 a3⇒3 [detached HEAD 4b42950] Revert "a3⇒3" Date: Fri Mar 27 18:28:00 2026 +0000 1 file changed, 1 deletion(-) delete mode 100644 a3.txt [detached HEAD 5a0f565] Revert "a2⇒2" Date: Fri Mar 27 18:28:00 2026 +0000 1 file changed, 1 deletion(-) delete mode 100644 a2.txt Attempting automerge of 3-2...success. Autofilling 1-2...success. Autofilling 2-2...success. Autofilling 3-1...success. Autofilling 3-2 (first way)...success. Autofilling 3-2 (second way)...success. The two ways of autofilling 3-2 agree. Recording autofilled block MergeState('dropped', tip1='dropped', tip2='5a0f565823853324f0b34342e7ad550e5cf26c74', goal='drop')[0:4,0:3]. Merge is complete! + git-imerge diagram --commits --frontier --html=imerge-drop.html 0 3 | | 0 - **** - dropped *??. 2 - *... | 5a0f565823853324f0b34342e7ad550e5cf26c74 0 3 | | 0 - **** - dropped *??| 2 - *--+ | 5a0f565823853324f0b34342e7ad550e5cf26c74 Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + git-imerge finish + check_tree dropped 3b92d9e80adb5b542a651863e6853ff5de9e496b + local refname=dropped + local expected_tree=3b92d9e80adb5b542a651863e6853ff5de9e496b + git rev-parse dropped^{tree} + test 3b92d9e80adb5b542a651863e6853ff5de9e496b = 3b92d9e80adb5b542a651863e6853ff5de9e496b + git checkout -b reverted master Switched to a new branch 'reverted' + git-imerge revert HEAD~5..HEAD~3 Note: switching to '34bdde3a6a5b6b9c8bcac5aa36109195e2a3dc7a^0'. You are in 'detached HEAD' state. You can look around, make experimental changes and commit them, and you can discard any commits you make in this state without impacting any branches by switching back to a branch. If you want to create a new branch to retain commits you create, you may do so (now or later) by using -c with the switch command. Example: git switch -c Or undo this operation with: git switch - Turn off this advice by setting config variable advice.detachedHead to false HEAD is now at 34bdde3 a3⇒3 [detached HEAD 12da661] Revert "a3⇒3" Date: Fri Mar 27 18:28:01 2026 +0000 1 file changed, 1 deletion(-) delete mode 100644 a3.txt [detached HEAD dc31bc9] Revert "a2⇒2" Date: Fri Mar 27 18:28:01 2026 +0000 1 file changed, 1 deletion(-) delete mode 100644 a2.txt Attempting automerge of 3-2...success. Autofilling 1-2...success. Autofilling 2-2...success. Autofilling 3-1...success. Autofilling 3-2 (first way)...success. Autofilling 3-2 (second way)...success. The two ways of autofilling 3-2 agree. Recording autofilled block MergeState('reverted', tip1='reverted', tip2='dc31bc9f8a4ae85067a870f524c2e480c5db97e5', goal='revert')[0:4,0:3]. Merge is complete! + git-imerge diagram --commits --frontier --html=imerge-revert.html 0 3 | | 0 - **** - reverted *??. 2 - *... | dc31bc9f8a4ae85067a870f524c2e480c5db97e5 0 3 | | 0 - **** - reverted *??| 2 - *--+ | dc31bc9f8a4ae85067a870f524c2e480c5db97e5 Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + git-imerge finish + check_tree reverted 3b92d9e80adb5b542a651863e6853ff5de9e496b + local refname=reverted + local expected_tree=3b92d9e80adb5b542a651863e6853ff5de9e496b + git rev-parse reverted^{tree} + test 3b92d9e80adb5b542a651863e6853ff5de9e496b = 3b92d9e80adb5b542a651863e6853ff5de9e496b py313: OK (93.78=setup[1.45]+cmd[4.79,61.91,9.71,3.41,10.94,1.57] seconds) congratulations :) (93.88 seconds) create-stamp debian/debhelper-build-stamp dh_testroot -O--buildsystem=pybuild dh_prep -O--buildsystem=pybuild dh_auto_install --destdir=debian/git-imerge/ -O--buildsystem=pybuild I: pybuild base:311: /usr/bin/python3 setup.py install --root /build/reproducible-path/git-imerge-1.2.0/debian/git-imerge running install /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:66: SetuptoolsDeprecationWarning: setup.py install is deprecated. !! ******************************************************************************** Please avoid running ``setup.py`` directly. Instead, use pypa/build, pypa/installer or other standards-based tools. See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details. ******************************************************************************** !! self.initialize_options() running build running build_py running install_lib creating /build/reproducible-path/git-imerge-1.2.0/debian/git-imerge/usr/lib/python3.13/dist-packages copying /build/reproducible-path/git-imerge-1.2.0/.pybuild/cpython3_3.13/build/gitimerge.py -> /build/reproducible-path/git-imerge-1.2.0/debian/git-imerge/usr/lib/python3.13/dist-packages byte-compiling /build/reproducible-path/git-imerge-1.2.0/debian/git-imerge/usr/lib/python3.13/dist-packages/gitimerge.py to gitimerge.cpython-313.pyc running install_data creating /build/reproducible-path/git-imerge-1.2.0/debian/git-imerge/usr/share/bash-completion/completions copying completions/git-imerge -> /build/reproducible-path/git-imerge-1.2.0/debian/git-imerge/usr/share/bash-completion/completions running install_egg_info running egg_info writing git_imerge.egg-info/PKG-INFO writing dependency_links to git_imerge.egg-info/dependency_links.txt writing entry points to git_imerge.egg-info/entry_points.txt writing top-level names to git_imerge.egg-info/top_level.txt reading manifest file 'git_imerge.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' adding license file 'COPYING' writing manifest file 'git_imerge.egg-info/SOURCES.txt' Copying git_imerge.egg-info to /build/reproducible-path/git-imerge-1.2.0/debian/git-imerge/usr/lib/python3.13/dist-packages/git_imerge-1.2.0.egg-info Skipping SOURCES.txt running install_scripts Installing git-imerge script to /build/reproducible-path/git-imerge-1.2.0/debian/git-imerge/usr/bin dh_installdocs -O--buildsystem=pybuild dh_installchangelogs -O--buildsystem=pybuild dh_python3 -O--buildsystem=pybuild dh_installsystemduser -O--buildsystem=pybuild dh_perl -O--buildsystem=pybuild dh_link -O--buildsystem=pybuild dh_strip_nondeterminism -O--buildsystem=pybuild dh_compress -O--buildsystem=pybuild dh_fixperms -O--buildsystem=pybuild dh_missing -O--buildsystem=pybuild dh_installdeb -O--buildsystem=pybuild dh_gencontrol -O--buildsystem=pybuild dh_md5sums -O--buildsystem=pybuild dh_builddeb -O--buildsystem=pybuild dpkg-deb: building package 'git-imerge' in '../git-imerge_1.2.0-5_all.deb'. dpkg-genbuildinfo --build=binary -O../git-imerge_1.2.0-5_arm64.buildinfo dpkg-genchanges --build=binary -O../git-imerge_1.2.0-5_arm64.changes dpkg-genchanges: info: binary-only upload (no source code included) dpkg-source --after-build . dpkg-buildpackage: info: binary-only upload (no source included) dpkg-genchanges: info: not including original source code in upload I: copying local configuration I: unmounting dev/ptmx filesystem I: unmounting dev/pts filesystem I: unmounting dev/shm filesystem I: unmounting proc filesystem I: unmounting sys filesystem I: cleaning the build env I: removing directory /srv/workspace/pbuilder/1649155 and its subdirectories I: Current time: Fri Mar 27 06:28:06 -12 2026 I: pbuilder-time-stamp: 1774636086 Sat Feb 22 12:05:08 UTC 2025 I: 1st build successful. Starting 2nd build on remote node codethink04-arm64.debian.net. Sat Feb 22 12:05:08 UTC 2025 I: Preparing to do remote build '2' on codethink04-arm64.debian.net. Sat Feb 22 12:05:08 UTC 2025 - checking /var/lib/jenkins/offline_nodes if codethink04-arm64.debian.net is marked as down. Sat Feb 22 12:05:08 UTC 2025 - checking via ssh if codethink04-arm64.debian.net is up. removed '/tmp/read-only-fs-test-Qr0lj5' ==================================================================================== Sat Feb 22 12:05:10 UTC 2025 - running /srv/jenkins/bin/reproducible_build.sh (for job /srv/jenkins/bin/reproducible_build.sh) on codethink04-arm64, called using "2 git-imerge trixie /srv/reproducible-results/rbuild-debian/r-b-build.7f9P2HTC 1.2.0-5" as arguments. Sat Feb 22 12:05:10 UTC 2025 - actually running "reproducible_build.sh" (md5sum 68e686e434c9ab7bc3ec047d8b309cbc) as "/tmp/jenkins-script-WfIND7VS" $ git clone https://salsa.debian.org/qa/jenkins.debian.net.git ; more CONTRIBUTING Sat Feb 22 12:05:10 UTC 2025 I: Downloading source for trixie/git-imerge=1.2.0-5 Reading package lists... Need to get 69.5 kB of source archives. Get:1 http://deb.debian.org/debian trixie/main git-imerge 1.2.0-5 (dsc) [1896 B] Get:2 http://deb.debian.org/debian trixie/main git-imerge 1.2.0-5 (tar) [64.4 kB] Get:3 http://deb.debian.org/debian trixie/main git-imerge 1.2.0-5 (diff) [3144 B] Fetched 69.5 kB in 0s (3984 kB/s) Download complete and in download only mode Reading package lists... Need to get 69.5 kB of source archives. Get:1 http://deb.debian.org/debian trixie/main git-imerge 1.2.0-5 (dsc) [1896 B] Get:2 http://deb.debian.org/debian trixie/main git-imerge 1.2.0-5 (tar) [64.4 kB] Get:3 http://deb.debian.org/debian trixie/main git-imerge 1.2.0-5 (diff) [3144 B] Fetched 69.5 kB in 0s (3984 kB/s) Download complete and in download only mode ============================================================================= Re-Building git-imerge in trixie on arm64 on codethink04-arm64 now. Date: Sat Feb 22 12:05:10 GMT 2025 Date UTC: Sat Feb 22 12:05:10 UTC 2025 ============================================================================= ++ mktemp -t pbuilderrc_XXXX --tmpdir=/srv/reproducible-results/rbuild-debian/r-b-build.7f9P2HTC + local TMPCFG=/srv/reproducible-results/rbuild-debian/r-b-build.7f9P2HTC/pbuilderrc_CgCP + case ${ARCH} in + case $ARCH in + locale=nl_BE + language=nl + case "${SUITE}" in + reproducible_buildflags=+all + extra_deb_build_options= + case "${SRCPACKAGE}" in + cat + echo BUILDDIR=/build/reproducible-path + '[' git-imerge = debian-installer -o git-imerge = debian-installer-netboot-images ']' + pbuilder_options=() + local pbuilder_options + DEBBUILDOPTS=-b + BINARYTARGET= + '[' git-imerge = u-boot ']' + case "${SRCPACKAGE}" in + PBUILDERTIMEOUT=24 + local PRESULT=0 + sudo timeout -k 24.1h 24h /usr/bin/ionice -c 3 /usr/bin/nice -n 11 /usr/bin/unshare --uts -- /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.7f9P2HTC/pbuilderrc_CgCP --distribution trixie --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/trixie-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.7f9P2HTC/b2 --logfile b2/build.log git-imerge_1.2.0-5.dsc W: /root/.pbuilderrc does not exist I: Logging to b2/build.log I: pbuilder: network access will be disabled during build I: Current time: Sun Feb 23 02:05:10 +14 2025 I: pbuilder-time-stamp: 1740225910 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/trixie-reproducible-base.tgz] I: copying local configuration W: --override-config is not set; not updating apt.conf Read the manpage for details. I: mounting /proc filesystem I: mounting /sys filesystem I: creating /{dev,run}/shm I: mounting /dev/pts filesystem I: redirecting /dev/ptmx to /dev/pts/ptmx I: policy-rc.d already exists I: Copying source file I: copying [git-imerge_1.2.0-5.dsc] I: copying [./git-imerge_1.2.0.orig.tar.gz] I: copying [./git-imerge_1.2.0-5.debian.tar.xz] I: Extracting source dpkg-source: warning: cannot verify inline signature for ./git-imerge_1.2.0-5.dsc: unsupported subcommand dpkg-source: info: extracting git-imerge in git-imerge-1.2.0 dpkg-source: info: unpacking git-imerge_1.2.0.orig.tar.gz dpkg-source: info: unpacking git-imerge_1.2.0-5.debian.tar.xz dpkg-source: info: using patch list from debian/patches/series dpkg-source: info: applying tox-4-pr-204.patch I: Not using root during the build. I: Installing the build-deps I: user script /srv/workspace/pbuilder/576038/tmp/hooks/D01_modify_environment starting debug: Running on codethink04-arm64. I: Changing host+domainname to test build reproducibility I: Adding a custom variable just for the fun of it... I: Changing /bin/sh to bash '/bin/sh' -> '/bin/bash' lrwxrwxrwx 1 root root 9 Feb 22 12:05 /bin/sh -> /bin/bash I: Setting pbuilder2's login shell to /bin/bash I: Setting pbuilder2's GECOS to second user,second room,second work-phone,second home-phone,second other I: user script /srv/workspace/pbuilder/576038/tmp/hooks/D01_modify_environment finished I: user script /srv/workspace/pbuilder/576038/tmp/hooks/D02_print_environment starting I: set BASH=/bin/sh BASHOPTS=checkwinsize:cmdhist:complete_fullquote:extquote:force_fignore:globasciiranges:globskipdots:hostcomplete:interactive_comments:patsub_replacement:progcomp:promptvars:sourcepath BASH_ALIASES=() BASH_ARGC=() BASH_ARGV=() BASH_CMDS=() BASH_LINENO=([0]="12" [1]="0") BASH_LOADABLES_PATH=/usr/local/lib/bash:/usr/lib/bash:/opt/local/lib/bash:/usr/pkg/lib/bash:/opt/pkg/lib/bash:. BASH_SOURCE=([0]="/tmp/hooks/D02_print_environment" [1]="/tmp/hooks/D02_print_environment") BASH_VERSINFO=([0]="5" [1]="2" [2]="37" [3]="1" [4]="release" [5]="aarch64-unknown-linux-gnu") BASH_VERSION='5.2.37(1)-release' BUILDDIR=/build/reproducible-path BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other' BUILDUSERNAME=pbuilder2 BUILD_ARCH=arm64 DEBIAN_FRONTEND=noninteractive DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=12 ' DIRSTACK=() DISTRIBUTION=trixie EUID=0 FUNCNAME=([0]="Echo" [1]="main") GROUPS=() HOME=/root HOSTNAME=i-capture-the-hostname HOSTTYPE=aarch64 HOST_ARCH=arm64 IFS=' ' INVOCATION_ID=861b9dc6d6284dc19343cc52f0837330 LANG=C LANGUAGE=nl_BE:nl LC_ALL=C MACHTYPE=aarch64-unknown-linux-gnu MAIL=/var/mail/root OPTERR=1 OPTIND=1 OSTYPE=linux-gnu PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path PBCURRENTCOMMANDLINEOPERATION=build PBUILDER_OPERATION=build PBUILDER_PKGDATADIR=/usr/share/pbuilder PBUILDER_PKGLIBDIR=/usr/lib/pbuilder PBUILDER_SYSCONFDIR=/etc PIPESTATUS=([0]="0") POSIXLY_CORRECT=y PPID=576038 PS4='+ ' PWD=/ SHELL=/bin/bash SHELLOPTS=braceexpand:errexit:hashall:interactive-comments:posix SHLVL=3 SUDO_COMMAND='/usr/bin/timeout -k 24.1h 24h /usr/bin/ionice -c 3 /usr/bin/nice -n 11 /usr/bin/unshare --uts -- /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.7f9P2HTC/pbuilderrc_CgCP --distribution trixie --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/trixie-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.7f9P2HTC/b2 --logfile b2/build.log git-imerge_1.2.0-5.dsc' SUDO_GID=109 SUDO_UID=104 SUDO_USER=jenkins TERM=unknown TZ=/usr/share/zoneinfo/Etc/GMT-14 UID=0 USER=root _='I: set' http_proxy=http://192.168.101.4:3128 I: uname -a Linux i-capture-the-hostname 6.1.0-31-cloud-arm64 #1 SMP Debian 6.1.128-1 (2025-02-07) aarch64 GNU/Linux I: ls -l /bin lrwxrwxrwx 1 root root 7 Nov 22 14:40 /bin -> usr/bin I: user script /srv/workspace/pbuilder/576038/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy Version: 0.invalid.0 Architecture: arm64 Maintainer: Debian Pbuilder Team Description: Dummy package to satisfy dependencies with aptitude - created by pbuilder This package was created automatically by pbuilder to satisfy the build-dependencies of the package being currently built. Depends: bash-completion, debhelper-compat (= 13), dh-sequence-python3, git, pkg-config, python3, python3-setuptools, python3-wheel, tox dpkg-deb: building package 'pbuilder-satisfydepends-dummy' in '/tmp/satisfydepends-aptitude/pbuilder-satisfydepends-dummy.deb'. Selecting previously unselected package pbuilder-satisfydepends-dummy. (Reading database ... 19972 files and directories currently installed.) Preparing to unpack .../pbuilder-satisfydepends-dummy.deb ... Unpacking pbuilder-satisfydepends-dummy (0.invalid.0) ... dpkg: pbuilder-satisfydepends-dummy: dependency problems, but configuring anyway as you requested: pbuilder-satisfydepends-dummy depends on bash-completion; however: Package bash-completion is not installed. pbuilder-satisfydepends-dummy depends on debhelper-compat (= 13); however: Package debhelper-compat is not installed. pbuilder-satisfydepends-dummy depends on dh-sequence-python3; however: Package dh-sequence-python3 is not installed. pbuilder-satisfydepends-dummy depends on git; however: Package git is not installed. pbuilder-satisfydepends-dummy depends on pkg-config; however: Package pkg-config is not installed. pbuilder-satisfydepends-dummy depends on python3; however: Package python3 is not installed. pbuilder-satisfydepends-dummy depends on python3-setuptools; however: Package python3-setuptools is not installed. pbuilder-satisfydepends-dummy depends on python3-wheel; however: Package python3-wheel is not installed. pbuilder-satisfydepends-dummy depends on tox; however: Package tox is not installed. Setting up pbuilder-satisfydepends-dummy (0.invalid.0) ... Reading package lists... Building dependency tree... Reading state information... Initializing package states... Writing extended state information... Building tag database... pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) The following NEW packages will be installed: autoconf{a} automake{a} autopoint{a} autotools-dev{a} bash-completion{a} bsdextrautils{a} ca-certificates{a} debhelper{a} dh-autoreconf{a} dh-python{a} dh-strip-nondeterminism{a} dwz{a} file{a} gettext{a} gettext-base{a} git{a} git-man{a} groff-base{a} intltool-debian{a} libarchive-zip-perl{a} libbrotli1{a} libcom-err2{a} libcurl3t64-gnutls{a} libdebhelper-perl{a} libelf1t64{a} liberror-perl{a} libexpat1{a} libffi8{a} libfile-stripnondeterminism-perl{a} libgnutls30t64{a} libgssapi-krb5-2{a} libicu72{a} libidn2-0{a} libjs-jquery{a} libjs-sphinxdoc{a} libjs-underscore{a} libk5crypto3{a} libkeyutils1{a} libkrb5-3{a} libkrb5support0{a} libldap2{a} libmagic-mgc{a} libmagic1t64{a} libnghttp2-14{a} libnghttp3-9{a} libngtcp2-16{a} libngtcp2-crypto-gnutls8{a} libp11-kit0{a} libpipeline1{a} libpkgconf3{a} libpsl5t64{a} libpython3-stdlib{a} libpython3.13-minimal{a} libpython3.13-stdlib{a} libreadline8t64{a} librtmp1{a} libsasl2-2{a} libsasl2-modules-db{a} libssh2-1t64{a} libtasn1-6{a} libtool{a} libuchardet0{a} libunistring5{a} libxml2{a} m4{a} man-db{a} media-types{a} netbase{a} openssl{a} pkg-config{a} pkgconf{a} pkgconf-bin{a} po-debconf{a} python3{a} python3-autocommand{a} python3-cachetools{a} python3-chardet{a} python3-colorama{a} python3-distlib{a} python3-filelock{a} python3-inflect{a} python3-jaraco.context{a} python3-jaraco.functools{a} python3-jaraco.text{a} python3-minimal{a} python3-more-itertools{a} python3-packaging{a} python3-pip-whl{a} python3-pkg-resources{a} python3-platformdirs{a} python3-pluggy{a} python3-pyproject-api{a} python3-setuptools{a} python3-setuptools-whl{a} python3-typeguard{a} python3-typing-extensions{a} python3-virtualenv{a} python3-wheel{a} python3-wheel-whl{a} python3-zipp{a} python3.13{a} python3.13-minimal{a} readline-common{a} sensible-utils{a} tox{a} tzdata{a} The following packages are RECOMMENDED but will NOT be installed: curl javascript-common krb5-locales less libarchive-cpio-perl libldap-common libltdl-dev libmail-sendmail-perl libsasl2-modules lynx openssh-client publicsuffix python3-dev wget 0 packages upgraded, 106 newly installed, 0 to remove and 0 not upgraded. Need to get 49.1 MB of archives. After unpacking 197 MB will be used. Writing extended state information... Get: 1 http://deb.debian.org/debian trixie/main arm64 libpython3.13-minimal arm64 3.13.2-1 [853 kB] Get: 2 http://deb.debian.org/debian trixie/main arm64 libexpat1 arm64 2.6.4-1 [90.7 kB] Get: 3 http://deb.debian.org/debian trixie/main arm64 python3.13-minimal arm64 3.13.2-1 [1997 kB] Get: 4 http://deb.debian.org/debian trixie/main arm64 python3-minimal arm64 3.13.1-2 [27.0 kB] Get: 5 http://deb.debian.org/debian trixie/main arm64 media-types all 10.1.0 [26.9 kB] Get: 6 http://deb.debian.org/debian trixie/main arm64 netbase all 6.4 [12.8 kB] Get: 7 http://deb.debian.org/debian trixie/main arm64 tzdata all 2025a-2 [259 kB] Get: 8 http://deb.debian.org/debian trixie/main arm64 libffi8 arm64 3.4.7-1 [21.2 kB] Get: 9 http://deb.debian.org/debian trixie/main arm64 readline-common all 8.2-6 [69.4 kB] Get: 10 http://deb.debian.org/debian trixie/main arm64 libreadline8t64 arm64 8.2-6 [159 kB] Get: 11 http://deb.debian.org/debian trixie/main arm64 libpython3.13-stdlib arm64 3.13.2-1 [1914 kB] Get: 12 http://deb.debian.org/debian trixie/main arm64 python3.13 arm64 3.13.2-1 [745 kB] Get: 13 http://deb.debian.org/debian trixie/main arm64 libpython3-stdlib arm64 3.13.1-2 [9952 B] Get: 14 http://deb.debian.org/debian trixie/main arm64 python3 arm64 3.13.1-2 [28.0 kB] Get: 15 http://deb.debian.org/debian trixie/main arm64 sensible-utils all 0.0.24 [24.8 kB] Get: 16 http://deb.debian.org/debian trixie/main arm64 bash-completion all 1:2.16.0-7 [319 kB] Get: 17 http://deb.debian.org/debian trixie/main arm64 openssl arm64 3.4.1-1 [1390 kB] Get: 18 http://deb.debian.org/debian trixie/main arm64 ca-certificates all 20241223 [164 kB] Get: 19 http://deb.debian.org/debian trixie/main arm64 libmagic-mgc arm64 1:5.45-3+b1 [314 kB] Get: 20 http://deb.debian.org/debian trixie/main arm64 libmagic1t64 arm64 1:5.45-3+b1 [102 kB] Get: 21 http://deb.debian.org/debian trixie/main arm64 file arm64 1:5.45-3+b1 [43.4 kB] Get: 22 http://deb.debian.org/debian trixie/main arm64 gettext-base arm64 0.23.1-1 [241 kB] Get: 23 http://deb.debian.org/debian trixie/main arm64 libuchardet0 arm64 0.0.8-1+b2 [69.2 kB] Get: 24 http://deb.debian.org/debian trixie/main arm64 groff-base arm64 1.23.0-7 [1129 kB] Get: 25 http://deb.debian.org/debian trixie/main arm64 bsdextrautils arm64 2.40.4-3 [92.0 kB] Get: 26 http://deb.debian.org/debian trixie/main arm64 libpipeline1 arm64 1.5.8-1 [40.2 kB] Get: 27 http://deb.debian.org/debian trixie/main arm64 man-db arm64 2.13.0-1 [1404 kB] Get: 28 http://deb.debian.org/debian trixie/main arm64 m4 arm64 1.4.19-5 [284 kB] Get: 29 http://deb.debian.org/debian trixie/main arm64 autoconf all 2.72-3 [493 kB] Get: 30 http://deb.debian.org/debian trixie/main arm64 autotools-dev all 20220109.1 [51.6 kB] Get: 31 http://deb.debian.org/debian trixie/main arm64 automake all 1:1.17-3 [862 kB] Get: 32 http://deb.debian.org/debian trixie/main arm64 autopoint all 0.23.1-1 [770 kB] Get: 33 http://deb.debian.org/debian trixie/main arm64 libdebhelper-perl all 13.24.1 [90.9 kB] Get: 34 http://deb.debian.org/debian trixie/main arm64 libtool all 2.5.4-3 [539 kB] Get: 35 http://deb.debian.org/debian trixie/main arm64 dh-autoreconf all 20 [17.1 kB] Get: 36 http://deb.debian.org/debian trixie/main arm64 libarchive-zip-perl all 1.68-1 [104 kB] Get: 37 http://deb.debian.org/debian trixie/main arm64 libfile-stripnondeterminism-perl all 1.14.1-2 [19.7 kB] Get: 38 http://deb.debian.org/debian trixie/main arm64 dh-strip-nondeterminism all 1.14.1-2 [8620 B] Get: 39 http://deb.debian.org/debian trixie/main arm64 libelf1t64 arm64 0.192-4 [189 kB] Get: 40 http://deb.debian.org/debian trixie/main arm64 dwz arm64 0.15-1+b1 [102 kB] Get: 41 http://deb.debian.org/debian trixie/main arm64 libunistring5 arm64 1.3-1 [449 kB] Get: 42 http://deb.debian.org/debian trixie/main arm64 libicu72 arm64 72.1-6 [9239 kB] Get: 43 http://deb.debian.org/debian trixie/main arm64 libxml2 arm64 2.12.7+dfsg+really2.9.14-0.2+b1 [630 kB] Get: 44 http://deb.debian.org/debian trixie/main arm64 gettext arm64 0.23.1-1 [1610 kB] Get: 45 http://deb.debian.org/debian trixie/main arm64 intltool-debian all 0.35.0+20060710.6 [22.9 kB] Get: 46 http://deb.debian.org/debian trixie/main arm64 po-debconf all 1.0.21+nmu1 [248 kB] Get: 47 http://deb.debian.org/debian trixie/main arm64 debhelper all 13.24.1 [920 kB] Get: 48 http://deb.debian.org/debian trixie/main arm64 python3-autocommand all 2.2.2-3 [13.6 kB] Get: 49 http://deb.debian.org/debian trixie/main arm64 python3-more-itertools all 10.6.0-1 [65.3 kB] Get: 50 http://deb.debian.org/debian trixie/main arm64 python3-typing-extensions all 4.12.2-2 [73.0 kB] Get: 51 http://deb.debian.org/debian trixie/main arm64 python3-typeguard all 4.4.1-1 [37.0 kB] Get: 52 http://deb.debian.org/debian trixie/main arm64 python3-inflect all 7.3.1-2 [32.4 kB] Get: 53 http://deb.debian.org/debian trixie/main arm64 python3-jaraco.context all 6.0.0-1 [7984 B] Get: 54 http://deb.debian.org/debian trixie/main arm64 python3-jaraco.functools all 4.1.0-1 [12.0 kB] Get: 55 http://deb.debian.org/debian trixie/main arm64 python3-pkg-resources all 75.6.0-1 [222 kB] Get: 56 http://deb.debian.org/debian trixie/main arm64 python3-jaraco.text all 4.0.0-1 [11.4 kB] Get: 57 http://deb.debian.org/debian trixie/main arm64 python3-zipp all 3.21.0-1 [10.6 kB] Get: 58 http://deb.debian.org/debian trixie/main arm64 python3-setuptools all 75.6.0-1 [720 kB] Get: 59 http://deb.debian.org/debian trixie/main arm64 dh-python all 6.20250108 [113 kB] Get: 60 http://deb.debian.org/debian trixie/main arm64 libbrotli1 arm64 1.1.0-2+b6 [297 kB] Get: 61 http://deb.debian.org/debian trixie/main arm64 libidn2-0 arm64 2.3.7-2+b1 [127 kB] Get: 62 http://deb.debian.org/debian trixie/main arm64 libp11-kit0 arm64 0.25.5-3 [409 kB] Get: 63 http://deb.debian.org/debian trixie/main arm64 libtasn1-6 arm64 4.20.0-2 [47.3 kB] Get: 64 http://deb.debian.org/debian trixie/main arm64 libgnutls30t64 arm64 3.8.9-2 [1374 kB] Get: 65 http://deb.debian.org/debian trixie/main arm64 libkrb5support0 arm64 1.21.3-4 [32.2 kB] Get: 66 http://deb.debian.org/debian trixie/main arm64 libcom-err2 arm64 1.47.2-1 [23.9 kB] Get: 67 http://deb.debian.org/debian trixie/main arm64 libk5crypto3 arm64 1.21.3-4 [81.5 kB] Get: 68 http://deb.debian.org/debian trixie/main arm64 libkeyutils1 arm64 1.6.3-4 [9352 B] Get: 69 http://deb.debian.org/debian trixie/main arm64 libkrb5-3 arm64 1.21.3-4 [308 kB] Get: 70 http://deb.debian.org/debian trixie/main arm64 libgssapi-krb5-2 arm64 1.21.3-4 [127 kB] Get: 71 http://deb.debian.org/debian trixie/main arm64 libsasl2-modules-db arm64 2.1.28+dfsg1-8+b1 [20.3 kB] Get: 72 http://deb.debian.org/debian trixie/main arm64 libsasl2-2 arm64 2.1.28+dfsg1-8+b1 [55.7 kB] Get: 73 http://deb.debian.org/debian trixie/main arm64 libldap2 arm64 2.6.9+dfsg-1 [179 kB] Get: 74 http://deb.debian.org/debian trixie/main arm64 libnghttp2-14 arm64 1.64.0-1 [71.3 kB] Get: 75 http://deb.debian.org/debian trixie/main arm64 libnghttp3-9 arm64 1.6.0-2 [60.5 kB] Get: 76 http://deb.debian.org/debian trixie/main arm64 libngtcp2-16 arm64 1.9.1-1 [109 kB] Get: 77 http://deb.debian.org/debian trixie/main arm64 libngtcp2-crypto-gnutls8 arm64 1.9.1-1 [17.3 kB] Get: 78 http://deb.debian.org/debian trixie/main arm64 libpsl5t64 arm64 0.21.2-1.1+b1 [57.1 kB] Get: 79 http://deb.debian.org/debian trixie/main arm64 librtmp1 arm64 2.4+20151223.gitfa8646d.1-2+b5 [56.8 kB] Get: 80 http://deb.debian.org/debian trixie/main arm64 libssh2-1t64 arm64 1.11.1-1 [235 kB] Get: 81 http://deb.debian.org/debian trixie/main arm64 libcurl3t64-gnutls arm64 8.12.1-2 [336 kB] Get: 82 http://deb.debian.org/debian trixie/main arm64 liberror-perl all 0.17029-2 [29.0 kB] Get: 83 http://deb.debian.org/debian trixie/main arm64 git-man all 1:2.47.2-0.1 [2205 kB] Get: 84 http://deb.debian.org/debian trixie/main arm64 git arm64 1:2.47.2-0.1 [8756 kB] Get: 85 http://deb.debian.org/debian trixie/main arm64 libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [326 kB] Get: 86 http://deb.debian.org/debian trixie/main arm64 libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [116 kB] Get: 87 http://deb.debian.org/debian trixie/main arm64 libjs-sphinxdoc all 8.1.3-4 [30.4 kB] Get: 88 http://deb.debian.org/debian trixie/main arm64 libpkgconf3 arm64 1.8.1-4 [35.3 kB] Get: 89 http://deb.debian.org/debian trixie/main arm64 pkgconf-bin arm64 1.8.1-4 [29.6 kB] Get: 90 http://deb.debian.org/debian trixie/main arm64 pkgconf arm64 1.8.1-4 [26.1 kB] Get: 91 http://deb.debian.org/debian trixie/main arm64 pkg-config arm64 1.8.1-4 [14.0 kB] Get: 92 http://deb.debian.org/debian trixie/main arm64 python3-cachetools all 5.3.3-1 [13.2 kB] Get: 93 http://deb.debian.org/debian trixie/main arm64 python3-chardet all 5.2.0+dfsg-2 [108 kB] Get: 94 http://deb.debian.org/debian trixie/main arm64 python3-colorama all 0.4.6-4 [36.2 kB] Get: 95 http://deb.debian.org/debian trixie/main arm64 python3-distlib all 0.3.9-1 [257 kB] Get: 96 http://deb.debian.org/debian trixie/main arm64 python3-filelock all 3.16.1-1 [12.6 kB] Get: 97 http://deb.debian.org/debian trixie/main arm64 python3-packaging all 24.2-1 [55.3 kB] Get: 98 http://deb.debian.org/debian trixie/main arm64 python3-pip-whl all 25.0+dfsg-1 [1522 kB] Get: 99 http://deb.debian.org/debian trixie/main arm64 python3-platformdirs all 4.3.6-1 [16.6 kB] Get: 100 http://deb.debian.org/debian trixie/main arm64 python3-pluggy all 1.5.0-1 [26.9 kB] Get: 101 http://deb.debian.org/debian trixie/main arm64 python3-pyproject-api all 1.9.0-1 [51.6 kB] Get: 102 http://deb.debian.org/debian trixie/main arm64 python3-setuptools-whl all 75.6.0-1 [1239 kB] Get: 103 http://deb.debian.org/debian trixie/main arm64 python3-wheel-whl all 0.45.1-1 [75.3 kB] Get: 104 http://deb.debian.org/debian trixie/main arm64 python3-virtualenv all 20.29.1+ds-1 [71.6 kB] Get: 105 http://deb.debian.org/debian trixie/main arm64 python3-wheel all 0.45.1-1 [56.7 kB] Get: 106 http://deb.debian.org/debian trixie/main arm64 tox all 4.24.1-1 [399 kB] Fetched 49.1 MB in 0s (153 MB/s) Preconfiguring packages ... Selecting previously unselected package libpython3.13-minimal:arm64. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 19972 files and directories currently installed.) Preparing to unpack .../libpython3.13-minimal_3.13.2-1_arm64.deb ... Unpacking libpython3.13-minimal:arm64 (3.13.2-1) ... Selecting previously unselected package libexpat1:arm64. Preparing to unpack .../libexpat1_2.6.4-1_arm64.deb ... Unpacking libexpat1:arm64 (2.6.4-1) ... Selecting previously unselected package python3.13-minimal. Preparing to unpack .../python3.13-minimal_3.13.2-1_arm64.deb ... Unpacking python3.13-minimal (3.13.2-1) ... Setting up libpython3.13-minimal:arm64 (3.13.2-1) ... Setting up libexpat1:arm64 (2.6.4-1) ... Setting up python3.13-minimal (3.13.2-1) ... Selecting previously unselected package python3-minimal. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 20306 files and directories currently installed.) Preparing to unpack .../0-python3-minimal_3.13.1-2_arm64.deb ... Unpacking python3-minimal (3.13.1-2) ... Selecting previously unselected package media-types. Preparing to unpack .../1-media-types_10.1.0_all.deb ... Unpacking media-types (10.1.0) ... Selecting previously unselected package netbase. Preparing to unpack .../2-netbase_6.4_all.deb ... Unpacking netbase (6.4) ... Selecting previously unselected package tzdata. Preparing to unpack .../3-tzdata_2025a-2_all.deb ... Unpacking tzdata (2025a-2) ... Selecting previously unselected package libffi8:arm64. Preparing to unpack .../4-libffi8_3.4.7-1_arm64.deb ... Unpacking libffi8:arm64 (3.4.7-1) ... Selecting previously unselected package readline-common. Preparing to unpack .../5-readline-common_8.2-6_all.deb ... Unpacking readline-common (8.2-6) ... Selecting previously unselected package libreadline8t64:arm64. Preparing to unpack .../6-libreadline8t64_8.2-6_arm64.deb ... Adding 'diversion of /lib/aarch64-linux-gnu/libhistory.so.8 to /lib/aarch64-linux-gnu/libhistory.so.8.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/aarch64-linux-gnu/libhistory.so.8.2 to /lib/aarch64-linux-gnu/libhistory.so.8.2.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/aarch64-linux-gnu/libreadline.so.8 to /lib/aarch64-linux-gnu/libreadline.so.8.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/aarch64-linux-gnu/libreadline.so.8.2 to /lib/aarch64-linux-gnu/libreadline.so.8.2.usr-is-merged by libreadline8t64' Unpacking libreadline8t64:arm64 (8.2-6) ... Selecting previously unselected package libpython3.13-stdlib:arm64. Preparing to unpack .../7-libpython3.13-stdlib_3.13.2-1_arm64.deb ... Unpacking libpython3.13-stdlib:arm64 (3.13.2-1) ... Selecting previously unselected package python3.13. Preparing to unpack .../8-python3.13_3.13.2-1_arm64.deb ... Unpacking python3.13 (3.13.2-1) ... Selecting previously unselected package libpython3-stdlib:arm64. Preparing to unpack .../9-libpython3-stdlib_3.13.1-2_arm64.deb ... Unpacking libpython3-stdlib:arm64 (3.13.1-2) ... Setting up python3-minimal (3.13.1-2) ... Selecting previously unselected package python3. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 21316 files and directories currently installed.) Preparing to unpack .../00-python3_3.13.1-2_arm64.deb ... Unpacking python3 (3.13.1-2) ... Selecting previously unselected package sensible-utils. Preparing to unpack .../01-sensible-utils_0.0.24_all.deb ... Unpacking sensible-utils (0.0.24) ... Selecting previously unselected package bash-completion. Preparing to unpack .../02-bash-completion_1%3a2.16.0-7_all.deb ... Unpacking bash-completion (1:2.16.0-7) ... Selecting previously unselected package openssl. Preparing to unpack .../03-openssl_3.4.1-1_arm64.deb ... Unpacking openssl (3.4.1-1) ... Selecting previously unselected package ca-certificates. Preparing to unpack .../04-ca-certificates_20241223_all.deb ... Unpacking ca-certificates (20241223) ... Selecting previously unselected package libmagic-mgc. Preparing to unpack .../05-libmagic-mgc_1%3a5.45-3+b1_arm64.deb ... Unpacking libmagic-mgc (1:5.45-3+b1) ... Selecting previously unselected package libmagic1t64:arm64. Preparing to unpack .../06-libmagic1t64_1%3a5.45-3+b1_arm64.deb ... Unpacking libmagic1t64:arm64 (1:5.45-3+b1) ... Selecting previously unselected package file. Preparing to unpack .../07-file_1%3a5.45-3+b1_arm64.deb ... Unpacking file (1:5.45-3+b1) ... Selecting previously unselected package gettext-base. Preparing to unpack .../08-gettext-base_0.23.1-1_arm64.deb ... Unpacking gettext-base (0.23.1-1) ... Selecting previously unselected package libuchardet0:arm64. Preparing to unpack .../09-libuchardet0_0.0.8-1+b2_arm64.deb ... Unpacking libuchardet0:arm64 (0.0.8-1+b2) ... Selecting previously unselected package groff-base. Preparing to unpack .../10-groff-base_1.23.0-7_arm64.deb ... Unpacking groff-base (1.23.0-7) ... Selecting previously unselected package bsdextrautils. Preparing to unpack .../11-bsdextrautils_2.40.4-3_arm64.deb ... Unpacking bsdextrautils (2.40.4-3) ... Selecting previously unselected package libpipeline1:arm64. Preparing to unpack .../12-libpipeline1_1.5.8-1_arm64.deb ... Unpacking libpipeline1:arm64 (1.5.8-1) ... Selecting previously unselected package man-db. Preparing to unpack .../13-man-db_2.13.0-1_arm64.deb ... Unpacking man-db (2.13.0-1) ... Selecting previously unselected package m4. Preparing to unpack .../14-m4_1.4.19-5_arm64.deb ... Unpacking m4 (1.4.19-5) ... Selecting previously unselected package autoconf. Preparing to unpack .../15-autoconf_2.72-3_all.deb ... Unpacking autoconf (2.72-3) ... Selecting previously unselected package autotools-dev. Preparing to unpack .../16-autotools-dev_20220109.1_all.deb ... Unpacking autotools-dev (20220109.1) ... Selecting previously unselected package automake. Preparing to unpack .../17-automake_1%3a1.17-3_all.deb ... Unpacking automake (1:1.17-3) ... Selecting previously unselected package autopoint. Preparing to unpack .../18-autopoint_0.23.1-1_all.deb ... Unpacking autopoint (0.23.1-1) ... Selecting previously unselected package libdebhelper-perl. Preparing to unpack .../19-libdebhelper-perl_13.24.1_all.deb ... Unpacking libdebhelper-perl (13.24.1) ... Selecting previously unselected package libtool. Preparing to unpack .../20-libtool_2.5.4-3_all.deb ... Unpacking libtool (2.5.4-3) ... Selecting previously unselected package dh-autoreconf. Preparing to unpack .../21-dh-autoreconf_20_all.deb ... Unpacking dh-autoreconf (20) ... Selecting previously unselected package libarchive-zip-perl. Preparing to unpack .../22-libarchive-zip-perl_1.68-1_all.deb ... Unpacking libarchive-zip-perl (1.68-1) ... Selecting previously unselected package libfile-stripnondeterminism-perl. Preparing to unpack .../23-libfile-stripnondeterminism-perl_1.14.1-2_all.deb ... Unpacking libfile-stripnondeterminism-perl (1.14.1-2) ... Selecting previously unselected package dh-strip-nondeterminism. Preparing to unpack .../24-dh-strip-nondeterminism_1.14.1-2_all.deb ... Unpacking dh-strip-nondeterminism (1.14.1-2) ... Selecting previously unselected package libelf1t64:arm64. Preparing to unpack .../25-libelf1t64_0.192-4_arm64.deb ... Unpacking libelf1t64:arm64 (0.192-4) ... Selecting previously unselected package dwz. Preparing to unpack .../26-dwz_0.15-1+b1_arm64.deb ... Unpacking dwz (0.15-1+b1) ... Selecting previously unselected package libunistring5:arm64. Preparing to unpack .../27-libunistring5_1.3-1_arm64.deb ... Unpacking libunistring5:arm64 (1.3-1) ... Selecting previously unselected package libicu72:arm64. Preparing to unpack .../28-libicu72_72.1-6_arm64.deb ... Unpacking libicu72:arm64 (72.1-6) ... Selecting previously unselected package libxml2:arm64. Preparing to unpack .../29-libxml2_2.12.7+dfsg+really2.9.14-0.2+b1_arm64.deb ... Unpacking libxml2:arm64 (2.12.7+dfsg+really2.9.14-0.2+b1) ... Selecting previously unselected package gettext. Preparing to unpack .../30-gettext_0.23.1-1_arm64.deb ... Unpacking gettext (0.23.1-1) ... Selecting previously unselected package intltool-debian. Preparing to unpack .../31-intltool-debian_0.35.0+20060710.6_all.deb ... Unpacking intltool-debian (0.35.0+20060710.6) ... Selecting previously unselected package po-debconf. Preparing to unpack .../32-po-debconf_1.0.21+nmu1_all.deb ... Unpacking po-debconf (1.0.21+nmu1) ... Selecting previously unselected package debhelper. Preparing to unpack .../33-debhelper_13.24.1_all.deb ... Unpacking debhelper (13.24.1) ... Selecting previously unselected package python3-autocommand. Preparing to unpack .../34-python3-autocommand_2.2.2-3_all.deb ... Unpacking python3-autocommand (2.2.2-3) ... Selecting previously unselected package python3-more-itertools. Preparing to unpack .../35-python3-more-itertools_10.6.0-1_all.deb ... Unpacking python3-more-itertools (10.6.0-1) ... Selecting previously unselected package python3-typing-extensions. Preparing to unpack .../36-python3-typing-extensions_4.12.2-2_all.deb ... Unpacking python3-typing-extensions (4.12.2-2) ... Selecting previously unselected package python3-typeguard. Preparing to unpack .../37-python3-typeguard_4.4.1-1_all.deb ... Unpacking python3-typeguard (4.4.1-1) ... Selecting previously unselected package python3-inflect. Preparing to unpack .../38-python3-inflect_7.3.1-2_all.deb ... Unpacking python3-inflect (7.3.1-2) ... Selecting previously unselected package python3-jaraco.context. Preparing to unpack .../39-python3-jaraco.context_6.0.0-1_all.deb ... Unpacking python3-jaraco.context (6.0.0-1) ... Selecting previously unselected package python3-jaraco.functools. Preparing to unpack .../40-python3-jaraco.functools_4.1.0-1_all.deb ... Unpacking python3-jaraco.functools (4.1.0-1) ... Selecting previously unselected package python3-pkg-resources. Preparing to unpack .../41-python3-pkg-resources_75.6.0-1_all.deb ... Unpacking python3-pkg-resources (75.6.0-1) ... Selecting previously unselected package python3-jaraco.text. Preparing to unpack .../42-python3-jaraco.text_4.0.0-1_all.deb ... Unpacking python3-jaraco.text (4.0.0-1) ... Selecting previously unselected package python3-zipp. Preparing to unpack .../43-python3-zipp_3.21.0-1_all.deb ... Unpacking python3-zipp (3.21.0-1) ... Selecting previously unselected package python3-setuptools. Preparing to unpack .../44-python3-setuptools_75.6.0-1_all.deb ... Unpacking python3-setuptools (75.6.0-1) ... Selecting previously unselected package dh-python. Preparing to unpack .../45-dh-python_6.20250108_all.deb ... Unpacking dh-python (6.20250108) ... Selecting previously unselected package libbrotli1:arm64. Preparing to unpack .../46-libbrotli1_1.1.0-2+b6_arm64.deb ... Unpacking libbrotli1:arm64 (1.1.0-2+b6) ... Selecting previously unselected package libidn2-0:arm64. Preparing to unpack .../47-libidn2-0_2.3.7-2+b1_arm64.deb ... Unpacking libidn2-0:arm64 (2.3.7-2+b1) ... Selecting previously unselected package libp11-kit0:arm64. Preparing to unpack .../48-libp11-kit0_0.25.5-3_arm64.deb ... Unpacking libp11-kit0:arm64 (0.25.5-3) ... Selecting previously unselected package libtasn1-6:arm64. Preparing to unpack .../49-libtasn1-6_4.20.0-2_arm64.deb ... Unpacking libtasn1-6:arm64 (4.20.0-2) ... Selecting previously unselected package libgnutls30t64:arm64. Preparing to unpack .../50-libgnutls30t64_3.8.9-2_arm64.deb ... Unpacking libgnutls30t64:arm64 (3.8.9-2) ... Selecting previously unselected package libkrb5support0:arm64. Preparing to unpack .../51-libkrb5support0_1.21.3-4_arm64.deb ... Unpacking libkrb5support0:arm64 (1.21.3-4) ... Selecting previously unselected package libcom-err2:arm64. Preparing to unpack .../52-libcom-err2_1.47.2-1_arm64.deb ... Unpacking libcom-err2:arm64 (1.47.2-1) ... Selecting previously unselected package libk5crypto3:arm64. Preparing to unpack .../53-libk5crypto3_1.21.3-4_arm64.deb ... Unpacking libk5crypto3:arm64 (1.21.3-4) ... Selecting previously unselected package libkeyutils1:arm64. Preparing to unpack .../54-libkeyutils1_1.6.3-4_arm64.deb ... Unpacking libkeyutils1:arm64 (1.6.3-4) ... Selecting previously unselected package libkrb5-3:arm64. Preparing to unpack .../55-libkrb5-3_1.21.3-4_arm64.deb ... Unpacking libkrb5-3:arm64 (1.21.3-4) ... Selecting previously unselected package libgssapi-krb5-2:arm64. Preparing to unpack .../56-libgssapi-krb5-2_1.21.3-4_arm64.deb ... Unpacking libgssapi-krb5-2:arm64 (1.21.3-4) ... Selecting previously unselected package libsasl2-modules-db:arm64. Preparing to unpack .../57-libsasl2-modules-db_2.1.28+dfsg1-8+b1_arm64.deb ... Unpacking libsasl2-modules-db:arm64 (2.1.28+dfsg1-8+b1) ... Selecting previously unselected package libsasl2-2:arm64. Preparing to unpack .../58-libsasl2-2_2.1.28+dfsg1-8+b1_arm64.deb ... Unpacking libsasl2-2:arm64 (2.1.28+dfsg1-8+b1) ... Selecting previously unselected package libldap2:arm64. Preparing to unpack .../59-libldap2_2.6.9+dfsg-1_arm64.deb ... Unpacking libldap2:arm64 (2.6.9+dfsg-1) ... Selecting previously unselected package libnghttp2-14:arm64. Preparing to unpack .../60-libnghttp2-14_1.64.0-1_arm64.deb ... Unpacking libnghttp2-14:arm64 (1.64.0-1) ... Selecting previously unselected package libnghttp3-9:arm64. Preparing to unpack .../61-libnghttp3-9_1.6.0-2_arm64.deb ... Unpacking libnghttp3-9:arm64 (1.6.0-2) ... Selecting previously unselected package libngtcp2-16:arm64. Preparing to unpack .../62-libngtcp2-16_1.9.1-1_arm64.deb ... Unpacking libngtcp2-16:arm64 (1.9.1-1) ... Selecting previously unselected package libngtcp2-crypto-gnutls8:arm64. Preparing to unpack .../63-libngtcp2-crypto-gnutls8_1.9.1-1_arm64.deb ... Unpacking libngtcp2-crypto-gnutls8:arm64 (1.9.1-1) ... Selecting previously unselected package libpsl5t64:arm64. Preparing to unpack .../64-libpsl5t64_0.21.2-1.1+b1_arm64.deb ... Unpacking libpsl5t64:arm64 (0.21.2-1.1+b1) ... Selecting previously unselected package librtmp1:arm64. Preparing to unpack .../65-librtmp1_2.4+20151223.gitfa8646d.1-2+b5_arm64.deb ... Unpacking librtmp1:arm64 (2.4+20151223.gitfa8646d.1-2+b5) ... Selecting previously unselected package libssh2-1t64:arm64. Preparing to unpack .../66-libssh2-1t64_1.11.1-1_arm64.deb ... Unpacking libssh2-1t64:arm64 (1.11.1-1) ... Selecting previously unselected package libcurl3t64-gnutls:arm64. Preparing to unpack .../67-libcurl3t64-gnutls_8.12.1-2_arm64.deb ... Unpacking libcurl3t64-gnutls:arm64 (8.12.1-2) ... Selecting previously unselected package liberror-perl. Preparing to unpack .../68-liberror-perl_0.17029-2_all.deb ... Unpacking liberror-perl (0.17029-2) ... Selecting previously unselected package git-man. Preparing to unpack .../69-git-man_1%3a2.47.2-0.1_all.deb ... Unpacking git-man (1:2.47.2-0.1) ... Selecting previously unselected package git. Preparing to unpack .../70-git_1%3a2.47.2-0.1_arm64.deb ... Unpacking git (1:2.47.2-0.1) ... Selecting previously unselected package libjs-jquery. Preparing to unpack .../71-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... Selecting previously unselected package libjs-underscore. Preparing to unpack .../72-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... Selecting previously unselected package libjs-sphinxdoc. Preparing to unpack .../73-libjs-sphinxdoc_8.1.3-4_all.deb ... Unpacking libjs-sphinxdoc (8.1.3-4) ... Selecting previously unselected package libpkgconf3:arm64. Preparing to unpack .../74-libpkgconf3_1.8.1-4_arm64.deb ... Unpacking libpkgconf3:arm64 (1.8.1-4) ... Selecting previously unselected package pkgconf-bin. Preparing to unpack .../75-pkgconf-bin_1.8.1-4_arm64.deb ... Unpacking pkgconf-bin (1.8.1-4) ... Selecting previously unselected package pkgconf:arm64. Preparing to unpack .../76-pkgconf_1.8.1-4_arm64.deb ... Unpacking pkgconf:arm64 (1.8.1-4) ... Selecting previously unselected package pkg-config:arm64. Preparing to unpack .../77-pkg-config_1.8.1-4_arm64.deb ... Unpacking pkg-config:arm64 (1.8.1-4) ... Selecting previously unselected package python3-cachetools. Preparing to unpack .../78-python3-cachetools_5.3.3-1_all.deb ... Unpacking python3-cachetools (5.3.3-1) ... Selecting previously unselected package python3-chardet. Preparing to unpack .../79-python3-chardet_5.2.0+dfsg-2_all.deb ... Unpacking python3-chardet (5.2.0+dfsg-2) ... Selecting previously unselected package python3-colorama. Preparing to unpack .../80-python3-colorama_0.4.6-4_all.deb ... Unpacking python3-colorama (0.4.6-4) ... Selecting previously unselected package python3-distlib. Preparing to unpack .../81-python3-distlib_0.3.9-1_all.deb ... Unpacking python3-distlib (0.3.9-1) ... Selecting previously unselected package python3-filelock. Preparing to unpack .../82-python3-filelock_3.16.1-1_all.deb ... Unpacking python3-filelock (3.16.1-1) ... Selecting previously unselected package python3-packaging. Preparing to unpack .../83-python3-packaging_24.2-1_all.deb ... Unpacking python3-packaging (24.2-1) ... Selecting previously unselected package python3-pip-whl. Preparing to unpack .../84-python3-pip-whl_25.0+dfsg-1_all.deb ... Unpacking python3-pip-whl (25.0+dfsg-1) ... Selecting previously unselected package python3-platformdirs. Preparing to unpack .../85-python3-platformdirs_4.3.6-1_all.deb ... Unpacking python3-platformdirs (4.3.6-1) ... Selecting previously unselected package python3-pluggy. Preparing to unpack .../86-python3-pluggy_1.5.0-1_all.deb ... Unpacking python3-pluggy (1.5.0-1) ... Selecting previously unselected package python3-pyproject-api. Preparing to unpack .../87-python3-pyproject-api_1.9.0-1_all.deb ... Unpacking python3-pyproject-api (1.9.0-1) ... Selecting previously unselected package python3-setuptools-whl. Preparing to unpack .../88-python3-setuptools-whl_75.6.0-1_all.deb ... Unpacking python3-setuptools-whl (75.6.0-1) ... Selecting previously unselected package python3-wheel-whl. Preparing to unpack .../89-python3-wheel-whl_0.45.1-1_all.deb ... Unpacking python3-wheel-whl (0.45.1-1) ... Selecting previously unselected package python3-virtualenv. Preparing to unpack .../90-python3-virtualenv_20.29.1+ds-1_all.deb ... Unpacking python3-virtualenv (20.29.1+ds-1) ... Selecting previously unselected package python3-wheel. Preparing to unpack .../91-python3-wheel_0.45.1-1_all.deb ... Unpacking python3-wheel (0.45.1-1) ... Selecting previously unselected package tox. Preparing to unpack .../92-tox_4.24.1-1_all.deb ... Unpacking tox (4.24.1-1) ... Setting up media-types (10.1.0) ... Setting up libpipeline1:arm64 (1.5.8-1) ... Setting up python3-setuptools-whl (75.6.0-1) ... Setting up libkeyutils1:arm64 (1.6.3-4) ... Setting up libicu72:arm64 (72.1-6) ... Setting up bsdextrautils (2.40.4-3) ... Setting up libmagic-mgc (1:5.45-3+b1) ... Setting up libarchive-zip-perl (1.68-1) ... Setting up libdebhelper-perl (13.24.1) ... Setting up libbrotli1:arm64 (1.1.0-2+b6) ... Setting up libmagic1t64:arm64 (1:5.45-3+b1) ... Setting up libnghttp2-14:arm64 (1.64.0-1) ... Setting up gettext-base (0.23.1-1) ... Setting up m4 (1.4.19-5) ... Setting up libcom-err2:arm64 (1.47.2-1) ... Setting up file (1:5.45-3+b1) ... Setting up libelf1t64:arm64 (0.192-4) ... Setting up libkrb5support0:arm64 (1.21.3-4) ... Setting up libsasl2-modules-db:arm64 (2.1.28+dfsg1-8+b1) ... Setting up tzdata (2025a-2) ... Current default time zone: 'Etc/UTC' Local time is now: Sat Feb 22 12:05:32 UTC 2025. Universal Time is now: Sat Feb 22 12:05:32 UTC 2025. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up liberror-perl (0.17029-2) ... Setting up autotools-dev (20220109.1) ... Setting up libpkgconf3:arm64 (1.8.1-4) ... Setting up bash-completion (1:2.16.0-7) ... Setting up libunistring5:arm64 (1.3-1) ... Setting up autopoint (0.23.1-1) ... Setting up pkgconf-bin (1.8.1-4) ... Setting up libk5crypto3:arm64 (1.21.3-4) ... Setting up libsasl2-2:arm64 (2.1.28+dfsg1-8+b1) ... Setting up autoconf (2.72-3) ... Setting up libnghttp3-9:arm64 (1.6.0-2) ... Setting up libffi8:arm64 (3.4.7-1) ... Setting up dwz (0.15-1+b1) ... Setting up sensible-utils (0.0.24) ... Setting up libuchardet0:arm64 (0.0.8-1+b2) ... Setting up libtasn1-6:arm64 (4.20.0-2) ... Setting up git-man (1:2.47.2-0.1) ... Setting up netbase (6.4) ... Setting up libngtcp2-16:arm64 (1.9.1-1) ... Setting up libkrb5-3:arm64 (1.21.3-4) ... Setting up libssh2-1t64:arm64 (1.11.1-1) ... Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... Setting up openssl (3.4.1-1) ... Setting up python3-wheel-whl (0.45.1-1) ... Setting up readline-common (8.2-6) ... Setting up libxml2:arm64 (2.12.7+dfsg+really2.9.14-0.2+b1) ... Setting up libldap2:arm64 (2.6.9+dfsg-1) ... Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... Setting up automake (1:1.17-3) ... update-alternatives: using /usr/bin/automake-1.17 to provide /usr/bin/automake (automake) in auto mode Setting up libfile-stripnondeterminism-perl (1.14.1-2) ... Setting up gettext (0.23.1-1) ... Setting up libtool (2.5.4-3) ... Setting up libidn2-0:arm64 (2.3.7-2+b1) ... Setting up pkgconf:arm64 (1.8.1-4) ... Setting up intltool-debian (0.35.0+20060710.6) ... Setting up dh-autoreconf (20) ... Setting up ca-certificates (20241223) ... Updating certificates in /etc/ssl/certs... 152 added, 0 removed; done. Setting up libp11-kit0:arm64 (0.25.5-3) ... Setting up libgssapi-krb5-2:arm64 (1.21.3-4) ... Setting up pkg-config:arm64 (1.8.1-4) ... Setting up libjs-sphinxdoc (8.1.3-4) ... Setting up libreadline8t64:arm64 (8.2-6) ... Setting up dh-strip-nondeterminism (1.14.1-2) ... Setting up groff-base (1.23.0-7) ... Setting up libpython3.13-stdlib:arm64 (3.13.2-1) ... Setting up libpython3-stdlib:arm64 (3.13.1-2) ... Setting up libgnutls30t64:arm64 (3.8.9-2) ... Setting up python3.13 (3.13.2-1) ... Setting up python3-pip-whl (25.0+dfsg-1) ... Setting up po-debconf (1.0.21+nmu1) ... Setting up libpsl5t64:arm64 (0.21.2-1.1+b1) ... Setting up python3 (3.13.1-2) ... Setting up python3-distlib (0.3.9-1) ... Setting up python3-zipp (3.21.0-1) ... Setting up python3-autocommand (2.2.2-3) ... Setting up man-db (2.13.0-1) ... Not building database; man-db/auto-update is not 'true'. Setting up python3-wheel (0.45.1-1) ... Setting up python3-platformdirs (4.3.6-1) ... Setting up python3-packaging (24.2-1) ... Setting up python3-chardet (5.2.0+dfsg-2) ... Setting up librtmp1:arm64 (2.4+20151223.gitfa8646d.1-2+b5) ... Setting up python3-typing-extensions (4.12.2-2) ... Setting up python3-pluggy (1.5.0-1) ... Setting up libngtcp2-crypto-gnutls8:arm64 (1.9.1-1) ... Setting up python3-more-itertools (10.6.0-1) ... Setting up python3-filelock (3.16.1-1) ... Setting up python3-jaraco.functools (4.1.0-1) ... Setting up python3-jaraco.context (6.0.0-1) ... Setting up python3-cachetools (5.3.3-1) ... Setting up python3-colorama (0.4.6-4) ... Setting up python3-pyproject-api (1.9.0-1) ... Setting up python3-typeguard (4.4.1-1) ... Setting up libcurl3t64-gnutls:arm64 (8.12.1-2) ... Setting up python3-virtualenv (20.29.1+ds-1) ... Setting up debhelper (13.24.1) ... Setting up python3-inflect (7.3.1-2) ... Setting up python3-jaraco.text (4.0.0-1) ... Setting up git (1:2.47.2-0.1) ... Setting up python3-pkg-resources (75.6.0-1) ... Setting up python3-setuptools (75.6.0-1) ... Setting up tox (4.24.1-1) ... Setting up dh-python (6.20250108) ... Processing triggers for libc-bin (2.40-7) ... Processing triggers for ca-certificates (20241223) ... Updating certificates in /etc/ssl/certs... 0 added, 0 removed; done. Running hooks in /etc/ca-certificates/update.d... done. Reading package lists... Building dependency tree... Reading state information... Reading extended state information... Initializing package states... Writing extended state information... Building tag database... -> Finished parsing the build-deps I: Building the package I: user script /srv/workspace/pbuilder/576038/tmp/hooks/A99_set_merged_usr starting Not re-configuring usrmerge for trixie I: user script /srv/workspace/pbuilder/576038/tmp/hooks/A99_set_merged_usr finished hostname: Name or service not known I: Running cd /build/reproducible-path/git-imerge-1.2.0/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-genchanges -S > ../git-imerge_1.2.0-5_source.changes dpkg-buildpackage: info: source package git-imerge dpkg-buildpackage: info: source version 1.2.0-5 dpkg-buildpackage: info: source distribution unstable dpkg-buildpackage: info: source changed by Paul Wise dpkg-source --before-build . dpkg-buildpackage: info: host architecture arm64 debian/rules clean dh clean --buildsystem=pybuild dh_auto_clean -O--buildsystem=pybuild I: pybuild base:311: python3.13 setup.py clean running clean removing '/build/reproducible-path/git-imerge-1.2.0/.pybuild/cpython3_3.13/build' (and everything under it) 'build/bdist.linux-aarch64' does not exist -- can't clean it 'build/scripts-3.13' does not exist -- can't clean it dh_autoreconf_clean -O--buildsystem=pybuild dh_clean -O--buildsystem=pybuild debian/rules binary dh binary --buildsystem=pybuild dh_update_autotools_config -O--buildsystem=pybuild dh_autoreconf -O--buildsystem=pybuild dh_auto_configure -O--buildsystem=pybuild I: pybuild base:311: python3.13 setup.py config running config dh_auto_build -O--buildsystem=pybuild I: pybuild base:311: /usr/bin/python3 setup.py build running build running build_py copying gitimerge.py -> /build/reproducible-path/git-imerge-1.2.0/.pybuild/cpython3_3.13/build dh_auto_test -O--buildsystem=pybuild I: pybuild base:311: /usr/bin/python3 -c "import setuptools, runpy; runpy.run_path('setup.py')" bdist_wheel running bdist_wheel running build running build_py creating build/lib copying gitimerge.py -> build/lib /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:66: SetuptoolsDeprecationWarning: setup.py install is deprecated. !! ******************************************************************************** Please avoid running ``setup.py`` directly. Instead, use pypa/build, pypa/installer or other standards-based tools. See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details. ******************************************************************************** !! self.initialize_options() installing to build/bdist.linux-aarch64/wheel running install running install_lib creating build/bdist.linux-aarch64/wheel copying build/lib/gitimerge.py -> build/bdist.linux-aarch64/wheel/. running install_data creating build/bdist.linux-aarch64/wheel/git_imerge-1.2.0.data/data creating build/bdist.linux-aarch64/wheel/usr/share/bash-completion/completions copying completions/git-imerge -> build/bdist.linux-aarch64/wheel/usr/share/bash-completion/completions running install_egg_info running egg_info creating git_imerge.egg-info writing git_imerge.egg-info/PKG-INFO writing dependency_links to git_imerge.egg-info/dependency_links.txt writing entry points to git_imerge.egg-info/entry_points.txt writing top-level names to git_imerge.egg-info/top_level.txt writing manifest file 'git_imerge.egg-info/SOURCES.txt' reading manifest file 'git_imerge.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' adding license file 'COPYING' writing manifest file 'git_imerge.egg-info/SOURCES.txt' Copying git_imerge.egg-info to build/bdist.linux-aarch64/wheel/./git_imerge-1.2.0.egg-info running install_scripts creating build/bdist.linux-aarch64/wheel/git_imerge-1.2.0.dist-info/WHEEL creating 'dist/git_imerge-1.2.0-py3-none-any.whl' and adding 'build/bdist.linux-aarch64/wheel' to it adding 'gitimerge.py' adding 'usr/share/bash-completion/completions/git-imerge' adding 'git_imerge-1.2.0.dist-info/COPYING' adding 'git_imerge-1.2.0.dist-info/METADATA' adding 'git_imerge-1.2.0.dist-info/WHEEL' adding 'git_imerge-1.2.0.dist-info/entry_points.txt' adding 'git_imerge-1.2.0.dist-info/top_level.txt' adding 'git_imerge-1.2.0.dist-info/RECORD' removing build/bdist.linux-aarch64/wheel I: pybuild base:311: cd /build/reproducible-path/git-imerge-1.2.0/.pybuild/cpython3_3.13/build; tox -c /build/reproducible-path/git-imerge-1.2.0/tox.ini --sitepackages -e py313 -x testenv.passenv+=_PYTHON_HOST_PLATFORM --installpkg /build/reproducible-path/git-imerge-1.2.0/.pybuild/cpython3_3.13/git_imerge-1.2.0-py3-none-any.whl py313: install_package .pybuild/cpython3_3.13/build> python -I -m pip install --force-reinstall --no-deps /build/reproducible-path/git-imerge-1.2.0/.pybuild/cpython3_3.13/git_imerge-1.2.0-py3-none-any.whl py313: commands[0] .pybuild/cpython3_3.13/build> /bin/sh t/test-unconflicted ++++ dirname t/test-unconflicted +++ cd t +++ pwd ++ dirname /build/reproducible-path/git-imerge-1.2.0/t + BASE=/build/reproducible-path/git-imerge-1.2.0 + . /build/reproducible-path/git-imerge-1.2.0/t/test-lib.sh + GIT_IMERGE=git-imerge + TMP=/build/reproducible-path/git-imerge-1.2.0/t/tmp/unconflicted + DESCRIPTION='git-imerge test repository without conflicts' + init_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/unconflicted 'git-imerge test repository without conflicts' + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/unconflicted + local 'description=git-imerge test repository without conflicts' + delete_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/unconflicted 'git-imerge test repository without conflicts' + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/unconflicted + local 'description=git-imerge test repository without conflicts' + test -d /build/reproducible-path/git-imerge-1.2.0/t/tmp/unconflicted + mkdir -p /build/reproducible-path/git-imerge-1.2.0/t/tmp/unconflicted + git init /build/reproducible-path/git-imerge-1.2.0/t/tmp/unconflicted Initialized empty Git repository in /build/reproducible-path/git-imerge-1.2.0/t/tmp/unconflicted/.git/ hint: Using 'master' as the name for the initial branch. This default branch name hint: is subject to change. To configure the initial branch name to use in all hint: of your new repositories, which will suppress this warning, call: hint: hint: git config --global init.defaultBranch hint: hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and hint: 'development'. The just-created branch can be renamed via this command: hint: hint: git branch -m + echo 'git-imerge test repository without conflicts' + printf '%s\n' '/*.out' '/*.css' '/*.html' + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/unconflicted/.git config user.name 'Loú User' + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/unconflicted/.git config user.email luser@example.com + TIME=1112911993 + ln -s /build/reproducible-path/git-imerge-1.2.0/imerge.css /build/reproducible-path/git-imerge-1.2.0/t/tmp/unconflicted + cd /build/reproducible-path/git-imerge-1.2.0/t/tmp/unconflicted + modify a.txt 0 + filename=a.txt + text=0 + echo 0 + git add a.txt + modify b.txt 0 + filename=b.txt + text=0 + echo 0 + git add b.txt + commit -m $'m\342\207\2220' + TIME=1112911994 + GIT_AUTHOR_DATE='@1112911994 +0000' + GIT_COMMITTER_DATE='@1112911994 +0000' + git commit -m $'m\342\207\2220' [master (root-commit) 780ddf5] m⇒0 2 files changed, 2 insertions(+) create mode 100644 a.txt create mode 100644 b.txt + git checkout -b a -- Switched to a new branch 'a' ++ seq 8 + for i in $(seq 8) + modify a.txt 1 + filename=a.txt + text=1 + echo 1 + git add a.txt + commit -m $'a\342\207\2221' + TIME=1112911995 + GIT_AUTHOR_DATE='@1112911995 +0000' + GIT_COMMITTER_DATE='@1112911995 +0000' + git commit -m $'a\342\207\2221' [a b862e30] a⇒1 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 8) + modify a.txt 2 + filename=a.txt + text=2 + echo 2 + git add a.txt + commit -m $'a\342\207\2222' + TIME=1112911996 + GIT_AUTHOR_DATE='@1112911996 +0000' + GIT_COMMITTER_DATE='@1112911996 +0000' + git commit -m $'a\342\207\2222' [a dcbe282] a⇒2 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 8) + modify a.txt 3 + filename=a.txt + text=3 + echo 3 + git add a.txt + commit -m $'a\342\207\2223' + TIME=1112911997 + GIT_AUTHOR_DATE='@1112911997 +0000' + GIT_COMMITTER_DATE='@1112911997 +0000' + git commit -m $'a\342\207\2223' [a ecd8647] a⇒3 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 8) + modify a.txt 4 + filename=a.txt + text=4 + echo 4 + git add a.txt + commit -m $'a\342\207\2224' + TIME=1112911998 + GIT_AUTHOR_DATE='@1112911998 +0000' + GIT_COMMITTER_DATE='@1112911998 +0000' + git commit -m $'a\342\207\2224' [a 1634bab] a⇒4 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 8) + modify a.txt 5 + filename=a.txt + text=5 + echo 5 + git add a.txt + commit -m $'a\342\207\2225' + TIME=1112911999 + GIT_AUTHOR_DATE='@1112911999 +0000' + GIT_COMMITTER_DATE='@1112911999 +0000' + git commit -m $'a\342\207\2225' [a 909ce12] a⇒5 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 8) + modify a.txt 6 + filename=a.txt + text=6 + echo 6 + git add a.txt + commit -m $'a\342\207\2226' + TIME=1112912000 + GIT_AUTHOR_DATE='@1112912000 +0000' + GIT_COMMITTER_DATE='@1112912000 +0000' + git commit -m $'a\342\207\2226' [a f6520bf] a⇒6 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 8) + modify a.txt 7 + filename=a.txt + text=7 + echo 7 + git add a.txt + commit -m $'a\342\207\2227' + TIME=1112912001 + GIT_AUTHOR_DATE='@1112912001 +0000' + GIT_COMMITTER_DATE='@1112912001 +0000' + git commit -m $'a\342\207\2227' [a 6797186] a⇒7 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 8) + modify a.txt 8 + filename=a.txt + text=8 + echo 8 + git add a.txt + commit -m $'a\342\207\2228' + TIME=1112912002 + GIT_AUTHOR_DATE='@1112912002 +0000' + GIT_COMMITTER_DATE='@1112912002 +0000' + git commit -m $'a\342\207\2228' [a 49643dd] a⇒8 1 file changed, 1 insertion(+), 1 deletion(-) + git checkout -b b master -- Switched to a new branch 'b' ++ seq 5 + for i in $(seq 5) + modify b.txt 1 + filename=b.txt + text=1 + echo 1 + git add b.txt + commit -m $'b\342\207\2221' + TIME=1112912003 + GIT_AUTHOR_DATE='@1112912003 +0000' + GIT_COMMITTER_DATE='@1112912003 +0000' + git commit -m $'b\342\207\2221' [b d43305b] b⇒1 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 5) + modify b.txt 2 + filename=b.txt + text=2 + echo 2 + git add b.txt + commit -m $'b\342\207\2222' + TIME=1112912004 + GIT_AUTHOR_DATE='@1112912004 +0000' + GIT_COMMITTER_DATE='@1112912004 +0000' + git commit -m $'b\342\207\2222' [b 853ee68] b⇒2 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 5) + modify b.txt 3 + filename=b.txt + text=3 + echo 3 + git add b.txt + commit -m $'b\342\207\2223' + TIME=1112912005 + GIT_AUTHOR_DATE='@1112912005 +0000' + GIT_COMMITTER_DATE='@1112912005 +0000' + git commit -m $'b\342\207\2223' [b 03a2455] b⇒3 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 5) + modify b.txt 4 + filename=b.txt + text=4 + echo 4 + git add b.txt + commit -m $'b\342\207\2224' + TIME=1112912006 + GIT_AUTHOR_DATE='@1112912006 +0000' + GIT_COMMITTER_DATE='@1112912006 +0000' + git commit -m $'b\342\207\2224' [b 484ea85] b⇒4 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 5) + modify b.txt 5 + filename=b.txt + text=5 + echo 5 + git add b.txt + commit -m $'b\342\207\2225' + TIME=1112912007 + GIT_AUTHOR_DATE='@1112912007 +0000' + GIT_COMMITTER_DATE='@1112912007 +0000' + git commit -m $'b\342\207\2225' [b e22cd97] b⇒5 1 file changed, 1 insertion(+), 1 deletion(-) + EXPECTED_TREE=e4a7b27799be355bbcbf8bfe9c29d74190082c42 + git checkout a Switched to branch 'a' + git-imerge start --first-parent --name=a-b --branch=a-b-merge b Attempting automerge of 8-5...success. Autofilling 1-5...success. Autofilling 2-5...success. Autofilling 3-5...success. Autofilling 4-5...success. Autofilling 5-5...success. Autofilling 6-5...success. Autofilling 7-5...success. Autofilling 8-1...success. Autofilling 8-2...success. Autofilling 8-3...success. Autofilling 8-4...success. Autofilling 8-5 (first way)...success. Autofilling 8-5 (second way)...success. The two ways of autofilling 8-5 agree. Recording autofilled block MergeState('a-b', tip1='a', tip2='b', goal='merge')[0:9,0:6]. Merge is complete! + git-imerge list * a-b + git-imerge diagram --commits --frontier --html=imerge3.html 0 5 8 | | | 0 - ********* - a *???????. *???????. *???????. *???????. 5 - *........ | b 0 5 8 | | | 0 - ********* - a *???????| *???????| *???????| *???????| 5 - *-------+ | b Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + GIT_EDITOR=cat + git-imerge simplify --goal=merge --branch=a-b-merge Merge b into a (using imerge) # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # Date: Sat Feb 22 12:05:58 2025 +0000 # # On branch a-b-merge # Changes to be committed: # modified: b.txt # [a-b-merge a85884b] Merge b into a (using imerge) Date: Sat Feb 22 12:05:58 2025 +0000 + check_tree a-b-merge e4a7b27799be355bbcbf8bfe9c29d74190082c42 + local refname=a-b-merge + local expected_tree=e4a7b27799be355bbcbf8bfe9c29d74190082c42 ++ git rev-parse 'a-b-merge^{tree}' + test e4a7b27799be355bbcbf8bfe9c29d74190082c42 = e4a7b27799be355bbcbf8bfe9c29d74190082c42 + git-imerge simplify --goal=rebase --branch=a-b-rebase + check_tree a-b-rebase e4a7b27799be355bbcbf8bfe9c29d74190082c42 + local refname=a-b-rebase + local expected_tree=e4a7b27799be355bbcbf8bfe9c29d74190082c42 ++ git rev-parse 'a-b-rebase^{tree}' + test e4a7b27799be355bbcbf8bfe9c29d74190082c42 = e4a7b27799be355bbcbf8bfe9c29d74190082c42 + git-imerge simplify --goal=rebase-with-history --branch=a-b-rebase-with-history + check_tree a-b-rebase-with-history e4a7b27799be355bbcbf8bfe9c29d74190082c42 + local refname=a-b-rebase-with-history + local expected_tree=e4a7b27799be355bbcbf8bfe9c29d74190082c42 ++ git rev-parse 'a-b-rebase-with-history^{tree}' + test e4a7b27799be355bbcbf8bfe9c29d74190082c42 = e4a7b27799be355bbcbf8bfe9c29d74190082c42 + git-imerge simplify --goal=border --branch=a-b-border + check_tree a-b-border e4a7b27799be355bbcbf8bfe9c29d74190082c42 + local refname=a-b-border + local expected_tree=e4a7b27799be355bbcbf8bfe9c29d74190082c42 ++ git rev-parse 'a-b-border^{tree}' + test e4a7b27799be355bbcbf8bfe9c29d74190082c42 = e4a7b27799be355bbcbf8bfe9c29d74190082c42 + git-imerge simplify --goal=border-with-history --branch=a-b-border-with-history + check_tree a-b-border-with-history e4a7b27799be355bbcbf8bfe9c29d74190082c42 + local refname=a-b-border-with-history + local expected_tree=e4a7b27799be355bbcbf8bfe9c29d74190082c42 ++ git rev-parse 'a-b-border-with-history^{tree}' + test e4a7b27799be355bbcbf8bfe9c29d74190082c42 = e4a7b27799be355bbcbf8bfe9c29d74190082c42 + git-imerge simplify --goal=border-with-history2 --branch=a-b-border-with-history2 + check_tree a-b-border-with-history2 e4a7b27799be355bbcbf8bfe9c29d74190082c42 + local refname=a-b-border-with-history2 + local expected_tree=e4a7b27799be355bbcbf8bfe9c29d74190082c42 ++ git rev-parse 'a-b-border-with-history2^{tree}' + test e4a7b27799be355bbcbf8bfe9c29d74190082c42 = e4a7b27799be355bbcbf8bfe9c29d74190082c42 + git-imerge remove + git checkout a Switched to branch 'a' + git-imerge start --goal=full --name=a-b b Attempting to merge 1-1...success. Attempting to merge 1-2...success. Attempting to merge 1-3...success. Attempting to merge 1-4...success. Attempting to merge 1-5...success. Attempting to merge 2-1...success. Attempting to merge 2-2...success. Attempting to merge 2-3...success. Attempting to merge 2-4...success. Attempting to merge 2-5...success. Attempting to merge 3-1...success. Attempting to merge 3-2...success. Attempting to merge 3-3...success. Attempting to merge 3-4...success. Attempting to merge 3-5...success. Attempting to merge 4-1...success. Attempting to merge 4-2...success. Attempting to merge 4-3...success. Attempting to merge 4-4...success. Attempting to merge 4-5...success. Attempting to merge 5-1...success. Attempting to merge 5-2...success. Attempting to merge 5-3...success. Attempting to merge 5-4...success. Attempting to merge 5-5...success. Attempting to merge 6-1...success. Attempting to merge 6-2...success. Attempting to merge 6-3...success. Attempting to merge 6-4...success. Attempting to merge 6-5...success. Attempting to merge 7-1...success. Attempting to merge 7-2...success. Attempting to merge 7-3...success. Attempting to merge 7-4...success. Attempting to merge 7-5...success. Attempting to merge 8-1...success. Attempting to merge 8-2...success. Attempting to merge 8-3...success. Attempting to merge 8-4...success. Attempting to merge 8-5...success. Merge is complete! + git-imerge list * a-b + git-imerge diagram --commits --frontier --html=imerge4.html 0 5 8 | | | 0 - ********* - a *........ *........ *........ *........ 5 - *........ | b 0 5 8 | | | 0 - ********* - a *.......| *.......| *.......| *.......| 5 - *-------+ | b Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + git-imerge finish --branch=a-b-full + check_tree a-b-full e4a7b27799be355bbcbf8bfe9c29d74190082c42 + local refname=a-b-full + local expected_tree=e4a7b27799be355bbcbf8bfe9c29d74190082c42 ++ git rev-parse 'a-b-full^{tree}' + test e4a7b27799be355bbcbf8bfe9c29d74190082c42 = e4a7b27799be355bbcbf8bfe9c29d74190082c42 py313: commands[1] .pybuild/cpython3_3.13/build> /bin/sh t/test-conflicted ++++ dirname t/test-conflicted +++ cd t +++ pwd ++ dirname /build/reproducible-path/git-imerge-1.2.0/t + BASE=/build/reproducible-path/git-imerge-1.2.0 + . /build/reproducible-path/git-imerge-1.2.0/t/test-lib.sh + GIT_IMERGE=git-imerge + EXPECTED_TREE=ffa191c987a8d3f597376744a95439fa1b4a55c5 + test_conflict 4-3 + local conflict=4-3 + TMP=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-4-3 + DESCRIPTION='git-imerge test repository with conflict at 4-3' + init_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-4-3 'git-imerge test repository with conflict at 4-3' + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-4-3 + local 'description=git-imerge test repository with conflict at 4-3' + delete_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-4-3 'git-imerge test repository with conflict at 4-3' + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-4-3 + local 'description=git-imerge test repository with conflict at 4-3' + test -d /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-4-3 + mkdir -p /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-4-3 + git init /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-4-3 Initialized empty Git repository in /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-4-3/.git/ hint: Using 'master' as the name for the initial branch. This default branch name hint: is subject to change. To configure the initial branch name to use in all hint: of your new repositories, which will suppress this warning, call: hint: hint: git config --global init.defaultBranch hint: hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and hint: 'development'. The just-created branch can be renamed via this command: hint: hint: git branch -m + echo 'git-imerge test repository with conflict at 4-3' + printf '%s\n' '/*.out' '/*.css' '/*.html' + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-4-3/.git config user.name 'Loú User' + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-4-3/.git config user.email luser@example.com + TIME=1112911993 + ln -s /build/reproducible-path/git-imerge-1.2.0/imerge.css /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-4-3 + cd /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-4-3 + modify c.txt 0 + filename=c.txt + text=0 + echo 0 + git add c.txt + modify d.txt 0 + filename=d.txt + text=0 + echo 0 + git add d.txt + modify conflict.txt 'original version' + filename=conflict.txt + text='original version' + echo 'original version' + git add conflict.txt + commit -m $'m\342\207\2220' + TIME=1112911994 + GIT_AUTHOR_DATE='@1112911994 +0000' + GIT_COMMITTER_DATE='@1112911994 +0000' + git commit -m $'m\342\207\2220' [master (root-commit) d70e04b] m⇒0 3 files changed, 3 insertions(+) create mode 100644 c.txt create mode 100644 conflict.txt create mode 100644 d.txt + git checkout -b c master -- Switched to a new branch 'c' ++ seq 9 + for i in $(seq 9) + modify c.txt 1 + filename=c.txt + text=1 + echo 1 + git add c.txt + case $conflict in + commit -m $'c\342\207\2221' + TIME=1112911995 + GIT_AUTHOR_DATE='@1112911995 +0000' + GIT_COMMITTER_DATE='@1112911995 +0000' + git commit -m $'c\342\207\2221' [c 89e2141] c⇒1 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 9) + modify c.txt 2 + filename=c.txt + text=2 + echo 2 + git add c.txt + case $conflict in + commit -m $'c\342\207\2222' + TIME=1112911996 + GIT_AUTHOR_DATE='@1112911996 +0000' + GIT_COMMITTER_DATE='@1112911996 +0000' + git commit -m $'c\342\207\2222' + for i in $(seq 9) + modify c.txt 3 + filename=c.txt + text=3 + echo 3 + git add c.txt [c 7c431f2] c⇒2 1 file changed, 1 insertion(+), 1 deletion(-) + case $conflict in + commit -m $'c\342\207\2223' + TIME=1112911997 + GIT_AUTHOR_DATE='@1112911997 +0000' + GIT_COMMITTER_DATE='@1112911997 +0000' + git commit -m $'c\342\207\2223' [c f02ab24] c⇒3 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 9) + modify c.txt 4 + filename=c.txt + text=4 + echo 4 + git add c.txt + case $conflict in + modify conflict.txt 'c version' + filename=conflict.txt + text='c version' + echo 'c version' + git add conflict.txt + commit -m $'c\342\207\2224' + TIME=1112911998 + GIT_AUTHOR_DATE='@1112911998 +0000' + GIT_COMMITTER_DATE='@1112911998 +0000' + git commit -m $'c\342\207\2224' [c 3c091de] c⇒4 2 files changed, 2 insertions(+), 2 deletions(-) + for i in $(seq 9) + modify c.txt 5 + filename=c.txt + text=5 + echo 5 + git add c.txt + case $conflict in + commit -m $'c\342\207\2225' + TIME=1112911999 + GIT_AUTHOR_DATE='@1112911999 +0000' + GIT_COMMITTER_DATE='@1112911999 +0000' + git commit -m $'c\342\207\2225' [c a0ac37a] c⇒5 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 9) + modify c.txt 6 + filename=c.txt + text=6 + echo 6 + git add c.txt + case $conflict in + commit -m $'c\342\207\2226' + TIME=1112912000 + GIT_AUTHOR_DATE='@1112912000 +0000' + GIT_COMMITTER_DATE='@1112912000 +0000' + git commit -m $'c\342\207\2226' [c ed9fdfa] c⇒6 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 9) + modify c.txt 7 + filename=c.txt + text=7 + echo 7 + git add c.txt + case $conflict in + commit -m $'c\342\207\2227' + TIME=1112912001 + GIT_AUTHOR_DATE='@1112912001 +0000' + GIT_COMMITTER_DATE='@1112912001 +0000' + git commit -m $'c\342\207\2227' [c 1da7bf5] c⇒7 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 9) + modify c.txt 8 + filename=c.txt + text=8 + echo 8 + git add c.txt + case $conflict in + commit -m $'c\342\207\2228' + TIME=1112912002 + GIT_AUTHOR_DATE='@1112912002 +0000' + GIT_COMMITTER_DATE='@1112912002 +0000' + git commit -m $'c\342\207\2228' [c d8de99f] c⇒8 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 9) + modify c.txt 9 + filename=c.txt + text=9 + echo 9 + git add c.txt + case $conflict in + commit -m $'c\342\207\2229' + TIME=1112912003 + GIT_AUTHOR_DATE='@1112912003 +0000' + GIT_COMMITTER_DATE='@1112912003 +0000' + git commit -m $'c\342\207\2229' [c 9cde605] c⇒9 1 file changed, 1 insertion(+), 1 deletion(-) + git checkout -b d master -- Switched to a new branch 'd' ++ seq 6 + for i in $(seq 6) + modify d.txt 1 + filename=d.txt + text=1 + echo 1 + git add d.txt + case $conflict in + commit -m $'d\342\207\2221' + TIME=1112912004 + GIT_AUTHOR_DATE='@1112912004 +0000' + GIT_COMMITTER_DATE='@1112912004 +0000' + git commit -m $'d\342\207\2221' [d bd5368a] d⇒1 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 6) + modify d.txt 2 + filename=d.txt + text=2 + echo 2 + git add d.txt + case $conflict in + commit -m $'d\342\207\2222' + TIME=1112912005 + GIT_AUTHOR_DATE='@1112912005 +0000' + GIT_COMMITTER_DATE='@1112912005 +0000' + git commit -m $'d\342\207\2222' [d 93e27e6] d⇒2 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 6) + modify d.txt 3 + filename=d.txt + text=3 + echo 3 + git add d.txt + case $conflict in + modify conflict.txt 'd version' + filename=conflict.txt + text='d version' + echo 'd version' + git add conflict.txt + commit -m $'d\342\207\2223' + TIME=1112912006 + GIT_AUTHOR_DATE='@1112912006 +0000' + GIT_COMMITTER_DATE='@1112912006 +0000' + git commit -m $'d\342\207\2223' [d 2bb1a7e] d⇒3 2 files changed, 2 insertions(+), 2 deletions(-) + for i in $(seq 6) + modify d.txt 4 + filename=d.txt + text=4 + echo 4 + git add d.txt + case $conflict in + commit -m $'d\342\207\2224' + TIME=1112912007 + GIT_AUTHOR_DATE='@1112912007 +0000' + GIT_COMMITTER_DATE='@1112912007 +0000' + git commit -m $'d\342\207\2224' [d 81f9c80] d⇒4 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 6) + modify d.txt 5 + filename=d.txt + text=5 + echo 5 + git add d.txt + case $conflict in + commit -m $'d\342\207\2225' + TIME=1112912008 + GIT_AUTHOR_DATE='@1112912008 +0000' + GIT_COMMITTER_DATE='@1112912008 +0000' + git commit -m $'d\342\207\2225' + for i in $(seq 6) + modify d.txt 6 + filename=d.txt + text=6 + echo 6 + git add d.txt [d 3690dde] d⇒5 1 file changed, 1 insertion(+), 1 deletion(-) + case $conflict in + commit -m $'d\342\207\2226' + TIME=1112912009 + GIT_AUTHOR_DATE='@1112912009 +0000' + GIT_COMMITTER_DATE='@1112912009 +0000' + git commit -m $'d\342\207\2226' + git checkout c [d 8085853] d⇒6 1 file changed, 1 insertion(+), 1 deletion(-) Switched to branch 'c' + git-imerge init --name=c-d d + git-imerge list * c-d + git-imerge diagram --commits --frontier --html=imerge0.html 0 5 9 | | | 0 - ********** - c *????????? *????????? *????????? *????????? 5 - *????????? 6 - *????????? | d 0 5 9 | | | 0 - ********** - c *????????? *????????? *????????? *????????? 5 - *????????? 6 - *????????? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + tee autofill.out + git-imerge autofill Attempting automerge of 9-6...failure. Attempting automerge of 1-1...success. Attempting automerge of 1-4...success. Attempting automerge of 1-6...success. Attempting automerge of 9-6...failure. Attempting automerge of 5-6...failure. Attempting automerge of 3-6...success. Attempting automerge of 4-6...failure. Attempting automerge of 4-1...success. Attempting automerge of 4-4...failure. Attempting automerge of 4-3...failure. Attempting automerge of 4-2...success. Attempting automerge of 9-2...success. Autofilling 1-6...success. Autofilling 2-6...success. Autofilling 3-1...success. Autofilling 3-2...success. Autofilling 3-3...success. Autofilling 3-4...success. Autofilling 3-5...success. Autofilling 3-6 (first way)...success. Autofilling 3-6 (second way)...success. The two ways of autofilling 3-6 agree. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[0:4,0:7]. Autofilling 4-2...success. Autofilling 5-2...success. Autofilling 6-2...success. Autofilling 7-2...success. Autofilling 8-2...success. Autofilling 9-1...success. Autofilling 9-2 (first way)...success. Autofilling 9-2 (second way)...success. The two ways of autofilling 9-2 agree. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[3:10,0:3]. Attempting automerge of 9-6...failure. Attempting automerge of 4-3...failure. HEAD is now at 9cde605 c⇒9 Conflict; suggest manual merge of 4-3 + grep -q Traceback autofill.out + grep -q 'suggest manual merge of 4-3' autofill.out + git-imerge diagram --commits --frontier --html=imerge1.html 0 5 9 | | | 0 - ********** - c *??.?????. *??....... *??.#????? *??.?????? 5 - *??.?????? 6 - *...?????? | d 0 5 9 | | | 0 - ********** - c *??.?????| *??.-----+ *??|#????? *??|?????? 5 - *??|?????? 6 - *--+?????? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + git-imerge continue --edit Switched to branch 'imerge/c-d' Auto-merging conflict.txt CONFLICT (content): Merge conflict in conflict.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit 3c091ded129a5edf9061360bab867edade996c93 Author: Loú User Date: Thu Apr 7 22:13:18 2005 +0000 c⇒4 Original second commit: commit 2bb1a7e7c5451146af7dc59b69b8289c76a3ee7b Author: Loú User Date: Thu Apr 7 22:13:26 2005 +0000 d⇒3 There was a conflict merging commit 4-3, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + echo 'merged version' + git add conflict.txt + git-imerge continue --no-edit [imerge/c-d 653d1e4] imerge 'c-d': manual merge 4-3 Merge has been recorded for merge 4-3. Attempting automerge of 4-6...success. Autofilling 4-4...success. Autofilling 4-5...success. Autofilling 4-6...success. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[3:5,3:7]. Attempting automerge of 9-6...success. Autofilling 5-6...success. Autofilling 6-6...success. Autofilling 7-6...success. Autofilling 8-6...success. Autofilling 9-3...success. Autofilling 9-4...success. Autofilling 9-5...success. Autofilling 9-6 (first way)...success. Autofilling 9-6 (second way)...success. The two ways of autofilling 9-6 agree. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[4:10,2:7]. Merge is complete! + git-imerge diagram --commits --frontier --html=imerge2.html 0 5 9 | | | 0 - ********** - c *??.?????. *??....... *??.*????. *??..????. 5 - *??..????. 6 - *......... | d 0 5 9 | | | 0 - ********** - c *??.?????| *??......| *??.*????| *??..????| 5 - *??..????| 6 - *--------+ | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + GIT_EDITOR=cat + git-imerge simplify --goal=merge --branch=c-d-merge Merge d into c (using imerge) # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # Date: Sat Feb 22 12:06:15 2025 +0000 # # On branch c-d-merge # Changes to be committed: # modified: conflict.txt # modified: d.txt # [c-d-merge 7e124d6] Merge d into c (using imerge) Date: Sat Feb 22 12:06:15 2025 +0000 + check_tree c-d-merge ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-merge + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 ++ git rev-parse 'c-d-merge^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=rebase --branch=c-d-rebase + check_tree c-d-rebase ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-rebase + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 ++ git rev-parse 'c-d-rebase^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=rebase-with-history --branch=c-d-rebase-with-history + check_tree c-d-rebase-with-history ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-rebase-with-history + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 ++ git rev-parse 'c-d-rebase-with-history^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border --branch=c-d-border + check_tree c-d-border ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 ++ git rev-parse 'c-d-border^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border-with-history --branch=c-d-border-with-history + check_tree c-d-border-with-history ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border-with-history + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 ++ git rev-parse 'c-d-border-with-history^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border-with-history2 --branch=c-d-border-with-history2 + check_tree c-d-border-with-history2 ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border-with-history2 + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 ++ git rev-parse 'c-d-border-with-history2^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge remove + git checkout c Switched to branch 'c' + tee start.out + git-imerge start --goal=full --first-parent --name=c-d d Attempting to merge 1-1...success. Attempting to merge 1-2...success. Attempting to merge 1-3...success. Attempting to merge 1-4...success. Attempting to merge 1-5...success. Attempting to merge 1-6...success. Attempting to merge 2-1...success. Attempting to merge 2-2...success. Attempting to merge 2-3...success. Attempting to merge 2-4...success. Attempting to merge 2-5...success. Attempting to merge 2-6...success. Attempting to merge 3-1...success. Attempting to merge 3-2...success. Attempting to merge 3-3...success. Attempting to merge 3-4...success. Attempting to merge 3-5...success. Attempting to merge 3-6...success. Attempting to merge 4-1...success. Attempting to merge 4-2...success. Attempting to merge 4-3...conflict. Attempting to merge 5-1...success. Attempting to merge 5-2...success. Attempting to merge 6-1...success. Attempting to merge 6-2...success. Attempting to merge 7-1...success. Attempting to merge 7-2...success. Attempting to merge 8-1...success. Attempting to merge 8-2...success. Attempting to merge 9-1...success. Attempting to merge 9-2...success. Previous HEAD position was 0a7f157 imerge 'c-d': automatic merge 9-2 Switched to branch 'imerge/c-d' Auto-merging conflict.txt CONFLICT (content): Merge conflict in conflict.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit 3c091ded129a5edf9061360bab867edade996c93 Author: Loú User Date: Thu Apr 7 22:13:18 2005 +0000 c⇒4 Original second commit: commit 2bb1a7e7c5451146af7dc59b69b8289c76a3ee7b Author: Loú User Date: Thu Apr 7 22:13:26 2005 +0000 d⇒3 There was a conflict merging commit 4-3, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + grep -q Traceback start.out + grep -q 'suggest manual merge of 4-3' autofill.out + git-imerge diagram --commits --frontier --html=imerge3.html 0 5 9 | | | 0 - ********** - c *......... *......... *...#????? *...?????? 5 - *...?????? 6 - *...?????? | d 0 5 9 | | | 0 - ********** - c *........| *...-----+ *..|#????? *..|?????? 5 - *..|?????? 6 - *--+?????? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + echo 'merged version' + git add conflict.txt + GIT_EDITOR=cat + git commit imerge 'c-d': manual merge 4-3 # Conflicts: # conflict.txt # # It looks like you may be committing a merge. # If this is not correct, please run # git update-ref -d MERGE_HEAD # and try again. # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # On branch imerge/c-d # All conflicts fixed but you are still merging. # # Changes to be committed: # modified: conflict.txt # modified: d.txt # + git-imerge continue --edit [imerge/c-d fa6f845] imerge 'c-d': manual merge 4-3 Merge has been recorded for merge 4-3. Attempting to merge 4-4...success. Attempting to merge 4-5...success. Attempting to merge 4-6...success. Attempting to merge 5-3...success. Attempting to merge 5-4...success. Attempting to merge 5-5...success. Attempting to merge 5-6...success. Attempting to merge 6-3...success. Attempting to merge 6-4...success. Attempting to merge 6-5...success. Attempting to merge 6-6...success. Attempting to merge 7-3...success. Attempting to merge 7-4...success. Attempting to merge 7-5...success. Attempting to merge 7-6...success. Attempting to merge 8-3...success. Attempting to merge 8-4...success. Attempting to merge 8-5...success. Attempting to merge 8-6...success. Attempting to merge 9-3...success. Attempting to merge 9-4...success. Attempting to merge 9-5...success. Attempting to merge 9-6...success. Merge is complete! + git-imerge diagram --commits --frontier --html=imerge4.html 0 5 9 | | | 0 - ********** - c *......... *......... *...*..... *......... 5 - *......... 6 - *......... | d 0 5 9 | | | 0 - ********** - c *........| *........| *...*....| *........| 5 - *........| 6 - *--------+ | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + git-imerge finish --branch=c-d-full + check_tree c-d-full ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-full + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 ++ git rev-parse 'c-d-full^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + test_conflict 1-1 + local conflict=1-1 + TMP=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-1 + DESCRIPTION='git-imerge test repository with conflict at 1-1' + init_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-1 'git-imerge test repository with conflict at 1-1' + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-1 + local 'description=git-imerge test repository with conflict at 1-1' + delete_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-1 'git-imerge test repository with conflict at 1-1' + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-1 + local 'description=git-imerge test repository with conflict at 1-1' + test -d /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-1 + mkdir -p /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-1 + git init /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-1 Initialized empty Git repository in /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-1/.git/ hint: Using 'master' as the name for the initial branch. This default branch name hint: is subject to change. To configure the initial branch name to use in all hint: of your new repositories, which will suppress this warning, call: hint: hint: git config --global init.defaultBranch hint: hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and hint: 'development'. The just-created branch can be renamed via this command: hint: hint: git branch -m + echo 'git-imerge test repository with conflict at 1-1' + printf '%s\n' '/*.out' '/*.css' '/*.html' + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-1/.git config user.name 'Loú User' + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-1/.git config user.email luser@example.com + TIME=1112911993 + ln -s /build/reproducible-path/git-imerge-1.2.0/imerge.css /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-1 + cd /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-1 + modify c.txt 0 + filename=c.txt + text=0 + echo 0 + git add c.txt + modify d.txt 0 + filename=d.txt + text=0 + echo 0 + git add d.txt + modify conflict.txt 'original version' + filename=conflict.txt + text='original version' + echo 'original version' + git add conflict.txt + commit -m $'m\342\207\2220' + TIME=1112911994 + GIT_AUTHOR_DATE='@1112911994 +0000' + GIT_COMMITTER_DATE='@1112911994 +0000' + git commit -m $'m\342\207\2220' [master (root-commit) d70e04b] m⇒0 3 files changed, 3 insertions(+) create mode 100644 c.txt create mode 100644 conflict.txt create mode 100644 d.txt + git checkout -b c master -- Switched to a new branch 'c' [c 2120f40] c⇒1 2 files changed, 2 insertions(+), 2 deletions(-) ++ seq 9 + for i in $(seq 9) + modify c.txt 1 + filename=c.txt + text=1 + echo 1 + git add c.txt + case $conflict in + modify conflict.txt 'c version' + filename=conflict.txt + text='c version' + echo 'c version' + git add conflict.txt + commit -m $'c\342\207\2221' + TIME=1112911995 + GIT_AUTHOR_DATE='@1112911995 +0000' + GIT_COMMITTER_DATE='@1112911995 +0000' + git commit -m $'c\342\207\2221' + for i in $(seq 9) + modify c.txt 2 + filename=c.txt + text=2 + echo 2 + git add c.txt + case $conflict in + commit -m $'c\342\207\2222' + TIME=1112911996 + GIT_AUTHOR_DATE='@1112911996 +0000' + GIT_COMMITTER_DATE='@1112911996 +0000' + git commit -m $'c\342\207\2222' [c 90cc7de] c⇒2 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 9) + modify c.txt 3 + filename=c.txt + text=3 + echo 3 + git add c.txt + case $conflict in + commit -m $'c\342\207\2223' + TIME=1112911997 + GIT_AUTHOR_DATE='@1112911997 +0000' + GIT_COMMITTER_DATE='@1112911997 +0000' + git commit -m $'c\342\207\2223' [c 2046ed2] c⇒3 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 9) + modify c.txt 4 + filename=c.txt + text=4 + echo 4 + git add c.txt + case $conflict in + commit -m $'c\342\207\2224' + TIME=1112911998 + GIT_AUTHOR_DATE='@1112911998 +0000' + GIT_COMMITTER_DATE='@1112911998 +0000' + git commit -m $'c\342\207\2224' + for i in $(seq 9) + modify c.txt 5 + filename=c.txt + text=5 + echo 5 + git add c.txt [c 8a2cee9] c⇒4 1 file changed, 1 insertion(+), 1 deletion(-) + case $conflict in + commit -m $'c\342\207\2225' + TIME=1112911999 + GIT_AUTHOR_DATE='@1112911999 +0000' + GIT_COMMITTER_DATE='@1112911999 +0000' + git commit -m $'c\342\207\2225' + for i in $(seq 9) + modify c.txt 6 + filename=c.txt + text=6 + echo 6 + git add c.txt [c ac16a05] c⇒5 1 file changed, 1 insertion(+), 1 deletion(-) + case $conflict in + commit -m $'c\342\207\2226' + TIME=1112912000 + GIT_AUTHOR_DATE='@1112912000 +0000' + GIT_COMMITTER_DATE='@1112912000 +0000' + git commit -m $'c\342\207\2226' [c 30dd2ae] c⇒6 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 9) + modify c.txt 7 + filename=c.txt + text=7 + echo 7 + git add c.txt + case $conflict in + commit -m $'c\342\207\2227' + TIME=1112912001 + GIT_AUTHOR_DATE='@1112912001 +0000' + GIT_COMMITTER_DATE='@1112912001 +0000' + git commit -m $'c\342\207\2227' [c 0883eb9] c⇒7 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 9) + modify c.txt 8 + filename=c.txt + text=8 + echo 8 + git add c.txt + case $conflict in + commit -m $'c\342\207\2228' + TIME=1112912002 + GIT_AUTHOR_DATE='@1112912002 +0000' + GIT_COMMITTER_DATE='@1112912002 +0000' + git commit -m $'c\342\207\2228' [c f661c06] c⇒8 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 9) + modify c.txt 9 + filename=c.txt + text=9 + echo 9 + git add c.txt [c 243e8ed] c⇒9 1 file changed, 1 insertion(+), 1 deletion(-) + case $conflict in + commit -m $'c\342\207\2229' + TIME=1112912003 + GIT_AUTHOR_DATE='@1112912003 +0000' + GIT_COMMITTER_DATE='@1112912003 +0000' + git commit -m $'c\342\207\2229' + git checkout -b d master -- Switched to a new branch 'd' ++ seq 6 + for i in $(seq 6) + modify d.txt 1 + filename=d.txt + text=1 + echo 1 + git add d.txt + case $conflict in + modify conflict.txt 'd version' + filename=conflict.txt + text='d version' + echo 'd version' + git add conflict.txt + commit -m $'d\342\207\2221' + TIME=1112912004 + GIT_AUTHOR_DATE='@1112912004 +0000' + GIT_COMMITTER_DATE='@1112912004 +0000' + git commit -m $'d\342\207\2221' [d ac0427a] d⇒1 2 files changed, 2 insertions(+), 2 deletions(-) + for i in $(seq 6) + modify d.txt 2 + filename=d.txt + text=2 + echo 2 + git add d.txt + case $conflict in + commit -m $'d\342\207\2222' + TIME=1112912005 + GIT_AUTHOR_DATE='@1112912005 +0000' + GIT_COMMITTER_DATE='@1112912005 +0000' + git commit -m $'d\342\207\2222' [d 43c38c0] d⇒2 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 6) + modify d.txt 3 + filename=d.txt + text=3 + echo 3 + git add d.txt + case $conflict in + commit -m $'d\342\207\2223' + TIME=1112912006 + GIT_AUTHOR_DATE='@1112912006 +0000' + GIT_COMMITTER_DATE='@1112912006 +0000' + git commit -m $'d\342\207\2223' [d 0260058] d⇒3 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 6) + modify d.txt 4 + filename=d.txt + text=4 + echo 4 + git add d.txt + case $conflict in + commit -m $'d\342\207\2224' + TIME=1112912007 + GIT_AUTHOR_DATE='@1112912007 +0000' + GIT_COMMITTER_DATE='@1112912007 +0000' + git commit -m $'d\342\207\2224' [d 40fef44] d⇒4 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 6) + modify d.txt 5 + filename=d.txt + text=5 + echo 5 + git add d.txt + case $conflict in + commit -m $'d\342\207\2225' + TIME=1112912008 + GIT_AUTHOR_DATE='@1112912008 +0000' + GIT_COMMITTER_DATE='@1112912008 +0000' + git commit -m $'d\342\207\2225' [d b080a65] d⇒5 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 6) + modify d.txt 6 + filename=d.txt + text=6 + echo 6 + git add d.txt + case $conflict in + commit -m $'d\342\207\2226' + TIME=1112912009 + GIT_AUTHOR_DATE='@1112912009 +0000' + GIT_COMMITTER_DATE='@1112912009 +0000' + git commit -m $'d\342\207\2226' [d 200ce5c] d⇒6 1 file changed, 1 insertion(+), 1 deletion(-) + git checkout c Switched to branch 'c' + git-imerge init --name=c-d d + git-imerge list * c-d + git-imerge diagram --commits --frontier --html=imerge0.html 0 5 9 | | | 0 - ********** - c *????????? *????????? *????????? *????????? 5 - *????????? 6 - *????????? | d 0 5 9 | | | 0 - ********** - c *????????? *????????? *????????? *????????? 5 - *????????? 6 - *????????? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + git-imerge autofill + tee autofill.out Attempting automerge of 9-6...failure. Attempting automerge of 1-1...failure. HEAD is now at 243e8ed c⇒9 No progress was possible; suggest manual merge of 1-1 + grep -q Traceback autofill.out + grep -q 'suggest manual merge of 1-1' autofill.out + git-imerge diagram --commits --frontier --html=imerge1.html 0 5 9 | | | 0 - ********** - c *#???????? *????????? *????????? *????????? 5 - *????????? 6 - *????????? | d 0 5 9 | | | 0 - ********** - c *#???????? *????????? *????????? *????????? 5 - *????????? 6 - *????????? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + git-imerge continue --edit Switched to branch 'imerge/c-d' Auto-merging conflict.txt CONFLICT (content): Merge conflict in conflict.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: Original second commit: commit 2120f40dc39d28052a5279b645124e8ed7e5de73 Author: Loú User Date: Thu Apr 7 22:13:15 2005 +0000 c⇒1 There was a conflict merging commit 1-1, shown above. Please resolve the conflict, commit the result, then type git-imerge continue commit ac0427a285b64f2815ebd6eb83880f309600d0c7 Author: Loú User Date: Thu Apr 7 22:13:24 2005 +0000 d⇒1 + echo 'merged version' + git add conflict.txt + git-imerge continue --no-edit [imerge/c-d ea91447] imerge 'c-d': manual merge 1-1 Merge has been recorded for merge 1-1. Attempting automerge of 1-6...success. Autofilling 1-2...success. Autofilling 1-3...success. Autofilling 1-4...success. Autofilling 1-5...success. Autofilling 1-6...success. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[0:2,1:7]. Attempting automerge of 9-6...success. Autofilling 2-6...success. Autofilling 3-6...success. Autofilling 4-6...success. Autofilling 5-6...success. Autofilling 6-6...success. Autofilling 7-6...success. Autofilling 8-6...success. Autofilling 9-1...success. Autofilling 9-2...success. Autofilling 9-3...success. Autofilling 9-4...success. Autofilling 9-5...success. Autofilling 9-6 (first way)...success. Autofilling 9-6 (second way)...success. The two ways of autofilling 9-6 agree. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[1:10,0:7]. Merge is complete! + git-imerge diagram --commits --frontier --html=imerge2.html 0 5 9 | | | 0 - ********** - c **???????. *.???????. *.???????. *.???????. 5 - *.???????. 6 - *......... | d 0 5 9 | | | 0 - ********** - c **???????| *.???????| *.???????| *.???????| 5 - *.???????| 6 - *--------+ | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + GIT_EDITOR=cat + git-imerge simplify --goal=merge --branch=c-d-merge Merge d into c (using imerge) # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # Date: Sat Feb 22 12:06:36 2025 +0000 # # On branch c-d-merge # Changes to be committed: # modified: conflict.txt # modified: d.txt # [c-d-merge 1de92cf] Merge d into c (using imerge) Date: Sat Feb 22 12:06:36 2025 +0000 + check_tree c-d-merge ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-merge + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 ++ git rev-parse 'c-d-merge^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=rebase --branch=c-d-rebase + check_tree c-d-rebase ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-rebase + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 ++ git rev-parse 'c-d-rebase^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=rebase-with-history --branch=c-d-rebase-with-history + check_tree c-d-rebase-with-history ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-rebase-with-history + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 ++ git rev-parse 'c-d-rebase-with-history^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border --branch=c-d-border + check_tree c-d-border ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 ++ git rev-parse 'c-d-border^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border-with-history --branch=c-d-border-with-history + check_tree c-d-border-with-history ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border-with-history + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 ++ git rev-parse 'c-d-border-with-history^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border-with-history2 --branch=c-d-border-with-history2 + check_tree c-d-border-with-history2 ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border-with-history2 + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 ++ git rev-parse 'c-d-border-with-history2^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge remove + git checkout c Switched to branch 'c' + tee start.out + git-imerge start --goal=full --first-parent --name=c-d d Attempting to merge 1-1...conflict. Switched to branch 'imerge/c-d' Auto-merging conflict.txt CONFLICT (content): Merge conflict in conflict.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit 2120f40dc39d28052a5279b645124e8ed7e5de73 Author: Loú User Date: Thu Apr 7 22:13:15 2005 +0000 c⇒1 Original second commit: commit ac0427a285b64f2815ebd6eb83880f309600d0c7 Author: Loú User Date: Thu Apr 7 22:13:24 2005 +0000 d⇒1 There was a conflict merging commit 1-1, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + grep -q Traceback start.out + grep -q 'suggest manual merge of 1-1' autofill.out + git-imerge diagram --commits --frontier --html=imerge3.html 0 5 9 | | | 0 - ********** - c *#???????? *????????? *????????? *????????? 5 - *????????? 6 - *????????? | d 0 5 9 | | | 0 - ********** - c *#???????? *????????? *????????? *????????? 5 - *????????? 6 - *????????? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + echo 'merged version' + git add conflict.txt + GIT_EDITOR=cat + git commit imerge 'c-d': manual merge 1-1 # Conflicts: # conflict.txt # # It looks like you may be committing a merge. # If this is not correct, please run # git update-ref -d MERGE_HEAD # and try again. # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # On branch imerge/c-d # All conflicts fixed but you are still merging. # # Changes to be committed: # modified: conflict.txt # modified: d.txt # [imerge/c-d 760658e] imerge 'c-d': manual merge 1-1 + git-imerge continue --edit Merge has been recorded for merge 1-1. Attempting to merge 1-2...success. Attempting to merge 1-3...success. Attempting to merge 1-4...success. Attempting to merge 1-5...success. Attempting to merge 1-6...success. Attempting to merge 2-1...success. Attempting to merge 2-2...success. Attempting to merge 2-3...success. Attempting to merge 2-4...success. Attempting to merge 2-5...success. Attempting to merge 2-6...success. Attempting to merge 3-1...success. Attempting to merge 3-2...success. Attempting to merge 3-3...success. Attempting to merge 3-4...success. Attempting to merge 3-5...success. Attempting to merge 3-6...success. Attempting to merge 4-1...success. Attempting to merge 4-2...success. Attempting to merge 4-3...success. Attempting to merge 4-4...success. Attempting to merge 4-5...success. Attempting to merge 4-6...success. Attempting to merge 5-1...success. Attempting to merge 5-2...success. Attempting to merge 5-3...success. Attempting to merge 5-4...success. Attempting to merge 5-5...success. Attempting to merge 5-6...success. Attempting to merge 6-1...success. Attempting to merge 6-2...success. Attempting to merge 6-3...success. Attempting to merge 6-4...success. Attempting to merge 6-5...success. Attempting to merge 6-6...success. Attempting to merge 7-1...success. Attempting to merge 7-2...success. Attempting to merge 7-3...success. Attempting to merge 7-4...success. Attempting to merge 7-5...success. Attempting to merge 7-6...success. Attempting to merge 8-1...success. Attempting to merge 8-2...success. Attempting to merge 8-3...success. Attempting to merge 8-4...success. Attempting to merge 8-5...success. Attempting to merge 8-6...success. Attempting to merge 9-1...success. Attempting to merge 9-2...success. Attempting to merge 9-3...success. Attempting to merge 9-4...success. Attempting to merge 9-5...success. Attempting to merge 9-6...success. Merge is complete! + git-imerge diagram --commits --frontier --html=imerge4.html 0 5 9 | | | 0 - ********** - c **........ *......... *......... *......... 5 - *......... 6 - *......... | d 0 5 9 | | | 0 - ********** - c **.......| *........| *........| *........| 5 - *........| 6 - *--------+ | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + git-imerge finish --branch=c-d-full + check_tree c-d-full ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-full + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 ++ git rev-parse 'c-d-full^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + test_conflict 9-1 + local conflict=9-1 + TMP=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-1 + DESCRIPTION='git-imerge test repository with conflict at 9-1' + init_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-1 'git-imerge test repository with conflict at 9-1' + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-1 + local 'description=git-imerge test repository with conflict at 9-1' + delete_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-1 'git-imerge test repository with conflict at 9-1' + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-1 + local 'description=git-imerge test repository with conflict at 9-1' + test -d /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-1 + mkdir -p /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-1 Initialized empty Git repository in /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-1/.git/ + git init /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-1 hint: Using 'master' as the name for the initial branch. This default branch name hint: is subject to change. To configure the initial branch name to use in all hint: of your new repositories, which will suppress this warning, call: hint: hint: git config --global init.defaultBranch hint: hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and hint: 'development'. The just-created branch can be renamed via this command: hint: hint: git branch -m + echo 'git-imerge test repository with conflict at 9-1' + printf '%s\n' '/*.out' '/*.css' '/*.html' + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-1/.git config user.name 'Loú User' + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-1/.git config user.email luser@example.com + TIME=1112911993 + ln -s /build/reproducible-path/git-imerge-1.2.0/imerge.css /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-1 + cd /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-1 + modify c.txt 0 + filename=c.txt + text=0 + echo 0 + git add c.txt + modify d.txt 0 + filename=d.txt + text=0 + echo 0 + git add d.txt + modify conflict.txt 'original version' + filename=conflict.txt + text='original version' + echo 'original version' + git add conflict.txt + commit -m $'m\342\207\2220' + TIME=1112911994 + GIT_AUTHOR_DATE='@1112911994 +0000' + GIT_COMMITTER_DATE='@1112911994 +0000' + git commit -m $'m\342\207\2220' [master (root-commit) d70e04b] m⇒0 3 files changed, 3 insertions(+) create mode 100644 c.txt create mode 100644 conflict.txt create mode 100644 d.txt + git checkout -b c master -- Switched to a new branch 'c' ++ seq 9 + for i in $(seq 9) + modify c.txt 1 + filename=c.txt + text=1 + echo 1 + git add c.txt + case $conflict in + commit -m $'c\342\207\2221' + TIME=1112911995 + GIT_AUTHOR_DATE='@1112911995 +0000' + GIT_COMMITTER_DATE='@1112911995 +0000' + git commit -m $'c\342\207\2221' [c 89e2141] c⇒1 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 9) + modify c.txt 2 + filename=c.txt + text=2 + echo 2 + git add c.txt + case $conflict in + commit -m $'c\342\207\2222' + TIME=1112911996 + GIT_AUTHOR_DATE='@1112911996 +0000' + GIT_COMMITTER_DATE='@1112911996 +0000' + git commit -m $'c\342\207\2222' [c 7c431f2] c⇒2 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 9) + modify c.txt 3 + filename=c.txt + text=3 + echo 3 + git add c.txt + case $conflict in + commit -m $'c\342\207\2223' + TIME=1112911997 + GIT_AUTHOR_DATE='@1112911997 +0000' + GIT_COMMITTER_DATE='@1112911997 +0000' + git commit -m $'c\342\207\2223' [c f02ab24] c⇒3 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 9) + modify c.txt 4 + filename=c.txt + text=4 + echo 4 + git add c.txt + case $conflict in + commit -m $'c\342\207\2224' + TIME=1112911998 + GIT_AUTHOR_DATE='@1112911998 +0000' + GIT_COMMITTER_DATE='@1112911998 +0000' + git commit -m $'c\342\207\2224' [c ed9122f] c⇒4 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 9) + modify c.txt 5 + filename=c.txt + text=5 + echo 5 + git add c.txt + case $conflict in + commit -m $'c\342\207\2225' + TIME=1112911999 + GIT_AUTHOR_DATE='@1112911999 +0000' + GIT_COMMITTER_DATE='@1112911999 +0000' + git commit -m $'c\342\207\2225' [c 1d3bf09] c⇒5 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 9) + modify c.txt 6 + filename=c.txt + text=6 + echo 6 + git add c.txt + case $conflict in + commit -m $'c\342\207\2226' + TIME=1112912000 + GIT_AUTHOR_DATE='@1112912000 +0000' + GIT_COMMITTER_DATE='@1112912000 +0000' + git commit -m $'c\342\207\2226' [c f999ecd] c⇒6 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 9) + modify c.txt 7 + filename=c.txt + text=7 + echo 7 + git add c.txt + case $conflict in + commit -m $'c\342\207\2227' + TIME=1112912001 + GIT_AUTHOR_DATE='@1112912001 +0000' + GIT_COMMITTER_DATE='@1112912001 +0000' + git commit -m $'c\342\207\2227' [c 7050a8a] c⇒7 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 9) + modify c.txt 8 + filename=c.txt + text=8 + echo 8 + git add c.txt + case $conflict in + commit -m $'c\342\207\2228' + TIME=1112912002 + GIT_AUTHOR_DATE='@1112912002 +0000' + GIT_COMMITTER_DATE='@1112912002 +0000' + git commit -m $'c\342\207\2228' + for i in $(seq 9) + modify c.txt 9 + filename=c.txt + text=9 + echo 9 + git add c.txt + case $conflict in + modify conflict.txt 'c version' + filename=conflict.txt + text='c version' + echo 'c version' + git add conflict.txt [c 9732e77] c⇒8 1 file changed, 1 insertion(+), 1 deletion(-) + commit -m $'c\342\207\2229' + TIME=1112912003 + GIT_AUTHOR_DATE='@1112912003 +0000' + GIT_COMMITTER_DATE='@1112912003 +0000' + git commit -m $'c\342\207\2229' [c 73a5eed] c⇒9 2 files changed, 2 insertions(+), 2 deletions(-) + git checkout -b d master -- Switched to a new branch 'd' ++ seq 6 + for i in $(seq 6) + modify d.txt 1 + filename=d.txt + text=1 + echo 1 + git add d.txt + case $conflict in + modify conflict.txt 'd version' + filename=conflict.txt + text='d version' + echo 'd version' + git add conflict.txt + commit -m $'d\342\207\2221' + TIME=1112912004 + GIT_AUTHOR_DATE='@1112912004 +0000' + GIT_COMMITTER_DATE='@1112912004 +0000' + git commit -m $'d\342\207\2221' [d ac0427a] d⇒1 2 files changed, 2 insertions(+), 2 deletions(-) + for i in $(seq 6) + modify d.txt 2 + filename=d.txt + text=2 + echo 2 + git add d.txt + case $conflict in + commit -m $'d\342\207\2222' + TIME=1112912005 + GIT_AUTHOR_DATE='@1112912005 +0000' + GIT_COMMITTER_DATE='@1112912005 +0000' + git commit -m $'d\342\207\2222' [d 43c38c0] d⇒2 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 6) + modify d.txt 3 + filename=d.txt + text=3 + echo 3 + git add d.txt + case $conflict in + commit -m $'d\342\207\2223' + TIME=1112912006 + GIT_AUTHOR_DATE='@1112912006 +0000' + GIT_COMMITTER_DATE='@1112912006 +0000' + git commit -m $'d\342\207\2223' [d 0260058] d⇒3 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 6) + modify d.txt 4 + filename=d.txt + text=4 + echo 4 + git add d.txt [d 40fef44] d⇒4 1 file changed, 1 insertion(+), 1 deletion(-) + case $conflict in + commit -m $'d\342\207\2224' + TIME=1112912007 + GIT_AUTHOR_DATE='@1112912007 +0000' + GIT_COMMITTER_DATE='@1112912007 +0000' + git commit -m $'d\342\207\2224' + for i in $(seq 6) + modify d.txt 5 + filename=d.txt + text=5 + echo 5 + git add d.txt + case $conflict in + commit -m $'d\342\207\2225' + TIME=1112912008 + GIT_AUTHOR_DATE='@1112912008 +0000' + GIT_COMMITTER_DATE='@1112912008 +0000' + git commit -m $'d\342\207\2225' [d b080a65] d⇒5 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 6) + modify d.txt 6 + filename=d.txt + text=6 + echo 6 + git add d.txt + case $conflict in + commit -m $'d\342\207\2226' + TIME=1112912009 + GIT_AUTHOR_DATE='@1112912009 +0000' + GIT_COMMITTER_DATE='@1112912009 +0000' + git commit -m $'d\342\207\2226' [d 200ce5c] d⇒6 1 file changed, 1 insertion(+), 1 deletion(-) + git checkout c Switched to branch 'c' + git-imerge init --name=c-d d + git-imerge list * c-d + git-imerge diagram --commits --frontier --html=imerge0.html 0 5 9 | | | 0 - ********** - c *????????? *????????? *????????? *????????? 5 - *????????? 6 - *????????? | d 0 5 9 | | | 0 - ********** - c *????????? *????????? *????????? *????????? 5 - *????????? 6 - *????????? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + git-imerge autofill + tee autofill.out Attempting automerge of 9-6...failure. Attempting automerge of 1-1...success. Attempting automerge of 1-4...success. Attempting automerge of 1-6...success. Attempting automerge of 9-6...failure. Attempting automerge of 5-6...success. Attempting automerge of 7-6...success. Attempting automerge of 8-6...success. Attempting automerge of 9-1...failure. Autofilling 1-6...success. Autofilling 2-6...success. Autofilling 3-6...success. Autofilling 4-6...success. Autofilling 5-6...success. Autofilling 6-6...success. Autofilling 7-6...success. Autofilling 8-1...success. Autofilling 8-2...success. Autofilling 8-3...success. Autofilling 8-4...success. Autofilling 8-5...success. Autofilling 8-6 (first way)...success. Autofilling 8-6 (second way)...success. The two ways of autofilling 8-6 agree. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[0:9,0:7]. Attempting automerge of 9-6...failure. Attempting automerge of 9-1...failure. HEAD is now at 73a5eed c⇒9 Conflict; suggest manual merge of 9-1 + grep -q Traceback autofill.out + grep -q 'suggest manual merge of 9-1' autofill.out + git-imerge diagram --commits --frontier --html=imerge1.html 0 5 9 | | | 0 - ********** - c *???????.# *???????.? *???????.? *???????.? 5 - *???????.? 6 - *........? | d 0 5 9 | | | 0 - ********** - c *???????|# *???????|? *???????|? *???????|? 5 - *???????|? 6 - *-------+? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + git-imerge continue --edit Switched to branch 'imerge/c-d' Auto-merging conflict.txt CONFLICT (content): Merge conflict in conflict.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: Original second commit: commit 73a5eedb087a0f656d730831b8def7943b40f3cf Author: Loú User Date: Thu Apr 7 22:13:23 2005 +0000 c⇒9 There was a conflict merging commit 9-1, shown above. Please resolve the conflict, commit the result, then type git-imerge continue commit ac0427a285b64f2815ebd6eb83880f309600d0c7 Author: Loú User Date: Thu Apr 7 22:13:24 2005 +0000 d⇒1 + echo 'merged version' + git add conflict.txt + git-imerge continue --no-edit [imerge/c-d 834aa96] imerge 'c-d': manual merge 9-1 Merge has been recorded for merge 9-1. Attempting automerge of 9-6...success. Autofilling 9-2...success. Autofilling 9-3...success. Autofilling 9-4...success. Autofilling 9-5...success. Autofilling 9-6...success. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[8:10,1:7]. Merge is complete! + git-imerge diagram --commits --frontier --html=imerge2.html 0 5 9 | | | 0 - ********** - c *???????.* *???????.. *???????.. *???????.. 5 - *???????.. 6 - *......... | d 0 5 9 | | | 0 - ********** - c *???????.* *???????.| *???????.| *???????.| 5 - *???????.| 6 - *--------+ | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + GIT_EDITOR=cat + git-imerge simplify --goal=merge --branch=c-d-merge Merge d into c (using imerge) # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # Date: Sat Feb 22 12:06:59 2025 +0000 # # On branch c-d-merge # Changes to be committed: # modified: conflict.txt # modified: d.txt # [c-d-merge af3cfa3] Merge d into c (using imerge) Date: Sat Feb 22 12:06:59 2025 +0000 + check_tree c-d-merge ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-merge + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 ++ git rev-parse 'c-d-merge^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=rebase --branch=c-d-rebase + check_tree c-d-rebase ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-rebase + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 ++ git rev-parse 'c-d-rebase^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=rebase-with-history --branch=c-d-rebase-with-history + check_tree c-d-rebase-with-history ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-rebase-with-history + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 ++ git rev-parse 'c-d-rebase-with-history^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border --branch=c-d-border + check_tree c-d-border ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 ++ git rev-parse 'c-d-border^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border-with-history --branch=c-d-border-with-history + check_tree c-d-border-with-history ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border-with-history + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 ++ git rev-parse 'c-d-border-with-history^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border-with-history2 --branch=c-d-border-with-history2 + check_tree c-d-border-with-history2 ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border-with-history2 + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 ++ git rev-parse 'c-d-border-with-history2^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge remove + git checkout c Switched to branch 'c' + git-imerge start --goal=full --first-parent --name=c-d d + tee start.out Attempting to merge 1-1...success. Attempting to merge 1-2...success. Attempting to merge 1-3...success. Attempting to merge 1-4...success. Attempting to merge 1-5...success. Attempting to merge 1-6...success. Attempting to merge 2-1...success. Attempting to merge 2-2...success. Attempting to merge 2-3...success. Attempting to merge 2-4...success. Attempting to merge 2-5...success. Attempting to merge 2-6...success. Attempting to merge 3-1...success. Attempting to merge 3-2...success. Attempting to merge 3-3...success. Attempting to merge 3-4...success. Attempting to merge 3-5...success. Attempting to merge 3-6...success. Attempting to merge 4-1...success. Attempting to merge 4-2...success. Attempting to merge 4-3...success. Attempting to merge 4-4...success. Attempting to merge 4-5...success. Attempting to merge 4-6...success. Attempting to merge 5-1...success. Attempting to merge 5-2...success. Attempting to merge 5-3...success. Attempting to merge 5-4...success. Attempting to merge 5-5...success. Attempting to merge 5-6...success. Attempting to merge 6-1...success. Attempting to merge 6-2...success. Attempting to merge 6-3...success. Attempting to merge 6-4...success. Attempting to merge 6-5...success. Attempting to merge 6-6...success. Attempting to merge 7-1...success. Attempting to merge 7-2...success. Attempting to merge 7-3...success. Attempting to merge 7-4...success. Attempting to merge 7-5...success. Attempting to merge 7-6...success. Attempting to merge 8-1...success. Attempting to merge 8-2...success. Attempting to merge 8-3...success. Attempting to merge 8-4...success. Attempting to merge 8-5...success. Attempting to merge 8-6...success. Attempting to merge 9-1...conflict. Switched to branch 'imerge/c-d' Auto-merging conflict.txt CONFLICT (content): Merge conflict in conflict.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit 73a5eedb087a0f656d730831b8def7943b40f3cf Author: Loú User Date: Thu Apr 7 22:13:23 2005 +0000 c⇒9 Original second commit: commit ac0427a285b64f2815ebd6eb83880f309600d0c7 Author: Loú User Date: Thu Apr 7 22:13:24 2005 +0000 d⇒1 There was a conflict merging commit 9-1, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + grep -q Traceback start.out + grep -q 'suggest manual merge of 9-1' autofill.out + git-imerge diagram --commits --frontier --html=imerge3.html 0 5 9 | | | 0 - ********** - c *........# *........? *........? *........? 5 - *........? 6 - *........? | d 0 5 9 | | | 0 - ********** - c *.......|# *.......|? *.......|? *.......|? 5 - *.......|? 6 - *-------+? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + echo 'merged version' + git add conflict.txt + GIT_EDITOR=cat + git commit imerge 'c-d': manual merge 9-1 # Conflicts: # conflict.txt # # It looks like you may be committing a merge. # If this is not correct, please run # git update-ref -d MERGE_HEAD # and try again. # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # On branch imerge/c-d # All conflicts fixed but you are still merging. # # Changes to be committed: # modified: conflict.txt # modified: d.txt # [imerge/c-d 8f29cf1] imerge 'c-d': manual merge 9-1 + git-imerge continue --edit Merge has been recorded for merge 9-1. Attempting to merge 9-2...success. Attempting to merge 9-3...success. Attempting to merge 9-4...success. Attempting to merge 9-5...success. Attempting to merge 9-6...success. Merge is complete! + git-imerge diagram --commits --frontier --html=imerge4.html 0 5 9 | | | 0 - ********** - c *........* *......... *......... *......... 5 - *......... 6 - *......... | d 0 5 9 | | | 0 - ********** - c *........* *........| *........| *........| 5 - *........| 6 - *--------+ | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + git-imerge finish --branch=c-d-full + check_tree c-d-full ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-full + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 ++ git rev-parse 'c-d-full^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + test_conflict 1-6 + local conflict=1-6 + TMP=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-6 + DESCRIPTION='git-imerge test repository with conflict at 1-6' + init_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-6 'git-imerge test repository with conflict at 1-6' + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-6 + local 'description=git-imerge test repository with conflict at 1-6' + delete_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-6 'git-imerge test repository with conflict at 1-6' + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-6 + local 'description=git-imerge test repository with conflict at 1-6' + test -d /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-6 + mkdir -p /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-6 + git init /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-6 Initialized empty Git repository in /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-6/.git/ hint: Using 'master' as the name for the initial branch. This default branch name hint: is subject to change. To configure the initial branch name to use in all hint: of your new repositories, which will suppress this warning, call: hint: hint: git config --global init.defaultBranch hint: hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and hint: 'development'. The just-created branch can be renamed via this command: hint: hint: git branch -m + echo 'git-imerge test repository with conflict at 1-6' + printf '%s\n' '/*.out' '/*.css' '/*.html' + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-6/.git config user.name 'Loú User' + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-6/.git config user.email luser@example.com + TIME=1112911993 + ln -s /build/reproducible-path/git-imerge-1.2.0/imerge.css /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-6 + cd /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-6 + modify c.txt 0 + filename=c.txt + text=0 + echo 0 + git add c.txt + modify d.txt 0 + filename=d.txt + text=0 + echo 0 + git add d.txt + modify conflict.txt 'original version' + filename=conflict.txt + text='original version' + echo 'original version' + git add conflict.txt + commit -m $'m\342\207\2220' + TIME=1112911994 + GIT_AUTHOR_DATE='@1112911994 +0000' + GIT_COMMITTER_DATE='@1112911994 +0000' + git commit -m $'m\342\207\2220' [master (root-commit) d70e04b] m⇒0 3 files changed, 3 insertions(+) create mode 100644 c.txt create mode 100644 conflict.txt create mode 100644 d.txt + git checkout -b c master -- Switched to a new branch 'c' ++ seq 9 + for i in $(seq 9) + modify c.txt 1 + filename=c.txt + text=1 + echo 1 + git add c.txt + case $conflict in + modify conflict.txt 'c version' + filename=conflict.txt + text='c version' + echo 'c version' + git add conflict.txt + commit -m $'c\342\207\2221' + TIME=1112911995 + GIT_AUTHOR_DATE='@1112911995 +0000' + GIT_COMMITTER_DATE='@1112911995 +0000' + git commit -m $'c\342\207\2221' [c 2120f40] c⇒1 2 files changed, 2 insertions(+), 2 deletions(-) + for i in $(seq 9) + modify c.txt 2 + filename=c.txt + text=2 + echo 2 + git add c.txt + case $conflict in + commit -m $'c\342\207\2222' + TIME=1112911996 + GIT_AUTHOR_DATE='@1112911996 +0000' + GIT_COMMITTER_DATE='@1112911996 +0000' + git commit -m $'c\342\207\2222' [c 90cc7de] c⇒2 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 9) + modify c.txt 3 + filename=c.txt + text=3 + echo 3 + git add c.txt + case $conflict in + commit -m $'c\342\207\2223' + TIME=1112911997 + GIT_AUTHOR_DATE='@1112911997 +0000' + GIT_COMMITTER_DATE='@1112911997 +0000' + git commit -m $'c\342\207\2223' [c 2046ed2] c⇒3 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 9) + modify c.txt 4 + filename=c.txt + text=4 + echo 4 + git add c.txt + case $conflict in + commit -m $'c\342\207\2224' + TIME=1112911998 + GIT_AUTHOR_DATE='@1112911998 +0000' + GIT_COMMITTER_DATE='@1112911998 +0000' + git commit -m $'c\342\207\2224' [c 8a2cee9] c⇒4 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 9) + modify c.txt 5 + filename=c.txt + text=5 + echo 5 + git add c.txt + case $conflict in + commit -m $'c\342\207\2225' + TIME=1112911999 + GIT_AUTHOR_DATE='@1112911999 +0000' + GIT_COMMITTER_DATE='@1112911999 +0000' + git commit -m $'c\342\207\2225' [c ac16a05] c⇒5 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 9) + modify c.txt 6 + filename=c.txt + text=6 + echo 6 + git add c.txt + case $conflict in + commit -m $'c\342\207\2226' + TIME=1112912000 + GIT_AUTHOR_DATE='@1112912000 +0000' + GIT_COMMITTER_DATE='@1112912000 +0000' + git commit -m $'c\342\207\2226' [c 30dd2ae] c⇒6 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 9) + modify c.txt 7 + filename=c.txt + text=7 + echo 7 + git add c.txt + case $conflict in + commit -m $'c\342\207\2227' + TIME=1112912001 + GIT_AUTHOR_DATE='@1112912001 +0000' + GIT_COMMITTER_DATE='@1112912001 +0000' + git commit -m $'c\342\207\2227' [c 0883eb9] c⇒7 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 9) + modify c.txt 8 + filename=c.txt + text=8 + echo 8 + git add c.txt + case $conflict in + commit -m $'c\342\207\2228' + TIME=1112912002 + GIT_AUTHOR_DATE='@1112912002 +0000' + GIT_COMMITTER_DATE='@1112912002 +0000' + git commit -m $'c\342\207\2228' [c f661c06] c⇒8 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 9) + modify c.txt 9 + filename=c.txt + text=9 + echo 9 + git add c.txt + case $conflict in + commit -m $'c\342\207\2229' + TIME=1112912003 + GIT_AUTHOR_DATE='@1112912003 +0000' + GIT_COMMITTER_DATE='@1112912003 +0000' + git commit -m $'c\342\207\2229' [c 243e8ed] c⇒9 1 file changed, 1 insertion(+), 1 deletion(-) + git checkout -b d master -- Switched to a new branch 'd' ++ seq 6 + for i in $(seq 6) + modify d.txt 1 + filename=d.txt + text=1 + echo 1 + git add d.txt + case $conflict in + commit -m $'d\342\207\2221' + TIME=1112912004 + GIT_AUTHOR_DATE='@1112912004 +0000' + GIT_COMMITTER_DATE='@1112912004 +0000' + git commit -m $'d\342\207\2221' [d bd5368a] d⇒1 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 6) + modify d.txt 2 + filename=d.txt + text=2 + echo 2 + git add d.txt + case $conflict in + commit -m $'d\342\207\2222' + TIME=1112912005 + GIT_AUTHOR_DATE='@1112912005 +0000' + GIT_COMMITTER_DATE='@1112912005 +0000' + git commit -m $'d\342\207\2222' [d 93e27e6] d⇒2 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 6) + modify d.txt 3 + filename=d.txt + text=3 + echo 3 + git add d.txt + case $conflict in + commit -m $'d\342\207\2223' + TIME=1112912006 + GIT_AUTHOR_DATE='@1112912006 +0000' + GIT_COMMITTER_DATE='@1112912006 +0000' + git commit -m $'d\342\207\2223' + for i in $(seq 6) + modify d.txt 4 + filename=d.txt + text=4 + echo 4 + git add d.txt [d 133f385] d⇒3 1 file changed, 1 insertion(+), 1 deletion(-) + case $conflict in + commit -m $'d\342\207\2224' + TIME=1112912007 + GIT_AUTHOR_DATE='@1112912007 +0000' + GIT_COMMITTER_DATE='@1112912007 +0000' + git commit -m $'d\342\207\2224' [d 586472a] d⇒4 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 6) + modify d.txt 5 + filename=d.txt + text=5 + echo 5 + git add d.txt + case $conflict in + commit -m $'d\342\207\2225' + TIME=1112912008 + GIT_AUTHOR_DATE='@1112912008 +0000' + GIT_COMMITTER_DATE='@1112912008 +0000' + git commit -m $'d\342\207\2225' [d 9522207] d⇒5 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 6) + modify d.txt 6 + filename=d.txt + text=6 + echo 6 + git add d.txt + case $conflict in + modify conflict.txt 'd version' + filename=conflict.txt + text='d version' + echo 'd version' + git add conflict.txt + commit -m $'d\342\207\2226' + TIME=1112912009 + GIT_AUTHOR_DATE='@1112912009 +0000' + GIT_COMMITTER_DATE='@1112912009 +0000' + git commit -m $'d\342\207\2226' [d f7e451a] d⇒6 2 files changed, 2 insertions(+), 2 deletions(-) + git checkout c Switched to branch 'c' + git-imerge init --name=c-d d + git-imerge list * c-d + git-imerge diagram --commits --frontier --html=imerge0.html 0 5 9 | | | 0 - ********** - c *????????? *????????? *????????? *????????? 5 - *????????? 6 - *????????? | d 0 5 9 | | | 0 - ********** - c *????????? *????????? *????????? *????????? 5 - *????????? 6 - *????????? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + tee autofill.out + git-imerge autofill Attempting automerge of 9-6...failure. Attempting automerge of 1-1...success. Attempting automerge of 1-4...success. Attempting automerge of 1-6...failure. Attempting automerge of 1-5...success. Attempting automerge of 9-5...success. Autofilling 1-5...success. Autofilling 2-5...success. Autofilling 3-5...success. Autofilling 4-5...success. Autofilling 5-5...success. Autofilling 6-5...success. Autofilling 7-5...success. Autofilling 8-5...success. Autofilling 9-1...success. Autofilling 9-2...success. Autofilling 9-3...success. Autofilling 9-4...success. Autofilling 9-5 (first way)...success. Autofilling 9-5 (second way)...success. The two ways of autofilling 9-5 agree. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[0:10,0:6]. Attempting automerge of 9-6...failure. Attempting automerge of 1-6...failure. HEAD is now at 243e8ed c⇒9 Conflict; suggest manual merge of 1-6 + grep -q Traceback autofill.out + grep -q 'suggest manual merge of 1-6' autofill.out + git-imerge diagram --commits --frontier --html=imerge1.html 0 5 9 | | | 0 - ********** - c *????????. *????????. *????????. *????????. 5 - *......... 6 - *#???????? | d 0 5 9 | | | 0 - ********** - c *????????| *????????| *????????| *????????| 5 - *--------+ 6 - *#???????? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + git-imerge continue --edit Switched to branch 'imerge/c-d' Auto-merging conflict.txt CONFLICT (content): Merge conflict in conflict.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit 2120f40dc39d28052a5279b645124e8ed7e5de73 Author: Loú User Date: Thu Apr 7 22:13:15 2005 +0000 c⇒1 Original second commit: There was a conflict merging commit 1-6, shown above. Please resolve the conflict, commit the result, then type git-imerge continue commit f7e451a6c9656dda15641a9fbc591a602f158692 Author: Loú User Date: Thu Apr 7 22:13:29 2005 +0000 d⇒6 + echo 'merged version' + git add conflict.txt + git-imerge continue --no-edit [imerge/c-d 91f1a19] imerge 'c-d': manual merge 1-6 Merge has been recorded for merge 1-6. Attempting automerge of 9-6...success. Autofilling 2-6...success. Autofilling 3-6...success. Autofilling 4-6...success. Autofilling 5-6...success. Autofilling 6-6...success. Autofilling 7-6...success. Autofilling 8-6...success. Autofilling 9-6...success. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[1:10,5:7]. Merge is complete! + git-imerge diagram --commits --frontier --html=imerge2.html 0 5 9 | | | 0 - ********** - c *????????. *????????. *????????. *????????. 5 - *......... 6 - **........ | d 0 5 9 | | | 0 - ********** - c *????????| *????????| *????????| *????????| 5 - *........| 6 - **-------+ | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + GIT_EDITOR=cat + git-imerge simplify --goal=merge --branch=c-d-merge Merge d into c (using imerge) # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # Date: Sat Feb 22 12:07:21 2025 +0000 # # On branch c-d-merge # Changes to be committed: # modified: conflict.txt # modified: d.txt # [c-d-merge 963f7cb] Merge d into c (using imerge) Date: Sat Feb 22 12:07:21 2025 +0000 + check_tree c-d-merge ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-merge + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 ++ git rev-parse 'c-d-merge^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=rebase --branch=c-d-rebase + check_tree c-d-rebase ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-rebase + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 ++ git rev-parse 'c-d-rebase^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=rebase-with-history --branch=c-d-rebase-with-history + check_tree c-d-rebase-with-history ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-rebase-with-history + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 ++ git rev-parse 'c-d-rebase-with-history^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border --branch=c-d-border + check_tree c-d-border ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 ++ git rev-parse 'c-d-border^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border-with-history --branch=c-d-border-with-history + check_tree c-d-border-with-history ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border-with-history + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 ++ git rev-parse 'c-d-border-with-history^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border-with-history2 --branch=c-d-border-with-history2 + check_tree c-d-border-with-history2 ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border-with-history2 + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 ++ git rev-parse 'c-d-border-with-history2^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge remove + git checkout c Switched to branch 'c' + git-imerge start --goal=full --first-parent --name=c-d d + tee start.out Attempting to merge 1-1...success. Attempting to merge 1-2...success. Attempting to merge 1-3...success. Attempting to merge 1-4...success. Attempting to merge 1-5...success. Attempting to merge 1-6...conflict. Attempting to merge 2-1...success. Attempting to merge 2-2...success. Attempting to merge 2-3...success. Attempting to merge 2-4...success. Attempting to merge 2-5...success. Attempting to merge 3-1...success. Attempting to merge 3-2...success. Attempting to merge 3-3...success. Attempting to merge 3-4...success. Attempting to merge 3-5...success. Attempting to merge 4-1...success. Attempting to merge 4-2...success. Attempting to merge 4-3...success. Attempting to merge 4-4...success. Attempting to merge 4-5...success. Attempting to merge 5-1...success. Attempting to merge 5-2...success. Attempting to merge 5-3...success. Attempting to merge 5-4...success. Attempting to merge 5-5...success. Attempting to merge 6-1...success. Attempting to merge 6-2...success. Attempting to merge 6-3...success. Attempting to merge 6-4...success. Attempting to merge 6-5...success. Attempting to merge 7-1...success. Attempting to merge 7-2...success. Attempting to merge 7-3...success. Attempting to merge 7-4...success. Attempting to merge 7-5...success. Attempting to merge 8-1...success. Attempting to merge 8-2...success. Attempting to merge 8-3...success. Attempting to merge 8-4...success. Attempting to merge 8-5...success. Attempting to merge 9-1...success. Attempting to merge 9-2...success. Attempting to merge 9-3...success. Attempting to merge 9-4...success. Attempting to merge 9-5...success. Previous HEAD position was 740b433 imerge 'c-d': automatic merge 9-5 Switched to branch 'imerge/c-d' Auto-merging conflict.txt CONFLICT (content): Merge conflict in conflict.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit 2120f40dc39d28052a5279b645124e8ed7e5de73 Author: Loú User Date: Thu Apr 7 22:13:15 2005 +0000 c⇒1 Original second commit: commit f7e451a6c9656dda15641a9fbc591a602f158692 Author: Loú User Date: Thu Apr 7 22:13:29 2005 +0000 d⇒6 There was a conflict merging commit 1-6, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + grep -q Traceback start.out + grep -q 'suggest manual merge of 1-6' autofill.out + git-imerge diagram --commits --frontier --html=imerge3.html 0 5 9 | | | 0 - ********** - c *......... *......... *......... *......... 5 - *......... 6 - *#???????? | d 0 5 9 | | | 0 - ********** - c *........| *........| *........| *........| 5 - *--------+ 6 - *#???????? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + echo 'merged version' + git add conflict.txt + GIT_EDITOR=cat + git commit imerge 'c-d': manual merge 1-6 # Conflicts: # conflict.txt # # It looks like you may be committing a merge. # If this is not correct, please run # git update-ref -d MERGE_HEAD # and try again. # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # On branch imerge/c-d # All conflicts fixed but you are still merging. # # Changes to be committed: # modified: conflict.txt # modified: d.txt # [imerge/c-d 04ddec1] imerge 'c-d': manual merge 1-6 + git-imerge continue --edit Merge has been recorded for merge 1-6. Attempting to merge 2-6...success. Attempting to merge 3-6...success. Attempting to merge 4-6...success. Attempting to merge 5-6...success. Attempting to merge 6-6...success. Attempting to merge 7-6...success. Attempting to merge 8-6...success. Attempting to merge 9-6...success. Merge is complete! + git-imerge diagram --commits --frontier --html=imerge4.html 0 5 9 | | | 0 - ********** - c *......... *......... *......... *......... 5 - *......... 6 - **........ | d 0 5 9 | | | 0 - ********** - c *........| *........| *........| *........| 5 - *........| 6 - **-------+ | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + git-imerge finish --branch=c-d-full + check_tree c-d-full ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-full + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 ++ git rev-parse 'c-d-full^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + test_conflict 9-6 + local conflict=9-6 + TMP=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-6 + DESCRIPTION='git-imerge test repository with conflict at 9-6' + init_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-6 'git-imerge test repository with conflict at 9-6' + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-6 + local 'description=git-imerge test repository with conflict at 9-6' + delete_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-6 'git-imerge test repository with conflict at 9-6' + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-6 + local 'description=git-imerge test repository with conflict at 9-6' + test -d /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-6 + mkdir -p /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-6 + git init /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-6 hint: Using 'master' as the name for the initial branch. This default branch name hint: is subject to change. To configure the initial branch name to use in all hint: of your new repositories, which will suppress this warning, call: hint: hint: git config --global init.defaultBranch hint: hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and hint: 'development'. The just-created branch can be renamed via this command: hint: hint: git branch -m Initialized empty Git repository in /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-6/.git/ + echo 'git-imerge test repository with conflict at 9-6' + printf '%s\n' '/*.out' '/*.css' '/*.html' + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-6/.git config user.name 'Loú User' + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-6/.git config user.email luser@example.com + TIME=1112911993 + ln -s /build/reproducible-path/git-imerge-1.2.0/imerge.css /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-6 + cd /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-6 + modify c.txt 0 + filename=c.txt + text=0 + echo 0 + git add c.txt + modify d.txt 0 + filename=d.txt + text=0 + echo 0 + git add d.txt + modify conflict.txt 'original version' + filename=conflict.txt + text='original version' + echo 'original version' + git add conflict.txt + commit -m $'m\342\207\2220' + TIME=1112911994 + GIT_AUTHOR_DATE='@1112911994 +0000' + GIT_COMMITTER_DATE='@1112911994 +0000' + git commit -m $'m\342\207\2220' [master (root-commit) d70e04b] m⇒0 3 files changed, 3 insertions(+) create mode 100644 c.txt create mode 100644 conflict.txt create mode 100644 d.txt + git checkout -b c master -- Switched to a new branch 'c' ++ seq 9 + for i in $(seq 9) + modify c.txt 1 + filename=c.txt + text=1 + echo 1 + git add c.txt + case $conflict in + commit -m $'c\342\207\2221' + TIME=1112911995 + GIT_AUTHOR_DATE='@1112911995 +0000' + GIT_COMMITTER_DATE='@1112911995 +0000' + git commit -m $'c\342\207\2221' [c 89e2141] c⇒1 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 9) + modify c.txt 2 + filename=c.txt + text=2 + echo 2 + git add c.txt + case $conflict in + commit -m $'c\342\207\2222' + TIME=1112911996 + GIT_AUTHOR_DATE='@1112911996 +0000' + GIT_COMMITTER_DATE='@1112911996 +0000' + git commit -m $'c\342\207\2222' [c 7c431f2] c⇒2 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 9) + modify c.txt 3 + filename=c.txt + text=3 + echo 3 + git add c.txt + case $conflict in + commit -m $'c\342\207\2223' + TIME=1112911997 + GIT_AUTHOR_DATE='@1112911997 +0000' + GIT_COMMITTER_DATE='@1112911997 +0000' + git commit -m $'c\342\207\2223' + for i in $(seq 9) + modify c.txt 4 + filename=c.txt + text=4 + echo 4 + git add c.txt [c f02ab24] c⇒3 1 file changed, 1 insertion(+), 1 deletion(-) + case $conflict in + commit -m $'c\342\207\2224' + TIME=1112911998 + GIT_AUTHOR_DATE='@1112911998 +0000' + GIT_COMMITTER_DATE='@1112911998 +0000' + git commit -m $'c\342\207\2224' [c ed9122f] c⇒4 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 9) + modify c.txt 5 + filename=c.txt + text=5 + echo 5 + git add c.txt + case $conflict in + commit -m $'c\342\207\2225' + TIME=1112911999 + GIT_AUTHOR_DATE='@1112911999 +0000' + GIT_COMMITTER_DATE='@1112911999 +0000' + git commit -m $'c\342\207\2225' [c 1d3bf09] c⇒5 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 9) + modify c.txt 6 + filename=c.txt + text=6 + echo 6 + git add c.txt + case $conflict in + commit -m $'c\342\207\2226' + TIME=1112912000 + GIT_AUTHOR_DATE='@1112912000 +0000' + GIT_COMMITTER_DATE='@1112912000 +0000' + git commit -m $'c\342\207\2226' [c f999ecd] c⇒6 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 9) + modify c.txt 7 + filename=c.txt + text=7 + echo 7 + git add c.txt + case $conflict in + commit -m $'c\342\207\2227' + TIME=1112912001 + GIT_AUTHOR_DATE='@1112912001 +0000' + GIT_COMMITTER_DATE='@1112912001 +0000' + git commit -m $'c\342\207\2227' [c 7050a8a] c⇒7 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 9) + modify c.txt 8 + filename=c.txt + text=8 + echo 8 + git add c.txt + case $conflict in + commit -m $'c\342\207\2228' + TIME=1112912002 + GIT_AUTHOR_DATE='@1112912002 +0000' + GIT_COMMITTER_DATE='@1112912002 +0000' + git commit -m $'c\342\207\2228' [c 9732e77] c⇒8 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 9) + modify c.txt 9 + filename=c.txt + text=9 + echo 9 + git add c.txt + case $conflict in + modify conflict.txt 'c version' + filename=conflict.txt + text='c version' + echo 'c version' + git add conflict.txt + commit -m $'c\342\207\2229' + TIME=1112912003 + GIT_AUTHOR_DATE='@1112912003 +0000' + GIT_COMMITTER_DATE='@1112912003 +0000' + git commit -m $'c\342\207\2229' [c 73a5eed] c⇒9 2 files changed, 2 insertions(+), 2 deletions(-) + git checkout -b d master -- Switched to a new branch 'd' ++ seq 6 + for i in $(seq 6) + modify d.txt 1 + filename=d.txt + text=1 + echo 1 + git add d.txt + case $conflict in + commit -m $'d\342\207\2221' + TIME=1112912004 + GIT_AUTHOR_DATE='@1112912004 +0000' + GIT_COMMITTER_DATE='@1112912004 +0000' + git commit -m $'d\342\207\2221' [d bd5368a] d⇒1 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 6) + modify d.txt 2 + filename=d.txt + text=2 + echo 2 + git add d.txt + case $conflict in + commit -m $'d\342\207\2222' + TIME=1112912005 + GIT_AUTHOR_DATE='@1112912005 +0000' + GIT_COMMITTER_DATE='@1112912005 +0000' + git commit -m $'d\342\207\2222' [d 93e27e6] d⇒2 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 6) + modify d.txt 3 + filename=d.txt + text=3 + echo 3 + git add d.txt + case $conflict in + commit -m $'d\342\207\2223' + TIME=1112912006 + GIT_AUTHOR_DATE='@1112912006 +0000' + GIT_COMMITTER_DATE='@1112912006 +0000' + git commit -m $'d\342\207\2223' [d 133f385] d⇒3 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 6) + modify d.txt 4 + filename=d.txt + text=4 + echo 4 + git add d.txt + case $conflict in + commit -m $'d\342\207\2224' + TIME=1112912007 + GIT_AUTHOR_DATE='@1112912007 +0000' + GIT_COMMITTER_DATE='@1112912007 +0000' + git commit -m $'d\342\207\2224' [d 586472a] d⇒4 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 6) + modify d.txt 5 + filename=d.txt + text=5 + echo 5 + git add d.txt + case $conflict in + commit -m $'d\342\207\2225' + TIME=1112912008 + GIT_AUTHOR_DATE='@1112912008 +0000' + GIT_COMMITTER_DATE='@1112912008 +0000' + git commit -m $'d\342\207\2225' [d 9522207] d⇒5 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 6) + modify d.txt 6 + filename=d.txt + text=6 + echo 6 + git add d.txt + case $conflict in + modify conflict.txt 'd version' + filename=conflict.txt + text='d version' + echo 'd version' + git add conflict.txt + commit -m $'d\342\207\2226' + TIME=1112912009 + GIT_AUTHOR_DATE='@1112912009 +0000' + GIT_COMMITTER_DATE='@1112912009 +0000' + git commit -m $'d\342\207\2226' [d f7e451a] d⇒6 2 files changed, 2 insertions(+), 2 deletions(-) + git checkout c Switched to branch 'c' + git-imerge init --name=c-d d + git-imerge list * c-d + git-imerge diagram --commits --frontier --html=imerge0.html 0 5 9 | | | 0 - ********** - c *????????? *????????? *????????? *????????? 5 - *????????? 6 - *????????? | d 0 5 9 | | | 0 - ********** - c *????????? *????????? *????????? *????????? 5 - *????????? 6 - *????????? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + git-imerge autofill + tee autofill.out Attempting automerge of 9-6...failure. Attempting automerge of 1-1...success. Attempting automerge of 1-4...success. Attempting automerge of 1-6...success. Attempting automerge of 9-6...failure. Attempting automerge of 5-6...success. Attempting automerge of 7-6...success. Attempting automerge of 8-6...success. Attempting automerge of 9-1...success. Attempting automerge of 9-4...success. Attempting automerge of 9-5...success. Autofilling 1-6...success. Autofilling 2-6...success. Autofilling 3-6...success. Autofilling 4-6...success. Autofilling 5-6...success. Autofilling 6-6...success. Autofilling 7-6...success. Autofilling 8-1...success. Autofilling 8-2...success. Autofilling 8-3...success. Autofilling 8-4...success. Autofilling 8-5...success. Autofilling 8-6 (first way)...success. Autofilling 8-6 (second way)...success. The two ways of autofilling 8-6 agree. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[0:9,0:7]. Autofilling 9-1...success. Autofilling 9-2...success. Autofilling 9-3...success. Autofilling 9-4...success. Autofilling 9-5...success. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[8:10,0:6]. Attempting automerge of 9-6...failure. Attempting automerge of 9-6...failure. HEAD is now at 73a5eed c⇒9 Conflict; suggest manual merge of 9-6 + grep -q Traceback autofill.out + grep -q 'suggest manual merge of 9-6' autofill.out + git-imerge diagram --commits --frontier --html=imerge1.html 0 5 9 | | | 0 - ********** - c *???????.. *???????.. *???????.. *???????.. 5 - *???????.. 6 - *........# | d 0 5 9 | | | 0 - ********** - c *???????.| *???????.| *???????.| *???????.| 5 - *???????.+ 6 - *-------+# | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + git-imerge continue --edit Switched to branch 'imerge/c-d' Auto-merging conflict.txt CONFLICT (content): Merge conflict in conflict.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: Original second commit: commit 73a5eedb087a0f656d730831b8def7943b40f3cf Author: Loú User Date: Thu Apr 7 22:13:23 2005 +0000 c⇒9 commit f7e451a6c9656dda15641a9fbc591a602f158692 Author: Loú User Date: Thu Apr 7 22:13:29 2005 +0000 d⇒6 There was a conflict merging commit 9-6, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + echo 'merged version' + git add conflict.txt + git-imerge continue --no-edit [imerge/c-d 2293a33] imerge 'c-d': manual merge 9-6 Merge has been recorded for merge 9-6. Merge is complete! + git-imerge diagram --commits --frontier --html=imerge2.html 0 5 9 | | | 0 - ********** - c *???????.. *???????.. *???????.. *???????.. 5 - *???????.. 6 - *........* | d 0 5 9 | | | 0 - ********** - c *???????.| *???????.| *???????.| *???????.| 5 - *???????.| 6 - *--------* | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + GIT_EDITOR=cat + git-imerge simplify --goal=merge --branch=c-d-merge Merge d into c (using imerge) # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # Date: Sat Feb 22 12:07:43 2025 +0000 # # On branch c-d-merge # Changes to be committed: # modified: conflict.txt # modified: d.txt # [c-d-merge 9b08a77] Merge d into c (using imerge) Date: Sat Feb 22 12:07:43 2025 +0000 + check_tree c-d-merge ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-merge + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 ++ git rev-parse 'c-d-merge^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=rebase --branch=c-d-rebase + check_tree c-d-rebase ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-rebase + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 ++ git rev-parse 'c-d-rebase^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=rebase-with-history --branch=c-d-rebase-with-history + check_tree c-d-rebase-with-history ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-rebase-with-history + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 ++ git rev-parse 'c-d-rebase-with-history^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border --branch=c-d-border + check_tree c-d-border ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 ++ git rev-parse 'c-d-border^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border-with-history --branch=c-d-border-with-history + check_tree c-d-border-with-history ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border-with-history + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 ++ git rev-parse 'c-d-border-with-history^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border-with-history2 --branch=c-d-border-with-history2 + check_tree c-d-border-with-history2 ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border-with-history2 + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 ++ git rev-parse 'c-d-border-with-history2^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge remove + git checkout c Switched to branch 'c' + git-imerge start --goal=full --first-parent --name=c-d d + tee start.out Attempting to merge 1-1...success. Attempting to merge 1-2...success. Attempting to merge 1-3...success. Attempting to merge 1-4...success. Attempting to merge 1-5...success. Attempting to merge 1-6...success. Attempting to merge 2-1...success. Attempting to merge 2-2...success. Attempting to merge 2-3...success. Attempting to merge 2-4...success. Attempting to merge 2-5...success. Attempting to merge 2-6...success. Attempting to merge 3-1...success. Attempting to merge 3-2...success. Attempting to merge 3-3...success. Attempting to merge 3-4...success. Attempting to merge 3-5...success. Attempting to merge 3-6...success. Attempting to merge 4-1...success. Attempting to merge 4-2...success. Attempting to merge 4-3...success. Attempting to merge 4-4...success. Attempting to merge 4-5...success. Attempting to merge 4-6...success. Attempting to merge 5-1...success. Attempting to merge 5-2...success. Attempting to merge 5-3...success. Attempting to merge 5-4...success. Attempting to merge 5-5...success. Attempting to merge 5-6...success. Attempting to merge 6-1...success. Attempting to merge 6-2...success. Attempting to merge 6-3...success. Attempting to merge 6-4...success. Attempting to merge 6-5...success. Attempting to merge 6-6...success. Attempting to merge 7-1...success. Attempting to merge 7-2...success. Attempting to merge 7-3...success. Attempting to merge 7-4...success. Attempting to merge 7-5...success. Attempting to merge 7-6...success. Attempting to merge 8-1...success. Attempting to merge 8-2...success. Attempting to merge 8-3...success. Attempting to merge 8-4...success. Attempting to merge 8-5...success. Attempting to merge 8-6...success. Attempting to merge 9-1...success. Attempting to merge 9-2...success. Attempting to merge 9-3...success. Attempting to merge 9-4...success. Attempting to merge 9-5...success. Attempting to merge 9-6...conflict. Switched to branch 'imerge/c-d' Auto-merging conflict.txt CONFLICT (content): Merge conflict in conflict.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit 73a5eedb087a0f656d730831b8def7943b40f3cf Author: Loú User Date: Thu Apr 7 22:13:23 2005 +0000 c⇒9 Original second commit: commit f7e451a6c9656dda15641a9fbc591a602f158692 Author: Loú User Date: Thu Apr 7 22:13:29 2005 +0000 d⇒6 There was a conflict merging commit 9-6, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + grep -q Traceback start.out + grep -q 'suggest manual merge of 9-6' autofill.out + git-imerge diagram --commits --frontier --html=imerge3.html 0 5 9 | | | 0 - ********** - c *......... *......... *......... *......... 5 - *......... 6 - *........# | d 0 5 9 | | | 0 - ********** - c *........| *........| *........| *........| 5 - *........+ 6 - *-------+# | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + echo 'merged version' + git add conflict.txt + GIT_EDITOR=cat + git commit imerge 'c-d': manual merge 9-6 # Conflicts: # conflict.txt # # It looks like you may be committing a merge. # If this is not correct, please run # git update-ref -d MERGE_HEAD # and try again. # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # On branch imerge/c-d # All conflicts fixed but you are still merging. # # Changes to be committed: # modified: conflict.txt # modified: d.txt # + git-imerge continue --edit [imerge/c-d 1f085a9] imerge 'c-d': manual merge 9-6 Merge has been recorded for merge 9-6. Merge is complete! + git-imerge diagram --commits --frontier --html=imerge4.html 0 5 9 | | | 0 - ********** - c *......... *......... *......... *......... 5 - *......... 6 - *........* | d 0 5 9 | | | 0 - ********** - c *........| *........| *........| *........| 5 - *........| 6 - *--------* | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + git-imerge finish --branch=c-d-full + check_tree c-d-full ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-full + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 ++ git rev-parse 'c-d-full^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + test_conflict 1-2 + local conflict=1-2 + TMP=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-2 + DESCRIPTION='git-imerge test repository with conflict at 1-2' + init_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-2 'git-imerge test repository with conflict at 1-2' + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-2 + local 'description=git-imerge test repository with conflict at 1-2' + delete_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-2 'git-imerge test repository with conflict at 1-2' + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-2 + local 'description=git-imerge test repository with conflict at 1-2' + test -d /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-2 + mkdir -p /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-2 + git init /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-2 Initialized empty Git repository in /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-2/.git/ hint: Using 'master' as the name for the initial branch. This default branch name hint: is subject to change. To configure the initial branch name to use in all hint: of your new repositories, which will suppress this warning, call: hint: hint: git config --global init.defaultBranch hint: hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and hint: 'development'. The just-created branch can be renamed via this command: hint: hint: git branch -m + echo 'git-imerge test repository with conflict at 1-2' + printf '%s\n' '/*.out' '/*.css' '/*.html' + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-2/.git config user.name 'Loú User' + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-2/.git config user.email luser@example.com + TIME=1112911993 + ln -s /build/reproducible-path/git-imerge-1.2.0/imerge.css /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-2 + cd /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-2 + modify c.txt 0 + filename=c.txt + text=0 + echo 0 + git add c.txt + modify d.txt 0 + filename=d.txt + text=0 + echo 0 + git add d.txt + modify conflict.txt 'original version' + filename=conflict.txt + text='original version' + echo 'original version' + git add conflict.txt + commit -m $'m\342\207\2220' + TIME=1112911994 + GIT_AUTHOR_DATE='@1112911994 +0000' + GIT_COMMITTER_DATE='@1112911994 +0000' + git commit -m $'m\342\207\2220' [master (root-commit) d70e04b] m⇒0 3 files changed, 3 insertions(+) create mode 100644 c.txt create mode 100644 conflict.txt create mode 100644 d.txt + git checkout -b c master -- Switched to a new branch 'c' ++ seq 9 + for i in $(seq 9) + modify c.txt 1 + filename=c.txt + text=1 + echo 1 + git add c.txt + case $conflict in + modify conflict.txt 'c version' + filename=conflict.txt + text='c version' + echo 'c version' + git add conflict.txt + commit -m $'c\342\207\2221' + TIME=1112911995 + GIT_AUTHOR_DATE='@1112911995 +0000' + GIT_COMMITTER_DATE='@1112911995 +0000' + git commit -m $'c\342\207\2221' [c 2120f40] c⇒1 2 files changed, 2 insertions(+), 2 deletions(-) + for i in $(seq 9) + modify c.txt 2 + filename=c.txt + text=2 + echo 2 + git add c.txt + case $conflict in + commit -m $'c\342\207\2222' + TIME=1112911996 + GIT_AUTHOR_DATE='@1112911996 +0000' + GIT_COMMITTER_DATE='@1112911996 +0000' + git commit -m $'c\342\207\2222' [c 90cc7de] c⇒2 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 9) + modify c.txt 3 + filename=c.txt + text=3 + echo 3 + git add c.txt + case $conflict in + commit -m $'c\342\207\2223' + TIME=1112911997 + GIT_AUTHOR_DATE='@1112911997 +0000' + GIT_COMMITTER_DATE='@1112911997 +0000' + git commit -m $'c\342\207\2223' [c 2046ed2] c⇒3 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 9) + modify c.txt 4 + filename=c.txt + text=4 + echo 4 + git add c.txt + case $conflict in + commit -m $'c\342\207\2224' + TIME=1112911998 + GIT_AUTHOR_DATE='@1112911998 +0000' + GIT_COMMITTER_DATE='@1112911998 +0000' + git commit -m $'c\342\207\2224' [c 8a2cee9] c⇒4 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 9) + modify c.txt 5 + filename=c.txt + text=5 + echo 5 + git add c.txt + case $conflict in + commit -m $'c\342\207\2225' + TIME=1112911999 + GIT_AUTHOR_DATE='@1112911999 +0000' + GIT_COMMITTER_DATE='@1112911999 +0000' + git commit -m $'c\342\207\2225' + for i in $(seq 9) + modify c.txt 6 + filename=c.txt + text=6 + echo 6 + git add c.txt [c ac16a05] c⇒5 1 file changed, 1 insertion(+), 1 deletion(-) + case $conflict in + commit -m $'c\342\207\2226' + TIME=1112912000 + GIT_AUTHOR_DATE='@1112912000 +0000' + GIT_COMMITTER_DATE='@1112912000 +0000' + git commit -m $'c\342\207\2226' [c 30dd2ae] c⇒6 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 9) + modify c.txt 7 + filename=c.txt + text=7 + echo 7 + git add c.txt + case $conflict in + commit -m $'c\342\207\2227' + TIME=1112912001 + GIT_AUTHOR_DATE='@1112912001 +0000' + GIT_COMMITTER_DATE='@1112912001 +0000' + git commit -m $'c\342\207\2227' [c 0883eb9] c⇒7 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 9) + modify c.txt 8 + filename=c.txt + text=8 + echo 8 + git add c.txt + case $conflict in + commit -m $'c\342\207\2228' + TIME=1112912002 + GIT_AUTHOR_DATE='@1112912002 +0000' + GIT_COMMITTER_DATE='@1112912002 +0000' + git commit -m $'c\342\207\2228' [c f661c06] c⇒8 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 9) + modify c.txt 9 + filename=c.txt + text=9 + echo 9 + git add c.txt + case $conflict in + commit -m $'c\342\207\2229' + TIME=1112912003 + GIT_AUTHOR_DATE='@1112912003 +0000' + GIT_COMMITTER_DATE='@1112912003 +0000' + git commit -m $'c\342\207\2229' [c 243e8ed] c⇒9 1 file changed, 1 insertion(+), 1 deletion(-) + git checkout -b d master -- Switched to a new branch 'd' ++ seq 6 + for i in $(seq 6) + modify d.txt 1 + filename=d.txt + text=1 + echo 1 + git add d.txt + case $conflict in + commit -m $'d\342\207\2221' + TIME=1112912004 + GIT_AUTHOR_DATE='@1112912004 +0000' + GIT_COMMITTER_DATE='@1112912004 +0000' + git commit -m $'d\342\207\2221' [d bd5368a] d⇒1 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 6) + modify d.txt 2 + filename=d.txt + text=2 + echo 2 + git add d.txt + case $conflict in + modify conflict.txt 'd version' + filename=conflict.txt + text='d version' + echo 'd version' + git add conflict.txt + commit -m $'d\342\207\2222' + TIME=1112912005 + GIT_AUTHOR_DATE='@1112912005 +0000' + GIT_COMMITTER_DATE='@1112912005 +0000' + git commit -m $'d\342\207\2222' [d 69efde8] d⇒2 2 files changed, 2 insertions(+), 2 deletions(-) + for i in $(seq 6) + modify d.txt 3 + filename=d.txt + text=3 + echo 3 + git add d.txt + case $conflict in + commit -m $'d\342\207\2223' + TIME=1112912006 + GIT_AUTHOR_DATE='@1112912006 +0000' + GIT_COMMITTER_DATE='@1112912006 +0000' + git commit -m $'d\342\207\2223' + for i in $(seq 6) + modify d.txt 4 + filename=d.txt + text=4 + echo 4 + git add d.txt [d 3169557] d⇒3 1 file changed, 1 insertion(+), 1 deletion(-) + case $conflict in + commit -m $'d\342\207\2224' + TIME=1112912007 + GIT_AUTHOR_DATE='@1112912007 +0000' + GIT_COMMITTER_DATE='@1112912007 +0000' + git commit -m $'d\342\207\2224' [d 86c8052] d⇒4 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 6) + modify d.txt 5 + filename=d.txt + text=5 + echo 5 + git add d.txt + case $conflict in + commit -m $'d\342\207\2225' + TIME=1112912008 + GIT_AUTHOR_DATE='@1112912008 +0000' + GIT_COMMITTER_DATE='@1112912008 +0000' + git commit -m $'d\342\207\2225' [d 1700773] d⇒5 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 6) + modify d.txt 6 + filename=d.txt + text=6 + echo 6 + git add d.txt + case $conflict in + commit -m $'d\342\207\2226' + TIME=1112912009 + GIT_AUTHOR_DATE='@1112912009 +0000' + GIT_COMMITTER_DATE='@1112912009 +0000' + git commit -m $'d\342\207\2226' [d df2e493] d⇒6 1 file changed, 1 insertion(+), 1 deletion(-) + git checkout c Switched to branch 'c' + git-imerge init --name=c-d d + git-imerge list * c-d + git-imerge diagram --commits --frontier --html=imerge0.html 0 5 9 | | | 0 - ********** - c *????????? *????????? *????????? *????????? 5 - *????????? 6 - *????????? | d 0 5 9 | | | 0 - ********** - c *????????? *????????? *????????? *????????? 5 - *????????? 6 - *????????? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + git-imerge autofill + tee autofill.out Attempting automerge of 9-6...failure. Attempting automerge of 1-1...success. Attempting automerge of 1-4...failure. Attempting automerge of 1-3...failure. Attempting automerge of 1-2...failure. Attempting automerge of 9-1...success. Autofilling 1-1...success. Autofilling 2-1...success. Autofilling 3-1...success. Autofilling 4-1...success. Autofilling 5-1...success. Autofilling 6-1...success. Autofilling 7-1...success. Autofilling 8-1...success. Autofilling 9-1...success. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[0:10,0:2]. Attempting automerge of 9-6...failure. Attempting automerge of 1-2...failure. HEAD is now at 243e8ed c⇒9 Conflict; suggest manual merge of 1-2 + grep -q Traceback autofill.out + grep -q 'suggest manual merge of 1-2' autofill.out + git-imerge diagram --commits --frontier --html=imerge1.html 0 5 9 | | | 0 - ********** - c *......... *#???????? *????????? *????????? 5 - *????????? 6 - *????????? | d 0 5 9 | | | 0 - ********** - c *--------+ *#???????? *????????? *????????? 5 - *????????? 6 - *????????? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + git-imerge continue --edit Switched to branch 'imerge/c-d' Auto-merging conflict.txt CONFLICT (content): Merge conflict in conflict.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit 2120f40dc39d28052a5279b645124e8ed7e5de73 Author: Loú User Date: Thu Apr 7 22:13:15 2005 +0000 c⇒1 Original second commit: commit 69efde8f66d581a765a3909ffacb9f895f95c345 Author: Loú User Date: Thu Apr 7 22:13:25 2005 +0000 d⇒2 There was a conflict merging commit 1-2, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + echo 'merged version' + git add conflict.txt + git-imerge continue --no-edit [imerge/c-d a0e1206] imerge 'c-d': manual merge 1-2 Merge has been recorded for merge 1-2. Attempting automerge of 1-6...success. Autofilling 1-3...success. Autofilling 1-4...success. Autofilling 1-5...success. Autofilling 1-6...success. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[0:2,2:7]. Attempting automerge of 9-6...success. Autofilling 2-6...success. Autofilling 3-6...success. Autofilling 4-6...success. Autofilling 5-6...success. Autofilling 6-6...success. Autofilling 7-6...success. Autofilling 8-6...success. Autofilling 9-2...success. Autofilling 9-3...success. Autofilling 9-4...success. Autofilling 9-5...success. Autofilling 9-6 (first way)...success. Autofilling 9-6 (second way)...success. The two ways of autofilling 9-6 agree. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[1:10,1:7]. Merge is complete! + git-imerge diagram --commits --frontier --html=imerge2.html 0 5 9 | | | 0 - ********** - c *......... **???????. *.???????. *.???????. 5 - *.???????. 6 - *......... | d 0 5 9 | | | 0 - ********** - c *........| **???????| *.???????| *.???????| 5 - *.???????| 6 - *--------+ | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + GIT_EDITOR=cat + git-imerge simplify --goal=merge --branch=c-d-merge Merge d into c (using imerge) # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # Date: Sat Feb 22 12:08:06 2025 +0000 # # On branch c-d-merge # Changes to be committed: # modified: conflict.txt # modified: d.txt # [c-d-merge 662c556] Merge d into c (using imerge) Date: Sat Feb 22 12:08:06 2025 +0000 + check_tree c-d-merge ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-merge + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 ++ git rev-parse 'c-d-merge^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=rebase --branch=c-d-rebase + check_tree c-d-rebase ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-rebase + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 ++ git rev-parse 'c-d-rebase^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=rebase-with-history --branch=c-d-rebase-with-history + check_tree c-d-rebase-with-history ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-rebase-with-history + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 ++ git rev-parse 'c-d-rebase-with-history^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border --branch=c-d-border + check_tree c-d-border ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 ++ git rev-parse 'c-d-border^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border-with-history --branch=c-d-border-with-history + check_tree c-d-border-with-history ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border-with-history + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 ++ git rev-parse 'c-d-border-with-history^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border-with-history2 --branch=c-d-border-with-history2 + check_tree c-d-border-with-history2 ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border-with-history2 + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 ++ git rev-parse 'c-d-border-with-history2^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge remove + git checkout c Switched to branch 'c' + git-imerge start --goal=full --first-parent --name=c-d d + tee start.out Attempting to merge 1-1...success. Attempting to merge 1-2...conflict. Attempting to merge 2-1...success. Attempting to merge 3-1...success. Attempting to merge 4-1...success. Attempting to merge 5-1...success. Attempting to merge 6-1...success. Attempting to merge 7-1...success. Attempting to merge 8-1...success. Attempting to merge 9-1...success. Previous HEAD position was 2abedd4 imerge 'c-d': automatic merge 9-1 Switched to branch 'imerge/c-d' Auto-merging conflict.txt CONFLICT (content): Merge conflict in conflict.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit 2120f40dc39d28052a5279b645124e8ed7e5de73 Author: Loú User Date: Thu Apr 7 22:13:15 2005 +0000 c⇒1 Original second commit: commit 69efde8f66d581a765a3909ffacb9f895f95c345 Author: Loú User Date: Thu Apr 7 22:13:25 2005 +0000 d⇒2 There was a conflict merging commit 1-2, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + grep -q Traceback start.out + grep -q 'suggest manual merge of 1-2' autofill.out + git-imerge diagram --commits --frontier --html=imerge3.html 0 5 9 | | | 0 - ********** - c *......... *#???????? *????????? *????????? 5 - *????????? 6 - *????????? | d 0 5 9 | | | 0 - ********** - c *--------+ *#???????? *????????? *????????? 5 - *????????? 6 - *????????? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + echo 'merged version' + git add conflict.txt + GIT_EDITOR=cat + git commit imerge 'c-d': manual merge 1-2 # Conflicts: # conflict.txt # # It looks like you may be committing a merge. # If this is not correct, please run # git update-ref -d MERGE_HEAD # and try again. # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # On branch imerge/c-d # All conflicts fixed but you are still merging. # # Changes to be committed: # modified: conflict.txt # modified: d.txt # [imerge/c-d 4aef8b3] imerge 'c-d': manual merge 1-2 + git-imerge continue --edit Merge has been recorded for merge 1-2. Attempting to merge 1-3...success. Attempting to merge 1-4...success. Attempting to merge 1-5...success. Attempting to merge 1-6...success. Attempting to merge 2-2...success. Attempting to merge 2-3...success. Attempting to merge 2-4...success. Attempting to merge 2-5...success. Attempting to merge 2-6...success. Attempting to merge 3-2...success. Attempting to merge 3-3...success. Attempting to merge 3-4...success. Attempting to merge 3-5...success. Attempting to merge 3-6...success. Attempting to merge 4-2...success. Attempting to merge 4-3...success. Attempting to merge 4-4...success. Attempting to merge 4-5...success. Attempting to merge 4-6...success. Attempting to merge 5-2...success. Attempting to merge 5-3...success. Attempting to merge 5-4...success. Attempting to merge 5-5...success. Attempting to merge 5-6...success. Attempting to merge 6-2...success. Attempting to merge 6-3...success. Attempting to merge 6-4...success. Attempting to merge 6-5...success. Attempting to merge 6-6...success. Attempting to merge 7-2...success. Attempting to merge 7-3...success. Attempting to merge 7-4...success. Attempting to merge 7-5...success. Attempting to merge 7-6...success. Attempting to merge 8-2...success. Attempting to merge 8-3...success. Attempting to merge 8-4...success. Attempting to merge 8-5...success. Attempting to merge 8-6...success. Attempting to merge 9-2...success. Attempting to merge 9-3...success. Attempting to merge 9-4...success. Attempting to merge 9-5...success. Attempting to merge 9-6...success. Merge is complete! + git-imerge diagram --commits --frontier --html=imerge4.html 0 5 9 | | | 0 - ********** - c *......... **........ *......... *......... 5 - *......... 6 - *......... | d 0 5 9 | | | 0 - ********** - c *........| **.......| *........| *........| 5 - *........| 6 - *--------+ | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + git-imerge finish --branch=c-d-full + check_tree c-d-full ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-full + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 ++ git rev-parse 'c-d-full^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + test_conflict 9-5 + local conflict=9-5 + TMP=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-5 + DESCRIPTION='git-imerge test repository with conflict at 9-5' + init_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-5 'git-imerge test repository with conflict at 9-5' + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-5 + local 'description=git-imerge test repository with conflict at 9-5' + delete_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-5 'git-imerge test repository with conflict at 9-5' + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-5 + local 'description=git-imerge test repository with conflict at 9-5' + test -d /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-5 + mkdir -p /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-5 + git init /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-5 hint: Using 'master' as the name for the initial branch. This default branch name hint: is subject to change. To configure the initial branch name to use in all hint: of your new repositories, which will suppress this warning, call: hint: hint: git config --global init.defaultBranch hint: hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and hint: 'development'. The just-created branch can be renamed via this command: hint: hint: git branch -m Initialized empty Git repository in /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-5/.git/ + echo 'git-imerge test repository with conflict at 9-5' + printf '%s\n' '/*.out' '/*.css' '/*.html' + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-5/.git config user.name 'Loú User' + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-5/.git config user.email luser@example.com + TIME=1112911993 + ln -s /build/reproducible-path/git-imerge-1.2.0/imerge.css /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-5 + cd /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-5 + modify c.txt 0 + filename=c.txt + text=0 + echo 0 + git add c.txt + modify d.txt 0 + filename=d.txt + text=0 + echo 0 + git add d.txt + modify conflict.txt 'original version' + filename=conflict.txt + text='original version' + echo 'original version' + git add conflict.txt + commit -m $'m\342\207\2220' + TIME=1112911994 + GIT_AUTHOR_DATE='@1112911994 +0000' + GIT_COMMITTER_DATE='@1112911994 +0000' + git commit -m $'m\342\207\2220' [master (root-commit) d70e04b] m⇒0 3 files changed, 3 insertions(+) create mode 100644 c.txt create mode 100644 conflict.txt create mode 100644 d.txt + git checkout -b c master -- Switched to a new branch 'c' ++ seq 9 + for i in $(seq 9) + modify c.txt 1 + filename=c.txt + text=1 + echo 1 + git add c.txt + case $conflict in + commit -m $'c\342\207\2221' + TIME=1112911995 + GIT_AUTHOR_DATE='@1112911995 +0000' + GIT_COMMITTER_DATE='@1112911995 +0000' + git commit -m $'c\342\207\2221' [c 89e2141] c⇒1 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 9) + modify c.txt 2 + filename=c.txt + text=2 + echo 2 + git add c.txt + case $conflict in + commit -m $'c\342\207\2222' + TIME=1112911996 + GIT_AUTHOR_DATE='@1112911996 +0000' + GIT_COMMITTER_DATE='@1112911996 +0000' + git commit -m $'c\342\207\2222' [c 7c431f2] c⇒2 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 9) + modify c.txt 3 + filename=c.txt + text=3 + echo 3 + git add c.txt + case $conflict in + commit -m $'c\342\207\2223' + TIME=1112911997 + GIT_AUTHOR_DATE='@1112911997 +0000' + GIT_COMMITTER_DATE='@1112911997 +0000' + git commit -m $'c\342\207\2223' + for i in $(seq 9) + modify c.txt 4 + filename=c.txt + text=4 + echo 4 + git add c.txt [c f02ab24] c⇒3 1 file changed, 1 insertion(+), 1 deletion(-) + case $conflict in + commit -m $'c\342\207\2224' + TIME=1112911998 + GIT_AUTHOR_DATE='@1112911998 +0000' + GIT_COMMITTER_DATE='@1112911998 +0000' + git commit -m $'c\342\207\2224' [c ed9122f] c⇒4 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 9) + modify c.txt 5 + filename=c.txt + text=5 + echo 5 + git add c.txt + case $conflict in + commit -m $'c\342\207\2225' + TIME=1112911999 + GIT_AUTHOR_DATE='@1112911999 +0000' + GIT_COMMITTER_DATE='@1112911999 +0000' + git commit -m $'c\342\207\2225' [c 1d3bf09] c⇒5 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 9) + modify c.txt 6 + filename=c.txt + text=6 + echo 6 + git add c.txt + case $conflict in + commit -m $'c\342\207\2226' + TIME=1112912000 + GIT_AUTHOR_DATE='@1112912000 +0000' + GIT_COMMITTER_DATE='@1112912000 +0000' + git commit -m $'c\342\207\2226' [c f999ecd] c⇒6 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 9) + modify c.txt 7 + filename=c.txt + text=7 + echo 7 + git add c.txt + case $conflict in + commit -m $'c\342\207\2227' + TIME=1112912001 + GIT_AUTHOR_DATE='@1112912001 +0000' + GIT_COMMITTER_DATE='@1112912001 +0000' + git commit -m $'c\342\207\2227' [c 7050a8a] c⇒7 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 9) + modify c.txt 8 + filename=c.txt + text=8 + echo 8 + git add c.txt + case $conflict in + commit -m $'c\342\207\2228' + TIME=1112912002 + GIT_AUTHOR_DATE='@1112912002 +0000' + GIT_COMMITTER_DATE='@1112912002 +0000' + git commit -m $'c\342\207\2228' + for i in $(seq 9) + modify c.txt 9 + filename=c.txt + text=9 + echo 9 + git add c.txt [c 9732e77] c⇒8 1 file changed, 1 insertion(+), 1 deletion(-) + case $conflict in + modify conflict.txt 'c version' + filename=conflict.txt + text='c version' + echo 'c version' + git add conflict.txt + commit -m $'c\342\207\2229' + TIME=1112912003 + GIT_AUTHOR_DATE='@1112912003 +0000' + GIT_COMMITTER_DATE='@1112912003 +0000' + git commit -m $'c\342\207\2229' [c 73a5eed] c⇒9 2 files changed, 2 insertions(+), 2 deletions(-) + git checkout -b d master -- Switched to a new branch 'd' ++ seq 6 + for i in $(seq 6) + modify d.txt 1 + filename=d.txt + text=1 + echo 1 + git add d.txt + case $conflict in + commit -m $'d\342\207\2221' + TIME=1112912004 + GIT_AUTHOR_DATE='@1112912004 +0000' + GIT_COMMITTER_DATE='@1112912004 +0000' + git commit -m $'d\342\207\2221' [d bd5368a] d⇒1 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 6) + modify d.txt 2 + filename=d.txt + text=2 + echo 2 + git add d.txt + case $conflict in + commit -m $'d\342\207\2222' + TIME=1112912005 + GIT_AUTHOR_DATE='@1112912005 +0000' + GIT_COMMITTER_DATE='@1112912005 +0000' + git commit -m $'d\342\207\2222' [d 93e27e6] d⇒2 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 6) + modify d.txt 3 + filename=d.txt + text=3 + echo 3 + git add d.txt + case $conflict in + commit -m $'d\342\207\2223' + TIME=1112912006 + GIT_AUTHOR_DATE='@1112912006 +0000' + GIT_COMMITTER_DATE='@1112912006 +0000' + git commit -m $'d\342\207\2223' [d 133f385] d⇒3 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 6) + modify d.txt 4 + filename=d.txt + text=4 + echo 4 + git add d.txt + case $conflict in + commit -m $'d\342\207\2224' + TIME=1112912007 + GIT_AUTHOR_DATE='@1112912007 +0000' + GIT_COMMITTER_DATE='@1112912007 +0000' + git commit -m $'d\342\207\2224' [d 586472a] d⇒4 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 6) + modify d.txt 5 + filename=d.txt + text=5 + echo 5 + git add d.txt + case $conflict in + modify conflict.txt 'd version' + filename=conflict.txt + text='d version' + echo 'd version' + git add conflict.txt + commit -m $'d\342\207\2225' + TIME=1112912008 + GIT_AUTHOR_DATE='@1112912008 +0000' + GIT_COMMITTER_DATE='@1112912008 +0000' + git commit -m $'d\342\207\2225' [d 0a6f956] d⇒5 2 files changed, 2 insertions(+), 2 deletions(-) + for i in $(seq 6) + modify d.txt 6 + filename=d.txt + text=6 + echo 6 + git add d.txt + case $conflict in + commit -m $'d\342\207\2226' + TIME=1112912009 + GIT_AUTHOR_DATE='@1112912009 +0000' + GIT_COMMITTER_DATE='@1112912009 +0000' + git commit -m $'d\342\207\2226' [d bfb30f0] d⇒6 1 file changed, 1 insertion(+), 1 deletion(-) + git checkout c Switched to branch 'c' + git-imerge init --name=c-d d + git-imerge list * c-d + git-imerge diagram --commits --frontier --html=imerge0.html 0 5 9 | | | 0 - ********** - c *????????? *????????? *????????? *????????? 5 - *????????? 6 - *????????? | d 0 5 9 | | | 0 - ********** - c *????????? *????????? *????????? *????????? 5 - *????????? 6 - *????????? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + tee autofill.out + git-imerge autofill Attempting automerge of 9-6...failure. Attempting automerge of 1-1...success. Attempting automerge of 1-4...success. Attempting automerge of 1-6...success. Attempting automerge of 9-6...failure. Attempting automerge of 5-6...success. Attempting automerge of 7-6...success. Attempting automerge of 8-6...success. Attempting automerge of 9-1...success. Attempting automerge of 9-4...success. Attempting automerge of 9-5...failure. Autofilling 1-6...success. Autofilling 2-6...success. Autofilling 3-6...success. Autofilling 4-6...success. Autofilling 5-6...success. Autofilling 6-6...success. Autofilling 7-6...success. Autofilling 8-1...success. Autofilling 8-2...success. Autofilling 8-3...success. Autofilling 8-4...success. Autofilling 8-5...success. Autofilling 8-6 (first way)...success. Autofilling 8-6 (second way)...success. The two ways of autofilling 8-6 agree. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[0:9,0:7]. Autofilling 9-1...success. Autofilling 9-2...success. Autofilling 9-3...success. Autofilling 9-4...success. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[8:10,0:5]. Attempting automerge of 9-6...failure. Attempting automerge of 9-5...failure. HEAD is now at 73a5eed c⇒9 Conflict; suggest manual merge of 9-5 + grep -q Traceback autofill.out + grep -q 'suggest manual merge of 9-5' autofill.out + git-imerge diagram --commits --frontier --html=imerge1.html 0 5 9 | | | 0 - ********** - c *???????.. *???????.. *???????.. *???????.. 5 - *???????.# 6 - *........? | d 0 5 9 | | | 0 - ********** - c *???????.| *???????.| *???????.| *???????.+ 5 - *???????|# 6 - *-------+? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + git-imerge continue --edit Switched to branch 'imerge/c-d' Auto-merging conflict.txt CONFLICT (content): Merge conflict in conflict.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit 73a5eedb087a0f656d730831b8def7943b40f3cf Author: Loú User Date: Thu Apr 7 22:13:23 2005 +0000 c⇒9 Original second commit: commit 0a6f956bd00cebb5567e80d6ee247a51128ad36f Author: Loú User Date: Thu Apr 7 22:13:28 2005 +0000 d⇒5 There was a conflict merging commit 9-5, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + echo 'merged version' + git add conflict.txt + git-imerge continue --no-edit [imerge/c-d aa240cf] imerge 'c-d': manual merge 9-5 Merge has been recorded for merge 9-5. Attempting automerge of 9-6...success. Autofilling 9-6...success. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[8:10,5:7]. Merge is complete! + git-imerge diagram --commits --frontier --html=imerge2.html 0 5 9 | | | 0 - ********** - c *???????.. *???????.. *???????.. *???????.. 5 - *???????.* 6 - *......... | d 0 5 9 | | | 0 - ********** - c *???????.| *???????.| *???????.| *???????.| 5 - *???????.* 6 - *--------+ | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + GIT_EDITOR=cat + git-imerge simplify --goal=merge --branch=c-d-merge Merge d into c (using imerge) # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # Date: Sat Feb 22 12:08:28 2025 +0000 # # On branch c-d-merge # Changes to be committed: # modified: conflict.txt # modified: d.txt # [c-d-merge 46fde12] Merge d into c (using imerge) Date: Sat Feb 22 12:08:28 2025 +0000 + check_tree c-d-merge ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-merge + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 ++ git rev-parse 'c-d-merge^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=rebase --branch=c-d-rebase + check_tree c-d-rebase ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-rebase + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 ++ git rev-parse 'c-d-rebase^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=rebase-with-history --branch=c-d-rebase-with-history + check_tree c-d-rebase-with-history ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-rebase-with-history + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 ++ git rev-parse 'c-d-rebase-with-history^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border --branch=c-d-border + check_tree c-d-border ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 ++ git rev-parse 'c-d-border^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border-with-history --branch=c-d-border-with-history + check_tree c-d-border-with-history ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border-with-history + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 ++ git rev-parse 'c-d-border-with-history^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border-with-history2 --branch=c-d-border-with-history2 + check_tree c-d-border-with-history2 ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border-with-history2 + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 ++ git rev-parse 'c-d-border-with-history2^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge remove + git checkout c Switched to branch 'c' + tee start.out + git-imerge start --goal=full --first-parent --name=c-d d Attempting to merge 1-1...success. Attempting to merge 1-2...success. Attempting to merge 1-3...success. Attempting to merge 1-4...success. Attempting to merge 1-5...success. Attempting to merge 1-6...success. Attempting to merge 2-1...success. Attempting to merge 2-2...success. Attempting to merge 2-3...success. Attempting to merge 2-4...success. Attempting to merge 2-5...success. Attempting to merge 2-6...success. Attempting to merge 3-1...success. Attempting to merge 3-2...success. Attempting to merge 3-3...success. Attempting to merge 3-4...success. Attempting to merge 3-5...success. Attempting to merge 3-6...success. Attempting to merge 4-1...success. Attempting to merge 4-2...success. Attempting to merge 4-3...success. Attempting to merge 4-4...success. Attempting to merge 4-5...success. Attempting to merge 4-6...success. Attempting to merge 5-1...success. Attempting to merge 5-2...success. Attempting to merge 5-3...success. Attempting to merge 5-4...success. Attempting to merge 5-5...success. Attempting to merge 5-6...success. Attempting to merge 6-1...success. Attempting to merge 6-2...success. Attempting to merge 6-3...success. Attempting to merge 6-4...success. Attempting to merge 6-5...success. Attempting to merge 6-6...success. Attempting to merge 7-1...success. Attempting to merge 7-2...success. Attempting to merge 7-3...success. Attempting to merge 7-4...success. Attempting to merge 7-5...success. Attempting to merge 7-6...success. Attempting to merge 8-1...success. Attempting to merge 8-2...success. Attempting to merge 8-3...success. Attempting to merge 8-4...success. Attempting to merge 8-5...success. Attempting to merge 8-6...success. Attempting to merge 9-1...success. Attempting to merge 9-2...success. Attempting to merge 9-3...success. Attempting to merge 9-4...success. Attempting to merge 9-5...conflict. Switched to branch 'imerge/c-d' Auto-merging conflict.txt CONFLICT (content): Merge conflict in conflict.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit 73a5eedb087a0f656d730831b8def7943b40f3cf Author: Loú User Date: Thu Apr 7 22:13:23 2005 +0000 c⇒9 Original second commit: commit 0a6f956bd00cebb5567e80d6ee247a51128ad36f Author: Loú User Date: Thu Apr 7 22:13:28 2005 +0000 d⇒5 There was a conflict merging commit 9-5, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + grep -q Traceback start.out + grep -q 'suggest manual merge of 9-5' autofill.out + git-imerge diagram --commits --frontier --html=imerge3.html 0 5 9 | | | 0 - ********** - c *......... *......... *......... *......... 5 - *........# 6 - *........? | d 0 5 9 | | | 0 - ********** - c *........| *........| *........| *........+ 5 - *.......|# 6 - *-------+? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + echo 'merged version' + git add conflict.txt + GIT_EDITOR=cat + git commit imerge 'c-d': manual merge 9-5 # Conflicts: # conflict.txt # # It looks like you may be committing a merge. # If this is not correct, please run # git update-ref -d MERGE_HEAD # and try again. # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # On branch imerge/c-d # All conflicts fixed but you are still merging. # # Changes to be committed: # modified: conflict.txt # modified: d.txt # [imerge/c-d 7441e4d] imerge 'c-d': manual merge 9-5 + git-imerge continue --edit Merge has been recorded for merge 9-5. Attempting to merge 9-6...success. Merge is complete! + git-imerge diagram --commits --frontier --html=imerge4.html 0 5 9 | | | 0 - ********** - c *......... *......... *......... *......... 5 - *........* 6 - *......... | d 0 5 9 | | | 0 - ********** - c *........| *........| *........| *........| 5 - *........* 6 - *--------+ | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + git-imerge finish --branch=c-d-full + check_tree c-d-full ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-full + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 ++ git rev-parse 'c-d-full^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + test_conflict 5-1 + local conflict=5-1 + TMP=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-5-1 + DESCRIPTION='git-imerge test repository with conflict at 5-1' + init_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-5-1 'git-imerge test repository with conflict at 5-1' + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-5-1 + local 'description=git-imerge test repository with conflict at 5-1' + delete_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-5-1 'git-imerge test repository with conflict at 5-1' + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-5-1 + local 'description=git-imerge test repository with conflict at 5-1' + test -d /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-5-1 + mkdir -p /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-5-1 + git init /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-5-1 Initialized empty Git repository in /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-5-1/.git/ hint: Using 'master' as the name for the initial branch. This default branch name hint: is subject to change. To configure the initial branch name to use in all hint: of your new repositories, which will suppress this warning, call: hint: hint: git config --global init.defaultBranch hint: hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and hint: 'development'. The just-created branch can be renamed via this command: hint: hint: git branch -m + echo 'git-imerge test repository with conflict at 5-1' + printf '%s\n' '/*.out' '/*.css' '/*.html' + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-5-1/.git config user.name 'Loú User' + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-5-1/.git config user.email luser@example.com + TIME=1112911993 + ln -s /build/reproducible-path/git-imerge-1.2.0/imerge.css /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-5-1 + cd /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-5-1 + modify c.txt 0 + filename=c.txt + text=0 + echo 0 + git add c.txt + modify d.txt 0 + filename=d.txt + text=0 + echo 0 + git add d.txt + modify conflict.txt 'original version' + filename=conflict.txt + text='original version' + echo 'original version' + git add conflict.txt + commit -m $'m\342\207\2220' + TIME=1112911994 + GIT_AUTHOR_DATE='@1112911994 +0000' + GIT_COMMITTER_DATE='@1112911994 +0000' + git commit -m $'m\342\207\2220' [master (root-commit) d70e04b] m⇒0 3 files changed, 3 insertions(+) create mode 100644 c.txt create mode 100644 conflict.txt create mode 100644 d.txt + git checkout -b c master -- Switched to a new branch 'c' ++ seq 9 + for i in $(seq 9) + modify c.txt 1 + filename=c.txt + text=1 + echo 1 + git add c.txt + case $conflict in + commit -m $'c\342\207\2221' + TIME=1112911995 + GIT_AUTHOR_DATE='@1112911995 +0000' + GIT_COMMITTER_DATE='@1112911995 +0000' + git commit -m $'c\342\207\2221' [c 89e2141] c⇒1 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 9) + modify c.txt 2 + filename=c.txt + text=2 + echo 2 + git add c.txt + case $conflict in + commit -m $'c\342\207\2222' + TIME=1112911996 + GIT_AUTHOR_DATE='@1112911996 +0000' + GIT_COMMITTER_DATE='@1112911996 +0000' + git commit -m $'c\342\207\2222' [c 7c431f2] c⇒2 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 9) + modify c.txt 3 + filename=c.txt + text=3 + echo 3 + git add c.txt + case $conflict in + commit -m $'c\342\207\2223' + TIME=1112911997 + GIT_AUTHOR_DATE='@1112911997 +0000' + GIT_COMMITTER_DATE='@1112911997 +0000' + git commit -m $'c\342\207\2223' [c f02ab24] c⇒3 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 9) + modify c.txt 4 + filename=c.txt + text=4 + echo 4 + git add c.txt + case $conflict in + commit -m $'c\342\207\2224' + TIME=1112911998 + GIT_AUTHOR_DATE='@1112911998 +0000' + GIT_COMMITTER_DATE='@1112911998 +0000' + git commit -m $'c\342\207\2224' [c ed9122f] c⇒4 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 9) + modify c.txt 5 + filename=c.txt + text=5 + echo 5 + git add c.txt + case $conflict in + modify conflict.txt 'c version' + filename=conflict.txt + text='c version' + echo 'c version' + git add conflict.txt + commit -m $'c\342\207\2225' + TIME=1112911999 + GIT_AUTHOR_DATE='@1112911999 +0000' + GIT_COMMITTER_DATE='@1112911999 +0000' + git commit -m $'c\342\207\2225' [c 7e31f25] c⇒5 2 files changed, 2 insertions(+), 2 deletions(-) + for i in $(seq 9) + modify c.txt 6 + filename=c.txt + text=6 + echo 6 + git add c.txt + case $conflict in + commit -m $'c\342\207\2226' + TIME=1112912000 + GIT_AUTHOR_DATE='@1112912000 +0000' + GIT_COMMITTER_DATE='@1112912000 +0000' + git commit -m $'c\342\207\2226' [c df3c57a] c⇒6 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 9) + modify c.txt 7 + filename=c.txt + text=7 + echo 7 + git add c.txt + case $conflict in + commit -m $'c\342\207\2227' + TIME=1112912001 + GIT_AUTHOR_DATE='@1112912001 +0000' + GIT_COMMITTER_DATE='@1112912001 +0000' + git commit -m $'c\342\207\2227' [c ea32d81] c⇒7 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 9) + modify c.txt 8 + filename=c.txt + text=8 + echo 8 + git add c.txt + case $conflict in + commit -m $'c\342\207\2228' + TIME=1112912002 + GIT_AUTHOR_DATE='@1112912002 +0000' + GIT_COMMITTER_DATE='@1112912002 +0000' + git commit -m $'c\342\207\2228' [c 44473d6] c⇒8 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 9) + modify c.txt 9 + filename=c.txt + text=9 + echo 9 + git add c.txt + case $conflict in + commit -m $'c\342\207\2229' + TIME=1112912003 + GIT_AUTHOR_DATE='@1112912003 +0000' + GIT_COMMITTER_DATE='@1112912003 +0000' + git commit -m $'c\342\207\2229' [c d8d80cf] c⇒9 1 file changed, 1 insertion(+), 1 deletion(-) + git checkout -b d master -- Switched to a new branch 'd' ++ seq 6 + for i in $(seq 6) + modify d.txt 1 + filename=d.txt + text=1 + echo 1 + git add d.txt + case $conflict in + modify conflict.txt 'd version' + filename=conflict.txt + text='d version' + echo 'd version' + git add conflict.txt + commit -m $'d\342\207\2221' + TIME=1112912004 + GIT_AUTHOR_DATE='@1112912004 +0000' + GIT_COMMITTER_DATE='@1112912004 +0000' + git commit -m $'d\342\207\2221' [d ac0427a] d⇒1 2 files changed, 2 insertions(+), 2 deletions(-) + for i in $(seq 6) + modify d.txt 2 + filename=d.txt + text=2 + echo 2 + git add d.txt + case $conflict in + commit -m $'d\342\207\2222' + TIME=1112912005 + GIT_AUTHOR_DATE='@1112912005 +0000' + GIT_COMMITTER_DATE='@1112912005 +0000' + git commit -m $'d\342\207\2222' [d 43c38c0] d⇒2 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 6) + modify d.txt 3 + filename=d.txt + text=3 + echo 3 + git add d.txt + case $conflict in + commit -m $'d\342\207\2223' + TIME=1112912006 + GIT_AUTHOR_DATE='@1112912006 +0000' + GIT_COMMITTER_DATE='@1112912006 +0000' + git commit -m $'d\342\207\2223' [d 0260058] d⇒3 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 6) + modify d.txt 4 + filename=d.txt + text=4 + echo 4 + git add d.txt + case $conflict in + commit -m $'d\342\207\2224' + TIME=1112912007 + GIT_AUTHOR_DATE='@1112912007 +0000' + GIT_COMMITTER_DATE='@1112912007 +0000' + git commit -m $'d\342\207\2224' [d 40fef44] d⇒4 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 6) + modify d.txt 5 + filename=d.txt + text=5 + echo 5 + git add d.txt + case $conflict in + commit -m $'d\342\207\2225' + TIME=1112912008 + GIT_AUTHOR_DATE='@1112912008 +0000' + GIT_COMMITTER_DATE='@1112912008 +0000' + git commit -m $'d\342\207\2225' + for i in $(seq 6) + modify d.txt 6 + filename=d.txt + text=6 + echo 6 + git add d.txt [d b080a65] d⇒5 1 file changed, 1 insertion(+), 1 deletion(-) + case $conflict in + commit -m $'d\342\207\2226' + TIME=1112912009 + GIT_AUTHOR_DATE='@1112912009 +0000' + GIT_COMMITTER_DATE='@1112912009 +0000' + git commit -m $'d\342\207\2226' [d 200ce5c] d⇒6 1 file changed, 1 insertion(+), 1 deletion(-) + git checkout c Switched to branch 'c' + git-imerge init --name=c-d d + git-imerge list * c-d + git-imerge diagram --commits --frontier --html=imerge0.html 0 5 9 | | | 0 - ********** - c *????????? *????????? *????????? *????????? 5 - *????????? 6 - *????????? | d 0 5 9 | | | 0 - ********** - c *????????? *????????? *????????? *????????? 5 - *????????? 6 - *????????? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + tee autofill.out + git-imerge autofill Attempting automerge of 9-6...failure. Attempting automerge of 1-1...success. Attempting automerge of 1-4...success. Attempting automerge of 1-6...success. Attempting automerge of 9-6...failure. Attempting automerge of 5-6...failure. Attempting automerge of 3-6...success. Attempting automerge of 4-6...success. Attempting automerge of 5-1...failure. Autofilling 1-6...success. Autofilling 2-6...success. Autofilling 3-6...success. Autofilling 4-1...success. Autofilling 4-2...success. Autofilling 4-3...success. Autofilling 4-4...success. Autofilling 4-5...success. Autofilling 4-6 (first way)...success. Autofilling 4-6 (second way)...success. The two ways of autofilling 4-6 agree. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[0:5,0:7]. Attempting automerge of 9-6...failure. Attempting automerge of 5-1...failure. HEAD is now at d8d80cf c⇒9 Conflict; suggest manual merge of 5-1 + grep -q Traceback autofill.out + grep -q 'suggest manual merge of 5-1' autofill.out + git-imerge diagram --commits --frontier --html=imerge1.html 0 5 9 | | | 0 - ********** - c *???.#???? *???.????? *???.????? *???.????? 5 - *???.????? 6 - *....????? | d 0 5 9 | | | 0 - ********** - c *???|#???? *???|????? *???|????? *???|????? 5 - *???|????? 6 - *---+????? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + git-imerge continue --edit Switched to branch 'imerge/c-d' Auto-merging conflict.txt CONFLICT (content): Merge conflict in conflict.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit 7e31f254c318decc434628f023dac0703f3d2b9e Author: Loú User Date: Thu Apr 7 22:13:19 2005 +0000 c⇒5 Original second commit: commit ac0427a285b64f2815ebd6eb83880f309600d0c7 Author: Loú User Date: Thu Apr 7 22:13:24 2005 +0000 d⇒1 There was a conflict merging commit 5-1, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + echo 'merged version' + git add conflict.txt + git-imerge continue --no-edit [imerge/c-d cbae8e5] imerge 'c-d': manual merge 5-1 Merge has been recorded for merge 5-1. Attempting automerge of 5-6...success. Autofilling 5-2...success. Autofilling 5-3...success. Autofilling 5-4...success. Autofilling 5-5...success. Autofilling 5-6...success. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[4:6,1:7]. Attempting automerge of 9-6...success. Autofilling 6-6...success. Autofilling 7-6...success. Autofilling 8-6...success. Autofilling 9-1...success. Autofilling 9-2...success. Autofilling 9-3...success. Autofilling 9-4...success. Autofilling 9-5...success. Autofilling 9-6 (first way)...success. Autofilling 9-6 (second way)...success. The two ways of autofilling 9-6 agree. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[5:10,0:7]. Merge is complete! + git-imerge diagram --commits --frontier --html=imerge2.html 0 5 9 | | | 0 - ********** - c *???.*???. *???..???. *???..???. *???..???. 5 - *???..???. 6 - *......... | d 0 5 9 | | | 0 - ********** - c *???.*???| *???..???| *???..???| *???..???| 5 - *???..???| 6 - *--------+ | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + GIT_EDITOR=cat + git-imerge simplify --goal=merge --branch=c-d-merge Merge d into c (using imerge) # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # Date: Sat Feb 22 12:08:50 2025 +0000 # # On branch c-d-merge # Changes to be committed: # modified: conflict.txt # modified: d.txt # [c-d-merge 0e04707] Merge d into c (using imerge) Date: Sat Feb 22 12:08:50 2025 +0000 + check_tree c-d-merge ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-merge + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 ++ git rev-parse 'c-d-merge^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=rebase --branch=c-d-rebase + check_tree c-d-rebase ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-rebase + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 ++ git rev-parse 'c-d-rebase^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=rebase-with-history --branch=c-d-rebase-with-history + check_tree c-d-rebase-with-history ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-rebase-with-history + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 ++ git rev-parse 'c-d-rebase-with-history^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border --branch=c-d-border + check_tree c-d-border ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 ++ git rev-parse 'c-d-border^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border-with-history --branch=c-d-border-with-history + check_tree c-d-border-with-history ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border-with-history + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 ++ git rev-parse 'c-d-border-with-history^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border-with-history2 --branch=c-d-border-with-history2 + check_tree c-d-border-with-history2 ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border-with-history2 + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 ++ git rev-parse 'c-d-border-with-history2^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge remove + git checkout c Switched to branch 'c' + git-imerge start --goal=full --first-parent --name=c-d d + tee start.out Attempting to merge 1-1...success. Attempting to merge 1-2...success. Attempting to merge 1-3...success. Attempting to merge 1-4...success. Attempting to merge 1-5...success. Attempting to merge 1-6...success. Attempting to merge 2-1...success. Attempting to merge 2-2...success. Attempting to merge 2-3...success. Attempting to merge 2-4...success. Attempting to merge 2-5...success. Attempting to merge 2-6...success. Attempting to merge 3-1...success. Attempting to merge 3-2...success. Attempting to merge 3-3...success. Attempting to merge 3-4...success. Attempting to merge 3-5...success. Attempting to merge 3-6...success. Attempting to merge 4-1...success. Attempting to merge 4-2...success. Attempting to merge 4-3...success. Attempting to merge 4-4...success. Attempting to merge 4-5...success. Attempting to merge 4-6...success. Attempting to merge 5-1...conflict. Switched to branch 'imerge/c-d' Auto-merging conflict.txt CONFLICT (content): Merge conflict in conflict.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit 7e31f254c318decc434628f023dac0703f3d2b9e Author: Loú User Date: Thu Apr 7 22:13:19 2005 +0000 c⇒5 Original second commit: commit ac0427a285b64f2815ebd6eb83880f309600d0c7 Author: Loú User Date: Thu Apr 7 22:13:24 2005 +0000 d⇒1 There was a conflict merging commit 5-1, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + grep -q Traceback start.out + grep -q 'suggest manual merge of 5-1' autofill.out + git-imerge diagram --commits --frontier --html=imerge3.html 0 5 9 | | | 0 - ********** - c *....#???? *....????? *....????? *....????? 5 - *....????? 6 - *....????? | d 0 5 9 | | | 0 - ********** - c *...|#???? *...|????? *...|????? *...|????? 5 - *...|????? 6 - *---+????? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + echo 'merged version' + git add conflict.txt + GIT_EDITOR=cat + git commit imerge 'c-d': manual merge 5-1 # Conflicts: # conflict.txt # # It looks like you may be committing a merge. # If this is not correct, please run # git update-ref -d MERGE_HEAD # and try again. # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # On branch imerge/c-d # All conflicts fixed but you are still merging. # # Changes to be committed: # modified: conflict.txt # modified: d.txt # [imerge/c-d 2ab052b] imerge 'c-d': manual merge 5-1 + git-imerge continue --edit Merge has been recorded for merge 5-1. Attempting to merge 5-2...success. Attempting to merge 5-3...success. Attempting to merge 5-4...success. Attempting to merge 5-5...success. Attempting to merge 5-6...success. Attempting to merge 6-1...success. Attempting to merge 6-2...success. Attempting to merge 6-3...success. Attempting to merge 6-4...success. Attempting to merge 6-5...success. Attempting to merge 6-6...success. Attempting to merge 7-1...success. Attempting to merge 7-2...success. Attempting to merge 7-3...success. Attempting to merge 7-4...success. Attempting to merge 7-5...success. Attempting to merge 7-6...success. Attempting to merge 8-1...success. Attempting to merge 8-2...success. Attempting to merge 8-3...success. Attempting to merge 8-4...success. Attempting to merge 8-5...success. Attempting to merge 8-6...success. Attempting to merge 9-1...success. Attempting to merge 9-2...success. Attempting to merge 9-3...success. Attempting to merge 9-4...success. Attempting to merge 9-5...success. Attempting to merge 9-6...success. Merge is complete! + git-imerge diagram --commits --frontier --html=imerge4.html 0 5 9 | | | 0 - ********** - c *....*.... *......... *......... *......... 5 - *......... 6 - *......... | d 0 5 9 | | | 0 - ********** - c *....*...| *........| *........| *........| 5 - *........| 6 - *--------+ | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + git-imerge finish --branch=c-d-full + check_tree c-d-full ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-full + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 ++ git rev-parse 'c-d-full^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + test_conflict 6-6 + local conflict=6-6 + TMP=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-6-6 + DESCRIPTION='git-imerge test repository with conflict at 6-6' + init_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-6-6 'git-imerge test repository with conflict at 6-6' + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-6-6 + local 'description=git-imerge test repository with conflict at 6-6' + delete_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-6-6 'git-imerge test repository with conflict at 6-6' + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-6-6 + local 'description=git-imerge test repository with conflict at 6-6' + test -d /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-6-6 + mkdir -p /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-6-6 + git init /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-6-6 Initialized empty Git repository in /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-6-6/.git/ hint: Using 'master' as the name for the initial branch. This default branch name hint: is subject to change. To configure the initial branch name to use in all hint: of your new repositories, which will suppress this warning, call: hint: hint: git config --global init.defaultBranch hint: hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and hint: 'development'. The just-created branch can be renamed via this command: hint: hint: git branch -m + echo 'git-imerge test repository with conflict at 6-6' + printf '%s\n' '/*.out' '/*.css' '/*.html' + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-6-6/.git config user.name 'Loú User' + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-6-6/.git config user.email luser@example.com + TIME=1112911993 + ln -s /build/reproducible-path/git-imerge-1.2.0/imerge.css /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-6-6 + cd /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-6-6 + modify c.txt 0 + filename=c.txt + text=0 + echo 0 + git add c.txt + modify d.txt 0 + filename=d.txt + text=0 + echo 0 + git add d.txt + modify conflict.txt 'original version' + filename=conflict.txt + text='original version' + echo 'original version' + git add conflict.txt + commit -m $'m\342\207\2220' + TIME=1112911994 + GIT_AUTHOR_DATE='@1112911994 +0000' + GIT_COMMITTER_DATE='@1112911994 +0000' + git commit -m $'m\342\207\2220' + git checkout -b c master -- [master (root-commit) d70e04b] m⇒0 3 files changed, 3 insertions(+) create mode 100644 c.txt create mode 100644 conflict.txt create mode 100644 d.txt Switched to a new branch 'c' ++ seq 9 + for i in $(seq 9) + modify c.txt 1 + filename=c.txt + text=1 + echo 1 + git add c.txt + case $conflict in + commit -m $'c\342\207\2221' + TIME=1112911995 + GIT_AUTHOR_DATE='@1112911995 +0000' + GIT_COMMITTER_DATE='@1112911995 +0000' + git commit -m $'c\342\207\2221' [c 89e2141] c⇒1 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 9) + modify c.txt 2 + filename=c.txt + text=2 + echo 2 + git add c.txt + case $conflict in + commit -m $'c\342\207\2222' + TIME=1112911996 + GIT_AUTHOR_DATE='@1112911996 +0000' + GIT_COMMITTER_DATE='@1112911996 +0000' + git commit -m $'c\342\207\2222' [c 7c431f2] c⇒2 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 9) + modify c.txt 3 + filename=c.txt + text=3 + echo 3 + git add c.txt + case $conflict in + commit -m $'c\342\207\2223' + TIME=1112911997 + GIT_AUTHOR_DATE='@1112911997 +0000' + GIT_COMMITTER_DATE='@1112911997 +0000' + git commit -m $'c\342\207\2223' [c f02ab24] c⇒3 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 9) + modify c.txt 4 + filename=c.txt + text=4 + echo 4 + git add c.txt + case $conflict in + commit -m $'c\342\207\2224' + TIME=1112911998 + GIT_AUTHOR_DATE='@1112911998 +0000' + GIT_COMMITTER_DATE='@1112911998 +0000' + git commit -m $'c\342\207\2224' [c ed9122f] c⇒4 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 9) + modify c.txt 5 + filename=c.txt + text=5 + echo 5 + git add c.txt + case $conflict in + commit -m $'c\342\207\2225' + TIME=1112911999 + GIT_AUTHOR_DATE='@1112911999 +0000' + GIT_COMMITTER_DATE='@1112911999 +0000' + git commit -m $'c\342\207\2225' [c 1d3bf09] c⇒5 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 9) + modify c.txt 6 + filename=c.txt + text=6 + echo 6 + git add c.txt + case $conflict in + modify conflict.txt 'c version' + filename=conflict.txt + text='c version' + echo 'c version' + git add conflict.txt + commit -m $'c\342\207\2226' + TIME=1112912000 + GIT_AUTHOR_DATE='@1112912000 +0000' + GIT_COMMITTER_DATE='@1112912000 +0000' + git commit -m $'c\342\207\2226' [c fe4fed8] c⇒6 2 files changed, 2 insertions(+), 2 deletions(-) + for i in $(seq 9) + modify c.txt 7 + filename=c.txt + text=7 + echo 7 + git add c.txt + case $conflict in + commit -m $'c\342\207\2227' + TIME=1112912001 + GIT_AUTHOR_DATE='@1112912001 +0000' + GIT_COMMITTER_DATE='@1112912001 +0000' + git commit -m $'c\342\207\2227' [c ec255ea] c⇒7 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 9) + modify c.txt 8 + filename=c.txt + text=8 + echo 8 + git add c.txt + case $conflict in + commit -m $'c\342\207\2228' + TIME=1112912002 + GIT_AUTHOR_DATE='@1112912002 +0000' + GIT_COMMITTER_DATE='@1112912002 +0000' + git commit -m $'c\342\207\2228' [c 7459ac3] c⇒8 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 9) + modify c.txt 9 + filename=c.txt + text=9 + echo 9 + git add c.txt + case $conflict in + commit -m $'c\342\207\2229' + TIME=1112912003 + GIT_AUTHOR_DATE='@1112912003 +0000' + GIT_COMMITTER_DATE='@1112912003 +0000' + git commit -m $'c\342\207\2229' [c 70408c8] c⇒9 1 file changed, 1 insertion(+), 1 deletion(-) + git checkout -b d master -- Switched to a new branch 'd' ++ seq 6 + for i in $(seq 6) + modify d.txt 1 + filename=d.txt + text=1 + echo 1 + git add d.txt + case $conflict in + commit -m $'d\342\207\2221' + TIME=1112912004 + GIT_AUTHOR_DATE='@1112912004 +0000' + GIT_COMMITTER_DATE='@1112912004 +0000' + git commit -m $'d\342\207\2221' [d bd5368a] d⇒1 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 6) + modify d.txt 2 + filename=d.txt + text=2 + echo 2 + git add d.txt + case $conflict in + commit -m $'d\342\207\2222' + TIME=1112912005 + GIT_AUTHOR_DATE='@1112912005 +0000' + GIT_COMMITTER_DATE='@1112912005 +0000' + git commit -m $'d\342\207\2222' [d 93e27e6] d⇒2 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 6) + modify d.txt 3 + filename=d.txt + text=3 + echo 3 + git add d.txt + case $conflict in + commit -m $'d\342\207\2223' + TIME=1112912006 + GIT_AUTHOR_DATE='@1112912006 +0000' + GIT_COMMITTER_DATE='@1112912006 +0000' + git commit -m $'d\342\207\2223' [d 133f385] d⇒3 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 6) + modify d.txt 4 + filename=d.txt + text=4 + echo 4 + git add d.txt + case $conflict in + commit -m $'d\342\207\2224' + TIME=1112912007 + GIT_AUTHOR_DATE='@1112912007 +0000' + GIT_COMMITTER_DATE='@1112912007 +0000' + git commit -m $'d\342\207\2224' + for i in $(seq 6) + modify d.txt 5 + filename=d.txt + text=5 + echo 5 + git add d.txt [d 586472a] d⇒4 1 file changed, 1 insertion(+), 1 deletion(-) + case $conflict in + commit -m $'d\342\207\2225' + TIME=1112912008 + GIT_AUTHOR_DATE='@1112912008 +0000' + GIT_COMMITTER_DATE='@1112912008 +0000' + git commit -m $'d\342\207\2225' [d 9522207] d⇒5 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 6) + modify d.txt 6 + filename=d.txt + text=6 + echo 6 + git add d.txt + case $conflict in + modify conflict.txt 'd version' + filename=conflict.txt + text='d version' + echo 'd version' + git add conflict.txt + commit -m $'d\342\207\2226' + TIME=1112912009 + GIT_AUTHOR_DATE='@1112912009 +0000' + GIT_COMMITTER_DATE='@1112912009 +0000' + git commit -m $'d\342\207\2226' [d f7e451a] d⇒6 2 files changed, 2 insertions(+), 2 deletions(-) + git checkout c Switched to branch 'c' + git-imerge init --name=c-d d + git-imerge list * c-d + git-imerge diagram --commits --frontier --html=imerge0.html 0 5 9 | | | 0 - ********** - c *????????? *????????? *????????? *????????? 5 - *????????? 6 - *????????? | d 0 5 9 | | | 0 - ********** - c *????????? *????????? *????????? *????????? 5 - *????????? 6 - *????????? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + tee autofill.out + git-imerge autofill Attempting automerge of 9-6...failure. Attempting automerge of 1-1...success. Attempting automerge of 1-4...success. Attempting automerge of 1-6...success. Attempting automerge of 9-6...failure. Attempting automerge of 5-6...success. Attempting automerge of 7-6...failure. Attempting automerge of 6-6...failure. Attempting automerge of 6-1...success. Attempting automerge of 6-4...success. Attempting automerge of 6-5...success. Attempting automerge of 9-5...success. Autofilling 1-6...success. Autofilling 2-6...success. Autofilling 3-6...success. Autofilling 4-6...success. Autofilling 5-1...success. Autofilling 5-2...success. Autofilling 5-3...success. Autofilling 5-4...success. Autofilling 5-5...success. Autofilling 5-6 (first way)...success. Autofilling 5-6 (second way)...success. The two ways of autofilling 5-6 agree. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[0:6,0:7]. Autofilling 6-5...success. Autofilling 7-5...success. Autofilling 8-5...success. Autofilling 9-1...success. Autofilling 9-2...success. Autofilling 9-3...success. Autofilling 9-4...success. Autofilling 9-5 (first way)...success. Autofilling 9-5 (second way)...success. The two ways of autofilling 9-5 agree. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[5:10,0:6]. Attempting automerge of 9-6...failure. Attempting automerge of 6-6...failure. HEAD is now at 70408c8 c⇒9 Conflict; suggest manual merge of 6-6 + grep -q Traceback autofill.out + grep -q 'suggest manual merge of 6-6' autofill.out + git-imerge diagram --commits --frontier --html=imerge1.html 0 5 9 | | | 0 - ********** - c *????.???. *????.???. *????.???. *????.???. 5 - *????..... 6 - *.....#??? | d 0 5 9 | | | 0 - ********** - c *????.???| *????.???| *????.???| *????.???| 5 - *????.---+ 6 - *----+#??? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + git-imerge continue --edit Switched to branch 'imerge/c-d' Auto-merging conflict.txt CONFLICT (content): Merge conflict in conflict.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit fe4fed83ab13bbc7e9ee5ef0a814b170b8194854 Author: Loú User Date: Thu Apr 7 22:13:20 2005 +0000 c⇒6 Original second commit: commit f7e451a6c9656dda15641a9fbc591a602f158692 Author: Loú User Date: Thu Apr 7 22:13:29 2005 +0000 d⇒6 There was a conflict merging commit 6-6, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + echo 'merged version' + git add conflict.txt + git-imerge continue --no-edit [imerge/c-d eefd28b] imerge 'c-d': manual merge 6-6 Merge has been recorded for merge 6-6. Attempting automerge of 9-6...success. Autofilling 7-6...success. Autofilling 8-6...success. Autofilling 9-6...success. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[6:10,5:7]. Merge is complete! + git-imerge diagram --commits --frontier --html=imerge2.html 0 5 9 | | | 0 - ********** - c *????.???. *????.???. *????.???. *????.???. 5 - *????..... 6 - *.....*... | d 0 5 9 | | | 0 - ********** - c *????.???| *????.???| *????.???| *????.???| 5 - *????....| 6 - *-----*--+ | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + GIT_EDITOR=cat + git-imerge simplify --goal=merge --branch=c-d-merge Merge d into c (using imerge) # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # Date: Sat Feb 22 12:09:08 2025 +0000 # # On branch c-d-merge # Changes to be committed: # modified: conflict.txt # modified: d.txt # [c-d-merge 167a45d] Merge d into c (using imerge) Date: Sat Feb 22 12:09:08 2025 +0000 + check_tree c-d-merge ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-merge + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 ++ git rev-parse 'c-d-merge^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=rebase --branch=c-d-rebase + check_tree c-d-rebase ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-rebase + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 ++ git rev-parse 'c-d-rebase^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=rebase-with-history --branch=c-d-rebase-with-history + check_tree c-d-rebase-with-history ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-rebase-with-history + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 ++ git rev-parse 'c-d-rebase-with-history^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border --branch=c-d-border + check_tree c-d-border ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 ++ git rev-parse 'c-d-border^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border-with-history --branch=c-d-border-with-history + check_tree c-d-border-with-history ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border-with-history + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 ++ git rev-parse 'c-d-border-with-history^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border-with-history2 --branch=c-d-border-with-history2 + check_tree c-d-border-with-history2 ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border-with-history2 + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 ++ git rev-parse 'c-d-border-with-history2^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge remove + git checkout c Switched to branch 'c' + git-imerge start --goal=full --first-parent --name=c-d d + tee start.out Attempting to merge 1-1...success. Attempting to merge 1-2...success. Attempting to merge 1-3...success. Attempting to merge 1-4...success. Attempting to merge 1-5...success. Attempting to merge 1-6...success. Attempting to merge 2-1...success. Attempting to merge 2-2...success. Attempting to merge 2-3...success. Attempting to merge 2-4...success. Attempting to merge 2-5...success. Attempting to merge 2-6...success. Attempting to merge 3-1...success. Attempting to merge 3-2...success. Attempting to merge 3-3...success. Attempting to merge 3-4...success. Attempting to merge 3-5...success. Attempting to merge 3-6...success. Attempting to merge 4-1...success. Attempting to merge 4-2...success. Attempting to merge 4-3...success. Attempting to merge 4-4...success. Attempting to merge 4-5...success. Attempting to merge 4-6...success. Attempting to merge 5-1...success. Attempting to merge 5-2...success. Attempting to merge 5-3...success. Attempting to merge 5-4...success. Attempting to merge 5-5...success. Attempting to merge 5-6...success. Attempting to merge 6-1...success. Attempting to merge 6-2...success. Attempting to merge 6-3...success. Attempting to merge 6-4...success. Attempting to merge 6-5...success. Attempting to merge 6-6...conflict. Attempting to merge 7-1...success. Attempting to merge 7-2...success. Attempting to merge 7-3...success. Attempting to merge 7-4...success. Attempting to merge 7-5...success. Attempting to merge 8-1...success. Attempting to merge 8-2...success. Attempting to merge 8-3...success. Attempting to merge 8-4...success. Attempting to merge 8-5...success. Attempting to merge 9-1...success. Attempting to merge 9-2...success. Attempting to merge 9-3...success. Attempting to merge 9-4...success. Attempting to merge 9-5...success. Previous HEAD position was 990a528 imerge 'c-d': automatic merge 9-5 Switched to branch 'imerge/c-d' Auto-merging conflict.txt CONFLICT (content): Merge conflict in conflict.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit fe4fed83ab13bbc7e9ee5ef0a814b170b8194854 Author: Loú User Date: Thu Apr 7 22:13:20 2005 +0000 c⇒6 Original second commit: commit f7e451a6c9656dda15641a9fbc591a602f158692 Author: Loú User Date: Thu Apr 7 22:13:29 2005 +0000 d⇒6 There was a conflict merging commit 6-6, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + grep -q Traceback start.out + grep -q 'suggest manual merge of 6-6' autofill.out + git-imerge diagram --commits --frontier --html=imerge3.html 0 5 9 | | | 0 - ********** - c *......... *......... *......... *......... 5 - *......... 6 - *.....#??? | d 0 5 9 | | | 0 - ********** - c *........| *........| *........| *........| 5 - *.....---+ 6 - *----+#??? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + echo 'merged version' + git add conflict.txt + GIT_EDITOR=cat + git commit imerge 'c-d': manual merge 6-6 # Conflicts: # conflict.txt # # It looks like you may be committing a merge. # If this is not correct, please run # git update-ref -d MERGE_HEAD # and try again. # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # On branch imerge/c-d # All conflicts fixed but you are still merging. # # Changes to be committed: # modified: conflict.txt # modified: d.txt # [imerge/c-d f3920c5] imerge 'c-d': manual merge 6-6 + git-imerge continue --edit Merge has been recorded for merge 6-6. Attempting to merge 7-6...success. Attempting to merge 8-6...success. Attempting to merge 9-6...success. Merge is complete! + git-imerge diagram --commits --frontier --html=imerge4.html 0 5 9 | | | 0 - ********** - c *......... *......... *......... *......... 5 - *......... 6 - *.....*... | d 0 5 9 | | | 0 - ********** - c *........| *........| *........| *........| 5 - *........| 6 - *-----*--+ | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + git-imerge finish --branch=c-d-full + check_tree c-d-full ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-full + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 ++ git rev-parse 'c-d-full^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 py313: commands[2] .pybuild/cpython3_3.13/build> /bin/sh t/test-really-conflicted ++++ dirname t/test-really-conflicted Initialized empty Git repository in /build/reproducible-path/git-imerge-1.2.0/t/tmp/really-conflicted/.git/ +++ cd t +++ pwd ++ dirname /build/reproducible-path/git-imerge-1.2.0/t + BASE=/build/reproducible-path/git-imerge-1.2.0 + . /build/reproducible-path/git-imerge-1.2.0/t/test-lib.sh + GIT_IMERGE=git-imerge + TMP=/build/reproducible-path/git-imerge-1.2.0/t/tmp/really-conflicted + DESCRIPTION='git-imerge test repository with multiple conflicts' + init_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/really-conflicted 'git-imerge test repository with multiple conflicts' + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/really-conflicted + local 'description=git-imerge test repository with multiple conflicts' + delete_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/really-conflicted 'git-imerge test repository with multiple conflicts' + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/really-conflicted + local 'description=git-imerge test repository with multiple conflicts' + test -d /build/reproducible-path/git-imerge-1.2.0/t/tmp/really-conflicted + mkdir -p /build/reproducible-path/git-imerge-1.2.0/t/tmp/really-conflicted + git init /build/reproducible-path/git-imerge-1.2.0/t/tmp/really-conflicted hint: Using 'master' as the name for the initial branch. This default branch name hint: is subject to change. To configure the initial branch name to use in all hint: of your new repositories, which will suppress this warning, call: hint: hint: git config --global init.defaultBranch hint: hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and hint: 'development'. The just-created branch can be renamed via this command: hint: hint: git branch -m + echo 'git-imerge test repository with multiple conflicts' + printf '%s\n' '/*.out' '/*.css' '/*.html' + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/really-conflicted/.git config user.name 'Loú User' + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/really-conflicted/.git config user.email luser@example.com + TIME=1112911993 + ln -s /build/reproducible-path/git-imerge-1.2.0/imerge.css /build/reproducible-path/git-imerge-1.2.0/t/tmp/really-conflicted + cd /build/reproducible-path/git-imerge-1.2.0/t/tmp/really-conflicted + modify c.txt 0 + filename=c.txt + text=0 + echo 0 + git add c.txt + modify d.txt 0 + filename=d.txt + text=0 + echo 0 + git add d.txt ++ seq 0 7 + for i in $(seq 0 7) + modify conflict0.txt 'original version' + filename=conflict0.txt + text='original version' + echo 'original version' + git add conflict0.txt + for i in $(seq 0 7) + modify conflict1.txt 'original version' + filename=conflict1.txt + text='original version' + echo 'original version' + git add conflict1.txt + for i in $(seq 0 7) + modify conflict2.txt 'original version' + filename=conflict2.txt + text='original version' + echo 'original version' + git add conflict2.txt + for i in $(seq 0 7) + modify conflict3.txt 'original version' + filename=conflict3.txt + text='original version' + echo 'original version' + git add conflict3.txt + for i in $(seq 0 7) + modify conflict4.txt 'original version' + filename=conflict4.txt + text='original version' + echo 'original version' + git add conflict4.txt + for i in $(seq 0 7) + modify conflict5.txt 'original version' + filename=conflict5.txt + text='original version' + echo 'original version' + git add conflict5.txt + for i in $(seq 0 7) + modify conflict6.txt 'original version' + filename=conflict6.txt + text='original version' + echo 'original version' + git add conflict6.txt + for i in $(seq 0 7) + modify conflict7.txt 'original version' + filename=conflict7.txt + text='original version' + echo 'original version' + git add conflict7.txt + commit -m $'m\342\207\2220' + TIME=1112911994 + GIT_AUTHOR_DATE='@1112911994 +0000' + GIT_COMMITTER_DATE='@1112911994 +0000' + git commit -m $'m\342\207\2220' [master (root-commit) 8e21fbd] m⇒0 10 files changed, 10 insertions(+) create mode 100644 c.txt create mode 100644 conflict0.txt create mode 100644 conflict1.txt create mode 100644 conflict2.txt create mode 100644 conflict3.txt create mode 100644 conflict4.txt create mode 100644 conflict5.txt create mode 100644 conflict6.txt create mode 100644 conflict7.txt create mode 100644 d.txt + git checkout -b c master -- Switched to a new branch 'c' + modify c.txt 1 + filename=c.txt + text=1 + echo 1 + git add c.txt + modify conflict0.txt 'c version' + filename=conflict0.txt + text='c version' + echo 'c version' + git add conflict0.txt + modify conflict4.txt 'c version' + filename=conflict4.txt + text='c version' + echo 'c version' + git add conflict4.txt + commit -m $'c\342\207\2221' + TIME=1112911995 + GIT_AUTHOR_DATE='@1112911995 +0000' + GIT_COMMITTER_DATE='@1112911995 +0000' + git commit -m $'c\342\207\2221' [c 4e6007a] c⇒1 3 files changed, 3 insertions(+), 3 deletions(-) + modify c.txt 2 + filename=c.txt + text=2 + echo 2 + git add c.txt + commit -m $'c\342\207\2222' + TIME=1112911996 + GIT_AUTHOR_DATE='@1112911996 +0000' + GIT_COMMITTER_DATE='@1112911996 +0000' + git commit -m $'c\342\207\2222' [c c2b7c49] c⇒2 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 3 + filename=c.txt + text=3 + echo 3 + git add c.txt + commit -m $'c\342\207\2223' + TIME=1112911997 + GIT_AUTHOR_DATE='@1112911997 +0000' + GIT_COMMITTER_DATE='@1112911997 +0000' + git commit -m $'c\342\207\2223' [c 42ad55a] c⇒3 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 4 + filename=c.txt + text=4 + echo 4 + git add c.txt + modify conflict1.txt 'c version' + filename=conflict1.txt + text='c version' + echo 'c version' + git add conflict1.txt + commit -m $'c\342\207\2224' + TIME=1112911998 + GIT_AUTHOR_DATE='@1112911998 +0000' + GIT_COMMITTER_DATE='@1112911998 +0000' + git commit -m $'c\342\207\2224' [c a891793] c⇒4 2 files changed, 2 insertions(+), 2 deletions(-) + modify c.txt 5 + filename=c.txt + text=5 + echo 5 + git add c.txt + modify conflict3.txt 'c version' + filename=conflict3.txt + text='c version' + echo 'c version' + git add conflict3.txt + modify conflict6.txt 'c version' + filename=conflict6.txt + text='c version' + echo 'c version' + git add conflict6.txt + commit -m $'c\342\207\2225' + TIME=1112911999 + GIT_AUTHOR_DATE='@1112911999 +0000' + GIT_COMMITTER_DATE='@1112911999 +0000' + git commit -m $'c\342\207\2225' [c c21441d] c⇒5 3 files changed, 3 insertions(+), 3 deletions(-) + modify c.txt 6 + filename=c.txt + text=6 + echo 6 + git add c.txt + modify conflict5.txt 'c version' + filename=conflict5.txt + text='c version' + echo 'c version' + git add conflict5.txt + commit -m $'c\342\207\2226' + TIME=1112912000 + GIT_AUTHOR_DATE='@1112912000 +0000' + GIT_COMMITTER_DATE='@1112912000 +0000' + git commit -m $'c\342\207\2226' [c a797a66] c⇒6 2 files changed, 2 insertions(+), 2 deletions(-) + modify c.txt 7 + filename=c.txt + text=7 + echo 7 + git add c.txt + modify conflict2.txt 'c version' + filename=conflict2.txt + text='c version' + echo 'c version' + git add conflict2.txt + commit -m $'c\342\207\2227' + TIME=1112912001 + GIT_AUTHOR_DATE='@1112912001 +0000' + GIT_COMMITTER_DATE='@1112912001 +0000' + git commit -m $'c\342\207\2227' [c c0e1537] c⇒7 2 files changed, 2 insertions(+), 2 deletions(-) + modify c.txt 8 + filename=c.txt + text=8 + echo 8 + git add c.txt + commit -m $'c\342\207\2228' + TIME=1112912002 + GIT_AUTHOR_DATE='@1112912002 +0000' + GIT_COMMITTER_DATE='@1112912002 +0000' + git commit -m $'c\342\207\2228' [c 9f3e7c8] c⇒8 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 9 + filename=c.txt + text=9 + echo 9 + git add c.txt + modify conflict7.txt 'c version' + filename=conflict7.txt + text='c version' + echo 'c version' + git add conflict7.txt + commit -m $'c\342\207\2229' + TIME=1112912003 + GIT_AUTHOR_DATE='@1112912003 +0000' + GIT_COMMITTER_DATE='@1112912003 +0000' + git commit -m $'c\342\207\2229' [c ccbfccb] c⇒9 2 files changed, 2 insertions(+), 2 deletions(-) + git checkout -b d master -- Switched to a new branch 'd' + modify d.txt 1 + filename=d.txt + text=1 + echo 1 + git add d.txt + modify conflict0.txt 'd version' + filename=conflict0.txt + text='d version' + echo 'd version' + git add conflict0.txt + modify conflict6.txt 'd version' + filename=conflict6.txt + text='d version' + echo 'd version' + git add conflict6.txt + commit -m $'d\342\207\2221' + TIME=1112912004 + GIT_AUTHOR_DATE='@1112912004 +0000' + GIT_COMMITTER_DATE='@1112912004 +0000' + git commit -m $'d\342\207\2221' [d 8c3c065] d⇒1 3 files changed, 3 insertions(+), 3 deletions(-) + modify d.txt 2 + filename=d.txt + text=2 + echo 2 + git add d.txt + modify conflict1.txt 'd version' + filename=conflict1.txt + text='d version' + echo 'd version' + git add conflict1.txt + modify conflict2.txt 'd version' + filename=conflict2.txt + text='d version' + echo 'd version' + git add conflict2.txt + commit -m $'d\342\207\2222' + TIME=1112912005 + GIT_AUTHOR_DATE='@1112912005 +0000' + GIT_COMMITTER_DATE='@1112912005 +0000' + git commit -m $'d\342\207\2222' [d 820b787] d⇒2 3 files changed, 3 insertions(+), 3 deletions(-) + modify d.txt 3 + filename=d.txt + text=3 + echo 3 + git add d.txt + commit -m $'d\342\207\2223' + TIME=1112912006 + GIT_AUTHOR_DATE='@1112912006 +0000' + GIT_COMMITTER_DATE='@1112912006 +0000' + git commit -m $'d\342\207\2223' [d 821c792] d⇒3 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 4 + filename=d.txt + text=4 + echo 4 + git add d.txt + commit -m $'d\342\207\2224' + TIME=1112912007 + GIT_AUTHOR_DATE='@1112912007 +0000' + GIT_COMMITTER_DATE='@1112912007 +0000' + git commit -m $'d\342\207\2224' [d c2a1456] d⇒4 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 5 + filename=d.txt + text=5 + echo 5 + git add d.txt + modify conflict3.txt 'd version' + filename=conflict3.txt + text='d version' + echo 'd version' + git add conflict3.txt + commit -m $'d\342\207\2225' + TIME=1112912008 + GIT_AUTHOR_DATE='@1112912008 +0000' + GIT_COMMITTER_DATE='@1112912008 +0000' + git commit -m $'d\342\207\2225' [d c3e3890] d⇒5 2 files changed, 2 insertions(+), 2 deletions(-) + modify d.txt 6 + filename=d.txt + text=6 + echo 6 + git add d.txt + modify conflict4.txt 'd version' + filename=conflict4.txt + text='d version' + echo 'd version' + git add conflict4.txt + commit -m $'d\342\207\2226' + TIME=1112912009 + GIT_AUTHOR_DATE='@1112912009 +0000' + GIT_COMMITTER_DATE='@1112912009 +0000' + git commit -m $'d\342\207\2226' [d b2f5c5e] d⇒6 2 files changed, 2 insertions(+), 2 deletions(-) + modify d.txt 7 + filename=d.txt + text=7 + echo 7 + git add d.txt + modify conflict5.txt 'd version' + filename=conflict5.txt + text='d version' + echo 'd version' + git add conflict5.txt + commit -m $'d\342\207\2227' + TIME=1112912010 + GIT_AUTHOR_DATE='@1112912010 +0000' + GIT_COMMITTER_DATE='@1112912010 +0000' + git commit -m $'d\342\207\2227' [d 892af56] d⇒7 2 files changed, 2 insertions(+), 2 deletions(-) + modify d.txt 8 + filename=d.txt + text=8 + echo 8 + git add d.txt + modify conflict7.txt 'd version' + filename=conflict7.txt + text='d version' + echo 'd version' + git add conflict7.txt + commit -m $'d\342\207\2228' + TIME=1112912011 + GIT_AUTHOR_DATE='@1112912011 +0000' + GIT_COMMITTER_DATE='@1112912011 +0000' + git commit -m $'d\342\207\2228' [d 67099d0] d⇒8 2 files changed, 2 insertions(+), 2 deletions(-) + git checkout c Switched to branch 'c' + git-imerge init --name=c-d d + git-imerge diagram --commits --frontier 0 5 9 | | | 0 - ********** - c *????????? *????????? *????????? *????????? 5 - *????????? *????????? *????????? 8 - *????????? | d 0 5 9 | | | 0 - ********** - c *????????? *????????? *????????? *????????? 5 - *????????? *????????? *????????? 8 - *????????? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + conflict_count=0 + true + tee autofill.out + git-imerge continue --no-edit Attempting automerge of 9-8...failure. Attempting automerge of 1-1...failure. Switched to branch 'imerge/c-d' Auto-merging conflict0.txt CONFLICT (content): Merge conflict in conflict0.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit 4e6007a9261b8d70c6c9cb31fdf801cada885a79 Author: Loú User Date: Thu Apr 7 22:13:15 2005 +0000 c⇒1 Original second commit: commit 8c3c06526942b1b7ef891dac2d98b871c0269ebc Author: Loú User Date: Thu Apr 7 22:13:24 2005 +0000 d⇒1 There was a conflict merging commit 1-1, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + grep -q Traceback autofill.out + git-imerge diagram --frontier 0 5 9 | | | 0 - ********** - c *#???????? *????????? *????????? *????????? 5 - *????????? *????????? *????????? 8 - *????????? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + grep -q 'There was a conflict merging' autofill.out ++ seq 0 7 + for i in $(seq 0 7) + grep -q ==== conflict0.txt + modify conflict0.txt 'merged version' + filename=conflict0.txt + text='merged version' + echo 'merged version' + git add conflict0.txt + conflict_count=1 + for i in $(seq 0 7) + grep -q ==== conflict1.txt + for i in $(seq 0 7) + grep -q ==== conflict2.txt + for i in $(seq 0 7) + grep -q ==== conflict3.txt + for i in $(seq 0 7) + grep -q ==== conflict4.txt + for i in $(seq 0 7) + grep -q ==== conflict5.txt + for i in $(seq 0 7) + grep -q ==== conflict6.txt + for i in $(seq 0 7) + grep -q ==== conflict7.txt + true + git-imerge continue --no-edit + tee autofill.out [imerge/c-d 4ffa4d6] imerge 'c-d': manual merge 1-1 Merge has been recorded for merge 1-1. Attempting automerge of 1-8...failure. Attempting automerge of 1-2...success. Attempting automerge of 1-6...failure. Attempting automerge of 1-4...success. Attempting automerge of 1-5...success. Autofilling 1-2...success. Autofilling 1-3...success. Autofilling 1-4...success. Autofilling 1-5...success. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[0:2,1:6]. Attempting automerge of 1-8...failure. Attempting automerge of 1-6...failure. Attempting automerge of 9-5...failure. Attempting automerge of 2-1...success. Attempting automerge of 2-4...success. Attempting automerge of 2-5...success. Attempting automerge of 9-5...failure. Attempting automerge of 6-5...failure. Attempting automerge of 4-5...failure. Attempting automerge of 3-5...success. Attempting automerge of 4-1...success. Attempting automerge of 4-3...failure. Attempting automerge of 4-2...failure. Attempting automerge of 9-1...failure. Attempting automerge of 7-1...failure. Attempting automerge of 6-1...failure. Attempting automerge of 5-1...failure. Autofilling 2-5...success. Autofilling 3-1...success. Autofilling 3-2...success. Autofilling 3-3...success. Autofilling 3-4...success. Autofilling 3-5 (first way)...success. Autofilling 3-5 (second way)...success. The two ways of autofilling 3-5 agree. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[1:4,0:6]. Autofilling 4-1...success. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[3:5,0:2]. Attempting automerge of 4-5...failure. Attempting automerge of 4-2...failure. Attempting automerge of 9-1...failure. Attempting automerge of 5-1...failure. Previous HEAD position was c21441d c⇒5 Switched to branch 'imerge/c-d' Auto-merging conflict4.txt CONFLICT (content): Merge conflict in conflict4.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit 4e6007a9261b8d70c6c9cb31fdf801cada885a79 Author: Loú User Date: Thu Apr 7 22:13:15 2005 +0000 c⇒1 Original second commit: commit b2f5c5e78cd79a99aa1f8f4a9d8054b2d5a484ff Author: Loú User Date: Thu Apr 7 22:13:29 2005 +0000 d⇒6 There was a conflict merging commit 1-6, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + grep -q Traceback autofill.out + git-imerge diagram --frontier 0 5 9 | | | 0 - ********** - c **?.+#???? *.?|#????? *.?|?????? *.?|?????? 5 - *--+?????? *#???????? *????????? 8 - *????????? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + grep -q 'There was a conflict merging' autofill.out ++ seq 0 7 + for i in $(seq 0 7) + grep -q ==== conflict0.txt + for i in $(seq 0 7) + grep -q ==== conflict1.txt + for i in $(seq 0 7) + grep -q ==== conflict2.txt + for i in $(seq 0 7) + grep -q ==== conflict3.txt + for i in $(seq 0 7) + grep -q ==== conflict4.txt + modify conflict4.txt 'merged version' + filename=conflict4.txt + text='merged version' + echo 'merged version' + git add conflict4.txt + conflict_count=2 + for i in $(seq 0 7) + grep -q ==== conflict5.txt + for i in $(seq 0 7) + grep -q ==== conflict6.txt + for i in $(seq 0 7) + grep -q ==== conflict7.txt + true + tee autofill.out + git-imerge continue --no-edit [imerge/c-d edb9e2a] imerge 'c-d': manual merge 1-6 Merge has been recorded for merge 1-6. Attempting automerge of 1-8...success. Autofilling 1-7...success. Autofilling 1-8...success. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[0:2,6:9]. Attempting automerge of 3-8...success. Autofilling 2-8...success. Autofilling 3-6...success. Autofilling 3-7...success. Autofilling 3-8 (first way)...success. Autofilling 3-8 (second way)...success. The two ways of autofilling 3-8 agree. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[1:4,5:9]. Warning: you are leaving 1 commit behind, not connected to any of your branches: 7747c90 imerge 'c-d': automatic merge 3-8 If you want to keep it by creating a new branch, this may be a good time to do so with: git branch 7747c90 Switched to branch 'imerge/c-d' Auto-merging conflict1.txt CONFLICT (content): Merge conflict in conflict1.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit a89179336bb40a4ca90903425239a9ef3ce659bd Author: Loú User Date: Thu Apr 7 22:13:18 2005 +0000 c⇒4 Original second commit: commit 820b787e86e22612af7a061db842dc95e9f1d49f Author: Loú User Date: Thu Apr 7 22:13:25 2005 +0000 d⇒2 There was a conflict merging commit 4-2, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + grep -q Traceback autofill.out + git-imerge diagram --frontier 0 5 9 | | | 0 - ********** - c **?.+#???? *.?|#????? *.?|?????? *.?|?????? 5 - *..|?????? **?|?????? *.?|?????? 8 - *--+?????? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + grep -q 'There was a conflict merging' autofill.out ++ seq 0 7 + for i in $(seq 0 7) + grep -q ==== conflict0.txt + for i in $(seq 0 7) + grep -q ==== conflict1.txt + modify conflict1.txt 'merged version' + filename=conflict1.txt + text='merged version' + echo 'merged version' + git add conflict1.txt + conflict_count=3 + for i in $(seq 0 7) + grep -q ==== conflict2.txt + for i in $(seq 0 7) + grep -q ==== conflict3.txt + for i in $(seq 0 7) + grep -q ==== conflict4.txt + for i in $(seq 0 7) + grep -q ==== conflict5.txt + for i in $(seq 0 7) + grep -q ==== conflict6.txt + for i in $(seq 0 7) + grep -q ==== conflict7.txt + true + git-imerge continue --no-edit + tee autofill.out [imerge/c-d 7ece374] imerge 'c-d': manual merge 4-2 Merge has been recorded for merge 4-2. Attempting automerge of 4-8...success. Autofilling 4-3...success. Autofilling 4-4...success. Autofilling 4-5...success. Autofilling 4-6...success. Autofilling 4-7...success. Autofilling 4-8...success. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[3:5,2:9]. Previous HEAD position was 09c704c imerge 'c-d': automatic merge 4-8 Switched to branch 'imerge/c-d' Auto-merging conflict6.txt CONFLICT (content): Merge conflict in conflict6.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit c21441db0b1abc10e3caf5024d19976bd7f9b469 Author: Loú User Date: Thu Apr 7 22:13:19 2005 +0000 c⇒5 Original second commit: commit 8c3c06526942b1b7ef891dac2d98b871c0269ebc Author: Loú User Date: Thu Apr 7 22:13:24 2005 +0000 d⇒1 There was a conflict merging commit 5-1, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + grep -q Traceback autofill.out + git-imerge diagram --frontier 0 5 9 | | | 0 - ********** - c **?.|#???? *.?.*????? *.?.|????? *.?.|????? 5 - *...|????? **?.|????? *.?.|????? 8 - *---+????? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + grep -q 'There was a conflict merging' autofill.out ++ seq 0 7 + for i in $(seq 0 7) + grep -q ==== conflict0.txt + for i in $(seq 0 7) + grep -q ==== conflict1.txt + for i in $(seq 0 7) + grep -q ==== conflict2.txt + for i in $(seq 0 7) + grep -q ==== conflict3.txt + for i in $(seq 0 7) + grep -q ==== conflict4.txt + for i in $(seq 0 7) + grep -q ==== conflict5.txt + for i in $(seq 0 7) + grep -q ==== conflict6.txt + modify conflict6.txt 'merged version' + filename=conflict6.txt + text='merged version' + echo 'merged version' + git add conflict6.txt + conflict_count=4 + for i in $(seq 0 7) + grep -q ==== conflict7.txt + true + git-imerge continue --no-edit + tee autofill.out [imerge/c-d d8d0dee] imerge 'c-d': manual merge 5-1 Merge has been recorded for merge 5-1. Attempting automerge of 5-8...failure. Attempting automerge of 5-2...success. Attempting automerge of 5-6...failure. Attempting automerge of 5-4...success. Attempting automerge of 5-5...failure. Autofilling 5-2...success. Autofilling 5-3...success. Autofilling 5-4...success. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[4:6,1:5]. Attempting automerge of 5-8...failure. Attempting automerge of 5-5...failure. Attempting automerge of 9-4...failure. Attempting automerge of 6-1...success. Attempting automerge of 6-3...success. Attempting automerge of 6-4...success. Attempting automerge of 9-4...failure. Attempting automerge of 8-4...failure. Attempting automerge of 7-4...failure. Attempting automerge of 7-1...success. Attempting automerge of 7-3...failure. Attempting automerge of 7-2...failure. Attempting automerge of 9-1...success. Autofilling 6-1...success. Autofilling 6-2...success. Autofilling 6-3...success. Autofilling 6-4...success. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[5:7,0:5]. Autofilling 7-1...success. Autofilling 8-1...success. Autofilling 9-1...success. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[6:10,0:2]. Attempting automerge of 9-4...failure. Attempting automerge of 7-2...failure. Previous HEAD position was ffdf0b5 imerge 'c-d': automatic merge 7-1 Switched to branch 'imerge/c-d' Auto-merging conflict3.txt CONFLICT (content): Merge conflict in conflict3.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit c21441db0b1abc10e3caf5024d19976bd7f9b469 Author: Loú User Date: Thu Apr 7 22:13:19 2005 +0000 c⇒5 Original second commit: commit c3e3890b9e3c756c1d8f7e345184d576739be079 Author: Loú User Date: Thu Apr 7 22:13:28 2005 +0000 d⇒5 There was a conflict merging commit 5-5, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + grep -q Traceback autofill.out + git-imerge diagram --frontier 0 5 9 | | | 0 - ********** - c **?..*.--+ *.?.*.|#?? *.?...|??? *.?..-+??? 5 - *...|#???? **?.|????? *.?.|????? 8 - *---+????? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + grep -q 'There was a conflict merging' autofill.out ++ seq 0 7 + for i in $(seq 0 7) + grep -q ==== conflict0.txt + for i in $(seq 0 7) + grep -q ==== conflict1.txt + for i in $(seq 0 7) + grep -q ==== conflict2.txt + for i in $(seq 0 7) + grep -q ==== conflict3.txt + modify conflict3.txt 'merged version' + filename=conflict3.txt + text='merged version' + echo 'merged version' + git add conflict3.txt + conflict_count=5 + for i in $(seq 0 7) + grep -q ==== conflict4.txt + for i in $(seq 0 7) + grep -q ==== conflict5.txt + for i in $(seq 0 7) + grep -q ==== conflict6.txt + for i in $(seq 0 7) + grep -q ==== conflict7.txt + true + git-imerge continue --no-edit + tee autofill.out [imerge/c-d 18495b4] imerge 'c-d': manual merge 5-5 Merge has been recorded for merge 5-5. Attempting automerge of 5-8...success. Autofilling 5-6...success. Autofilling 5-7...success. Autofilling 5-8...success. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[4:6,5:9]. Attempting automerge of 6-8...failure. Attempting automerge of 6-5...success. Attempting automerge of 6-7...failure. Attempting automerge of 6-6...success. Autofilling 6-5...success. Autofilling 6-6...success. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[5:7,4:7]. Attempting automerge of 6-8...failure. Attempting automerge of 6-7...failure. Switched to branch 'imerge/c-d' Auto-merging conflict5.txt CONFLICT (content): Merge conflict in conflict5.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit a797a66a0e4b89690099557280641efeac302bcf Author: Loú User Date: Thu Apr 7 22:13:20 2005 +0000 c⇒6 Original second commit: commit 892af56ace54c97776e84dff9e6fba7312efe5d0 Author: Loú User Date: Thu Apr 7 22:13:30 2005 +0000 d⇒7 There was a conflict merging commit 6-7, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + grep -q Traceback autofill.out + git-imerge diagram --frontier 0 5 9 | | | 0 - ********** - c **?..*.--+ *.?.*.|#?? *.?...|??? *.?...|??? 5 - *....*|??? **?...+??? *.?..|#??? 8 - *----+???? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + grep -q 'There was a conflict merging' autofill.out ++ seq 0 7 + for i in $(seq 0 7) + grep -q ==== conflict0.txt + for i in $(seq 0 7) + grep -q ==== conflict1.txt + for i in $(seq 0 7) + grep -q ==== conflict2.txt + for i in $(seq 0 7) + grep -q ==== conflict3.txt + for i in $(seq 0 7) + grep -q ==== conflict4.txt + for i in $(seq 0 7) + grep -q ==== conflict5.txt + modify conflict5.txt 'merged version' + filename=conflict5.txt + text='merged version' + echo 'merged version' + git add conflict5.txt + conflict_count=6 + for i in $(seq 0 7) + grep -q ==== conflict6.txt + for i in $(seq 0 7) + grep -q ==== conflict7.txt + true + git-imerge continue --no-edit + tee autofill.out [imerge/c-d 8251ef2] imerge 'c-d': manual merge 6-7 Merge has been recorded for merge 6-7. Attempting automerge of 6-8...success. Autofilling 6-8...success. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[5:7,7:9]. Previous HEAD position was 57982be imerge 'c-d': automatic merge 6-8 Switched to branch 'imerge/c-d' Auto-merging conflict2.txt CONFLICT (content): Merge conflict in conflict2.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit c0e1537f1ecf33aa719926933c7db8cb93eb5315 Author: Loú User Date: Thu Apr 7 22:13:21 2005 +0000 c⇒7 Original second commit: commit 820b787e86e22612af7a061db842dc95e9f1d49f Author: Loú User Date: Thu Apr 7 22:13:25 2005 +0000 d⇒2 There was a conflict merging commit 7-2, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + grep -q Traceback autofill.out + git-imerge diagram --frontier 0 5 9 | | | 0 - ********** - c **?..*.--+ *.?.*.|#?? *.?...|??? *.?...|??? 5 - *....*|??? **?...|??? *.?...*??? 8 - *-----+??? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + grep -q 'There was a conflict merging' autofill.out ++ seq 0 7 + for i in $(seq 0 7) + grep -q ==== conflict0.txt + for i in $(seq 0 7) + grep -q ==== conflict1.txt + for i in $(seq 0 7) + grep -q ==== conflict2.txt + modify conflict2.txt 'merged version' + filename=conflict2.txt + text='merged version' + echo 'merged version' + git add conflict2.txt + conflict_count=7 + for i in $(seq 0 7) + grep -q ==== conflict3.txt + for i in $(seq 0 7) + grep -q ==== conflict4.txt + for i in $(seq 0 7) + grep -q ==== conflict5.txt + for i in $(seq 0 7) + grep -q ==== conflict6.txt + for i in $(seq 0 7) + grep -q ==== conflict7.txt + true + git-imerge continue --no-edit + tee autofill.out [imerge/c-d 6a37a14] imerge 'c-d': manual merge 7-2 Merge has been recorded for merge 7-2. Attempting automerge of 7-8...success. Autofilling 7-3...success. Autofilling 7-4...success. Autofilling 7-5...success. Autofilling 7-6...success. Autofilling 7-7...success. Autofilling 7-8...success. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[6:8,2:9]. Attempting automerge of 9-8...failure. Attempting automerge of 8-2...success. Attempting automerge of 8-6...success. Attempting automerge of 8-8...success. Attempting automerge of 9-8...failure. Attempting automerge of 9-2...success. Attempting automerge of 9-5...success. Attempting automerge of 9-7...success. Autofilling 8-2...success. Autofilling 8-3...success. Autofilling 8-4...success. Autofilling 8-5...success. Autofilling 8-6...success. Autofilling 8-7...success. Autofilling 8-8...success. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[7:9,1:9]. Autofilling 9-2...success. Autofilling 9-3...success. Autofilling 9-4...success. Autofilling 9-5...success. Autofilling 9-6...success. Autofilling 9-7...success. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[8:10,1:8]. Attempting automerge of 9-8...failure. Attempting automerge of 9-8...failure. Switched to branch 'imerge/c-d' Auto-merging conflict7.txt CONFLICT (content): Merge conflict in conflict7.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit ccbfccb3f61dac677c0a80382aaf6055a11a8a87 Author: Loú User Date: Thu Apr 7 22:13:23 2005 +0000 c⇒9 Original second commit: commit 67099d078100141fbe4063d46a6408200f4ff311 Author: Loú User Date: Thu Apr 7 22:13:31 2005 +0000 d⇒8 There was a conflict merging commit 9-8, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + grep -q Traceback autofill.out + git-imerge diagram --frontier 0 5 9 | | | 0 - ********** - c **?..*...| *.?.*..*.| *.?......| *.?......| 5 - *....*...| **?......| *.?...*..+ 8 - *-------+# | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + grep -q 'There was a conflict merging' autofill.out ++ seq 0 7 + for i in $(seq 0 7) + grep -q ==== conflict0.txt + for i in $(seq 0 7) + grep -q ==== conflict1.txt + for i in $(seq 0 7) + grep -q ==== conflict2.txt + for i in $(seq 0 7) + grep -q ==== conflict3.txt + for i in $(seq 0 7) + grep -q ==== conflict4.txt + for i in $(seq 0 7) + grep -q ==== conflict5.txt + for i in $(seq 0 7) + grep -q ==== conflict6.txt + for i in $(seq 0 7) + grep -q ==== conflict7.txt + modify conflict7.txt 'merged version' + filename=conflict7.txt + text='merged version' + echo 'merged version' + git add conflict7.txt + conflict_count=8 + true + tee autofill.out + git-imerge continue --no-edit [imerge/c-d a89d6a0] imerge 'c-d': manual merge 9-8 Merge has been recorded for merge 9-8. Merge is complete! + grep -q Traceback autofill.out + git-imerge diagram --frontier 0 5 9 | | | 0 - ********** - c **?..*...| *.?.*..*.| *.?......| *.?......| 5 - *....*...| **?......| *.?...*..| 8 - *--------* | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + grep -q 'There was a conflict merging' autofill.out + break + test 8 -ne 8 + git-imerge diagram --commits + cat + diff -u - diagram.out + EXPECTED_TREE=13e5a8955ab8f88dc7fec8278ee2622655c21d7f + GIT_EDITOR=cat + git-imerge simplify --goal=merge --branch=c-d-merge Merge d into c (using imerge) # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # Date: Sat Feb 22 12:09:18 2025 +0000 # # On branch c-d-merge # Changes to be committed: # modified: conflict0.txt # modified: conflict1.txt # modified: conflict2.txt # modified: conflict3.txt # modified: conflict4.txt # modified: conflict5.txt # modified: conflict6.txt # modified: conflict7.txt # modified: d.txt # [c-d-merge bc37450] Merge d into c (using imerge) Date: Sat Feb 22 12:09:18 2025 +0000 + check_tree c-d-merge 13e5a8955ab8f88dc7fec8278ee2622655c21d7f + local refname=c-d-merge + local expected_tree=13e5a8955ab8f88dc7fec8278ee2622655c21d7f ++ git rev-parse 'c-d-merge^{tree}' + test 13e5a8955ab8f88dc7fec8278ee2622655c21d7f = 13e5a8955ab8f88dc7fec8278ee2622655c21d7f + git-imerge simplify --goal=rebase --branch=c-d-rebase + check_tree c-d-rebase 13e5a8955ab8f88dc7fec8278ee2622655c21d7f + local refname=c-d-rebase + local expected_tree=13e5a8955ab8f88dc7fec8278ee2622655c21d7f ++ git rev-parse 'c-d-rebase^{tree}' + test 13e5a8955ab8f88dc7fec8278ee2622655c21d7f = 13e5a8955ab8f88dc7fec8278ee2622655c21d7f + git-imerge simplify --goal=rebase-with-history --branch=c-d-rebase-with-history + check_tree c-d-rebase-with-history 13e5a8955ab8f88dc7fec8278ee2622655c21d7f + local refname=c-d-rebase-with-history + local expected_tree=13e5a8955ab8f88dc7fec8278ee2622655c21d7f ++ git rev-parse 'c-d-rebase-with-history^{tree}' + test 13e5a8955ab8f88dc7fec8278ee2622655c21d7f = 13e5a8955ab8f88dc7fec8278ee2622655c21d7f + git-imerge simplify --goal=border --branch=c-d-border + check_tree c-d-border 13e5a8955ab8f88dc7fec8278ee2622655c21d7f + local refname=c-d-border + local expected_tree=13e5a8955ab8f88dc7fec8278ee2622655c21d7f ++ git rev-parse 'c-d-border^{tree}' + test 13e5a8955ab8f88dc7fec8278ee2622655c21d7f = 13e5a8955ab8f88dc7fec8278ee2622655c21d7f + git-imerge simplify --goal=border-with-history --branch=c-d-border-with-history + check_tree c-d-border-with-history 13e5a8955ab8f88dc7fec8278ee2622655c21d7f + local refname=c-d-border-with-history + local expected_tree=13e5a8955ab8f88dc7fec8278ee2622655c21d7f ++ git rev-parse 'c-d-border-with-history^{tree}' + test 13e5a8955ab8f88dc7fec8278ee2622655c21d7f = 13e5a8955ab8f88dc7fec8278ee2622655c21d7f + git-imerge simplify --goal=border-with-history2 --branch=c-d-border-with-history2 + check_tree c-d-border-with-history2 13e5a8955ab8f88dc7fec8278ee2622655c21d7f + local refname=c-d-border-with-history2 + local expected_tree=13e5a8955ab8f88dc7fec8278ee2622655c21d7f ++ git rev-parse 'c-d-border-with-history2^{tree}' + test 13e5a8955ab8f88dc7fec8278ee2622655c21d7f = 13e5a8955ab8f88dc7fec8278ee2622655c21d7f + git-imerge remove py313: commands[3] .pybuild/cpython3_3.13/build> /bin/sh t/test-duplicated ++++ dirname t/test-duplicated +++ cd t +++ pwd ++ dirname /build/reproducible-path/git-imerge-1.2.0/t + BASE=/build/reproducible-path/git-imerge-1.2.0 + . /build/reproducible-path/git-imerge-1.2.0/t/test-lib.sh + GIT_IMERGE=git-imerge + TMP=/build/reproducible-path/git-imerge-1.2.0/t/tmp/duplicated + DESCRIPTION='git-imerge test repository with duplicate commits' + init_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/duplicated 'git-imerge test repository with duplicate commits' + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/duplicated + local 'description=git-imerge test repository with duplicate commits' + delete_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/duplicated 'git-imerge test repository with duplicate commits' + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/duplicated + local 'description=git-imerge test repository with duplicate commits' + test -d /build/reproducible-path/git-imerge-1.2.0/t/tmp/duplicated + mkdir -p /build/reproducible-path/git-imerge-1.2.0/t/tmp/duplicated + git init /build/reproducible-path/git-imerge-1.2.0/t/tmp/duplicated hint: Using 'master' as the name for the initial branch. This default branch name hint: is subject to change. To configure the initial branch name to use in all hint: of your new repositories, which will suppress this warning, call: hint: hint: git config --global init.defaultBranch hint: hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and hint: 'development'. The just-created branch can be renamed via this command: hint: hint: git branch -m Initialized empty Git repository in /build/reproducible-path/git-imerge-1.2.0/t/tmp/duplicated/.git/ + echo 'git-imerge test repository with duplicate commits' + printf '%s\n' '/*.out' '/*.css' '/*.html' + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/duplicated/.git config user.name 'Loú User' + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/duplicated/.git config user.email luser@example.com + TIME=1112911993 + ln -s /build/reproducible-path/git-imerge-1.2.0/imerge.css /build/reproducible-path/git-imerge-1.2.0/t/tmp/duplicated + cd /build/reproducible-path/git-imerge-1.2.0/t/tmp/duplicated + modify a.txt 0 + filename=a.txt + text=0 + echo 0 + git add a.txt + commit -m $'m\342\207\2220' + TIME=1112911994 + GIT_AUTHOR_DATE='@1112911994 +0000' + GIT_COMMITTER_DATE='@1112911994 +0000' + git commit -m $'m\342\207\2220' [master (root-commit) a733afa] m⇒0 1 file changed, 1 insertion(+) create mode 100644 a.txt + git checkout -b a -- Switched to a new branch 'a' ++ seq 3 + for i in $(seq 3) + modify a.txt 1 + filename=a.txt + text=1 + echo 1 + git add a.txt + commit -m 'a⇒1 on branch a' + TIME=1112911995 + GIT_AUTHOR_DATE='@1112911995 +0000' + GIT_COMMITTER_DATE='@1112911995 +0000' + git commit -m 'a⇒1 on branch a' [a 2f1f75a] a⇒1 on branch a 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 3) + modify a.txt 2 + filename=a.txt + text=2 + echo 2 + git add a.txt + commit -m 'a⇒2 on branch a' + TIME=1112911996 + GIT_AUTHOR_DATE='@1112911996 +0000' + GIT_COMMITTER_DATE='@1112911996 +0000' + git commit -m 'a⇒2 on branch a' [a 4700669] a⇒2 on branch a 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 3) + modify a.txt 3 + filename=a.txt + text=3 + echo 3 + git add a.txt + commit -m 'a⇒3 on branch a' + TIME=1112911997 + GIT_AUTHOR_DATE='@1112911997 +0000' + GIT_COMMITTER_DATE='@1112911997 +0000' + git commit -m 'a⇒3 on branch a' [a 621c381] a⇒3 on branch a 1 file changed, 1 insertion(+), 1 deletion(-) + git checkout -b b master -- Switched to a new branch 'b' ++ seq 4 + for i in $(seq 4) + modify a.txt 1 + filename=a.txt + text=1 + echo 1 + git add a.txt + commit -m 'a⇒1 on branch b' + TIME=1112911998 + GIT_AUTHOR_DATE='@1112911998 +0000' + GIT_COMMITTER_DATE='@1112911998 +0000' + git commit -m 'a⇒1 on branch b' [b 62a5c56] a⇒1 on branch b 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 4) + modify a.txt 2 + filename=a.txt + text=2 + echo 2 + git add a.txt + commit -m 'a⇒2 on branch b' + TIME=1112911999 + GIT_AUTHOR_DATE='@1112911999 +0000' + GIT_COMMITTER_DATE='@1112911999 +0000' + git commit -m 'a⇒2 on branch b' [b f846281] a⇒2 on branch b 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 4) + modify a.txt 3 + filename=a.txt + text=3 + echo 3 + git add a.txt + commit -m 'a⇒3 on branch b' + TIME=1112912000 + GIT_AUTHOR_DATE='@1112912000 +0000' + GIT_COMMITTER_DATE='@1112912000 +0000' + git commit -m 'a⇒3 on branch b' [b a4b2c2b] a⇒3 on branch b 1 file changed, 1 insertion(+), 1 deletion(-) + for i in $(seq 4) + modify a.txt 4 + filename=a.txt + text=4 + echo 4 + git add a.txt + commit -m 'a⇒4 on branch b' + TIME=1112912001 + GIT_AUTHOR_DATE='@1112912001 +0000' + GIT_COMMITTER_DATE='@1112912001 +0000' + git commit -m 'a⇒4 on branch b' [b 5b24553] a⇒4 on branch b 1 file changed, 1 insertion(+), 1 deletion(-) + EXPECTED_TREE=9d521927e179e882efacd2a0ba94b89a1de00eb2 + git checkout a Switched to branch 'a' + git-imerge start --first-parent --name=a-b --branch=a-b-merge b Attempting automerge of 3-4...failure. Attempting automerge of 1-1...success. Attempting automerge of 1-3...failure. Attempting automerge of 1-2...failure. Attempting automerge of 3-1...failure. Attempting automerge of 2-1...failure. Autofilling 1-1...success. Recording autofilled block MergeState('a-b', tip1='a', tip2='b', goal='merge')[0:2,0:2]. Attempting automerge of 1-4...success. Autofilling 1-2...success. Autofilling 1-3...success. Autofilling 1-4...success. Recording autofilled block MergeState('a-b', tip1='a', tip2='b', goal='merge')[0:2,1:5]. Attempting automerge of 3-4...failure. Attempting automerge of 2-1...success. Attempting automerge of 2-3...failure. Attempting automerge of 2-2...success. Attempting automerge of 3-2...failure. Attempting automerge of 3-1...success. Autofilling 2-1...success. Autofilling 2-2...success. Recording autofilled block MergeState('a-b', tip1='a', tip2='b', goal='merge')[1:3,0:3]. Autofilling 3-1...success. Recording autofilled block MergeState('a-b', tip1='a', tip2='b', goal='merge')[2:4,0:2]. Attempting automerge of 2-4...success. Autofilling 2-3...success. Autofilling 2-4...success. Recording autofilled block MergeState('a-b', tip1='a', tip2='b', goal='merge')[1:3,2:5]. Attempting automerge of 3-4...failure. Attempting automerge of 3-2...success. Attempting automerge of 3-4...failure. Attempting automerge of 3-3...success. Autofilling 3-2...success. Autofilling 3-3...success. Recording autofilled block MergeState('a-b', tip1='a', tip2='b', goal='merge')[2:4,1:4]. Attempting automerge of 3-4...success. Autofilling 3-4...success. Recording autofilled block MergeState('a-b', tip1='a', tip2='b', goal='merge')[2:4,3:5]. Merge is complete! + git-imerge diagram --commits --frontier --html=imerge5.html 0 3 | | 0 - **** - a *... *... *... 4 - *... | b 0 3 | | 0 - **** - a *..| *..| *..| 4 - *--+ | b Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + GIT_EDITOR=cat + git-imerge simplify --goal=merge --branch=a-b-merge Merge b into a (using imerge) # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # Date: Sat Feb 22 12:09:22 2025 +0000 # # On branch a-b-merge # Changes to be committed: # modified: a.txt # [a-b-merge 0dcdff3] Merge b into a (using imerge) Date: Sat Feb 22 12:09:22 2025 +0000 + check_tree a-b-merge 9d521927e179e882efacd2a0ba94b89a1de00eb2 + local refname=a-b-merge + local expected_tree=9d521927e179e882efacd2a0ba94b89a1de00eb2 ++ git rev-parse 'a-b-merge^{tree}' + test 9d521927e179e882efacd2a0ba94b89a1de00eb2 = 9d521927e179e882efacd2a0ba94b89a1de00eb2 + git-imerge simplify --goal=rebase --branch=a-b-rebase + check_tree a-b-rebase 9d521927e179e882efacd2a0ba94b89a1de00eb2 + local refname=a-b-rebase + local expected_tree=9d521927e179e882efacd2a0ba94b89a1de00eb2 ++ git rev-parse 'a-b-rebase^{tree}' + test 9d521927e179e882efacd2a0ba94b89a1de00eb2 = 9d521927e179e882efacd2a0ba94b89a1de00eb2 + git-imerge simplify --goal=rebase-with-history --branch=a-b-rebase-with-history + check_tree a-b-rebase-with-history 9d521927e179e882efacd2a0ba94b89a1de00eb2 + local refname=a-b-rebase-with-history + local expected_tree=9d521927e179e882efacd2a0ba94b89a1de00eb2 ++ git rev-parse 'a-b-rebase-with-history^{tree}' + test 9d521927e179e882efacd2a0ba94b89a1de00eb2 = 9d521927e179e882efacd2a0ba94b89a1de00eb2 + git-imerge simplify --goal=border --branch=a-b-border + check_tree a-b-border 9d521927e179e882efacd2a0ba94b89a1de00eb2 + local refname=a-b-border + local expected_tree=9d521927e179e882efacd2a0ba94b89a1de00eb2 ++ git rev-parse 'a-b-border^{tree}' + test 9d521927e179e882efacd2a0ba94b89a1de00eb2 = 9d521927e179e882efacd2a0ba94b89a1de00eb2 + git-imerge simplify --goal=border-with-history --branch=a-b-border-with-history + check_tree a-b-border-with-history 9d521927e179e882efacd2a0ba94b89a1de00eb2 + local refname=a-b-border-with-history + local expected_tree=9d521927e179e882efacd2a0ba94b89a1de00eb2 ++ git rev-parse 'a-b-border-with-history^{tree}' + test 9d521927e179e882efacd2a0ba94b89a1de00eb2 = 9d521927e179e882efacd2a0ba94b89a1de00eb2 + git-imerge finish --goal=border-with-history2 --branch=a-b-border-with-history2 + check_tree a-b-border-with-history2 9d521927e179e882efacd2a0ba94b89a1de00eb2 + local refname=a-b-border-with-history2 + local expected_tree=9d521927e179e882efacd2a0ba94b89a1de00eb2 ++ git rev-parse 'a-b-border-with-history2^{tree}' + test 9d521927e179e882efacd2a0ba94b89a1de00eb2 = 9d521927e179e882efacd2a0ba94b89a1de00eb2 + git checkout a Switched to branch 'a' + git-imerge start --goal=full --name=a-b b Attempting to merge 1-1...success. Attempting to merge 1-2...success. Attempting to merge 1-3...success. Attempting to merge 1-4...success. Attempting to merge 2-1...success. Attempting to merge 2-2...success. Attempting to merge 2-3...success. Attempting to merge 2-4...success. Attempting to merge 3-1...success. Attempting to merge 3-2...success. Attempting to merge 3-3...success. Attempting to merge 3-4...success. Merge is complete! + git-imerge list * a-b + git-imerge diagram --commits --frontier --html=imerge6.html 0 3 | | 0 - **** - a *... *... *... 4 - *... | b 0 3 | | 0 - **** - a *..| *..| *..| 4 - *--+ | b Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + git-imerge finish --branch=a-b-full + check_tree a-b-full 9d521927e179e882efacd2a0ba94b89a1de00eb2 + local refname=a-b-full + local expected_tree=9d521927e179e882efacd2a0ba94b89a1de00eb2 ++ git rev-parse 'a-b-full^{tree}' + test 9d521927e179e882efacd2a0ba94b89a1de00eb2 = 9d521927e179e882efacd2a0ba94b89a1de00eb2 py313: commands[4] .pybuild/cpython3_3.13/build> /bin/sh t/test-flip-flop ++++ dirname t/test-flip-flop +++ cd t +++ pwd ++ dirname /build/reproducible-path/git-imerge-1.2.0/t + BASE=/build/reproducible-path/git-imerge-1.2.0 + . /build/reproducible-path/git-imerge-1.2.0/t/test-lib.sh + GIT_IMERGE=git-imerge + for n in 1 2 3 + flip_flop_test 1 + local n=1 + TMP=/build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-1 + DESCRIPTION='git-imerge test repository with a commit and its revert at n=1' + init_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-1 'git-imerge test repository with a commit and its revert at n=1' + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-1 + local 'description=git-imerge test repository with a commit and its revert at n=1' + delete_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-1 'git-imerge test repository with a commit and its revert at n=1' + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-1 + local 'description=git-imerge test repository with a commit and its revert at n=1' + test -d /build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-1 + mkdir -p /build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-1 + git init /build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-1 hint: Using 'master' as the name for the initial branch. This default branch name hint: is subject to change. To configure the initial branch name to use in all hint: of your new repositories, which will suppress this warning, call: hint: hint: git config --global init.defaultBranch hint: hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and hint: 'development'. The just-created branch can be renamed via this command: hint: hint: git branch -m Initialized empty Git repository in /build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-1/.git/ + echo 'git-imerge test repository with a commit and its revert at n=1' + printf '%s\n' '/*.out' '/*.css' '/*.html' + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-1/.git config user.name 'Loú User' + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-1/.git config user.email luser@example.com + TIME=1112911993 + ln -s /build/reproducible-path/git-imerge-1.2.0/imerge.css /build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-1 + cd /build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-1 + modify a.txt 0 + filename=a.txt + text=0 + echo 0 + git add a.txt + commit -m $'m\342\207\2220' + TIME=1112911994 + GIT_AUTHOR_DATE='@1112911994 +0000' + GIT_COMMITTER_DATE='@1112911994 +0000' + git commit -m $'m\342\207\2220' [master (root-commit) a733afa] m⇒0 1 file changed, 1 insertion(+) create mode 100644 a.txt + git checkout -b a -- Switched to a new branch 'a' + for i in 1 2 3 + modify a.txt 1 + filename=a.txt + text=1 + echo 1 + git add a.txt + commit -m 'a⇒1 on branch a' + TIME=1112911995 + GIT_AUTHOR_DATE='@1112911995 +0000' + GIT_COMMITTER_DATE='@1112911995 +0000' + git commit -m 'a⇒1 on branch a' [a 2f1f75a] a⇒1 on branch a 1 file changed, 1 insertion(+), 1 deletion(-) + for i in 1 2 3 + modify a.txt 2 + filename=a.txt + text=2 + echo 2 + git add a.txt + commit -m 'a⇒2 on branch a' + TIME=1112911996 + GIT_AUTHOR_DATE='@1112911996 +0000' + GIT_COMMITTER_DATE='@1112911996 +0000' + git commit -m 'a⇒2 on branch a' [a 4700669] a⇒2 on branch a 1 file changed, 1 insertion(+), 1 deletion(-) + for i in 1 2 3 + modify a.txt 3 + filename=a.txt + text=3 + echo 3 + git add a.txt + commit -m 'a⇒3 on branch a' + TIME=1112911997 + GIT_AUTHOR_DATE='@1112911997 +0000' + GIT_COMMITTER_DATE='@1112911997 +0000' + git commit -m 'a⇒3 on branch a' [a 621c381] a⇒3 on branch a 1 file changed, 1 insertion(+), 1 deletion(-) + git checkout -b b master -- Switched to a new branch 'b' + for i in 1 2 3 4 + modify b.txt 1 + filename=b.txt + text=1 + echo 1 + git add b.txt + msg=$'b\342\207\2221' + test 1 = 1 + modify a.txt X + filename=a.txt + text=X + echo X + git add a.txt + msg='b⇒1 and a⇒X' + test 1 = 2 + commit -m 'b⇒1 and a⇒X on branch b' + TIME=1112911998 + GIT_AUTHOR_DATE='@1112911998 +0000' + GIT_COMMITTER_DATE='@1112911998 +0000' + git commit -m 'b⇒1 and a⇒X on branch b' [b 044a3fa] b⇒1 and a⇒X on branch b 2 files changed, 2 insertions(+), 1 deletion(-) create mode 100644 b.txt + for i in 1 2 3 4 + modify b.txt 2 + filename=b.txt + text=2 + echo 2 + git add b.txt + msg=$'b\342\207\2222' + test 2 = 1 + test 2 = 2 + modify a.txt 0 + filename=a.txt + text=0 + echo 0 + git add a.txt + msg='b⇒2 and a⇒0' + commit -m 'b⇒2 and a⇒0 on branch b' + TIME=1112911999 + GIT_AUTHOR_DATE='@1112911999 +0000' + GIT_COMMITTER_DATE='@1112911999 +0000' + git commit -m 'b⇒2 and a⇒0 on branch b' [b 7851975] b⇒2 and a⇒0 on branch b 2 files changed, 2 insertions(+), 2 deletions(-) + for i in 1 2 3 4 + modify b.txt 3 + filename=b.txt + text=3 + echo 3 + git add b.txt + msg=$'b\342\207\2223' + test 3 = 1 + test 3 = 2 + commit -m 'b⇒3 on branch b' + TIME=1112912000 + GIT_AUTHOR_DATE='@1112912000 +0000' + GIT_COMMITTER_DATE='@1112912000 +0000' + git commit -m 'b⇒3 on branch b' [b 6fe24f0] b⇒3 on branch b 1 file changed, 1 insertion(+), 1 deletion(-) + for i in 1 2 3 4 + modify b.txt 4 + filename=b.txt + text=4 + echo 4 + git add b.txt + msg=$'b\342\207\2224' + test 4 = 1 + test 4 = 2 + commit -m 'b⇒4 on branch b' + TIME=1112912001 + GIT_AUTHOR_DATE='@1112912001 +0000' + GIT_COMMITTER_DATE='@1112912001 +0000' + git commit -m 'b⇒4 on branch b' [b 2dc5eb7] b⇒4 on branch b 1 file changed, 1 insertion(+), 1 deletion(-) + test_merge b-into-a-1 a b 1-1 1-2 + local name=b-into-a-1 + local dst=a + local src=b + local conflict1=1-1 + local conflict2=1-2 + git checkout a Switched to branch 'a' + git-imerge merge --branch=b-into-a-1 b + tee imerge-b-into-a-1-1.out Attempting automerge of 3-4...success. Autofilling 1-4...success. Autofilling 2-4...success. Autofilling 3-1...unexpected conflict. Backtracking... Autofilling 1-4...success. Autofilling 2-1...unexpected conflict. Backtracking... Autofilling 1-1...unexpected conflict. Backtracking... Switched to branch 'imerge/b' Auto-merging a.txt CONFLICT (content): Merge conflict in a.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit 2f1f75a7b49864d699f9e222c1d78078cfe01587 Author: Loú User Date: Thu Apr 7 22:13:15 2005 +0000 a⇒1 on branch a Original second commit: commit 044a3fac3fa19a3a6428eaeeb356b18764b9b1f2 Author: Loú User Date: Thu Apr 7 22:13:18 2005 +0000 b⇒1 and a⇒X on branch b There was a conflict merging commit 1-1, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + git-imerge diagram --commits --frontier 0 3 | | 0 - **** - a *#?? *??? *??? 4 - *??? | b 0 3 | | 0 - **** - a *#?? *??? *??? 4 - *??? | b Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + grep -q 'There was a conflict merging commit 1-1' imerge-b-into-a-1-1.out + echo 1 + git add a.txt + git-imerge continue --no-edit + tee imerge-b-into-a-1-2.out [imerge/b 6793e0c] imerge 'b': manual merge 1-1 Merge has been recorded for merge 1-1. Attempting automerge of 1-4...failure. Attempting automerge of 1-2...failure. Attempting automerge of 3-1...success. Autofilling 2-1...success. Autofilling 3-1...success. Recording autofilled block MergeState('b', tip1='a', tip2='b', goal='merge')[1:4,0:2]. Previous HEAD position was 83a35b2 imerge 'b': automatic merge 3-1 Switched to branch 'imerge/b' Auto-merging a.txt CONFLICT (content): Merge conflict in a.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit 2f1f75a7b49864d699f9e222c1d78078cfe01587 Author: Loú User Date: Thu Apr 7 22:13:15 2005 +0000 a⇒1 on branch a Original second commit: commit 7851975ee7d12ef0a256db7ebd029aab51f895ab Author: Loú User Date: Thu Apr 7 22:13:19 2005 +0000 b⇒2 and a⇒0 on branch b There was a conflict merging commit 1-2, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + git-imerge diagram --commits --frontier 0 3 | | 0 - **** - a **.. *#?? *??? 4 - *??? | b 0 3 | | 0 - **** - a **-+ *#?? *??? 4 - *??? | b Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + grep -q 'There was a conflict merging commit 1-2' imerge-b-into-a-1-2.out + echo 1 + git add a.txt + git-imerge continue --no-edit + tee imerge-b-into-a-1-3.out [imerge/b fe3dd4d] imerge 'b': manual merge 1-2 Merge has been recorded for merge 1-2. Attempting automerge of 1-4...success. Autofilling 1-3...success. Autofilling 1-4...success. Recording autofilled block MergeState('b', tip1='a', tip2='b', goal='merge')[0:2,2:5]. Attempting automerge of 3-4...success. Autofilling 2-4...success. Autofilling 3-2...success. Autofilling 3-3...success. Autofilling 3-4 (first way)...success. Autofilling 3-4 (second way)...success. The two ways of autofilling 3-4 agree. Recording autofilled block MergeState('b', tip1='a', tip2='b', goal='merge')[1:4,1:5]. Merge is complete! + grep -q 'Merge is complete' imerge-b-into-a-1-3.out + git-imerge diagram --commits --frontier 0 3 | | 0 - **** - a **.. **?. *.?. 4 - *... | b 0 3 | | 0 - **** - a **.| **?| *.?| 4 - *--+ | b Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + GIT_EDITOR=cat + git-imerge finish Merge b into a (using imerge) # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # Date: Sat Feb 22 12:09:26 2025 +0000 # # On branch b-into-a-1 # Changes to be committed: # new file: b.txt # [b-into-a-1 761dc22] Merge b into a (using imerge) Date: Sat Feb 22 12:09:26 2025 +0000 + test_merge a-into-b-1 b a 1-1 2-1 + local name=a-into-b-1 + local dst=b + local src=a + local conflict1=1-1 + local conflict2=2-1 + git checkout b Switched to branch 'b' + git-imerge merge --branch=a-into-b-1 a + tee imerge-a-into-b-1-1.out Attempting automerge of 4-3...success. Autofilling 1-3...unexpected conflict. Backtracking... Autofilling 1-2...unexpected conflict. Backtracking... Autofilling 1-1...unexpected conflict. Backtracking... Switched to branch 'imerge/a' Auto-merging a.txt CONFLICT (content): Merge conflict in a.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit 044a3fac3fa19a3a6428eaeeb356b18764b9b1f2 Author: Loú User Date: Thu Apr 7 22:13:18 2005 +0000 b⇒1 and a⇒X on branch b Original second commit: commit 2f1f75a7b49864d699f9e222c1d78078cfe01587 Author: Loú User Date: Thu Apr 7 22:13:15 2005 +0000 a⇒1 on branch a There was a conflict merging commit 1-1, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + git-imerge diagram --commits --frontier 0 4 | | 0 - ***** - b *#??? *???? 3 - *???? | a 0 4 | | 0 - ***** - b *#??? *???? 3 - *???? | a Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + grep -q 'There was a conflict merging commit 1-1' imerge-a-into-b-1-1.out + echo 1 + git add a.txt + git-imerge continue --no-edit + tee imerge-a-into-b-1-2.out [imerge/a d74633c] imerge 'a': manual merge 1-1 Merge has been recorded for merge 1-1. Attempting automerge of 1-3...success. Autofilling 1-2...success. Autofilling 1-3...success. Recording autofilled block MergeState('a', tip1='b', tip2='a', goal='merge')[0:2,1:4]. Attempting automerge of 4-3...failure. Attempting automerge of 2-1...failure. Switched to branch 'imerge/a' Auto-merging a.txt CONFLICT (content): Merge conflict in a.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit 7851975ee7d12ef0a256db7ebd029aab51f895ab Author: Loú User Date: Thu Apr 7 22:13:19 2005 +0000 b⇒2 and a⇒0 on branch b Original second commit: commit 2f1f75a7b49864d699f9e222c1d78078cfe01587 Author: Loú User Date: Thu Apr 7 22:13:15 2005 +0000 a⇒1 on branch a There was a conflict merging commit 2-1, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + git-imerge diagram --commits --frontier 0 4 | | 0 - ***** - b **#?? *.??? 3 - *.??? | a 0 4 | | 0 - ***** - b **#?? *|??? 3 - *+??? | a Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + grep -q 'There was a conflict merging commit 2-1' imerge-a-into-b-1-2.out + echo 1 + git add a.txt + git-imerge continue --no-edit + tee imerge-a-into-b-1-3.out [imerge/a fb1490b] imerge 'a': manual merge 2-1 Merge has been recorded for merge 2-1. Attempting automerge of 2-3...success. Autofilling 2-2...success. Autofilling 2-3...success. Recording autofilled block MergeState('a', tip1='b', tip2='a', goal='merge')[1:3,1:4]. Attempting automerge of 4-3...success. Autofilling 3-3...success. Autofilling 4-1...success. Autofilling 4-2...success. Autofilling 4-3 (first way)...success. Autofilling 4-3 (second way)...success. The two ways of autofilling 4-3 agree. Recording autofilled block MergeState('a', tip1='b', tip2='a', goal='merge')[2:5,0:4]. Merge is complete! + grep -q 'Merge is complete' imerge-a-into-b-1-3.out + git-imerge diagram --commits --frontier 0 4 | | 0 - ***** - b ***?. *..?. 3 - *.... | a 0 4 | | 0 - ***** - b ***?| *..?| 3 - *---+ | a Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + GIT_EDITOR=cat + git-imerge finish Merge a into b (using imerge) # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # Date: Sat Feb 22 12:09:27 2025 +0000 # # On branch a-into-b-1 # Changes to be committed: # modified: a.txt # [a-into-b-1 50b5457] Merge a into b (using imerge) Date: Sat Feb 22 12:09:27 2025 +0000 + for n in 1 2 3 + flip_flop_test 2 + local n=2 + TMP=/build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-2 + DESCRIPTION='git-imerge test repository with a commit and its revert at n=2' + init_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-2 'git-imerge test repository with a commit and its revert at n=2' + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-2 + local 'description=git-imerge test repository with a commit and its revert at n=2' + delete_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-2 'git-imerge test repository with a commit and its revert at n=2' + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-2 + local 'description=git-imerge test repository with a commit and its revert at n=2' + test -d /build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-2 + mkdir -p /build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-2 + git init /build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-2 hint: Using 'master' as the name for the initial branch. This default branch name hint: is subject to change. To configure the initial branch name to use in all hint: of your new repositories, which will suppress this warning, call: hint: hint: git config --global init.defaultBranch hint: hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and hint: 'development'. The just-created branch can be renamed via this command: hint: hint: git branch -m + echo 'git-imerge test repository with a commit and its revert at n=2' + printf '%s\n' '/*.out' '/*.css' '/*.html' + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-2/.git config user.name 'Loú User' Initialized empty Git repository in /build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-2/.git/ + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-2/.git config user.email luser@example.com + TIME=1112911993 + ln -s /build/reproducible-path/git-imerge-1.2.0/imerge.css /build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-2 + cd /build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-2 + modify a.txt 0 + filename=a.txt + text=0 + echo 0 + git add a.txt + commit -m $'m\342\207\2220' + TIME=1112911994 + GIT_AUTHOR_DATE='@1112911994 +0000' + GIT_COMMITTER_DATE='@1112911994 +0000' + git commit -m $'m\342\207\2220' [master (root-commit) a733afa] m⇒0 1 file changed, 1 insertion(+) create mode 100644 a.txt + git checkout -b a -- Switched to a new branch 'a' + for i in 1 2 3 + modify a.txt 1 + filename=a.txt + text=1 + echo 1 + git add a.txt + commit -m 'a⇒1 on branch a' + TIME=1112911995 + GIT_AUTHOR_DATE='@1112911995 +0000' + GIT_COMMITTER_DATE='@1112911995 +0000' + git commit -m 'a⇒1 on branch a' [a 2f1f75a] a⇒1 on branch a 1 file changed, 1 insertion(+), 1 deletion(-) + for i in 1 2 3 + modify a.txt 2 + filename=a.txt + text=2 + echo 2 + git add a.txt + commit -m 'a⇒2 on branch a' + TIME=1112911996 + GIT_AUTHOR_DATE='@1112911996 +0000' + GIT_COMMITTER_DATE='@1112911996 +0000' + git commit -m 'a⇒2 on branch a' [a 4700669] a⇒2 on branch a 1 file changed, 1 insertion(+), 1 deletion(-) + for i in 1 2 3 + modify a.txt 3 + filename=a.txt + text=3 + echo 3 + git add a.txt + commit -m 'a⇒3 on branch a' + TIME=1112911997 + GIT_AUTHOR_DATE='@1112911997 +0000' + GIT_COMMITTER_DATE='@1112911997 +0000' + git commit -m 'a⇒3 on branch a' [a 621c381] a⇒3 on branch a 1 file changed, 1 insertion(+), 1 deletion(-) + git checkout -b b master -- Switched to a new branch 'b' + for i in 1 2 3 4 + modify b.txt 1 + filename=b.txt + text=1 + echo 1 + git add b.txt + msg=$'b\342\207\2221' + test 1 = 2 + test 1 = 3 + commit -m 'b⇒1 on branch b' + TIME=1112911998 + GIT_AUTHOR_DATE='@1112911998 +0000' + GIT_COMMITTER_DATE='@1112911998 +0000' + git commit -m 'b⇒1 on branch b' [b 1f7d097] b⇒1 on branch b 1 file changed, 1 insertion(+) create mode 100644 b.txt + for i in 1 2 3 4 + modify b.txt 2 + filename=b.txt + text=2 + echo 2 + git add b.txt + msg=$'b\342\207\2222' + test 2 = 2 + modify a.txt X + filename=a.txt + text=X + echo X + git add a.txt + msg='b⇒2 and a⇒X' + test 2 = 3 + commit -m 'b⇒2 and a⇒X on branch b' + TIME=1112911999 + GIT_AUTHOR_DATE='@1112911999 +0000' + GIT_COMMITTER_DATE='@1112911999 +0000' + git commit -m 'b⇒2 and a⇒X on branch b' [b 48df77d] b⇒2 and a⇒X on branch b 2 files changed, 2 insertions(+), 2 deletions(-) + for i in 1 2 3 4 + modify b.txt 3 + filename=b.txt + text=3 + echo 3 + git add b.txt + msg=$'b\342\207\2223' + test 3 = 2 + test 3 = 3 + modify a.txt 0 + filename=a.txt + text=0 + echo 0 + git add a.txt + msg='b⇒3 and a⇒0' + commit -m 'b⇒3 and a⇒0 on branch b' + TIME=1112912000 + GIT_AUTHOR_DATE='@1112912000 +0000' + GIT_COMMITTER_DATE='@1112912000 +0000' + git commit -m 'b⇒3 and a⇒0 on branch b' [b f3ef019] b⇒3 and a⇒0 on branch b 2 files changed, 2 insertions(+), 2 deletions(-) + for i in 1 2 3 4 + modify b.txt 4 + filename=b.txt + text=4 + echo 4 + git add b.txt + msg=$'b\342\207\2224' + test 4 = 2 + test 4 = 3 + commit -m 'b⇒4 on branch b' + TIME=1112912001 + GIT_AUTHOR_DATE='@1112912001 +0000' + GIT_COMMITTER_DATE='@1112912001 +0000' + git commit -m 'b⇒4 on branch b' [b 69d0c21] b⇒4 on branch b 1 file changed, 1 insertion(+), 1 deletion(-) + test_merge b-into-a-2 a b 1-2 1-3 + local name=b-into-a-2 + local dst=a + local src=b + local conflict1=1-2 + local conflict2=1-3 + git checkout a Switched to branch 'a' + git-imerge merge --branch=b-into-a-2 b + tee imerge-b-into-a-2-1.out Attempting automerge of 3-4...success. Autofilling 1-4...success. Autofilling 2-4...success. Autofilling 3-1...success. Autofilling 3-2...unexpected conflict. Backtracking... Autofilling 1-4...success. Autofilling 2-1...success. Autofilling 2-2...unexpected conflict. Backtracking... Autofilling 1-1...success. Autofilling 1-2...unexpected conflict. Backtracking... Autofilling 1-1...success. Autofilling 2-1...success. Autofilling 3-1...success. Recording autofilled block MergeState('b', tip1='a', tip2='b', goal='merge')[0:4,0:2]. Attempting automerge of 3-4...success. Autofilling 1-4...success. Autofilling 2-4...success. Autofilling 3-2...unexpected conflict. Backtracking... Autofilling 1-4...success. Autofilling 2-2...unexpected conflict. Backtracking... Autofilling 1-2...unexpected conflict. Backtracking... Switched to branch 'imerge/b' Auto-merging a.txt CONFLICT (content): Merge conflict in a.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit 2f1f75a7b49864d699f9e222c1d78078cfe01587 Author: Loú User Date: Thu Apr 7 22:13:15 2005 +0000 a⇒1 on branch a Original second commit: commit 48df77d20a6d16fe330e32ba17d5472d3868a622 Author: Loú User Date: Thu Apr 7 22:13:19 2005 +0000 b⇒2 and a⇒X on branch b There was a conflict merging commit 1-2, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + git-imerge diagram --commits --frontier 0 3 | | 0 - **** - a *... *#?? *??? 4 - *??? | b 0 3 | | 0 - **** - a *--+ *#?? *??? 4 - *??? | b Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + grep -q 'There was a conflict merging commit 1-2' imerge-b-into-a-2-1.out + echo 1 + git add a.txt + git-imerge continue --no-edit + tee imerge-b-into-a-2-2.out [imerge/b 18beb7c] imerge 'b': manual merge 1-2 Merge has been recorded for merge 1-2. Attempting automerge of 1-4...failure. Attempting automerge of 1-3...failure. Attempting automerge of 3-2...success. Autofilling 2-2...success. Autofilling 3-2...success. Recording autofilled block MergeState('b', tip1='a', tip2='b', goal='merge')[1:4,1:3]. Previous HEAD position was c1abcd2 imerge 'b': automatic merge 3-2 Switched to branch 'imerge/b' Auto-merging a.txt CONFLICT (content): Merge conflict in a.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit 2f1f75a7b49864d699f9e222c1d78078cfe01587 Author: Loú User Date: Thu Apr 7 22:13:15 2005 +0000 a⇒1 on branch a Original second commit: commit f3ef01986be02ef5e40589b283c0385471ecca7d Author: Loú User Date: Thu Apr 7 22:13:20 2005 +0000 b⇒3 and a⇒0 on branch b There was a conflict merging commit 1-3, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + git-imerge diagram --commits --frontier 0 3 | | 0 - **** - a *... **.. *#?? 4 - *??? | b 0 3 | | 0 - **** - a *..| **-+ *#?? 4 - *??? | b Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + grep -q 'There was a conflict merging commit 1-3' imerge-b-into-a-2-2.out + echo 1 + git add a.txt + git-imerge continue --no-edit + tee imerge-b-into-a-2-3.out [imerge/b fc466f1] imerge 'b': manual merge 1-3 Merge has been recorded for merge 1-3. Attempting automerge of 1-4...success. Autofilling 1-4...success. Recording autofilled block MergeState('b', tip1='a', tip2='b', goal='merge')[0:2,3:5]. Attempting automerge of 3-4...success. Autofilling 2-4...success. Autofilling 3-3...success. Autofilling 3-4 (first way)...success. Autofilling 3-4 (second way)...success. The two ways of autofilling 3-4 agree. Recording autofilled block MergeState('b', tip1='a', tip2='b', goal='merge')[1:4,2:5]. Merge is complete! + grep -q 'Merge is complete' imerge-b-into-a-2-3.out + git-imerge diagram --commits --frontier 0 3 | | 0 - **** - a *... **.. **?. 4 - *... | b 0 3 | | 0 - **** - a *..| **.| **?| 4 - *--+ | b Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + GIT_EDITOR=cat + git-imerge finish Merge b into a (using imerge) # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # Date: Sat Feb 22 12:09:29 2025 +0000 # # On branch b-into-a-2 # Changes to be committed: # new file: b.txt # [b-into-a-2 02c94d6] Merge b into a (using imerge) Date: Sat Feb 22 12:09:29 2025 +0000 + test_merge a-into-b-2 b a 2-1 3-1 + local name=a-into-b-2 + local dst=b + local src=a + local conflict1=2-1 + local conflict2=3-1 + git checkout b Switched to branch 'b' + tee imerge-a-into-b-2-1.out + git-imerge merge --branch=a-into-b-2 a Attempting automerge of 4-3...success. Autofilling 1-3...success. Autofilling 2-3...unexpected conflict. Backtracking... Autofilling 1-1...success. Autofilling 1-2...success. Autofilling 1-3...success. Recording autofilled block MergeState('a', tip1='b', tip2='a', goal='merge')[0:2,0:4]. Autofilling 2-2...unexpected conflict. Backtracking... Autofilling 2-1...unexpected conflict. Backtracking... Switched to branch 'imerge/a' Auto-merging a.txt CONFLICT (content): Merge conflict in a.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit 48df77d20a6d16fe330e32ba17d5472d3868a622 Author: Loú User Date: Thu Apr 7 22:13:19 2005 +0000 b⇒2 and a⇒X on branch b Original second commit: commit 2f1f75a7b49864d699f9e222c1d78078cfe01587 Author: Loú User Date: Thu Apr 7 22:13:15 2005 +0000 a⇒1 on branch a There was a conflict merging commit 2-1, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + git-imerge diagram --commits --frontier 0 4 | | 0 - ***** - b *.#?? *.??? 3 - *.??? | a 0 4 | | 0 - ***** - b *|#?? *|??? 3 - *+??? | a Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + grep -q 'There was a conflict merging commit 2-1' imerge-a-into-b-2-1.out + echo 1 + git add a.txt + git-imerge continue --no-edit + tee imerge-a-into-b-2-2.out [imerge/a c3c9db9] imerge 'a': manual merge 2-1 Merge has been recorded for merge 2-1. Attempting automerge of 2-3...success. Autofilling 2-2...success. Autofilling 2-3...success. Recording autofilled block MergeState('a', tip1='b', tip2='a', goal='merge')[1:3,1:4]. Attempting automerge of 4-3...failure. Attempting automerge of 3-1...failure. Switched to branch 'imerge/a' Auto-merging a.txt CONFLICT (content): Merge conflict in a.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit f3ef01986be02ef5e40589b283c0385471ecca7d Author: Loú User Date: Thu Apr 7 22:13:20 2005 +0000 b⇒3 and a⇒0 on branch b Original second commit: commit 2f1f75a7b49864d699f9e222c1d78078cfe01587 Author: Loú User Date: Thu Apr 7 22:13:15 2005 +0000 a⇒1 on branch a There was a conflict merging commit 3-1, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + git-imerge diagram --commits --frontier 0 4 | | 0 - ***** - b *.*#? *..?? 3 - *..?? | a 0 4 | | 0 - ***** - b *.*#? *.|?? 3 - *-+?? | a Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + grep -q 'There was a conflict merging commit 3-1' imerge-a-into-b-2-2.out + echo 1 + git add a.txt + git-imerge continue --no-edit + tee imerge-a-into-b-2-3.out [imerge/a 41cdfc2] imerge 'a': manual merge 3-1 Merge has been recorded for merge 3-1. Attempting automerge of 3-3...success. Autofilling 3-2...success. Autofilling 3-3...success. Recording autofilled block MergeState('a', tip1='b', tip2='a', goal='merge')[2:4,1:4]. Attempting automerge of 4-3...success. Autofilling 4-1...success. Autofilling 4-2...success. Autofilling 4-3...success. Recording autofilled block MergeState('a', tip1='b', tip2='a', goal='merge')[3:5,0:4]. Merge is complete! + grep -q 'Merge is complete' imerge-a-into-b-2-3.out + git-imerge diagram --commits --frontier 0 4 | | 0 - ***** - b *.**. *.... 3 - *.... | a 0 4 | | 0 - ***** - b *.**| *...| 3 - *---+ | a Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + GIT_EDITOR=cat + git-imerge finish Merge a into b (using imerge) # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # Date: Sat Feb 22 12:09:31 2025 +0000 # # On branch a-into-b-2 # Changes to be committed: # modified: a.txt # [a-into-b-2 3579fcc] Merge a into b (using imerge) Date: Sat Feb 22 12:09:31 2025 +0000 + for n in 1 2 3 + flip_flop_test 3 + local n=3 + TMP=/build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-3 + DESCRIPTION='git-imerge test repository with a commit and its revert at n=3' + init_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-3 'git-imerge test repository with a commit and its revert at n=3' + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-3 + local 'description=git-imerge test repository with a commit and its revert at n=3' + delete_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-3 'git-imerge test repository with a commit and its revert at n=3' + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-3 + local 'description=git-imerge test repository with a commit and its revert at n=3' + test -d /build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-3 + mkdir -p /build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-3 + git init /build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-3 hint: Using 'master' as the name for the initial branch. This default branch name hint: is subject to change. To configure the initial branch name to use in all hint: of your new repositories, which will suppress this warning, call: hint: hint: git config --global init.defaultBranch hint: hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and hint: 'development'. The just-created branch can be renamed via this command: hint: hint: git branch -m Initialized empty Git repository in /build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-3/.git/ + echo 'git-imerge test repository with a commit and its revert at n=3' + printf '%s\n' '/*.out' '/*.css' '/*.html' + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-3/.git config user.name 'Loú User' + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-3/.git config user.email luser@example.com + TIME=1112911993 + ln -s /build/reproducible-path/git-imerge-1.2.0/imerge.css /build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-3 + cd /build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-3 + modify a.txt 0 + filename=a.txt + text=0 + echo 0 + git add a.txt + commit -m $'m\342\207\2220' + TIME=1112911994 + GIT_AUTHOR_DATE='@1112911994 +0000' + GIT_COMMITTER_DATE='@1112911994 +0000' + git commit -m $'m\342\207\2220' [master (root-commit) a733afa] m⇒0 1 file changed, 1 insertion(+) create mode 100644 a.txt + git checkout -b a -- Switched to a new branch 'a' + for i in 1 2 3 + modify a.txt 1 + filename=a.txt + text=1 + echo 1 + git add a.txt + commit -m 'a⇒1 on branch a' + TIME=1112911995 + GIT_AUTHOR_DATE='@1112911995 +0000' + GIT_COMMITTER_DATE='@1112911995 +0000' + git commit -m 'a⇒1 on branch a' [a 2f1f75a] a⇒1 on branch a 1 file changed, 1 insertion(+), 1 deletion(-) + for i in 1 2 3 + modify a.txt 2 + filename=a.txt + text=2 + echo 2 + git add a.txt + commit -m 'a⇒2 on branch a' + TIME=1112911996 + GIT_AUTHOR_DATE='@1112911996 +0000' + GIT_COMMITTER_DATE='@1112911996 +0000' + git commit -m 'a⇒2 on branch a' [a 4700669] a⇒2 on branch a 1 file changed, 1 insertion(+), 1 deletion(-) + for i in 1 2 3 + modify a.txt 3 + filename=a.txt + text=3 + echo 3 + git add a.txt + commit -m 'a⇒3 on branch a' + TIME=1112911997 + GIT_AUTHOR_DATE='@1112911997 +0000' + GIT_COMMITTER_DATE='@1112911997 +0000' + git commit -m 'a⇒3 on branch a' [a 621c381] a⇒3 on branch a 1 file changed, 1 insertion(+), 1 deletion(-) + git checkout -b b master -- Switched to a new branch 'b' + for i in 1 2 3 4 + modify b.txt 1 + filename=b.txt + text=1 + echo 1 + git add b.txt + msg=$'b\342\207\2221' + test 1 = 3 + test 1 = 4 + commit -m 'b⇒1 on branch b' + TIME=1112911998 + GIT_AUTHOR_DATE='@1112911998 +0000' + GIT_COMMITTER_DATE='@1112911998 +0000' + git commit -m 'b⇒1 on branch b' [b 1f7d097] b⇒1 on branch b 1 file changed, 1 insertion(+) create mode 100644 b.txt + for i in 1 2 3 4 + modify b.txt 2 + filename=b.txt + text=2 + echo 2 + git add b.txt + msg=$'b\342\207\2222' + test 2 = 3 + test 2 = 4 + commit -m 'b⇒2 on branch b' + TIME=1112911999 + GIT_AUTHOR_DATE='@1112911999 +0000' + GIT_COMMITTER_DATE='@1112911999 +0000' + git commit -m 'b⇒2 on branch b' [b ce671e9] b⇒2 on branch b 1 file changed, 1 insertion(+), 1 deletion(-) + for i in 1 2 3 4 + modify b.txt 3 + filename=b.txt + text=3 + echo 3 + git add b.txt + msg=$'b\342\207\2223' + test 3 = 3 + modify a.txt X + filename=a.txt + text=X + echo X + git add a.txt + msg='b⇒3 and a⇒X' + test 3 = 4 + commit -m 'b⇒3 and a⇒X on branch b' + TIME=1112912000 + GIT_AUTHOR_DATE='@1112912000 +0000' + GIT_COMMITTER_DATE='@1112912000 +0000' + git commit -m 'b⇒3 and a⇒X on branch b' [b d40495e] b⇒3 and a⇒X on branch b 2 files changed, 2 insertions(+), 2 deletions(-) + for i in 1 2 3 4 + modify b.txt 4 + filename=b.txt + text=4 + echo 4 + git add b.txt + msg=$'b\342\207\2224' + test 4 = 3 + test 4 = 4 + modify a.txt 0 + filename=a.txt + text=0 + echo 0 + git add a.txt + msg='b⇒4 and a⇒0' + commit -m 'b⇒4 and a⇒0 on branch b' + TIME=1112912001 + GIT_AUTHOR_DATE='@1112912001 +0000' + GIT_COMMITTER_DATE='@1112912001 +0000' + git commit -m 'b⇒4 and a⇒0 on branch b' [b eb736f2] b⇒4 and a⇒0 on branch b 2 files changed, 2 insertions(+), 2 deletions(-) + test_merge b-into-a-3 a b 1-3 1-4 + local name=b-into-a-3 + local dst=a + local src=b + local conflict1=1-3 + local conflict2=1-4 + git checkout a Switched to branch 'a' + git-imerge merge --branch=b-into-a-3 b + tee imerge-b-into-a-3-1.out Attempting automerge of 3-4...success. Autofilling 1-4...success. Autofilling 2-4...success. Autofilling 3-1...success. Autofilling 3-2...success. Autofilling 3-3...unexpected conflict. Backtracking... Autofilling 1-4...success. Autofilling 2-1...success. Autofilling 2-2...success. Autofilling 2-3...unexpected conflict. Backtracking... Autofilling 1-1...success. Autofilling 1-2...success. Autofilling 1-3...unexpected conflict. Backtracking... Autofilling 1-2...success. Autofilling 2-2...success. Autofilling 3-1...success. Autofilling 3-2 (first way)...success. Autofilling 3-2 (second way)...success. The two ways of autofilling 3-2 agree. Recording autofilled block MergeState('b', tip1='a', tip2='b', goal='merge')[0:4,0:3]. Attempting automerge of 3-4...success. Autofilling 1-4...success. Autofilling 2-4...success. Autofilling 3-3...unexpected conflict. Backtracking... Autofilling 1-4...success. Autofilling 2-3...unexpected conflict. Backtracking... Autofilling 1-3...unexpected conflict. Backtracking... Switched to branch 'imerge/b' Auto-merging a.txt CONFLICT (content): Merge conflict in a.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit 2f1f75a7b49864d699f9e222c1d78078cfe01587 Author: Loú User Date: Thu Apr 7 22:13:15 2005 +0000 a⇒1 on branch a Original second commit: commit d40495ed379f376841e517047f90b663e8c7c7e1 Author: Loú User Date: Thu Apr 7 22:13:20 2005 +0000 b⇒3 and a⇒X on branch b There was a conflict merging commit 1-3, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + git-imerge diagram --commits --frontier 0 3 | | 0 - **** - a *??. *... *#?? 4 - *??? | b 0 3 | | 0 - **** - a *??| *--+ *#?? 4 - *??? | b Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + grep -q 'There was a conflict merging commit 1-3' imerge-b-into-a-3-1.out + echo 1 + git add a.txt + git-imerge continue --no-edit + tee imerge-b-into-a-3-2.out [imerge/b b8ea45d] imerge 'b': manual merge 1-3 Merge has been recorded for merge 1-3. Attempting automerge of 1-4...failure. Attempting automerge of 1-4...failure. Attempting automerge of 3-3...success. Autofilling 2-3...success. Autofilling 3-3...success. Recording autofilled block MergeState('b', tip1='a', tip2='b', goal='merge')[1:4,2:4]. Previous HEAD position was 4e62e08 imerge 'b': automatic merge 3-3 Switched to branch 'imerge/b' Auto-merging a.txt CONFLICT (content): Merge conflict in a.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit 2f1f75a7b49864d699f9e222c1d78078cfe01587 Author: Loú User Date: Thu Apr 7 22:13:15 2005 +0000 a⇒1 on branch a Original second commit: commit eb736f2ae81944f79f443fd39a89adf74dbc907a Author: Loú User Date: Thu Apr 7 22:13:21 2005 +0000 b⇒4 and a⇒0 on branch b There was a conflict merging commit 1-4, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + git-imerge diagram --commits --frontier 0 3 | | 0 - **** - a *??. *... **.. 4 - *#?? | b 0 3 | | 0 - **** - a *??| *..| **-+ 4 - *#?? | b Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + grep -q 'There was a conflict merging commit 1-4' imerge-b-into-a-3-2.out + echo 1 + git add a.txt + git-imerge continue --no-edit + tee imerge-b-into-a-3-3.out [imerge/b b33f691] imerge 'b': manual merge 1-4 Merge has been recorded for merge 1-4. Attempting automerge of 3-4...success. Autofilling 2-4...success. Autofilling 3-4...success. Recording autofilled block MergeState('b', tip1='a', tip2='b', goal='merge')[1:4,3:5]. Merge is complete! + grep -q 'Merge is complete' imerge-b-into-a-3-3.out + git-imerge diagram --commits --frontier 0 3 | | 0 - **** - a *??. *... **.. 4 - **.. | b 0 3 | | 0 - **** - a *??| *..| **.| 4 - **-+ | b Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + GIT_EDITOR=cat + git-imerge finish Merge b into a (using imerge) # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # Date: Sat Feb 22 12:09:33 2025 +0000 # # On branch b-into-a-3 # Changes to be committed: # new file: b.txt # [b-into-a-3 ab8b48d] Merge b into a (using imerge) Date: Sat Feb 22 12:09:33 2025 +0000 + test_merge a-into-b-3 b a 3-1 4-1 + local name=a-into-b-3 + local dst=b + local src=a + local conflict1=3-1 + local conflict2=4-1 + git checkout b Switched to branch 'b' + git-imerge merge --branch=a-into-b-3 a + tee imerge-a-into-b-3-1.out Attempting automerge of 4-3...success. Autofilling 1-3...success. Autofilling 2-3...success. Autofilling 3-3...unexpected conflict. Backtracking... Autofilling 1-3...success. Autofilling 2-1...success. Autofilling 2-2...success. Autofilling 2-3 (first way)...success. Autofilling 2-3 (second way)...success. The two ways of autofilling 2-3 agree. Recording autofilled block MergeState('a', tip1='b', tip2='a', goal='merge')[0:3,0:4]. Autofilling 3-2...unexpected conflict. Backtracking... Autofilling 3-1...unexpected conflict. Backtracking... Switched to branch 'imerge/a' Auto-merging a.txt CONFLICT (content): Merge conflict in a.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit d40495ed379f376841e517047f90b663e8c7c7e1 Author: Loú User Date: Thu Apr 7 22:13:20 2005 +0000 b⇒3 and a⇒X on branch b Original second commit: commit 2f1f75a7b49864d699f9e222c1d78078cfe01587 Author: Loú User Date: Thu Apr 7 22:13:15 2005 +0000 a⇒1 on branch a There was a conflict merging commit 3-1, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + git-imerge diagram --commits --frontier 0 4 | | 0 - ***** - b *?.#? *?.?? 3 - *..?? | a 0 4 | | 0 - ***** - b *?|#? *?|?? 3 - *-+?? | a Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + grep -q 'There was a conflict merging commit 3-1' imerge-a-into-b-3-1.out + echo 1 + git add a.txt + git-imerge continue --no-edit + tee imerge-a-into-b-3-2.out [imerge/a ecdbab6] imerge 'a': manual merge 3-1 Merge has been recorded for merge 3-1. Attempting automerge of 3-3...success. Autofilling 3-2...success. Autofilling 3-3...success. Recording autofilled block MergeState('a', tip1='b', tip2='a', goal='merge')[2:4,1:4]. Attempting automerge of 4-3...failure. Attempting automerge of 4-1...failure. Switched to branch 'imerge/a' Auto-merging a.txt CONFLICT (content): Merge conflict in a.txt Automatic merge failed; fix conflicts and then commit the result. Original first commit: commit eb736f2ae81944f79f443fd39a89adf74dbc907a Author: Loú User Date: Thu Apr 7 22:13:21 2005 +0000 b⇒4 and a⇒0 on branch b Original second commit: commit 2f1f75a7b49864d699f9e222c1d78078cfe01587 Author: Loú User Date: Thu Apr 7 22:13:15 2005 +0000 a⇒1 on branch a There was a conflict merging commit 4-1, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + git-imerge diagram --commits --frontier 0 4 | | 0 - ***** - b *?.*# *?..? 3 - *...? | a 0 4 | | 0 - ***** - b *?.*# *?.|? 3 - *--+? | a Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + grep -q 'There was a conflict merging commit 4-1' imerge-a-into-b-3-2.out + echo 1 + git add a.txt + git-imerge continue --no-edit + tee imerge-a-into-b-3-3.out [imerge/a b743dcc] imerge 'a': manual merge 4-1 Merge has been recorded for merge 4-1. Attempting automerge of 4-3...success. Autofilling 4-2...success. Autofilling 4-3...success. Recording autofilled block MergeState('a', tip1='b', tip2='a', goal='merge')[3:5,1:4]. Merge is complete! + grep -q 'Merge is complete' imerge-a-into-b-3-3.out + git-imerge diagram --commits --frontier 0 4 | | 0 - ***** - b *?.** *?... 3 - *.... | a 0 4 | | 0 - ***** - b *?.** *?..| 3 - *---+ | a Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + GIT_EDITOR=cat + git-imerge finish Merge a into b (using imerge) # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # Date: Sat Feb 22 12:09:35 2025 +0000 # # On branch a-into-b-3 # Changes to be committed: # modified: a.txt # [a-into-b-3 183de6d] Merge a into b (using imerge) Date: Sat Feb 22 12:09:35 2025 +0000 py313: commands[5] .pybuild/cpython3_3.13/build> /bin/sh t/test-drop ++++ dirname t/test-drop +++ cd t +++ pwd ++ dirname /build/reproducible-path/git-imerge-1.2.0/t + BASE=/build/reproducible-path/git-imerge-1.2.0 + . /build/reproducible-path/git-imerge-1.2.0/t/test-lib.sh + GIT_IMERGE=git-imerge + TMP=/build/reproducible-path/git-imerge-1.2.0/t/tmp/drop + DESCRIPTION='git-imerge drop test repository' + init_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/drop 'git-imerge drop test repository' + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/drop + local 'description=git-imerge drop test repository' + delete_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/drop 'git-imerge drop test repository' + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/drop + local 'description=git-imerge drop test repository' + test -d /build/reproducible-path/git-imerge-1.2.0/t/tmp/drop + mkdir -p /build/reproducible-path/git-imerge-1.2.0/t/tmp/drop + git init /build/reproducible-path/git-imerge-1.2.0/t/tmp/drop hint: Using 'master' as the name for the initial branch. This default branch name hint: is subject to change. To configure the initial branch name to use in all hint: of your new repositories, which will suppress this warning, call: hint: hint: git config --global init.defaultBranch hint: hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and hint: 'development'. The just-created branch can be renamed via this command: hint: hint: git branch -m Initialized empty Git repository in /build/reproducible-path/git-imerge-1.2.0/t/tmp/drop/.git/ + echo 'git-imerge drop test repository' + printf '%s\n' '/*.out' '/*.css' '/*.html' + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/drop/.git config user.name 'Loú User' + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/drop/.git config user.email luser@example.com + TIME=1112911993 + ln -s /build/reproducible-path/git-imerge-1.2.0/imerge.css /build/reproducible-path/git-imerge-1.2.0/t/tmp/drop + cd /build/reproducible-path/git-imerge-1.2.0/t/tmp/drop + modify a.txt 0 + filename=a.txt + text=0 + echo 0 + git add a.txt + commit -m $'m\342\207\2220' + TIME=1112911994 + GIT_AUTHOR_DATE='@1112911994 +0000' + GIT_COMMITTER_DATE='@1112911994 +0000' + git commit -m $'m\342\207\2220' [master (root-commit) a733afa] m⇒0 1 file changed, 1 insertion(+) create mode 100644 a.txt ++ seq 6 + for i in $(seq 6) + modify a1.txt 1 + filename=a1.txt + text=1 + echo 1 + git add a1.txt + commit -m $'a1\342\207\2221' + TIME=1112911995 + GIT_AUTHOR_DATE='@1112911995 +0000' + GIT_COMMITTER_DATE='@1112911995 +0000' + git commit -m $'a1\342\207\2221' [master 389a4ba] a1⇒1 1 file changed, 1 insertion(+) create mode 100644 a1.txt + for i in $(seq 6) + modify a2.txt 2 + filename=a2.txt + text=2 + echo 2 + git add a2.txt + commit -m $'a2\342\207\2222' + TIME=1112911996 + GIT_AUTHOR_DATE='@1112911996 +0000' + GIT_COMMITTER_DATE='@1112911996 +0000' + git commit -m $'a2\342\207\2222' [master 4785218] a2⇒2 1 file changed, 1 insertion(+) create mode 100644 a2.txt + for i in $(seq 6) + modify a3.txt 3 + filename=a3.txt + text=3 + echo 3 + git add a3.txt + commit -m $'a3\342\207\2223' + TIME=1112911997 + GIT_AUTHOR_DATE='@1112911997 +0000' + GIT_COMMITTER_DATE='@1112911997 +0000' + git commit -m $'a3\342\207\2223' [master 34bdde3] a3⇒3 1 file changed, 1 insertion(+) create mode 100644 a3.txt + for i in $(seq 6) + modify a4.txt 4 + filename=a4.txt + text=4 + echo 4 + git add a4.txt + commit -m $'a4\342\207\2224' + TIME=1112911998 + GIT_AUTHOR_DATE='@1112911998 +0000' + GIT_COMMITTER_DATE='@1112911998 +0000' + git commit -m $'a4\342\207\2224' [master c793a5a] a4⇒4 1 file changed, 1 insertion(+) create mode 100644 a4.txt + for i in $(seq 6) + modify a5.txt 5 + filename=a5.txt + text=5 + echo 5 + git add a5.txt + commit -m $'a5\342\207\2225' + TIME=1112911999 + GIT_AUTHOR_DATE='@1112911999 +0000' + GIT_COMMITTER_DATE='@1112911999 +0000' + git commit -m $'a5\342\207\2225' [master b42f60c] a5⇒5 1 file changed, 1 insertion(+) create mode 100644 a5.txt + for i in $(seq 6) + modify a6.txt 6 + filename=a6.txt + text=6 + echo 6 + git add a6.txt + commit -m $'a6\342\207\2226' + TIME=1112912000 + GIT_AUTHOR_DATE='@1112912000 +0000' + GIT_COMMITTER_DATE='@1112912000 +0000' + git commit -m $'a6\342\207\2226' [master 9d6aec5] a6⇒6 1 file changed, 1 insertion(+) create mode 100644 a6.txt + git checkout -b dropped master Switched to a new branch 'dropped' + git-imerge drop HEAD~5..HEAD~3 Note: switching to '34bdde3a6a5b6b9c8bcac5aa36109195e2a3dc7a^0'. You are in 'detached HEAD' state. You can look around, make experimental changes and commit them, and you can discard any commits you make in this state without impacting any branches by switching back to a branch. If you want to create a new branch to retain commits you create, you may do so (now or later) by using -c with the switch command. Example: git switch -c Or undo this operation with: git switch - Turn off this advice by setting config variable advice.detachedHead to false HEAD is now at 34bdde3 a3⇒3 [detached HEAD 2926fbb] Revert "a3⇒3" Date: Sat Feb 22 12:09:35 2025 +0000 1 file changed, 1 deletion(-) delete mode 100644 a3.txt [detached HEAD 587ce76] Revert "a2⇒2" Date: Sat Feb 22 12:09:35 2025 +0000 1 file changed, 1 deletion(-) delete mode 100644 a2.txt Attempting automerge of 3-2...success. Autofilling 1-2...success. Autofilling 2-2...success. Autofilling 3-1...success. Autofilling 3-2 (first way)...success. Autofilling 3-2 (second way)...success. The two ways of autofilling 3-2 agree. Recording autofilled block MergeState('dropped', tip1='dropped', tip2='587ce76ddfad68448016a614e10ad4e92b385dff', goal='drop')[0:4,0:3]. Merge is complete! + git-imerge diagram --commits --frontier --html=imerge-drop.html 0 3 | | 0 - **** - dropped *??. 2 - *... | 587ce76ddfad68448016a614e10ad4e92b385dff 0 3 | | 0 - **** - dropped *??| 2 - *--+ | 587ce76ddfad68448016a614e10ad4e92b385dff Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + git-imerge finish + check_tree dropped 3b92d9e80adb5b542a651863e6853ff5de9e496b + local refname=dropped + local expected_tree=3b92d9e80adb5b542a651863e6853ff5de9e496b ++ git rev-parse 'dropped^{tree}' + test 3b92d9e80adb5b542a651863e6853ff5de9e496b = 3b92d9e80adb5b542a651863e6853ff5de9e496b + git checkout -b reverted master Switched to a new branch 'reverted' + git-imerge revert HEAD~5..HEAD~3 Note: switching to '34bdde3a6a5b6b9c8bcac5aa36109195e2a3dc7a^0'. You are in 'detached HEAD' state. You can look around, make experimental changes and commit them, and you can discard any commits you make in this state without impacting any branches by switching back to a branch. If you want to create a new branch to retain commits you create, you may do so (now or later) by using -c with the switch command. Example: git switch -c Or undo this operation with: git switch - Turn off this advice by setting config variable advice.detachedHead to false HEAD is now at 34bdde3 a3⇒3 [detached HEAD 2371741] Revert "a3⇒3" Date: Sat Feb 22 12:09:36 2025 +0000 1 file changed, 1 deletion(-) delete mode 100644 a3.txt [detached HEAD aec5523] Revert "a2⇒2" Date: Sat Feb 22 12:09:36 2025 +0000 1 file changed, 1 deletion(-) delete mode 100644 a2.txt Attempting automerge of 3-2...success. Autofilling 1-2...success. Autofilling 2-2...success. Autofilling 3-1...success. Autofilling 3-2 (first way)...success. Autofilling 3-2 (second way)...success. The two ways of autofilling 3-2 agree. Recording autofilled block MergeState('reverted', tip1='reverted', tip2='aec5523782d061db9378ed04b470207e054fac6b', goal='revert')[0:4,0:3]. Merge is complete! + git-imerge diagram --commits --frontier --html=imerge-revert.html 0 3 | | 0 - **** - reverted *??. 2 - *... | aec5523782d061db9378ed04b470207e054fac6b 0 3 | | 0 - **** - reverted *??| 2 - *--+ | aec5523782d061db9378ed04b470207e054fac6b Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + git-imerge finish + check_tree reverted 3b92d9e80adb5b542a651863e6853ff5de9e496b + local refname=reverted + local expected_tree=3b92d9e80adb5b542a651863e6853ff5de9e496b ++ git rev-parse 'reverted^{tree}' + test 3b92d9e80adb5b542a651863e6853ff5de9e496b = 3b92d9e80adb5b542a651863e6853ff5de9e496b py313: OK (221.01=setup[1.41]+cmd[9.13,187.12,7.34,3.54,10.91,1.58] seconds) congratulations :) (221.12 seconds) create-stamp debian/debhelper-build-stamp dh_testroot -O--buildsystem=pybuild dh_prep -O--buildsystem=pybuild dh_auto_install --destdir=debian/git-imerge/ -O--buildsystem=pybuild I: pybuild base:311: /usr/bin/python3 setup.py install --root /build/reproducible-path/git-imerge-1.2.0/debian/git-imerge running install /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:66: SetuptoolsDeprecationWarning: setup.py install is deprecated. !! ******************************************************************************** Please avoid running ``setup.py`` directly. Instead, use pypa/build, pypa/installer or other standards-based tools. See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details. ******************************************************************************** !! self.initialize_options() running build running build_py running install_lib creating /build/reproducible-path/git-imerge-1.2.0/debian/git-imerge/usr/lib/python3.13/dist-packages copying /build/reproducible-path/git-imerge-1.2.0/.pybuild/cpython3_3.13/build/gitimerge.py -> /build/reproducible-path/git-imerge-1.2.0/debian/git-imerge/usr/lib/python3.13/dist-packages byte-compiling /build/reproducible-path/git-imerge-1.2.0/debian/git-imerge/usr/lib/python3.13/dist-packages/gitimerge.py to gitimerge.cpython-313.pyc running install_data creating /build/reproducible-path/git-imerge-1.2.0/debian/git-imerge/usr/share/bash-completion/completions copying completions/git-imerge -> /build/reproducible-path/git-imerge-1.2.0/debian/git-imerge/usr/share/bash-completion/completions running install_egg_info running egg_info writing git_imerge.egg-info/PKG-INFO writing dependency_links to git_imerge.egg-info/dependency_links.txt writing entry points to git_imerge.egg-info/entry_points.txt writing top-level names to git_imerge.egg-info/top_level.txt reading manifest file 'git_imerge.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' adding license file 'COPYING' writing manifest file 'git_imerge.egg-info/SOURCES.txt' Copying git_imerge.egg-info to /build/reproducible-path/git-imerge-1.2.0/debian/git-imerge/usr/lib/python3.13/dist-packages/git_imerge-1.2.0.egg-info Skipping SOURCES.txt running install_scripts Installing git-imerge script to /build/reproducible-path/git-imerge-1.2.0/debian/git-imerge/usr/bin dh_installdocs -O--buildsystem=pybuild dh_installchangelogs -O--buildsystem=pybuild dh_python3 -O--buildsystem=pybuild dh_installsystemduser -O--buildsystem=pybuild dh_perl -O--buildsystem=pybuild dh_link -O--buildsystem=pybuild dh_strip_nondeterminism -O--buildsystem=pybuild dh_compress -O--buildsystem=pybuild dh_fixperms -O--buildsystem=pybuild dh_missing -O--buildsystem=pybuild dh_installdeb -O--buildsystem=pybuild dh_gencontrol -O--buildsystem=pybuild dh_md5sums -O--buildsystem=pybuild dh_builddeb -O--buildsystem=pybuild dpkg-deb: building package 'git-imerge' in '../git-imerge_1.2.0-5_all.deb'. dpkg-genbuildinfo --build=binary -O../git-imerge_1.2.0-5_arm64.buildinfo dpkg-genchanges --build=binary -O../git-imerge_1.2.0-5_arm64.changes dpkg-genchanges: info: binary-only upload (no source code included) dpkg-source --after-build . dpkg-buildpackage: info: binary-only upload (no source included) dpkg-genchanges: info: not including original source code in upload I: copying local configuration I: user script /srv/workspace/pbuilder/576038/tmp/hooks/B01_cleanup starting I: user script /srv/workspace/pbuilder/576038/tmp/hooks/B01_cleanup finished I: unmounting dev/ptmx filesystem I: unmounting dev/pts filesystem I: unmounting dev/shm filesystem I: unmounting proc filesystem I: unmounting sys filesystem I: cleaning the build env I: removing directory /srv/workspace/pbuilder/576038 and its subdirectories I: Current time: Sun Feb 23 02:09:41 +14 2025 I: pbuilder-time-stamp: 1740226181 + false + set +x Sat Feb 22 12:09:41 UTC 2025 I: Signing ./b2/git-imerge_1.2.0-5_arm64.buildinfo as git-imerge_1.2.0-5_arm64.buildinfo.asc Sat Feb 22 12:09:41 UTC 2025 I: Signed ./b2/git-imerge_1.2.0-5_arm64.buildinfo as ./b2/git-imerge_1.2.0-5_arm64.buildinfo.asc Sat Feb 22 12:09:41 UTC 2025 - build #2 for git-imerge/trixie/arm64 on codethink04-arm64 done. Starting cleanup. All cleanup done. Sat Feb 22 12:09:41 UTC 2025 - reproducible_build.sh stopped running as /tmp/jenkins-script-WfIND7VS, removing. /srv/reproducible-results/rbuild-debian/r-b-build.7f9P2HTC: total 352 drwxr-xr-x 2 jenkins jenkins 4096 Feb 22 12:05 b1 drwxr-xr-x 2 jenkins jenkins 4096 Feb 22 12:09 b2 -rw-r--r-- 1 jenkins jenkins 1896 Aug 19 2023 git-imerge_1.2.0-5.dsc -rw------- 1 jenkins jenkins 342175 Feb 22 12:05 rbuildlog.BhslHav /srv/reproducible-results/rbuild-debian/r-b-build.7f9P2HTC/b1: total 416 -rw-r--r-- 1 jenkins jenkins 338852 Feb 22 12:05 build.log -rw-r--r-- 1 jenkins jenkins 3144 Feb 22 12:05 git-imerge_1.2.0-5.debian.tar.xz -rw-r--r-- 1 jenkins jenkins 1896 Feb 22 12:05 git-imerge_1.2.0-5.dsc -rw-r--r-- 1 jenkins jenkins 48992 Feb 22 12:05 git-imerge_1.2.0-5_all.deb -rw-r--r-- 1 jenkins jenkins 7029 Feb 22 12:05 git-imerge_1.2.0-5_arm64.buildinfo -rw-r--r-- 1 jenkins jenkins 7911 Feb 22 12:05 git-imerge_1.2.0-5_arm64.buildinfo.asc -rw-r--r-- 1 jenkins jenkins 1153 Feb 22 12:05 git-imerge_1.2.0-5_arm64.changes -rw-r--r-- 1 jenkins jenkins 1327 Feb 22 12:05 git-imerge_1.2.0-5_source.changes /srv/reproducible-results/rbuild-debian/r-b-build.7f9P2HTC/b2: total 432 -rw-r--r-- 1 jenkins jenkins 356421 Feb 22 12:09 build.log -rw-r--r-- 1 jenkins jenkins 3144 Feb 22 12:09 git-imerge_1.2.0-5.debian.tar.xz -rw-r--r-- 1 jenkins jenkins 1896 Feb 22 12:09 git-imerge_1.2.0-5.dsc -rw-r--r-- 1 jenkins jenkins 48992 Feb 22 12:09 git-imerge_1.2.0-5_all.deb -rw-r--r-- 1 jenkins jenkins 7029 Feb 22 12:09 git-imerge_1.2.0-5_arm64.buildinfo -rw-r--r-- 1 jenkins jenkins 7911 Feb 22 12:09 git-imerge_1.2.0-5_arm64.buildinfo.asc -rw-r--r-- 1 jenkins jenkins 1153 Feb 22 12:09 git-imerge_1.2.0-5_arm64.changes -rw-r--r-- 1 jenkins jenkins 1327 Feb 22 12:09 git-imerge_1.2.0-5_source.changes Sat Feb 22 12:09:42 UTC 2025 I: Deleting $TMPDIR on codethink04-arm64.debian.net. Sat Feb 22 12:09:43 UTC 2025 I: git-imerge_1.2.0-5_arm64.changes: Format: 1.8 Date: Sat, 19 Aug 2023 14:05:54 +0800 Source: git-imerge Binary: git-imerge Architecture: all Version: 1.2.0-5 Distribution: unstable Urgency: medium Maintainer: Paul Wise Changed-By: Paul Wise Description: git-imerge - incremental merge and rebase for git Closes: 1049491 Changes: git-imerge (1.2.0-5) unstable; urgency=medium . * Clean up after pybuild tox and the upstream tests (Closes: #1049491) * Drop PYBUILD_TEST_TOX since pybuild now correctly detects tox * Suggest not yet existing git-mergify-rebase package too Checksums-Sha1: 2f2cc8676a5038b80bce9186b43b0b2560a3a4a7 48992 git-imerge_1.2.0-5_all.deb d843d981c11de765c0782e6a88f3213194750efc 7029 git-imerge_1.2.0-5_arm64.buildinfo Checksums-Sha256: 407625e1e81aa7713098d34a6c61b424a14e203626a520baa8a7bef114aa2e8a 48992 git-imerge_1.2.0-5_all.deb 433a5249a5d84262e54efe2a68d35bd7cfa80c2e2a534035e5ade7d0c1fd59dd 7029 git-imerge_1.2.0-5_arm64.buildinfo Files: 610c87529c05f66c288bef460377c2e7 48992 vcs optional git-imerge_1.2.0-5_all.deb cb6def8ed5e05669f9667ced14e9f8b2 7029 vcs optional git-imerge_1.2.0-5_arm64.buildinfo removed '/var/lib/jenkins/userContent/reproducible/debian/rbuild/trixie/arm64/git-imerge_1.2.0-5.rbuild.log' removed '/var/lib/jenkins/userContent/reproducible/debian/rbuild/trixie/arm64/git-imerge_1.2.0-5.rbuild.log.gz' removed '/var/lib/jenkins/userContent/reproducible/debian/logs/trixie/arm64/git-imerge_1.2.0-5.build1.log.gz' removed '/var/lib/jenkins/userContent/reproducible/debian/logs/trixie/arm64/git-imerge_1.2.0-5.build2.log.gz' removed '/var/lib/jenkins/userContent/reproducible/debian/buildinfo/trixie/arm64/git-imerge_1.2.0-5_arm64.buildinfo' removed '/var/lib/jenkins/userContent/reproducible/debian/logdiffs/trixie/arm64/git-imerge_1.2.0-5.diff.gz' Diff of the two buildlogs: -- --- b1/build.log 2025-02-22 12:05:07.660136224 +0000 +++ b2/build.log 2025-02-22 12:09:42.843719832 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Fri Mar 27 06:25:48 -12 2026 -I: pbuilder-time-stamp: 1774635948 +I: Current time: Sun Feb 23 02:05:10 +14 2025 +I: pbuilder-time-stamp: 1740225910 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/trixie-reproducible-base.tgz] I: copying local configuration @@ -24,52 +24,84 @@ dpkg-source: info: applying tox-4-pr-204.patch I: Not using root during the build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/1649155/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/576038/tmp/hooks/D01_modify_environment starting +debug: Running on codethink04-arm64. +I: Changing host+domainname to test build reproducibility +I: Adding a custom variable just for the fun of it... +I: Changing /bin/sh to bash +'/bin/sh' -> '/bin/bash' +lrwxrwxrwx 1 root root 9 Feb 22 12:05 /bin/sh -> /bin/bash +I: Setting pbuilder2's login shell to /bin/bash +I: Setting pbuilder2's GECOS to second user,second room,second work-phone,second home-phone,second other +I: user script /srv/workspace/pbuilder/576038/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/576038/tmp/hooks/D02_print_environment starting I: set - BUILDDIR='/build/reproducible-path' - BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other' - BUILDUSERNAME='pbuilder1' - BUILD_ARCH='arm64' - DEBIAN_FRONTEND='noninteractive' + BASH=/bin/sh + BASHOPTS=checkwinsize:cmdhist:complete_fullquote:extquote:force_fignore:globasciiranges:globskipdots:hostcomplete:interactive_comments:patsub_replacement:progcomp:promptvars:sourcepath + BASH_ALIASES=() + BASH_ARGC=() + BASH_ARGV=() + BASH_CMDS=() + BASH_LINENO=([0]="12" [1]="0") + BASH_LOADABLES_PATH=/usr/local/lib/bash:/usr/lib/bash:/opt/local/lib/bash:/usr/pkg/lib/bash:/opt/pkg/lib/bash:. + BASH_SOURCE=([0]="/tmp/hooks/D02_print_environment" [1]="/tmp/hooks/D02_print_environment") + BASH_VERSINFO=([0]="5" [1]="2" [2]="37" [3]="1" [4]="release" [5]="aarch64-unknown-linux-gnu") + BASH_VERSION='5.2.37(1)-release' + BUILDDIR=/build/reproducible-path + BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other' + BUILDUSERNAME=pbuilder2 + BUILD_ARCH=arm64 + DEBIAN_FRONTEND=noninteractive DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=12 ' - DISTRIBUTION='trixie' - HOME='/root' - HOST_ARCH='arm64' + DIRSTACK=() + DISTRIBUTION=trixie + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/root + HOSTNAME=i-capture-the-hostname + HOSTTYPE=aarch64 + HOST_ARCH=arm64 IFS=' ' - INVOCATION_ID='ee4e18bba7d344a0acbb0b59d5778a4a' - LANG='C' - LANGUAGE='en_US:en' - LC_ALL='C' - MAIL='/var/mail/root' - OPTIND='1' - PATH='/usr/sbin:/usr/bin:/sbin:/bin:/usr/games' - PBCURRENTCOMMANDLINEOPERATION='build' - PBUILDER_OPERATION='build' - PBUILDER_PKGDATADIR='/usr/share/pbuilder' - PBUILDER_PKGLIBDIR='/usr/lib/pbuilder' - PBUILDER_SYSCONFDIR='/etc' - PPID='1649155' - PS1='# ' - PS2='> ' + INVOCATION_ID=861b9dc6d6284dc19343cc52f0837330 + LANG=C + LANGUAGE=nl_BE:nl + LC_ALL=C + MACHTYPE=aarch64-unknown-linux-gnu + MAIL=/var/mail/root + OPTERR=1 + OPTIND=1 + OSTYPE=linux-gnu + PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path + PBCURRENTCOMMANDLINEOPERATION=build + PBUILDER_OPERATION=build + PBUILDER_PKGDATADIR=/usr/share/pbuilder + PBUILDER_PKGLIBDIR=/usr/lib/pbuilder + PBUILDER_SYSCONFDIR=/etc + PIPESTATUS=([0]="0") + POSIXLY_CORRECT=y + PPID=576038 PS4='+ ' - PWD='/' - SHELL='/bin/bash' - SHLVL='2' - SUDO_COMMAND='/usr/bin/timeout -k 18.1h 18h /usr/bin/ionice -c 3 /usr/bin/nice /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.7f9P2HTC/pbuilderrc_9GmO --distribution trixie --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/trixie-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.7f9P2HTC/b1 --logfile b1/build.log git-imerge_1.2.0-5.dsc' - SUDO_GID='109' - SUDO_UID='104' - SUDO_USER='jenkins' - TERM='unknown' - TZ='/usr/share/zoneinfo/Etc/GMT+12' - USER='root' - _='/usr/bin/systemd-run' - http_proxy='http://192.168.101.4:3128' + PWD=/ + SHELL=/bin/bash + SHELLOPTS=braceexpand:errexit:hashall:interactive-comments:posix + SHLVL=3 + SUDO_COMMAND='/usr/bin/timeout -k 24.1h 24h /usr/bin/ionice -c 3 /usr/bin/nice -n 11 /usr/bin/unshare --uts -- /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.7f9P2HTC/pbuilderrc_CgCP --distribution trixie --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/trixie-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.7f9P2HTC/b2 --logfile b2/build.log git-imerge_1.2.0-5.dsc' + SUDO_GID=109 + SUDO_UID=104 + SUDO_USER=jenkins + TERM=unknown + TZ=/usr/share/zoneinfo/Etc/GMT-14 + UID=0 + USER=root + _='I: set' + http_proxy=http://192.168.101.4:3128 I: uname -a - Linux codethink03-arm64 6.1.0-31-cloud-arm64 #1 SMP Debian 6.1.128-1 (2025-02-07) aarch64 GNU/Linux + Linux i-capture-the-hostname 6.1.0-31-cloud-arm64 #1 SMP Debian 6.1.128-1 (2025-02-07) aarch64 GNU/Linux I: ls -l /bin - lrwxrwxrwx 1 root root 7 Nov 22 2024 /bin -> usr/bin -I: user script /srv/workspace/pbuilder/1649155/tmp/hooks/D02_print_environment finished + lrwxrwxrwx 1 root root 7 Nov 22 14:40 /bin -> usr/bin +I: user script /srv/workspace/pbuilder/576038/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -82,7 +114,7 @@ Depends: bash-completion, debhelper-compat (= 13), dh-sequence-python3, git, pkg-config, python3, python3-setuptools, python3-wheel, tox dpkg-deb: building package 'pbuilder-satisfydepends-dummy' in '/tmp/satisfydepends-aptitude/pbuilder-satisfydepends-dummy.deb'. Selecting previously unselected package pbuilder-satisfydepends-dummy. -(Reading database ... 19922 files and directories currently installed.) +(Reading database ... 19972 files and directories currently installed.) Preparing to unpack .../pbuilder-satisfydepends-dummy.deb ... Unpacking pbuilder-satisfydepends-dummy (0.invalid.0) ... dpkg: pbuilder-satisfydepends-dummy: dependency problems, but configuring anyway as you requested: @@ -227,10 +259,10 @@ Get: 104 http://deb.debian.org/debian trixie/main arm64 python3-virtualenv all 20.29.1+ds-1 [71.6 kB] Get: 105 http://deb.debian.org/debian trixie/main arm64 python3-wheel all 0.45.1-1 [56.7 kB] Get: 106 http://deb.debian.org/debian trixie/main arm64 tox all 4.24.1-1 [399 kB] -Fetched 49.1 MB in 0s (144 MB/s) +Fetched 49.1 MB in 0s (153 MB/s) Preconfiguring packages ... Selecting previously unselected package libpython3.13-minimal:arm64. -(Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 19922 files and directories currently installed.) +(Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 19972 files and directories currently installed.) Preparing to unpack .../libpython3.13-minimal_3.13.2-1_arm64.deb ... Unpacking libpython3.13-minimal:arm64 (3.13.2-1) ... Selecting previously unselected package libexpat1:arm64. @@ -243,7 +275,7 @@ Setting up libexpat1:arm64 (2.6.4-1) ... Setting up python3.13-minimal (3.13.2-1) ... Selecting previously unselected package python3-minimal. -(Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 20256 files and directories currently installed.) +(Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 20306 files and directories currently installed.) Preparing to unpack .../0-python3-minimal_3.13.1-2_arm64.deb ... Unpacking python3-minimal (3.13.1-2) ... Selecting previously unselected package media-types. @@ -279,7 +311,7 @@ Unpacking libpython3-stdlib:arm64 (3.13.1-2) ... Setting up python3-minimal (3.13.1-2) ... Selecting previously unselected package python3. -(Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 21266 files and directories currently installed.) +(Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 21316 files and directories currently installed.) Preparing to unpack .../00-python3_3.13.1-2_arm64.deb ... Unpacking python3 (3.13.1-2) ... Selecting previously unselected package sensible-utils. @@ -580,8 +612,8 @@ Setting up tzdata (2025a-2) ... Current default time zone: 'Etc/UTC' -Local time is now: Fri Mar 27 18:26:09 UTC 2026. -Universal Time is now: Fri Mar 27 18:26:09 UTC 2026. +Local time is now: Sat Feb 22 12:05:32 UTC 2025. +Universal Time is now: Sat Feb 22 12:05:32 UTC 2025. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up liberror-perl (0.17029-2) ... @@ -685,7 +717,11 @@ Building tag database... -> Finished parsing the build-deps I: Building the package -I: Running cd /build/reproducible-path/git-imerge-1.2.0/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-genchanges -S > ../git-imerge_1.2.0-5_source.changes +I: user script /srv/workspace/pbuilder/576038/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for trixie +I: user script /srv/workspace/pbuilder/576038/tmp/hooks/A99_set_merged_usr finished +hostname: Name or service not known +I: Running cd /build/reproducible-path/git-imerge-1.2.0/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-genchanges -S > ../git-imerge_1.2.0-5_source.changes dpkg-buildpackage: info: source package git-imerge dpkg-buildpackage: info: source version 1.2.0-5 dpkg-buildpackage: info: source distribution unstable @@ -771,24 +807,25 @@ I: pybuild base:311: cd /build/reproducible-path/git-imerge-1.2.0/.pybuild/cpython3_3.13/build; tox -c /build/reproducible-path/git-imerge-1.2.0/tox.ini --sitepackages -e py313 -x testenv.passenv+=_PYTHON_HOST_PLATFORM --installpkg /build/reproducible-path/git-imerge-1.2.0/.pybuild/cpython3_3.13/git_imerge-1.2.0-py3-none-any.whl py313: install_package .pybuild/cpython3_3.13/build> python -I -m pip install --force-reinstall --no-deps /build/reproducible-path/git-imerge-1.2.0/.pybuild/cpython3_3.13/git_imerge-1.2.0-py3-none-any.whl py313: commands[0] .pybuild/cpython3_3.13/build> /bin/sh t/test-unconflicted -+ dirname t/test-unconflicted -+ cd t -+ pwd -+ dirname /build/reproducible-path/git-imerge-1.2.0/t +++++ dirname t/test-unconflicted ++++ cd t ++++ pwd +++ dirname /build/reproducible-path/git-imerge-1.2.0/t + BASE=/build/reproducible-path/git-imerge-1.2.0 + . /build/reproducible-path/git-imerge-1.2.0/t/test-lib.sh + GIT_IMERGE=git-imerge + TMP=/build/reproducible-path/git-imerge-1.2.0/t/tmp/unconflicted -+ DESCRIPTION=git-imerge test repository without conflicts -+ init_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/unconflicted git-imerge test repository without conflicts ++ DESCRIPTION='git-imerge test repository without conflicts' ++ init_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/unconflicted 'git-imerge test repository without conflicts' + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/unconflicted -+ local description=git-imerge test repository without conflicts -+ delete_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/unconflicted git-imerge test repository without conflicts ++ local 'description=git-imerge test repository without conflicts' ++ delete_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/unconflicted 'git-imerge test repository without conflicts' + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/unconflicted -+ local description=git-imerge test repository without conflicts ++ local 'description=git-imerge test repository without conflicts' + test -d /build/reproducible-path/git-imerge-1.2.0/t/tmp/unconflicted + mkdir -p /build/reproducible-path/git-imerge-1.2.0/t/tmp/unconflicted + git init /build/reproducible-path/git-imerge-1.2.0/t/tmp/unconflicted +Initialized empty Git repository in /build/reproducible-path/git-imerge-1.2.0/t/tmp/unconflicted/.git/ hint: Using 'master' as the name for the initial branch. This default branch name hint: is subject to change. To configure the initial branch name to use in all hint: of your new repositories, which will suppress this warning, call: @@ -799,10 +836,9 @@ hint: 'development'. The just-created branch can be renamed via this command: hint: hint: git branch -m -Initialized empty Git repository in /build/reproducible-path/git-imerge-1.2.0/t/tmp/unconflicted/.git/ -+ echo git-imerge test repository without conflicts -+ printf %s\n /*.out /*.css /*.html -+ git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/unconflicted/.git config user.name Loú User ++ echo 'git-imerge test repository without conflicts' ++ printf '%s\n' '/*.out' '/*.css' '/*.html' ++ git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/unconflicted/.git config user.name 'Loú User' + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/unconflicted/.git config user.email luser@example.com + TIME=1112911993 + ln -s /build/reproducible-path/git-imerge-1.2.0/imerge.css /build/reproducible-path/git-imerge-1.2.0/t/tmp/unconflicted @@ -817,147 +853,188 @@ + text=0 + echo 0 + git add b.txt -+ commit -m m⇒0 ++ commit -m $'m\342\207\2220' + TIME=1112911994 -+ GIT_AUTHOR_DATE=@1112911994 +0000 GIT_COMMITTER_DATE=@1112911994 +0000 git commit -m m⇒0 ++ GIT_AUTHOR_DATE='@1112911994 +0000' ++ GIT_COMMITTER_DATE='@1112911994 +0000' ++ git commit -m $'m\342\207\2220' [master (root-commit) 780ddf5] m⇒0 2 files changed, 2 insertions(+) create mode 100644 a.txt create mode 100644 b.txt + git checkout -b a -- Switched to a new branch 'a' -+ seq 8 +++ seq 8 ++ for i in $(seq 8) + modify a.txt 1 + filename=a.txt + text=1 + echo 1 + git add a.txt -+ commit -m a⇒1 ++ commit -m $'a\342\207\2221' + TIME=1112911995 -+ GIT_AUTHOR_DATE=@1112911995 +0000 GIT_COMMITTER_DATE=@1112911995 +0000 git commit -m a⇒1 ++ GIT_AUTHOR_DATE='@1112911995 +0000' ++ GIT_COMMITTER_DATE='@1112911995 +0000' ++ git commit -m $'a\342\207\2221' [a b862e30] a⇒1 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 8) + modify a.txt 2 + filename=a.txt + text=2 + echo 2 + git add a.txt -+ commit -m a⇒2 ++ commit -m $'a\342\207\2222' + TIME=1112911996 -+ GIT_AUTHOR_DATE=@1112911996 +0000 GIT_COMMITTER_DATE=@1112911996 +0000 git commit -m a⇒2 ++ GIT_AUTHOR_DATE='@1112911996 +0000' ++ GIT_COMMITTER_DATE='@1112911996 +0000' ++ git commit -m $'a\342\207\2222' [a dcbe282] a⇒2 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 8) + modify a.txt 3 + filename=a.txt + text=3 + echo 3 + git add a.txt -+ commit -m a⇒3 ++ commit -m $'a\342\207\2223' + TIME=1112911997 -+ GIT_AUTHOR_DATE=@1112911997 +0000 GIT_COMMITTER_DATE=@1112911997 +0000 git commit -m a⇒3 ++ GIT_AUTHOR_DATE='@1112911997 +0000' ++ GIT_COMMITTER_DATE='@1112911997 +0000' ++ git commit -m $'a\342\207\2223' [a ecd8647] a⇒3 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 8) + modify a.txt 4 + filename=a.txt + text=4 + echo 4 + git add a.txt -+ commit -m a⇒4 ++ commit -m $'a\342\207\2224' + TIME=1112911998 -+ GIT_AUTHOR_DATE=@1112911998 +0000 GIT_COMMITTER_DATE=@1112911998 +0000 git commit -m a⇒4 ++ GIT_AUTHOR_DATE='@1112911998 +0000' ++ GIT_COMMITTER_DATE='@1112911998 +0000' ++ git commit -m $'a\342\207\2224' [a 1634bab] a⇒4 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 8) + modify a.txt 5 + filename=a.txt + text=5 + echo 5 + git add a.txt -+ commit -m a⇒5 ++ commit -m $'a\342\207\2225' + TIME=1112911999 -+ GIT_AUTHOR_DATE=@1112911999 +0000 GIT_COMMITTER_DATE=@1112911999 +0000 git commit -m a⇒5 ++ GIT_AUTHOR_DATE='@1112911999 +0000' ++ GIT_COMMITTER_DATE='@1112911999 +0000' ++ git commit -m $'a\342\207\2225' [a 909ce12] a⇒5 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 8) + modify a.txt 6 + filename=a.txt + text=6 + echo 6 + git add a.txt -+ commit -m a⇒6 ++ commit -m $'a\342\207\2226' + TIME=1112912000 -+ GIT_AUTHOR_DATE=@1112912000 +0000 GIT_COMMITTER_DATE=@1112912000 +0000 git commit -m a⇒6 ++ GIT_AUTHOR_DATE='@1112912000 +0000' ++ GIT_COMMITTER_DATE='@1112912000 +0000' ++ git commit -m $'a\342\207\2226' [a f6520bf] a⇒6 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 8) + modify a.txt 7 + filename=a.txt + text=7 + echo 7 + git add a.txt -+ commit -m a⇒7 ++ commit -m $'a\342\207\2227' + TIME=1112912001 -+ GIT_AUTHOR_DATE=@1112912001 +0000 GIT_COMMITTER_DATE=@1112912001 +0000 git commit -m a⇒7 ++ GIT_AUTHOR_DATE='@1112912001 +0000' ++ GIT_COMMITTER_DATE='@1112912001 +0000' ++ git commit -m $'a\342\207\2227' [a 6797186] a⇒7 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 8) + modify a.txt 8 + filename=a.txt + text=8 + echo 8 + git add a.txt -+ commit -m a⇒8 ++ commit -m $'a\342\207\2228' + TIME=1112912002 -+ GIT_AUTHOR_DATE=@1112912002 +0000 GIT_COMMITTER_DATE=@1112912002 +0000 git commit -m a⇒8 ++ GIT_AUTHOR_DATE='@1112912002 +0000' ++ GIT_COMMITTER_DATE='@1112912002 +0000' ++ git commit -m $'a\342\207\2228' [a 49643dd] a⇒8 1 file changed, 1 insertion(+), 1 deletion(-) + git checkout -b b master -- Switched to a new branch 'b' -+ seq 5 +++ seq 5 ++ for i in $(seq 5) + modify b.txt 1 + filename=b.txt + text=1 + echo 1 + git add b.txt -+ commit -m b⇒1 ++ commit -m $'b\342\207\2221' + TIME=1112912003 -+ GIT_AUTHOR_DATE=@1112912003 +0000 GIT_COMMITTER_DATE=@1112912003 +0000 git commit -m b⇒1 ++ GIT_AUTHOR_DATE='@1112912003 +0000' ++ GIT_COMMITTER_DATE='@1112912003 +0000' ++ git commit -m $'b\342\207\2221' [b d43305b] b⇒1 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 5) + modify b.txt 2 + filename=b.txt + text=2 + echo 2 + git add b.txt -+ commit -m b⇒2 ++ commit -m $'b\342\207\2222' + TIME=1112912004 -+ GIT_AUTHOR_DATE=@1112912004 +0000 GIT_COMMITTER_DATE=@1112912004 +0000 git commit -m b⇒2 ++ GIT_AUTHOR_DATE='@1112912004 +0000' ++ GIT_COMMITTER_DATE='@1112912004 +0000' ++ git commit -m $'b\342\207\2222' [b 853ee68] b⇒2 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 5) + modify b.txt 3 + filename=b.txt + text=3 + echo 3 + git add b.txt -+ commit -m b⇒3 ++ commit -m $'b\342\207\2223' + TIME=1112912005 -+ GIT_AUTHOR_DATE=@1112912005 +0000 GIT_COMMITTER_DATE=@1112912005 +0000 git commit -m b⇒3 ++ GIT_AUTHOR_DATE='@1112912005 +0000' ++ GIT_COMMITTER_DATE='@1112912005 +0000' ++ git commit -m $'b\342\207\2223' [b 03a2455] b⇒3 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 5) + modify b.txt 4 + filename=b.txt + text=4 + echo 4 + git add b.txt -+ commit -m b⇒4 ++ commit -m $'b\342\207\2224' + TIME=1112912006 -+ GIT_AUTHOR_DATE=@1112912006 +0000 GIT_COMMITTER_DATE=@1112912006 +0000 git commit -m b⇒4 ++ GIT_AUTHOR_DATE='@1112912006 +0000' ++ GIT_COMMITTER_DATE='@1112912006 +0000' ++ git commit -m $'b\342\207\2224' [b 484ea85] b⇒4 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 5) + modify b.txt 5 + filename=b.txt + text=5 + echo 5 + git add b.txt -+ commit -m b⇒5 ++ commit -m $'b\342\207\2225' + TIME=1112912007 -+ GIT_AUTHOR_DATE=@1112912007 +0000 GIT_COMMITTER_DATE=@1112912007 +0000 git commit -m b⇒5 ++ GIT_AUTHOR_DATE='@1112912007 +0000' ++ GIT_COMMITTER_DATE='@1112912007 +0000' ++ git commit -m $'b\342\207\2225' [b e22cd97] b⇒5 1 file changed, 1 insertion(+), 1 deletion(-) + EXPECTED_TREE=e4a7b27799be355bbcbf8bfe9c29d74190082c42 @@ -1014,54 +1091,55 @@ @ = merge was blocked but has been resolved ? = no merge recorded -+ GIT_EDITOR=cat git-imerge simplify --goal=merge --branch=a-b-merge ++ GIT_EDITOR=cat ++ git-imerge simplify --goal=merge --branch=a-b-merge Merge b into a (using imerge) # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # -# Date: Fri Mar 27 18:26:30 2026 +0000 +# Date: Sat Feb 22 12:05:58 2025 +0000 # # On branch a-b-merge # Changes to be committed: # modified: b.txt # -[a-b-merge 311cfbf] Merge b into a (using imerge) - Date: Fri Mar 27 18:26:30 2026 +0000 +[a-b-merge a85884b] Merge b into a (using imerge) + Date: Sat Feb 22 12:05:58 2025 +0000 + check_tree a-b-merge e4a7b27799be355bbcbf8bfe9c29d74190082c42 + local refname=a-b-merge + local expected_tree=e4a7b27799be355bbcbf8bfe9c29d74190082c42 -+ git rev-parse a-b-merge^{tree} +++ git rev-parse 'a-b-merge^{tree}' + test e4a7b27799be355bbcbf8bfe9c29d74190082c42 = e4a7b27799be355bbcbf8bfe9c29d74190082c42 + git-imerge simplify --goal=rebase --branch=a-b-rebase + check_tree a-b-rebase e4a7b27799be355bbcbf8bfe9c29d74190082c42 + local refname=a-b-rebase + local expected_tree=e4a7b27799be355bbcbf8bfe9c29d74190082c42 -+ git rev-parse a-b-rebase^{tree} +++ git rev-parse 'a-b-rebase^{tree}' + test e4a7b27799be355bbcbf8bfe9c29d74190082c42 = e4a7b27799be355bbcbf8bfe9c29d74190082c42 + git-imerge simplify --goal=rebase-with-history --branch=a-b-rebase-with-history + check_tree a-b-rebase-with-history e4a7b27799be355bbcbf8bfe9c29d74190082c42 + local refname=a-b-rebase-with-history + local expected_tree=e4a7b27799be355bbcbf8bfe9c29d74190082c42 -+ git rev-parse a-b-rebase-with-history^{tree} +++ git rev-parse 'a-b-rebase-with-history^{tree}' + test e4a7b27799be355bbcbf8bfe9c29d74190082c42 = e4a7b27799be355bbcbf8bfe9c29d74190082c42 + git-imerge simplify --goal=border --branch=a-b-border + check_tree a-b-border e4a7b27799be355bbcbf8bfe9c29d74190082c42 + local refname=a-b-border + local expected_tree=e4a7b27799be355bbcbf8bfe9c29d74190082c42 -+ git rev-parse a-b-border^{tree} +++ git rev-parse 'a-b-border^{tree}' + test e4a7b27799be355bbcbf8bfe9c29d74190082c42 = e4a7b27799be355bbcbf8bfe9c29d74190082c42 + git-imerge simplify --goal=border-with-history --branch=a-b-border-with-history + check_tree a-b-border-with-history e4a7b27799be355bbcbf8bfe9c29d74190082c42 + local refname=a-b-border-with-history + local expected_tree=e4a7b27799be355bbcbf8bfe9c29d74190082c42 -+ git rev-parse a-b-border-with-history^{tree} +++ git rev-parse 'a-b-border-with-history^{tree}' + test e4a7b27799be355bbcbf8bfe9c29d74190082c42 = e4a7b27799be355bbcbf8bfe9c29d74190082c42 + git-imerge simplify --goal=border-with-history2 --branch=a-b-border-with-history2 + check_tree a-b-border-with-history2 e4a7b27799be355bbcbf8bfe9c29d74190082c42 + local refname=a-b-border-with-history2 + local expected_tree=e4a7b27799be355bbcbf8bfe9c29d74190082c42 -+ git rev-parse a-b-border-with-history2^{tree} +++ git rev-parse 'a-b-border-with-history2^{tree}' + test e4a7b27799be355bbcbf8bfe9c29d74190082c42 = e4a7b27799be355bbcbf8bfe9c29d74190082c42 + git-imerge remove + git checkout a @@ -1145,13 +1223,13 @@ + check_tree a-b-full e4a7b27799be355bbcbf8bfe9c29d74190082c42 + local refname=a-b-full + local expected_tree=e4a7b27799be355bbcbf8bfe9c29d74190082c42 -+ git rev-parse a-b-full^{tree} +++ git rev-parse 'a-b-full^{tree}' + test e4a7b27799be355bbcbf8bfe9c29d74190082c42 = e4a7b27799be355bbcbf8bfe9c29d74190082c42 py313: commands[1] .pybuild/cpython3_3.13/build> /bin/sh t/test-conflicted -+ dirname t/test-conflicted -+ cd t -+ pwd -+ dirname /build/reproducible-path/git-imerge-1.2.0/t +++++ dirname t/test-conflicted ++++ cd t ++++ pwd +++ dirname /build/reproducible-path/git-imerge-1.2.0/t + BASE=/build/reproducible-path/git-imerge-1.2.0 + . /build/reproducible-path/git-imerge-1.2.0/t/test-lib.sh + GIT_IMERGE=git-imerge @@ -1159,16 +1237,17 @@ + test_conflict 4-3 + local conflict=4-3 + TMP=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-4-3 -+ DESCRIPTION=git-imerge test repository with conflict at 4-3 -+ init_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-4-3 git-imerge test repository with conflict at 4-3 ++ DESCRIPTION='git-imerge test repository with conflict at 4-3' ++ init_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-4-3 'git-imerge test repository with conflict at 4-3' + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-4-3 -+ local description=git-imerge test repository with conflict at 4-3 -+ delete_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-4-3 git-imerge test repository with conflict at 4-3 ++ local 'description=git-imerge test repository with conflict at 4-3' ++ delete_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-4-3 'git-imerge test repository with conflict at 4-3' + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-4-3 -+ local description=git-imerge test repository with conflict at 4-3 ++ local 'description=git-imerge test repository with conflict at 4-3' + test -d /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-4-3 + mkdir -p /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-4-3 + git init /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-4-3 +Initialized empty Git repository in /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-4-3/.git/ hint: Using 'master' as the name for the initial branch. This default branch name hint: is subject to change. To configure the initial branch name to use in all hint: of your new repositories, which will suppress this warning, call: @@ -1179,10 +1258,9 @@ hint: 'development'. The just-created branch can be renamed via this command: hint: hint: git branch -m -Initialized empty Git repository in /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-4-3/.git/ -+ echo git-imerge test repository with conflict at 4-3 -+ printf %s\n /*.out /*.css /*.html -+ git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-4-3/.git config user.name Loú User ++ echo 'git-imerge test repository with conflict at 4-3' ++ printf '%s\n' '/*.out' '/*.css' '/*.html' ++ git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-4-3/.git config user.name 'Loú User' + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-4-3/.git config user.email luser@example.com + TIME=1112911993 + ln -s /build/reproducible-path/git-imerge-1.2.0/imerge.css /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-4-3 @@ -1197,186 +1275,248 @@ + text=0 + echo 0 + git add d.txt -+ modify conflict.txt original version ++ modify conflict.txt 'original version' + filename=conflict.txt -+ text=original version -+ echo original version ++ text='original version' ++ echo 'original version' + git add conflict.txt -+ commit -m m⇒0 ++ commit -m $'m\342\207\2220' + TIME=1112911994 -+ GIT_AUTHOR_DATE=@1112911994 +0000 GIT_COMMITTER_DATE=@1112911994 +0000 git commit -m m⇒0 -+ git checkout -b c master -- ++ GIT_AUTHOR_DATE='@1112911994 +0000' ++ GIT_COMMITTER_DATE='@1112911994 +0000' ++ git commit -m $'m\342\207\2220' [master (root-commit) d70e04b] m⇒0 3 files changed, 3 insertions(+) create mode 100644 c.txt create mode 100644 conflict.txt create mode 100644 d.txt ++ git checkout -b c master -- Switched to a new branch 'c' -+ seq 9 +++ seq 9 ++ for i in $(seq 9) + modify c.txt 1 + filename=c.txt + text=1 + echo 1 + git add c.txt -+ commit -m c⇒1 ++ case $conflict in ++ commit -m $'c\342\207\2221' + TIME=1112911995 -+ GIT_AUTHOR_DATE=@1112911995 +0000 GIT_COMMITTER_DATE=@1112911995 +0000 git commit -m c⇒1 ++ GIT_AUTHOR_DATE='@1112911995 +0000' ++ GIT_COMMITTER_DATE='@1112911995 +0000' ++ git commit -m $'c\342\207\2221' [c 89e2141] c⇒1 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 9) + modify c.txt 2 + filename=c.txt + text=2 + echo 2 + git add c.txt -+ commit -m c⇒2 ++ case $conflict in ++ commit -m $'c\342\207\2222' + TIME=1112911996 -+ GIT_AUTHOR_DATE=@1112911996 +0000 GIT_COMMITTER_DATE=@1112911996 +0000 git commit -m c⇒2 -[c 7c431f2] c⇒2 - 1 file changed, 1 insertion(+), 1 deletion(-) ++ GIT_AUTHOR_DATE='@1112911996 +0000' ++ GIT_COMMITTER_DATE='@1112911996 +0000' ++ git commit -m $'c\342\207\2222' ++ for i in $(seq 9) + modify c.txt 3 + filename=c.txt + text=3 + echo 3 + git add c.txt -+ commit -m c⇒3 +[c 7c431f2] c⇒2 + 1 file changed, 1 insertion(+), 1 deletion(-) ++ case $conflict in ++ commit -m $'c\342\207\2223' + TIME=1112911997 -+ GIT_AUTHOR_DATE=@1112911997 +0000 GIT_COMMITTER_DATE=@1112911997 +0000 git commit -m c⇒3 ++ GIT_AUTHOR_DATE='@1112911997 +0000' ++ GIT_COMMITTER_DATE='@1112911997 +0000' ++ git commit -m $'c\342\207\2223' [c f02ab24] c⇒3 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 9) + modify c.txt 4 + filename=c.txt + text=4 + echo 4 + git add c.txt -+ modify conflict.txt c version ++ case $conflict in ++ modify conflict.txt 'c version' + filename=conflict.txt -+ text=c version -+ echo c version ++ text='c version' ++ echo 'c version' + git add conflict.txt -+ commit -m c⇒4 ++ commit -m $'c\342\207\2224' + TIME=1112911998 -+ GIT_AUTHOR_DATE=@1112911998 +0000 GIT_COMMITTER_DATE=@1112911998 +0000 git commit -m c⇒4 ++ GIT_AUTHOR_DATE='@1112911998 +0000' ++ GIT_COMMITTER_DATE='@1112911998 +0000' ++ git commit -m $'c\342\207\2224' [c 3c091de] c⇒4 2 files changed, 2 insertions(+), 2 deletions(-) ++ for i in $(seq 9) + modify c.txt 5 + filename=c.txt + text=5 + echo 5 + git add c.txt -+ commit -m c⇒5 ++ case $conflict in ++ commit -m $'c\342\207\2225' + TIME=1112911999 -+ GIT_AUTHOR_DATE=@1112911999 +0000 GIT_COMMITTER_DATE=@1112911999 +0000 git commit -m c⇒5 ++ GIT_AUTHOR_DATE='@1112911999 +0000' ++ GIT_COMMITTER_DATE='@1112911999 +0000' ++ git commit -m $'c\342\207\2225' [c a0ac37a] c⇒5 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 9) + modify c.txt 6 + filename=c.txt + text=6 + echo 6 + git add c.txt -+ commit -m c⇒6 ++ case $conflict in ++ commit -m $'c\342\207\2226' + TIME=1112912000 -+ GIT_AUTHOR_DATE=@1112912000 +0000 GIT_COMMITTER_DATE=@1112912000 +0000 git commit -m c⇒6 ++ GIT_AUTHOR_DATE='@1112912000 +0000' ++ GIT_COMMITTER_DATE='@1112912000 +0000' ++ git commit -m $'c\342\207\2226' [c ed9fdfa] c⇒6 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 9) + modify c.txt 7 + filename=c.txt + text=7 + echo 7 + git add c.txt -+ commit -m c⇒7 ++ case $conflict in ++ commit -m $'c\342\207\2227' + TIME=1112912001 -+ GIT_AUTHOR_DATE=@1112912001 +0000 GIT_COMMITTER_DATE=@1112912001 +0000 git commit -m c⇒7 ++ GIT_AUTHOR_DATE='@1112912001 +0000' ++ GIT_COMMITTER_DATE='@1112912001 +0000' ++ git commit -m $'c\342\207\2227' [c 1da7bf5] c⇒7 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 9) + modify c.txt 8 + filename=c.txt + text=8 + echo 8 + git add c.txt -+ commit -m c⇒8 ++ case $conflict in ++ commit -m $'c\342\207\2228' + TIME=1112912002 -+ GIT_AUTHOR_DATE=@1112912002 +0000 GIT_COMMITTER_DATE=@1112912002 +0000 git commit -m c⇒8 ++ GIT_AUTHOR_DATE='@1112912002 +0000' ++ GIT_COMMITTER_DATE='@1112912002 +0000' ++ git commit -m $'c\342\207\2228' [c d8de99f] c⇒8 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 9) + modify c.txt 9 + filename=c.txt + text=9 + echo 9 + git add c.txt -+ commit -m c⇒9 ++ case $conflict in ++ commit -m $'c\342\207\2229' + TIME=1112912003 -+ GIT_AUTHOR_DATE=@1112912003 +0000 GIT_COMMITTER_DATE=@1112912003 +0000 git commit -m c⇒9 ++ GIT_AUTHOR_DATE='@1112912003 +0000' ++ GIT_COMMITTER_DATE='@1112912003 +0000' ++ git commit -m $'c\342\207\2229' [c 9cde605] c⇒9 1 file changed, 1 insertion(+), 1 deletion(-) + git checkout -b d master -- Switched to a new branch 'd' -+ seq 6 +++ seq 6 ++ for i in $(seq 6) + modify d.txt 1 + filename=d.txt + text=1 + echo 1 + git add d.txt -+ commit -m d⇒1 ++ case $conflict in ++ commit -m $'d\342\207\2221' + TIME=1112912004 -+ GIT_AUTHOR_DATE=@1112912004 +0000 GIT_COMMITTER_DATE=@1112912004 +0000 git commit -m d⇒1 ++ GIT_AUTHOR_DATE='@1112912004 +0000' ++ GIT_COMMITTER_DATE='@1112912004 +0000' ++ git commit -m $'d\342\207\2221' [d bd5368a] d⇒1 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 6) + modify d.txt 2 + filename=d.txt + text=2 + echo 2 + git add d.txt -+ commit -m d⇒2 ++ case $conflict in ++ commit -m $'d\342\207\2222' + TIME=1112912005 -+ GIT_AUTHOR_DATE=@1112912005 +0000 GIT_COMMITTER_DATE=@1112912005 +0000 git commit -m d⇒2 ++ GIT_AUTHOR_DATE='@1112912005 +0000' ++ GIT_COMMITTER_DATE='@1112912005 +0000' ++ git commit -m $'d\342\207\2222' [d 93e27e6] d⇒2 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 6) + modify d.txt 3 + filename=d.txt + text=3 + echo 3 + git add d.txt -+ modify conflict.txt d version ++ case $conflict in ++ modify conflict.txt 'd version' + filename=conflict.txt -+ text=d version -+ echo d version ++ text='d version' ++ echo 'd version' + git add conflict.txt -+ commit -m d⇒3 ++ commit -m $'d\342\207\2223' + TIME=1112912006 -+ GIT_AUTHOR_DATE=@1112912006 +0000 GIT_COMMITTER_DATE=@1112912006 +0000 git commit -m d⇒3 ++ GIT_AUTHOR_DATE='@1112912006 +0000' ++ GIT_COMMITTER_DATE='@1112912006 +0000' ++ git commit -m $'d\342\207\2223' [d 2bb1a7e] d⇒3 2 files changed, 2 insertions(+), 2 deletions(-) ++ for i in $(seq 6) + modify d.txt 4 + filename=d.txt + text=4 + echo 4 + git add d.txt -+ commit -m d⇒4 ++ case $conflict in ++ commit -m $'d\342\207\2224' + TIME=1112912007 -+ GIT_AUTHOR_DATE=@1112912007 +0000 GIT_COMMITTER_DATE=@1112912007 +0000 git commit -m d⇒4 ++ GIT_AUTHOR_DATE='@1112912007 +0000' ++ GIT_COMMITTER_DATE='@1112912007 +0000' ++ git commit -m $'d\342\207\2224' [d 81f9c80] d⇒4 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 6) + modify d.txt 5 + filename=d.txt + text=5 + echo 5 + git add d.txt -+ commit -m d⇒5 ++ case $conflict in ++ commit -m $'d\342\207\2225' + TIME=1112912008 -+ GIT_AUTHOR_DATE=@1112912008 +0000 GIT_COMMITTER_DATE=@1112912008 +0000 git commit -m d⇒5 ++ GIT_AUTHOR_DATE='@1112912008 +0000' ++ GIT_COMMITTER_DATE='@1112912008 +0000' ++ git commit -m $'d\342\207\2225' ++ for i in $(seq 6) + modify d.txt 6 + filename=d.txt + text=6 + echo 6 ++ git add d.txt [d 3690dde] d⇒5 1 file changed, 1 insertion(+), 1 deletion(-) -+ git add d.txt -+ commit -m d⇒6 ++ case $conflict in ++ commit -m $'d\342\207\2226' + TIME=1112912009 -+ GIT_AUTHOR_DATE=@1112912009 +0000 GIT_COMMITTER_DATE=@1112912009 +0000 git commit -m d⇒6 ++ GIT_AUTHOR_DATE='@1112912009 +0000' ++ GIT_COMMITTER_DATE='@1112912009 +0000' ++ git commit -m $'d\342\207\2226' ++ git checkout c [d 8085853] d⇒6 1 file changed, 1 insertion(+), 1 deletion(-) -+ git checkout c Switched to branch 'c' + git-imerge init --name=c-d d + git-imerge list @@ -1414,8 +1554,8 @@ @ = merge was blocked but has been resolved ? = no merge recorded -+ git-imerge autofill + tee autofill.out ++ git-imerge autofill Attempting automerge of 9-6...failure. Attempting automerge of 1-1...success. Attempting automerge of 1-4...success. @@ -1455,7 +1595,7 @@ HEAD is now at 9cde605 c⇒9 Conflict; suggest manual merge of 4-3 + grep -q Traceback autofill.out -+ grep -q suggest manual merge of 4-3 autofill.out ++ grep -q 'suggest manual merge of 4-3' autofill.out + git-imerge diagram --commits --frontier --html=imerge1.html 0 5 9 | | | @@ -1513,10 +1653,10 @@ Please resolve the conflict, commit the result, then type git-imerge continue -+ echo merged version ++ echo 'merged version' + git add conflict.txt + git-imerge continue --no-edit -[imerge/c-d a7b0370] imerge 'c-d': manual merge 4-3 +[imerge/c-d 653d1e4] imerge 'c-d': manual merge 4-3 Merge has been recorded for merge 4-3. Attempting automerge of 4-6...success. Autofilling 4-4...success. @@ -1569,61 +1709,62 @@ @ = merge was blocked but has been resolved ? = no merge recorded -+ GIT_EDITOR=cat git-imerge simplify --goal=merge --branch=c-d-merge ++ GIT_EDITOR=cat ++ git-imerge simplify --goal=merge --branch=c-d-merge Merge d into c (using imerge) # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # -# Date: Fri Mar 27 18:26:37 2026 +0000 +# Date: Sat Feb 22 12:06:15 2025 +0000 # # On branch c-d-merge # Changes to be committed: # modified: conflict.txt # modified: d.txt # -[c-d-merge a5ec3ea] Merge d into c (using imerge) - Date: Fri Mar 27 18:26:37 2026 +0000 +[c-d-merge 7e124d6] Merge d into c (using imerge) + Date: Sat Feb 22 12:06:15 2025 +0000 + check_tree c-d-merge ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-merge + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 -+ git rev-parse c-d-merge^{tree} +++ git rev-parse 'c-d-merge^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=rebase --branch=c-d-rebase + check_tree c-d-rebase ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-rebase + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 -+ git rev-parse c-d-rebase^{tree} +++ git rev-parse 'c-d-rebase^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=rebase-with-history --branch=c-d-rebase-with-history + check_tree c-d-rebase-with-history ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-rebase-with-history + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 -+ git rev-parse c-d-rebase-with-history^{tree} +++ git rev-parse 'c-d-rebase-with-history^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border --branch=c-d-border + check_tree c-d-border ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 -+ git rev-parse c-d-border^{tree} +++ git rev-parse 'c-d-border^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border-with-history --branch=c-d-border-with-history + check_tree c-d-border-with-history ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border-with-history + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 -+ git rev-parse c-d-border-with-history^{tree} +++ git rev-parse 'c-d-border-with-history^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border-with-history2 --branch=c-d-border-with-history2 + check_tree c-d-border-with-history2 ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border-with-history2 + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 -+ git rev-parse c-d-border-with-history2^{tree} +++ git rev-parse 'c-d-border-with-history2^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge remove + git checkout c Switched to branch 'c' -+ git-imerge start --goal=full --first-parent --name=c-d d + tee start.out ++ git-imerge start --goal=full --first-parent --name=c-d d Attempting to merge 1-1...success. Attempting to merge 1-2...success. Attempting to merge 1-3...success. @@ -1655,7 +1796,7 @@ Attempting to merge 8-2...success. Attempting to merge 9-1...success. Attempting to merge 9-2...success. -Previous HEAD position was 03a27b6 imerge 'c-d': automatic merge 9-2 +Previous HEAD position was 0a7f157 imerge 'c-d': automatic merge 9-2 Switched to branch 'imerge/c-d' Auto-merging conflict.txt CONFLICT (content): Merge conflict in conflict.txt @@ -1680,7 +1821,7 @@ git-imerge continue + grep -q Traceback start.out -+ grep -q suggest manual merge of 4-3 autofill.out ++ grep -q 'suggest manual merge of 4-3' autofill.out + git-imerge diagram --commits --frontier --html=imerge3.html 0 5 9 | | | @@ -1714,9 +1855,10 @@ @ = merge was blocked but has been resolved ? = no merge recorded -+ echo merged version ++ echo 'merged version' + git add conflict.txt -+ GIT_EDITOR=cat git commit ++ GIT_EDITOR=cat ++ git commit imerge 'c-d': manual merge 4-3 # Conflicts: @@ -1738,8 +1880,8 @@ # modified: conflict.txt # modified: d.txt # -[imerge/c-d 4d6ff56] imerge 'c-d': manual merge 4-3 + git-imerge continue --edit +[imerge/c-d fa6f845] imerge 'c-d': manual merge 4-3 Merge has been recorded for merge 4-3. Attempting to merge 4-4...success. Attempting to merge 4-5...success. @@ -1802,21 +1944,22 @@ + check_tree c-d-full ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-full + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 -+ git rev-parse c-d-full^{tree} +++ git rev-parse 'c-d-full^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + test_conflict 1-1 + local conflict=1-1 + TMP=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-1 -+ DESCRIPTION=git-imerge test repository with conflict at 1-1 -+ init_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-1 git-imerge test repository with conflict at 1-1 ++ DESCRIPTION='git-imerge test repository with conflict at 1-1' ++ init_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-1 'git-imerge test repository with conflict at 1-1' + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-1 -+ local description=git-imerge test repository with conflict at 1-1 -+ delete_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-1 git-imerge test repository with conflict at 1-1 ++ local 'description=git-imerge test repository with conflict at 1-1' ++ delete_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-1 'git-imerge test repository with conflict at 1-1' + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-1 -+ local description=git-imerge test repository with conflict at 1-1 ++ local 'description=git-imerge test repository with conflict at 1-1' + test -d /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-1 + mkdir -p /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-1 + git init /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-1 +Initialized empty Git repository in /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-1/.git/ hint: Using 'master' as the name for the initial branch. This default branch name hint: is subject to change. To configure the initial branch name to use in all hint: of your new repositories, which will suppress this warning, call: @@ -1827,10 +1970,9 @@ hint: 'development'. The just-created branch can be renamed via this command: hint: hint: git branch -m -+ echo git-imerge test repository with conflict at 1-1 -Initialized empty Git repository in /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-1/.git/ -+ printf %s\n /*.out /*.css /*.html -+ git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-1/.git config user.name Loú User ++ echo 'git-imerge test repository with conflict at 1-1' ++ printf '%s\n' '/*.out' '/*.css' '/*.html' ++ git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-1/.git config user.name 'Loú User' + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-1/.git config user.email luser@example.com + TIME=1112911993 + ln -s /build/reproducible-path/git-imerge-1.2.0/imerge.css /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-1 @@ -1845,14 +1987,16 @@ + text=0 + echo 0 + git add d.txt -+ modify conflict.txt original version ++ modify conflict.txt 'original version' + filename=conflict.txt -+ text=original version -+ echo original version ++ text='original version' ++ echo 'original version' + git add conflict.txt -+ commit -m m⇒0 ++ commit -m $'m\342\207\2220' + TIME=1112911994 -+ GIT_AUTHOR_DATE=@1112911994 +0000 GIT_COMMITTER_DATE=@1112911994 +0000 git commit -m m⇒0 ++ GIT_AUTHOR_DATE='@1112911994 +0000' ++ GIT_COMMITTER_DATE='@1112911994 +0000' ++ git commit -m $'m\342\207\2220' [master (root-commit) d70e04b] m⇒0 3 files changed, 3 insertions(+) create mode 100644 c.txt @@ -1860,168 +2004,228 @@ create mode 100644 d.txt + git checkout -b c master -- Switched to a new branch 'c' -+ seq 9 +[c 2120f40] c⇒1 + 2 files changed, 2 insertions(+), 2 deletions(-) +++ seq 9 ++ for i in $(seq 9) + modify c.txt 1 + filename=c.txt + text=1 + echo 1 + git add c.txt -+ modify conflict.txt c version ++ case $conflict in ++ modify conflict.txt 'c version' + filename=conflict.txt -+ text=c version -+ echo c version ++ text='c version' ++ echo 'c version' + git add conflict.txt -+ commit -m c⇒1 ++ commit -m $'c\342\207\2221' + TIME=1112911995 -+ GIT_AUTHOR_DATE=@1112911995 +0000 GIT_COMMITTER_DATE=@1112911995 +0000 git commit -m c⇒1 -[c 2120f40] c⇒1 - 2 files changed, 2 insertions(+), 2 deletions(-) ++ GIT_AUTHOR_DATE='@1112911995 +0000' ++ GIT_COMMITTER_DATE='@1112911995 +0000' ++ git commit -m $'c\342\207\2221' ++ for i in $(seq 9) + modify c.txt 2 + filename=c.txt + text=2 + echo 2 + git add c.txt -+ commit -m c⇒2 ++ case $conflict in ++ commit -m $'c\342\207\2222' + TIME=1112911996 -+ GIT_AUTHOR_DATE=@1112911996 +0000 GIT_COMMITTER_DATE=@1112911996 +0000 git commit -m c⇒2 ++ GIT_AUTHOR_DATE='@1112911996 +0000' ++ GIT_COMMITTER_DATE='@1112911996 +0000' ++ git commit -m $'c\342\207\2222' [c 90cc7de] c⇒2 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 9) + modify c.txt 3 + filename=c.txt + text=3 + echo 3 + git add c.txt -+ commit -m c⇒3 ++ case $conflict in ++ commit -m $'c\342\207\2223' + TIME=1112911997 -+ GIT_AUTHOR_DATE=@1112911997 +0000 GIT_COMMITTER_DATE=@1112911997 +0000 git commit -m c⇒3 ++ GIT_AUTHOR_DATE='@1112911997 +0000' ++ GIT_COMMITTER_DATE='@1112911997 +0000' ++ git commit -m $'c\342\207\2223' [c 2046ed2] c⇒3 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 9) + modify c.txt 4 + filename=c.txt + text=4 + echo 4 + git add c.txt -+ commit -m c⇒4 ++ case $conflict in ++ commit -m $'c\342\207\2224' + TIME=1112911998 -+ GIT_AUTHOR_DATE=@1112911998 +0000 GIT_COMMITTER_DATE=@1112911998 +0000 git commit -m c⇒4 -[c 8a2cee9] c⇒4 - 1 file changed, 1 insertion(+), 1 deletion(-) ++ GIT_AUTHOR_DATE='@1112911998 +0000' ++ GIT_COMMITTER_DATE='@1112911998 +0000' ++ git commit -m $'c\342\207\2224' ++ for i in $(seq 9) + modify c.txt 5 + filename=c.txt + text=5 + echo 5 + git add c.txt -+ commit -m c⇒5 -+ TIME=1112911999 -+ GIT_AUTHOR_DATE=@1112911999 +0000 GIT_COMMITTER_DATE=@1112911999 +0000 git commit -m c⇒5 -[c ac16a05] c⇒5 +[c 8a2cee9] c⇒4 1 file changed, 1 insertion(+), 1 deletion(-) ++ case $conflict in ++ commit -m $'c\342\207\2225' ++ TIME=1112911999 ++ GIT_AUTHOR_DATE='@1112911999 +0000' ++ GIT_COMMITTER_DATE='@1112911999 +0000' ++ git commit -m $'c\342\207\2225' ++ for i in $(seq 9) + modify c.txt 6 + filename=c.txt + text=6 + echo 6 + git add c.txt -+ commit -m c⇒6 +[c ac16a05] c⇒5 + 1 file changed, 1 insertion(+), 1 deletion(-) ++ case $conflict in ++ commit -m $'c\342\207\2226' + TIME=1112912000 -+ GIT_AUTHOR_DATE=@1112912000 +0000 GIT_COMMITTER_DATE=@1112912000 +0000 git commit -m c⇒6 ++ GIT_AUTHOR_DATE='@1112912000 +0000' ++ GIT_COMMITTER_DATE='@1112912000 +0000' ++ git commit -m $'c\342\207\2226' [c 30dd2ae] c⇒6 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 9) + modify c.txt 7 + filename=c.txt + text=7 + echo 7 + git add c.txt -+ commit -m c⇒7 ++ case $conflict in ++ commit -m $'c\342\207\2227' + TIME=1112912001 -+ GIT_AUTHOR_DATE=@1112912001 +0000 GIT_COMMITTER_DATE=@1112912001 +0000 git commit -m c⇒7 ++ GIT_AUTHOR_DATE='@1112912001 +0000' ++ GIT_COMMITTER_DATE='@1112912001 +0000' ++ git commit -m $'c\342\207\2227' [c 0883eb9] c⇒7 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 9) + modify c.txt 8 + filename=c.txt + text=8 + echo 8 + git add c.txt -+ commit -m c⇒8 ++ case $conflict in ++ commit -m $'c\342\207\2228' + TIME=1112912002 -+ GIT_AUTHOR_DATE=@1112912002 +0000 GIT_COMMITTER_DATE=@1112912002 +0000 git commit -m c⇒8 ++ GIT_AUTHOR_DATE='@1112912002 +0000' ++ GIT_COMMITTER_DATE='@1112912002 +0000' ++ git commit -m $'c\342\207\2228' [c f661c06] c⇒8 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 9) + modify c.txt 9 + filename=c.txt + text=9 + echo 9 + git add c.txt -+ commit -m c⇒9 -+ TIME=1112912003 -+ GIT_AUTHOR_DATE=@1112912003 +0000 GIT_COMMITTER_DATE=@1112912003 +0000 git commit -m c⇒9 [c 243e8ed] c⇒9 1 file changed, 1 insertion(+), 1 deletion(-) ++ case $conflict in ++ commit -m $'c\342\207\2229' ++ TIME=1112912003 ++ GIT_AUTHOR_DATE='@1112912003 +0000' ++ GIT_COMMITTER_DATE='@1112912003 +0000' ++ git commit -m $'c\342\207\2229' + git checkout -b d master -- Switched to a new branch 'd' -+ seq 6 +++ seq 6 ++ for i in $(seq 6) + modify d.txt 1 + filename=d.txt + text=1 + echo 1 + git add d.txt -+ modify conflict.txt d version ++ case $conflict in ++ modify conflict.txt 'd version' + filename=conflict.txt -+ text=d version -+ echo d version ++ text='d version' ++ echo 'd version' + git add conflict.txt -+ commit -m d⇒1 ++ commit -m $'d\342\207\2221' + TIME=1112912004 -+ GIT_AUTHOR_DATE=@1112912004 +0000 GIT_COMMITTER_DATE=@1112912004 +0000 git commit -m d⇒1 ++ GIT_AUTHOR_DATE='@1112912004 +0000' ++ GIT_COMMITTER_DATE='@1112912004 +0000' ++ git commit -m $'d\342\207\2221' [d ac0427a] d⇒1 2 files changed, 2 insertions(+), 2 deletions(-) ++ for i in $(seq 6) + modify d.txt 2 + filename=d.txt + text=2 + echo 2 + git add d.txt -+ commit -m d⇒2 ++ case $conflict in ++ commit -m $'d\342\207\2222' + TIME=1112912005 -+ GIT_AUTHOR_DATE=@1112912005 +0000 GIT_COMMITTER_DATE=@1112912005 +0000 git commit -m d⇒2 ++ GIT_AUTHOR_DATE='@1112912005 +0000' ++ GIT_COMMITTER_DATE='@1112912005 +0000' ++ git commit -m $'d\342\207\2222' [d 43c38c0] d⇒2 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 6) + modify d.txt 3 + filename=d.txt + text=3 + echo 3 + git add d.txt -+ commit -m d⇒3 ++ case $conflict in ++ commit -m $'d\342\207\2223' + TIME=1112912006 -+ GIT_AUTHOR_DATE=@1112912006 +0000 GIT_COMMITTER_DATE=@1112912006 +0000 git commit -m d⇒3 ++ GIT_AUTHOR_DATE='@1112912006 +0000' ++ GIT_COMMITTER_DATE='@1112912006 +0000' ++ git commit -m $'d\342\207\2223' [d 0260058] d⇒3 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 6) + modify d.txt 4 + filename=d.txt + text=4 + echo 4 + git add d.txt -+ commit -m d⇒4 ++ case $conflict in ++ commit -m $'d\342\207\2224' + TIME=1112912007 -+ GIT_AUTHOR_DATE=@1112912007 +0000 GIT_COMMITTER_DATE=@1112912007 +0000 git commit -m d⇒4 ++ GIT_AUTHOR_DATE='@1112912007 +0000' ++ GIT_COMMITTER_DATE='@1112912007 +0000' ++ git commit -m $'d\342\207\2224' [d 40fef44] d⇒4 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 6) + modify d.txt 5 + filename=d.txt + text=5 + echo 5 + git add d.txt -+ commit -m d⇒5 ++ case $conflict in ++ commit -m $'d\342\207\2225' + TIME=1112912008 -+ GIT_AUTHOR_DATE=@1112912008 +0000 GIT_COMMITTER_DATE=@1112912008 +0000 git commit -m d⇒5 ++ GIT_AUTHOR_DATE='@1112912008 +0000' ++ GIT_COMMITTER_DATE='@1112912008 +0000' ++ git commit -m $'d\342\207\2225' [d b080a65] d⇒5 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 6) + modify d.txt 6 + filename=d.txt + text=6 + echo 6 + git add d.txt -+ commit -m d⇒6 ++ case $conflict in ++ commit -m $'d\342\207\2226' + TIME=1112912009 -+ GIT_AUTHOR_DATE=@1112912009 +0000 GIT_COMMITTER_DATE=@1112912009 +0000 git commit -m d⇒6 ++ GIT_AUTHOR_DATE='@1112912009 +0000' ++ GIT_COMMITTER_DATE='@1112912009 +0000' ++ git commit -m $'d\342\207\2226' [d 200ce5c] d⇒6 1 file changed, 1 insertion(+), 1 deletion(-) + git checkout c @@ -2069,7 +2273,7 @@ HEAD is now at 243e8ed c⇒9 No progress was possible; suggest manual merge of 1-1 + grep -q Traceback autofill.out -+ grep -q suggest manual merge of 1-1 autofill.out ++ grep -q 'suggest manual merge of 1-1' autofill.out + git-imerge diagram --commits --frontier --html=imerge1.html 0 5 9 | | | @@ -2110,27 +2314,27 @@ Automatic merge failed; fix conflicts and then commit the result. Original first commit: + +Original second commit: commit 2120f40dc39d28052a5279b645124e8ed7e5de73 Author: Loú User Date: Thu Apr 7 22:13:15 2005 +0000 c⇒1 -Original second commit: +There was a conflict merging commit 1-1, shown above. +Please resolve the conflict, commit the result, then type + + git-imerge continue commit ac0427a285b64f2815ebd6eb83880f309600d0c7 Author: Loú User Date: Thu Apr 7 22:13:24 2005 +0000 d⇒1 - -There was a conflict merging commit 1-1, shown above. -Please resolve the conflict, commit the result, then type - - git-imerge continue -+ echo merged version ++ echo 'merged version' + git add conflict.txt + git-imerge continue --no-edit -[imerge/c-d 5e3968e] imerge 'c-d': manual merge 1-1 +[imerge/c-d ea91447] imerge 'c-d': manual merge 1-1 Merge has been recorded for merge 1-1. Attempting automerge of 1-6...success. Autofilling 1-2...success. @@ -2190,61 +2394,62 @@ @ = merge was blocked but has been resolved ? = no merge recorded -+ GIT_EDITOR=cat git-imerge simplify --goal=merge --branch=c-d-merge ++ GIT_EDITOR=cat ++ git-imerge simplify --goal=merge --branch=c-d-merge Merge d into c (using imerge) # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # -# Date: Fri Mar 27 18:26:43 2026 +0000 +# Date: Sat Feb 22 12:06:36 2025 +0000 # # On branch c-d-merge # Changes to be committed: # modified: conflict.txt # modified: d.txt # -[c-d-merge 039bf02] Merge d into c (using imerge) - Date: Fri Mar 27 18:26:43 2026 +0000 +[c-d-merge 1de92cf] Merge d into c (using imerge) + Date: Sat Feb 22 12:06:36 2025 +0000 + check_tree c-d-merge ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-merge + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 -+ git rev-parse c-d-merge^{tree} +++ git rev-parse 'c-d-merge^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=rebase --branch=c-d-rebase + check_tree c-d-rebase ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-rebase + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 -+ git rev-parse c-d-rebase^{tree} +++ git rev-parse 'c-d-rebase^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=rebase-with-history --branch=c-d-rebase-with-history + check_tree c-d-rebase-with-history ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-rebase-with-history + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 -+ git rev-parse c-d-rebase-with-history^{tree} +++ git rev-parse 'c-d-rebase-with-history^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border --branch=c-d-border + check_tree c-d-border ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 -+ git rev-parse c-d-border^{tree} +++ git rev-parse 'c-d-border^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border-with-history --branch=c-d-border-with-history + check_tree c-d-border-with-history ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border-with-history + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 -+ git rev-parse c-d-border-with-history^{tree} +++ git rev-parse 'c-d-border-with-history^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border-with-history2 --branch=c-d-border-with-history2 + check_tree c-d-border-with-history2 ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border-with-history2 + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 -+ git rev-parse c-d-border-with-history2^{tree} +++ git rev-parse 'c-d-border-with-history2^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge remove + git checkout c Switched to branch 'c' -+ git-imerge start --goal=full --first-parent --name=c-d d + tee start.out ++ git-imerge start --goal=full --first-parent --name=c-d d Attempting to merge 1-1...conflict. Switched to branch 'imerge/c-d' Auto-merging conflict.txt @@ -2270,7 +2475,7 @@ git-imerge continue + grep -q Traceback start.out -+ grep -q suggest manual merge of 1-1 autofill.out ++ grep -q 'suggest manual merge of 1-1' autofill.out + git-imerge diagram --commits --frontier --html=imerge3.html 0 5 9 | | | @@ -2304,9 +2509,10 @@ @ = merge was blocked but has been resolved ? = no merge recorded -+ echo merged version ++ echo 'merged version' + git add conflict.txt -+ GIT_EDITOR=cat git commit ++ GIT_EDITOR=cat ++ git commit imerge 'c-d': manual merge 1-1 # Conflicts: @@ -2328,7 +2534,7 @@ # modified: conflict.txt # modified: d.txt # -[imerge/c-d 854e1c5] imerge 'c-d': manual merge 1-1 +[imerge/c-d 760658e] imerge 'c-d': manual merge 1-1 + git-imerge continue --edit Merge has been recorded for merge 1-1. Attempting to merge 1-2...success. @@ -2422,20 +2628,21 @@ + check_tree c-d-full ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-full + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 -+ git rev-parse c-d-full^{tree} +++ git rev-parse 'c-d-full^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + test_conflict 9-1 + local conflict=9-1 + TMP=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-1 -+ DESCRIPTION=git-imerge test repository with conflict at 9-1 -+ init_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-1 git-imerge test repository with conflict at 9-1 ++ DESCRIPTION='git-imerge test repository with conflict at 9-1' ++ init_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-1 'git-imerge test repository with conflict at 9-1' + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-1 -+ local description=git-imerge test repository with conflict at 9-1 -+ delete_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-1 git-imerge test repository with conflict at 9-1 ++ local 'description=git-imerge test repository with conflict at 9-1' ++ delete_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-1 'git-imerge test repository with conflict at 9-1' + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-1 -+ local description=git-imerge test repository with conflict at 9-1 ++ local 'description=git-imerge test repository with conflict at 9-1' + test -d /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-1 + mkdir -p /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-1 +Initialized empty Git repository in /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-1/.git/ + git init /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-1 hint: Using 'master' as the name for the initial branch. This default branch name hint: is subject to change. To configure the initial branch name to use in all @@ -2447,10 +2654,9 @@ hint: 'development'. The just-created branch can be renamed via this command: hint: hint: git branch -m -Initialized empty Git repository in /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-1/.git/ -+ echo git-imerge test repository with conflict at 9-1 -+ printf %s\n /*.out /*.css /*.html -+ git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-1/.git config user.name Loú User ++ echo 'git-imerge test repository with conflict at 9-1' ++ printf '%s\n' '/*.out' '/*.css' '/*.html' ++ git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-1/.git config user.name 'Loú User' + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-1/.git config user.email luser@example.com + TIME=1112911993 + ln -s /build/reproducible-path/git-imerge-1.2.0/imerge.css /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-1 @@ -2465,14 +2671,16 @@ + text=0 + echo 0 + git add d.txt -+ modify conflict.txt original version ++ modify conflict.txt 'original version' + filename=conflict.txt -+ text=original version -+ echo original version ++ text='original version' ++ echo 'original version' + git add conflict.txt -+ commit -m m⇒0 ++ commit -m $'m\342\207\2220' + TIME=1112911994 -+ GIT_AUTHOR_DATE=@1112911994 +0000 GIT_COMMITTER_DATE=@1112911994 +0000 git commit -m m⇒0 ++ GIT_AUTHOR_DATE='@1112911994 +0000' ++ GIT_COMMITTER_DATE='@1112911994 +0000' ++ git commit -m $'m\342\207\2220' [master (root-commit) d70e04b] m⇒0 3 files changed, 3 insertions(+) create mode 100644 c.txt @@ -2480,168 +2688,228 @@ create mode 100644 d.txt + git checkout -b c master -- Switched to a new branch 'c' -+ seq 9 +++ seq 9 ++ for i in $(seq 9) + modify c.txt 1 + filename=c.txt + text=1 + echo 1 + git add c.txt -+ commit -m c⇒1 ++ case $conflict in ++ commit -m $'c\342\207\2221' + TIME=1112911995 -+ GIT_AUTHOR_DATE=@1112911995 +0000 GIT_COMMITTER_DATE=@1112911995 +0000 git commit -m c⇒1 ++ GIT_AUTHOR_DATE='@1112911995 +0000' ++ GIT_COMMITTER_DATE='@1112911995 +0000' ++ git commit -m $'c\342\207\2221' [c 89e2141] c⇒1 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 9) + modify c.txt 2 + filename=c.txt + text=2 + echo 2 + git add c.txt -+ commit -m c⇒2 ++ case $conflict in ++ commit -m $'c\342\207\2222' + TIME=1112911996 -+ GIT_AUTHOR_DATE=@1112911996 +0000 GIT_COMMITTER_DATE=@1112911996 +0000 git commit -m c⇒2 ++ GIT_AUTHOR_DATE='@1112911996 +0000' ++ GIT_COMMITTER_DATE='@1112911996 +0000' ++ git commit -m $'c\342\207\2222' [c 7c431f2] c⇒2 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 9) + modify c.txt 3 + filename=c.txt + text=3 + echo 3 + git add c.txt -+ commit -m c⇒3 ++ case $conflict in ++ commit -m $'c\342\207\2223' + TIME=1112911997 -+ GIT_AUTHOR_DATE=@1112911997 +0000 GIT_COMMITTER_DATE=@1112911997 +0000 git commit -m c⇒3 ++ GIT_AUTHOR_DATE='@1112911997 +0000' ++ GIT_COMMITTER_DATE='@1112911997 +0000' ++ git commit -m $'c\342\207\2223' [c f02ab24] c⇒3 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 9) + modify c.txt 4 + filename=c.txt + text=4 + echo 4 + git add c.txt -+ commit -m c⇒4 ++ case $conflict in ++ commit -m $'c\342\207\2224' + TIME=1112911998 -+ GIT_AUTHOR_DATE=@1112911998 +0000 GIT_COMMITTER_DATE=@1112911998 +0000 git commit -m c⇒4 ++ GIT_AUTHOR_DATE='@1112911998 +0000' ++ GIT_COMMITTER_DATE='@1112911998 +0000' ++ git commit -m $'c\342\207\2224' [c ed9122f] c⇒4 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 9) + modify c.txt 5 + filename=c.txt + text=5 + echo 5 + git add c.txt -+ commit -m c⇒5 ++ case $conflict in ++ commit -m $'c\342\207\2225' + TIME=1112911999 -+ GIT_AUTHOR_DATE=@1112911999 +0000 GIT_COMMITTER_DATE=@1112911999 +0000 git commit -m c⇒5 ++ GIT_AUTHOR_DATE='@1112911999 +0000' ++ GIT_COMMITTER_DATE='@1112911999 +0000' ++ git commit -m $'c\342\207\2225' [c 1d3bf09] c⇒5 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 9) + modify c.txt 6 + filename=c.txt + text=6 + echo 6 + git add c.txt -+ commit -m c⇒6 ++ case $conflict in ++ commit -m $'c\342\207\2226' + TIME=1112912000 -+ GIT_AUTHOR_DATE=@1112912000 +0000 GIT_COMMITTER_DATE=@1112912000 +0000 git commit -m c⇒6 ++ GIT_AUTHOR_DATE='@1112912000 +0000' ++ GIT_COMMITTER_DATE='@1112912000 +0000' ++ git commit -m $'c\342\207\2226' [c f999ecd] c⇒6 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 9) + modify c.txt 7 + filename=c.txt + text=7 + echo 7 + git add c.txt -+ commit -m c⇒7 ++ case $conflict in ++ commit -m $'c\342\207\2227' + TIME=1112912001 -+ GIT_AUTHOR_DATE=@1112912001 +0000 GIT_COMMITTER_DATE=@1112912001 +0000 git commit -m c⇒7 ++ GIT_AUTHOR_DATE='@1112912001 +0000' ++ GIT_COMMITTER_DATE='@1112912001 +0000' ++ git commit -m $'c\342\207\2227' [c 7050a8a] c⇒7 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 9) + modify c.txt 8 + filename=c.txt + text=8 + echo 8 + git add c.txt -+ commit -m c⇒8 ++ case $conflict in ++ commit -m $'c\342\207\2228' + TIME=1112912002 -+ GIT_AUTHOR_DATE=@1112912002 +0000 GIT_COMMITTER_DATE=@1112912002 +0000 git commit -m c⇒8 -[c 9732e77] c⇒8 - 1 file changed, 1 insertion(+), 1 deletion(-) ++ GIT_AUTHOR_DATE='@1112912002 +0000' ++ GIT_COMMITTER_DATE='@1112912002 +0000' ++ git commit -m $'c\342\207\2228' ++ for i in $(seq 9) + modify c.txt 9 + filename=c.txt + text=9 + echo 9 + git add c.txt -+ modify conflict.txt c version ++ case $conflict in ++ modify conflict.txt 'c version' + filename=conflict.txt -+ text=c version -+ echo c version ++ text='c version' ++ echo 'c version' + git add conflict.txt -+ commit -m c⇒9 +[c 9732e77] c⇒8 + 1 file changed, 1 insertion(+), 1 deletion(-) ++ commit -m $'c\342\207\2229' + TIME=1112912003 -+ GIT_AUTHOR_DATE=@1112912003 +0000 GIT_COMMITTER_DATE=@1112912003 +0000 git commit -m c⇒9 ++ GIT_AUTHOR_DATE='@1112912003 +0000' ++ GIT_COMMITTER_DATE='@1112912003 +0000' ++ git commit -m $'c\342\207\2229' [c 73a5eed] c⇒9 2 files changed, 2 insertions(+), 2 deletions(-) + git checkout -b d master -- Switched to a new branch 'd' -+ seq 6 +++ seq 6 ++ for i in $(seq 6) + modify d.txt 1 + filename=d.txt + text=1 + echo 1 + git add d.txt -+ modify conflict.txt d version ++ case $conflict in ++ modify conflict.txt 'd version' + filename=conflict.txt -+ text=d version -+ echo d version ++ text='d version' ++ echo 'd version' + git add conflict.txt -+ commit -m d⇒1 ++ commit -m $'d\342\207\2221' + TIME=1112912004 -+ GIT_AUTHOR_DATE=@1112912004 +0000 GIT_COMMITTER_DATE=@1112912004 +0000 git commit -m d⇒1 ++ GIT_AUTHOR_DATE='@1112912004 +0000' ++ GIT_COMMITTER_DATE='@1112912004 +0000' ++ git commit -m $'d\342\207\2221' [d ac0427a] d⇒1 2 files changed, 2 insertions(+), 2 deletions(-) ++ for i in $(seq 6) + modify d.txt 2 + filename=d.txt + text=2 + echo 2 + git add d.txt -+ commit -m d⇒2 ++ case $conflict in ++ commit -m $'d\342\207\2222' + TIME=1112912005 -+ GIT_AUTHOR_DATE=@1112912005 +0000 GIT_COMMITTER_DATE=@1112912005 +0000 git commit -m d⇒2 ++ GIT_AUTHOR_DATE='@1112912005 +0000' ++ GIT_COMMITTER_DATE='@1112912005 +0000' ++ git commit -m $'d\342\207\2222' [d 43c38c0] d⇒2 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 6) + modify d.txt 3 + filename=d.txt + text=3 + echo 3 + git add d.txt -+ commit -m d⇒3 ++ case $conflict in ++ commit -m $'d\342\207\2223' + TIME=1112912006 -+ GIT_AUTHOR_DATE=@1112912006 +0000 GIT_COMMITTER_DATE=@1112912006 +0000 git commit -m d⇒3 ++ GIT_AUTHOR_DATE='@1112912006 +0000' ++ GIT_COMMITTER_DATE='@1112912006 +0000' ++ git commit -m $'d\342\207\2223' [d 0260058] d⇒3 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 6) + modify d.txt 4 + filename=d.txt + text=4 + echo 4 + git add d.txt -+ commit -m d⇒4 -+ TIME=1112912007 -+ GIT_AUTHOR_DATE=@1112912007 +0000 GIT_COMMITTER_DATE=@1112912007 +0000 git commit -m d⇒4 [d 40fef44] d⇒4 1 file changed, 1 insertion(+), 1 deletion(-) ++ case $conflict in ++ commit -m $'d\342\207\2224' ++ TIME=1112912007 ++ GIT_AUTHOR_DATE='@1112912007 +0000' ++ GIT_COMMITTER_DATE='@1112912007 +0000' ++ git commit -m $'d\342\207\2224' ++ for i in $(seq 6) + modify d.txt 5 + filename=d.txt + text=5 + echo 5 + git add d.txt -+ commit -m d⇒5 ++ case $conflict in ++ commit -m $'d\342\207\2225' + TIME=1112912008 -+ GIT_AUTHOR_DATE=@1112912008 +0000 GIT_COMMITTER_DATE=@1112912008 +0000 git commit -m d⇒5 ++ GIT_AUTHOR_DATE='@1112912008 +0000' ++ GIT_COMMITTER_DATE='@1112912008 +0000' ++ git commit -m $'d\342\207\2225' [d b080a65] d⇒5 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 6) + modify d.txt 6 + filename=d.txt + text=6 + echo 6 + git add d.txt -+ commit -m d⇒6 ++ case $conflict in ++ commit -m $'d\342\207\2226' + TIME=1112912009 -+ GIT_AUTHOR_DATE=@1112912009 +0000 GIT_COMMITTER_DATE=@1112912009 +0000 git commit -m d⇒6 ++ GIT_AUTHOR_DATE='@1112912009 +0000' ++ GIT_COMMITTER_DATE='@1112912009 +0000' ++ git commit -m $'d\342\207\2226' [d 200ce5c] d⇒6 1 file changed, 1 insertion(+), 1 deletion(-) + git checkout c @@ -2714,7 +2982,7 @@ HEAD is now at 73a5eed c⇒9 Conflict; suggest manual merge of 9-1 + grep -q Traceback autofill.out -+ grep -q suggest manual merge of 9-1 autofill.out ++ grep -q 'suggest manual merge of 9-1' autofill.out + git-imerge diagram --commits --frontier --html=imerge1.html 0 5 9 | | | @@ -2755,27 +3023,27 @@ Automatic merge failed; fix conflicts and then commit the result. Original first commit: + +Original second commit: commit 73a5eedb087a0f656d730831b8def7943b40f3cf Author: Loú User Date: Thu Apr 7 22:13:23 2005 +0000 c⇒9 -Original second commit: +There was a conflict merging commit 9-1, shown above. +Please resolve the conflict, commit the result, then type + + git-imerge continue commit ac0427a285b64f2815ebd6eb83880f309600d0c7 Author: Loú User Date: Thu Apr 7 22:13:24 2005 +0000 d⇒1 - -There was a conflict merging commit 9-1, shown above. -Please resolve the conflict, commit the result, then type - - git-imerge continue -+ echo merged version ++ echo 'merged version' + git add conflict.txt + git-imerge continue --no-edit -[imerge/c-d 4d7dc5d] imerge 'c-d': manual merge 9-1 +[imerge/c-d 834aa96] imerge 'c-d': manual merge 9-1 Merge has been recorded for merge 9-1. Attempting automerge of 9-6...success. Autofilling 9-2...success. @@ -2818,55 +3086,56 @@ @ = merge was blocked but has been resolved ? = no merge recorded -+ GIT_EDITOR=cat git-imerge simplify --goal=merge --branch=c-d-merge ++ GIT_EDITOR=cat ++ git-imerge simplify --goal=merge --branch=c-d-merge Merge d into c (using imerge) # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # -# Date: Fri Mar 27 18:26:50 2026 +0000 +# Date: Sat Feb 22 12:06:59 2025 +0000 # # On branch c-d-merge # Changes to be committed: # modified: conflict.txt # modified: d.txt # -[c-d-merge 881a356] Merge d into c (using imerge) - Date: Fri Mar 27 18:26:50 2026 +0000 +[c-d-merge af3cfa3] Merge d into c (using imerge) + Date: Sat Feb 22 12:06:59 2025 +0000 + check_tree c-d-merge ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-merge + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 -+ git rev-parse c-d-merge^{tree} +++ git rev-parse 'c-d-merge^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=rebase --branch=c-d-rebase + check_tree c-d-rebase ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-rebase + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 -+ git rev-parse c-d-rebase^{tree} +++ git rev-parse 'c-d-rebase^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=rebase-with-history --branch=c-d-rebase-with-history + check_tree c-d-rebase-with-history ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-rebase-with-history + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 -+ git rev-parse c-d-rebase-with-history^{tree} +++ git rev-parse 'c-d-rebase-with-history^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border --branch=c-d-border + check_tree c-d-border ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 -+ git rev-parse c-d-border^{tree} +++ git rev-parse 'c-d-border^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border-with-history --branch=c-d-border-with-history + check_tree c-d-border-with-history ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border-with-history + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 -+ git rev-parse c-d-border-with-history^{tree} +++ git rev-parse 'c-d-border-with-history^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border-with-history2 --branch=c-d-border-with-history2 + check_tree c-d-border-with-history2 ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border-with-history2 + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 -+ git rev-parse c-d-border-with-history2^{tree} +++ git rev-parse 'c-d-border-with-history2^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge remove + git checkout c @@ -2946,7 +3215,7 @@ git-imerge continue + grep -q Traceback start.out -+ grep -q suggest manual merge of 9-1 autofill.out ++ grep -q 'suggest manual merge of 9-1' autofill.out + git-imerge diagram --commits --frontier --html=imerge3.html 0 5 9 | | | @@ -2980,9 +3249,10 @@ @ = merge was blocked but has been resolved ? = no merge recorded -+ echo merged version ++ echo 'merged version' + git add conflict.txt -+ GIT_EDITOR=cat git commit ++ GIT_EDITOR=cat ++ git commit imerge 'c-d': manual merge 9-1 # Conflicts: @@ -3004,7 +3274,7 @@ # modified: conflict.txt # modified: d.txt # -[imerge/c-d 8d600bb] imerge 'c-d': manual merge 9-1 +[imerge/c-d 8f29cf1] imerge 'c-d': manual merge 9-1 + git-imerge continue --edit Merge has been recorded for merge 9-1. Attempting to merge 9-2...success. @@ -3050,22 +3320,22 @@ + check_tree c-d-full ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-full + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 -+ git rev-parse c-d-full^{tree} +++ git rev-parse 'c-d-full^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + test_conflict 1-6 + local conflict=1-6 + TMP=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-6 -+ DESCRIPTION=git-imerge test repository with conflict at 1-6 -+ init_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-6 git-imerge test repository with conflict at 1-6 ++ DESCRIPTION='git-imerge test repository with conflict at 1-6' ++ init_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-6 'git-imerge test repository with conflict at 1-6' + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-6 -+ local description=git-imerge test repository with conflict at 1-6 -+ delete_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-6 git-imerge test repository with conflict at 1-6 ++ local 'description=git-imerge test repository with conflict at 1-6' ++ delete_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-6 'git-imerge test repository with conflict at 1-6' + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-6 -+ local description=git-imerge test repository with conflict at 1-6 -Initialized empty Git repository in /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-6/.git/ ++ local 'description=git-imerge test repository with conflict at 1-6' + test -d /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-6 + mkdir -p /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-6 + git init /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-6 +Initialized empty Git repository in /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-6/.git/ hint: Using 'master' as the name for the initial branch. This default branch name hint: is subject to change. To configure the initial branch name to use in all hint: of your new repositories, which will suppress this warning, call: @@ -3076,9 +3346,9 @@ hint: 'development'. The just-created branch can be renamed via this command: hint: hint: git branch -m -+ echo git-imerge test repository with conflict at 1-6 -+ printf %s\n /*.out /*.css /*.html -+ git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-6/.git config user.name Loú User ++ echo 'git-imerge test repository with conflict at 1-6' ++ printf '%s\n' '/*.out' '/*.css' '/*.html' ++ git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-6/.git config user.name 'Loú User' + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-6/.git config user.email luser@example.com + TIME=1112911993 + ln -s /build/reproducible-path/git-imerge-1.2.0/imerge.css /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-6 @@ -3093,14 +3363,16 @@ + text=0 + echo 0 + git add d.txt -+ modify conflict.txt original version ++ modify conflict.txt 'original version' + filename=conflict.txt -+ text=original version -+ echo original version ++ text='original version' ++ echo 'original version' + git add conflict.txt -+ commit -m m⇒0 ++ commit -m $'m\342\207\2220' + TIME=1112911994 -+ GIT_AUTHOR_DATE=@1112911994 +0000 GIT_COMMITTER_DATE=@1112911994 +0000 git commit -m m⇒0 ++ GIT_AUTHOR_DATE='@1112911994 +0000' ++ GIT_COMMITTER_DATE='@1112911994 +0000' ++ git commit -m $'m\342\207\2220' [master (root-commit) d70e04b] m⇒0 3 files changed, 3 insertions(+) create mode 100644 c.txt @@ -3108,168 +3380,228 @@ create mode 100644 d.txt + git checkout -b c master -- Switched to a new branch 'c' -+ seq 9 +++ seq 9 ++ for i in $(seq 9) + modify c.txt 1 + filename=c.txt + text=1 + echo 1 + git add c.txt -+ modify conflict.txt c version ++ case $conflict in ++ modify conflict.txt 'c version' + filename=conflict.txt -+ text=c version -+ echo c version ++ text='c version' ++ echo 'c version' + git add conflict.txt -+ commit -m c⇒1 ++ commit -m $'c\342\207\2221' + TIME=1112911995 -+ GIT_AUTHOR_DATE=@1112911995 +0000 GIT_COMMITTER_DATE=@1112911995 +0000 git commit -m c⇒1 ++ GIT_AUTHOR_DATE='@1112911995 +0000' ++ GIT_COMMITTER_DATE='@1112911995 +0000' ++ git commit -m $'c\342\207\2221' [c 2120f40] c⇒1 2 files changed, 2 insertions(+), 2 deletions(-) ++ for i in $(seq 9) + modify c.txt 2 + filename=c.txt + text=2 + echo 2 + git add c.txt -+ commit -m c⇒2 ++ case $conflict in ++ commit -m $'c\342\207\2222' + TIME=1112911996 -+ GIT_AUTHOR_DATE=@1112911996 +0000 GIT_COMMITTER_DATE=@1112911996 +0000 git commit -m c⇒2 ++ GIT_AUTHOR_DATE='@1112911996 +0000' ++ GIT_COMMITTER_DATE='@1112911996 +0000' ++ git commit -m $'c\342\207\2222' +[c 90cc7de] c⇒2 + 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 9) + modify c.txt 3 + filename=c.txt + text=3 + echo 3 + git add c.txt -+ commit -m c⇒3 ++ case $conflict in ++ commit -m $'c\342\207\2223' + TIME=1112911997 -+ GIT_AUTHOR_DATE=@1112911997 +0000 GIT_COMMITTER_DATE=@1112911997 +0000 git commit -m c⇒3 -[c 90cc7de] c⇒2 ++ GIT_AUTHOR_DATE='@1112911997 +0000' ++ GIT_COMMITTER_DATE='@1112911997 +0000' ++ git commit -m $'c\342\207\2223' +[c 2046ed2] c⇒3 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 9) + modify c.txt 4 + filename=c.txt + text=4 + echo 4 + git add c.txt -[c 2046ed2] c⇒3 - 1 file changed, 1 insertion(+), 1 deletion(-) -+ commit -m c⇒4 ++ case $conflict in ++ commit -m $'c\342\207\2224' + TIME=1112911998 -+ GIT_AUTHOR_DATE=@1112911998 +0000 GIT_COMMITTER_DATE=@1112911998 +0000 git commit -m c⇒4 ++ GIT_AUTHOR_DATE='@1112911998 +0000' ++ GIT_COMMITTER_DATE='@1112911998 +0000' ++ git commit -m $'c\342\207\2224' [c 8a2cee9] c⇒4 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 9) + modify c.txt 5 + filename=c.txt + text=5 + echo 5 + git add c.txt -+ commit -m c⇒5 ++ case $conflict in ++ commit -m $'c\342\207\2225' + TIME=1112911999 -+ GIT_AUTHOR_DATE=@1112911999 +0000 GIT_COMMITTER_DATE=@1112911999 +0000 git commit -m c⇒5 ++ GIT_AUTHOR_DATE='@1112911999 +0000' ++ GIT_COMMITTER_DATE='@1112911999 +0000' ++ git commit -m $'c\342\207\2225' [c ac16a05] c⇒5 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 9) + modify c.txt 6 + filename=c.txt + text=6 + echo 6 + git add c.txt -+ commit -m c⇒6 ++ case $conflict in ++ commit -m $'c\342\207\2226' + TIME=1112912000 -+ GIT_AUTHOR_DATE=@1112912000 +0000 GIT_COMMITTER_DATE=@1112912000 +0000 git commit -m c⇒6 ++ GIT_AUTHOR_DATE='@1112912000 +0000' ++ GIT_COMMITTER_DATE='@1112912000 +0000' ++ git commit -m $'c\342\207\2226' [c 30dd2ae] c⇒6 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 9) + modify c.txt 7 + filename=c.txt + text=7 + echo 7 + git add c.txt -+ commit -m c⇒7 ++ case $conflict in ++ commit -m $'c\342\207\2227' + TIME=1112912001 -+ GIT_AUTHOR_DATE=@1112912001 +0000 GIT_COMMITTER_DATE=@1112912001 +0000 git commit -m c⇒7 ++ GIT_AUTHOR_DATE='@1112912001 +0000' ++ GIT_COMMITTER_DATE='@1112912001 +0000' ++ git commit -m $'c\342\207\2227' [c 0883eb9] c⇒7 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 9) + modify c.txt 8 + filename=c.txt + text=8 + echo 8 + git add c.txt -+ commit -m c⇒8 ++ case $conflict in ++ commit -m $'c\342\207\2228' + TIME=1112912002 -+ GIT_AUTHOR_DATE=@1112912002 +0000 GIT_COMMITTER_DATE=@1112912002 +0000 git commit -m c⇒8 ++ GIT_AUTHOR_DATE='@1112912002 +0000' ++ GIT_COMMITTER_DATE='@1112912002 +0000' ++ git commit -m $'c\342\207\2228' [c f661c06] c⇒8 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 9) + modify c.txt 9 + filename=c.txt + text=9 + echo 9 + git add c.txt -+ commit -m c⇒9 ++ case $conflict in ++ commit -m $'c\342\207\2229' + TIME=1112912003 -+ GIT_AUTHOR_DATE=@1112912003 +0000 GIT_COMMITTER_DATE=@1112912003 +0000 git commit -m c⇒9 ++ GIT_AUTHOR_DATE='@1112912003 +0000' ++ GIT_COMMITTER_DATE='@1112912003 +0000' ++ git commit -m $'c\342\207\2229' [c 243e8ed] c⇒9 1 file changed, 1 insertion(+), 1 deletion(-) + git checkout -b d master -- Switched to a new branch 'd' -+ seq 6 +++ seq 6 ++ for i in $(seq 6) + modify d.txt 1 + filename=d.txt + text=1 + echo 1 + git add d.txt -+ commit -m d⇒1 ++ case $conflict in ++ commit -m $'d\342\207\2221' + TIME=1112912004 -+ GIT_AUTHOR_DATE=@1112912004 +0000 GIT_COMMITTER_DATE=@1112912004 +0000 git commit -m d⇒1 ++ GIT_AUTHOR_DATE='@1112912004 +0000' ++ GIT_COMMITTER_DATE='@1112912004 +0000' ++ git commit -m $'d\342\207\2221' [d bd5368a] d⇒1 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 6) + modify d.txt 2 + filename=d.txt + text=2 + echo 2 + git add d.txt -+ commit -m d⇒2 ++ case $conflict in ++ commit -m $'d\342\207\2222' + TIME=1112912005 -+ GIT_AUTHOR_DATE=@1112912005 +0000 GIT_COMMITTER_DATE=@1112912005 +0000 git commit -m d⇒2 ++ GIT_AUTHOR_DATE='@1112912005 +0000' ++ GIT_COMMITTER_DATE='@1112912005 +0000' ++ git commit -m $'d\342\207\2222' +[d 93e27e6] d⇒2 + 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 6) + modify d.txt 3 + filename=d.txt + text=3 + echo 3 + git add d.txt -[d 93e27e6] d⇒2 - 1 file changed, 1 insertion(+), 1 deletion(-) -+ commit -m d⇒3 ++ case $conflict in ++ commit -m $'d\342\207\2223' + TIME=1112912006 -+ GIT_AUTHOR_DATE=@1112912006 +0000 GIT_COMMITTER_DATE=@1112912006 +0000 git commit -m d⇒3 -[d 133f385] d⇒3 - 1 file changed, 1 insertion(+), 1 deletion(-) ++ GIT_AUTHOR_DATE='@1112912006 +0000' ++ GIT_COMMITTER_DATE='@1112912006 +0000' ++ git commit -m $'d\342\207\2223' ++ for i in $(seq 6) + modify d.txt 4 + filename=d.txt + text=4 + echo 4 + git add d.txt -+ commit -m d⇒4 +[d 133f385] d⇒3 + 1 file changed, 1 insertion(+), 1 deletion(-) ++ case $conflict in ++ commit -m $'d\342\207\2224' + TIME=1112912007 -+ GIT_AUTHOR_DATE=@1112912007 +0000 GIT_COMMITTER_DATE=@1112912007 +0000 git commit -m d⇒4 ++ GIT_AUTHOR_DATE='@1112912007 +0000' ++ GIT_COMMITTER_DATE='@1112912007 +0000' ++ git commit -m $'d\342\207\2224' [d 586472a] d⇒4 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 6) + modify d.txt 5 + filename=d.txt + text=5 + echo 5 + git add d.txt -+ commit -m d⇒5 ++ case $conflict in ++ commit -m $'d\342\207\2225' + TIME=1112912008 -+ GIT_AUTHOR_DATE=@1112912008 +0000 GIT_COMMITTER_DATE=@1112912008 +0000 git commit -m d⇒5 ++ GIT_AUTHOR_DATE='@1112912008 +0000' ++ GIT_COMMITTER_DATE='@1112912008 +0000' ++ git commit -m $'d\342\207\2225' [d 9522207] d⇒5 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 6) + modify d.txt 6 + filename=d.txt + text=6 + echo 6 + git add d.txt -+ modify conflict.txt d version ++ case $conflict in ++ modify conflict.txt 'd version' + filename=conflict.txt -+ text=d version -+ echo d version ++ text='d version' ++ echo 'd version' + git add conflict.txt -+ commit -m d⇒6 ++ commit -m $'d\342\207\2226' + TIME=1112912009 -+ GIT_AUTHOR_DATE=@1112912009 +0000 GIT_COMMITTER_DATE=@1112912009 +0000 git commit -m d⇒6 ++ GIT_AUTHOR_DATE='@1112912009 +0000' ++ GIT_COMMITTER_DATE='@1112912009 +0000' ++ git commit -m $'d\342\207\2226' [d f7e451a] d⇒6 2 files changed, 2 insertions(+), 2 deletions(-) + git checkout c @@ -3339,7 +3671,7 @@ HEAD is now at 243e8ed c⇒9 Conflict; suggest manual merge of 1-6 + grep -q Traceback autofill.out -+ grep -q suggest manual merge of 1-6 autofill.out ++ grep -q 'suggest manual merge of 1-6' autofill.out + git-imerge diagram --commits --frontier --html=imerge1.html 0 5 9 | | | @@ -3397,10 +3729,10 @@ Date: Thu Apr 7 22:13:29 2005 +0000 d⇒6 -+ echo merged version ++ echo 'merged version' + git add conflict.txt + git-imerge continue --no-edit -[imerge/c-d f2a0104] imerge 'c-d': manual merge 1-6 +[imerge/c-d 91f1a19] imerge 'c-d': manual merge 1-6 Merge has been recorded for merge 1-6. Attempting automerge of 9-6...success. Autofilling 2-6...success. @@ -3446,55 +3778,56 @@ @ = merge was blocked but has been resolved ? = no merge recorded -+ GIT_EDITOR=cat git-imerge simplify --goal=merge --branch=c-d-merge ++ GIT_EDITOR=cat ++ git-imerge simplify --goal=merge --branch=c-d-merge Merge d into c (using imerge) # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # -# Date: Fri Mar 27 18:26:57 2026 +0000 +# Date: Sat Feb 22 12:07:21 2025 +0000 # # On branch c-d-merge # Changes to be committed: # modified: conflict.txt # modified: d.txt # -[c-d-merge 97db426] Merge d into c (using imerge) - Date: Fri Mar 27 18:26:57 2026 +0000 +[c-d-merge 963f7cb] Merge d into c (using imerge) + Date: Sat Feb 22 12:07:21 2025 +0000 + check_tree c-d-merge ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-merge + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 -+ git rev-parse c-d-merge^{tree} +++ git rev-parse 'c-d-merge^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=rebase --branch=c-d-rebase + check_tree c-d-rebase ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-rebase + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 -+ git rev-parse c-d-rebase^{tree} +++ git rev-parse 'c-d-rebase^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=rebase-with-history --branch=c-d-rebase-with-history + check_tree c-d-rebase-with-history ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-rebase-with-history + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 -+ git rev-parse c-d-rebase-with-history^{tree} +++ git rev-parse 'c-d-rebase-with-history^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border --branch=c-d-border + check_tree c-d-border ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 -+ git rev-parse c-d-border^{tree} +++ git rev-parse 'c-d-border^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border-with-history --branch=c-d-border-with-history + check_tree c-d-border-with-history ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border-with-history + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 -+ git rev-parse c-d-border-with-history^{tree} +++ git rev-parse 'c-d-border-with-history^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border-with-history2 --branch=c-d-border-with-history2 + check_tree c-d-border-with-history2 ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border-with-history2 + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 -+ git rev-parse c-d-border-with-history2^{tree} +++ git rev-parse 'c-d-border-with-history2^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge remove + git checkout c @@ -3547,7 +3880,7 @@ Attempting to merge 9-3...success. Attempting to merge 9-4...success. Attempting to merge 9-5...success. -Previous HEAD position was 2748734 imerge 'c-d': automatic merge 9-5 +Previous HEAD position was 740b433 imerge 'c-d': automatic merge 9-5 Switched to branch 'imerge/c-d' Auto-merging conflict.txt CONFLICT (content): Merge conflict in conflict.txt @@ -3572,7 +3905,7 @@ git-imerge continue + grep -q Traceback start.out -+ grep -q suggest manual merge of 1-6 autofill.out ++ grep -q 'suggest manual merge of 1-6' autofill.out + git-imerge diagram --commits --frontier --html=imerge3.html 0 5 9 | | | @@ -3606,9 +3939,10 @@ @ = merge was blocked but has been resolved ? = no merge recorded -+ echo merged version ++ echo 'merged version' + git add conflict.txt -+ GIT_EDITOR=cat git commit ++ GIT_EDITOR=cat ++ git commit imerge 'c-d': manual merge 1-6 # Conflicts: @@ -3630,7 +3964,7 @@ # modified: conflict.txt # modified: d.txt # -[imerge/c-d ce7bf24] imerge 'c-d': manual merge 1-6 +[imerge/c-d 04ddec1] imerge 'c-d': manual merge 1-6 + git-imerge continue --edit Merge has been recorded for merge 1-6. Attempting to merge 2-6...success. @@ -3679,18 +4013,18 @@ + check_tree c-d-full ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-full + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 -+ git rev-parse c-d-full^{tree} +++ git rev-parse 'c-d-full^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + test_conflict 9-6 + local conflict=9-6 + TMP=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-6 -+ DESCRIPTION=git-imerge test repository with conflict at 9-6 -+ init_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-6 git-imerge test repository with conflict at 9-6 ++ DESCRIPTION='git-imerge test repository with conflict at 9-6' ++ init_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-6 'git-imerge test repository with conflict at 9-6' + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-6 -+ local description=git-imerge test repository with conflict at 9-6 -+ delete_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-6 git-imerge test repository with conflict at 9-6 ++ local 'description=git-imerge test repository with conflict at 9-6' ++ delete_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-6 'git-imerge test repository with conflict at 9-6' + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-6 -+ local description=git-imerge test repository with conflict at 9-6 ++ local 'description=git-imerge test repository with conflict at 9-6' + test -d /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-6 + mkdir -p /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-6 + git init /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-6 @@ -3705,9 +4039,9 @@ hint: hint: git branch -m Initialized empty Git repository in /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-6/.git/ -+ echo git-imerge test repository with conflict at 9-6 -+ printf %s\n /*.out /*.css /*.html -+ git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-6/.git config user.name Loú User ++ echo 'git-imerge test repository with conflict at 9-6' ++ printf '%s\n' '/*.out' '/*.css' '/*.html' ++ git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-6/.git config user.name 'Loú User' + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-6/.git config user.email luser@example.com + TIME=1112911993 + ln -s /build/reproducible-path/git-imerge-1.2.0/imerge.css /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-6 @@ -3722,14 +4056,16 @@ + text=0 + echo 0 + git add d.txt -+ modify conflict.txt original version ++ modify conflict.txt 'original version' + filename=conflict.txt -+ text=original version -+ echo original version ++ text='original version' ++ echo 'original version' + git add conflict.txt -+ commit -m m⇒0 ++ commit -m $'m\342\207\2220' + TIME=1112911994 -+ GIT_AUTHOR_DATE=@1112911994 +0000 GIT_COMMITTER_DATE=@1112911994 +0000 git commit -m m⇒0 ++ GIT_AUTHOR_DATE='@1112911994 +0000' ++ GIT_COMMITTER_DATE='@1112911994 +0000' ++ git commit -m $'m\342\207\2220' [master (root-commit) d70e04b] m⇒0 3 files changed, 3 insertions(+) create mode 100644 c.txt @@ -3737,168 +4073,228 @@ create mode 100644 d.txt + git checkout -b c master -- Switched to a new branch 'c' -+ seq 9 +++ seq 9 ++ for i in $(seq 9) + modify c.txt 1 + filename=c.txt + text=1 + echo 1 + git add c.txt -+ commit -m c⇒1 ++ case $conflict in ++ commit -m $'c\342\207\2221' + TIME=1112911995 -+ GIT_AUTHOR_DATE=@1112911995 +0000 GIT_COMMITTER_DATE=@1112911995 +0000 git commit -m c⇒1 ++ GIT_AUTHOR_DATE='@1112911995 +0000' ++ GIT_COMMITTER_DATE='@1112911995 +0000' ++ git commit -m $'c\342\207\2221' [c 89e2141] c⇒1 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 9) + modify c.txt 2 + filename=c.txt + text=2 + echo 2 + git add c.txt -+ commit -m c⇒2 ++ case $conflict in ++ commit -m $'c\342\207\2222' + TIME=1112911996 -+ GIT_AUTHOR_DATE=@1112911996 +0000 GIT_COMMITTER_DATE=@1112911996 +0000 git commit -m c⇒2 ++ GIT_AUTHOR_DATE='@1112911996 +0000' ++ GIT_COMMITTER_DATE='@1112911996 +0000' ++ git commit -m $'c\342\207\2222' [c 7c431f2] c⇒2 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 9) + modify c.txt 3 + filename=c.txt + text=3 + echo 3 + git add c.txt -+ commit -m c⇒3 ++ case $conflict in ++ commit -m $'c\342\207\2223' + TIME=1112911997 -+ GIT_AUTHOR_DATE=@1112911997 +0000 GIT_COMMITTER_DATE=@1112911997 +0000 git commit -m c⇒3 -[c f02ab24] c⇒3 - 1 file changed, 1 insertion(+), 1 deletion(-) ++ GIT_AUTHOR_DATE='@1112911997 +0000' ++ GIT_COMMITTER_DATE='@1112911997 +0000' ++ git commit -m $'c\342\207\2223' ++ for i in $(seq 9) + modify c.txt 4 + filename=c.txt + text=4 + echo 4 + git add c.txt -+ commit -m c⇒4 +[c f02ab24] c⇒3 + 1 file changed, 1 insertion(+), 1 deletion(-) ++ case $conflict in ++ commit -m $'c\342\207\2224' + TIME=1112911998 -+ GIT_AUTHOR_DATE=@1112911998 +0000 GIT_COMMITTER_DATE=@1112911998 +0000 git commit -m c⇒4 ++ GIT_AUTHOR_DATE='@1112911998 +0000' ++ GIT_COMMITTER_DATE='@1112911998 +0000' ++ git commit -m $'c\342\207\2224' [c ed9122f] c⇒4 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 9) + modify c.txt 5 + filename=c.txt + text=5 + echo 5 + git add c.txt -+ commit -m c⇒5 ++ case $conflict in ++ commit -m $'c\342\207\2225' + TIME=1112911999 -+ GIT_AUTHOR_DATE=@1112911999 +0000 GIT_COMMITTER_DATE=@1112911999 +0000 git commit -m c⇒5 ++ GIT_AUTHOR_DATE='@1112911999 +0000' ++ GIT_COMMITTER_DATE='@1112911999 +0000' ++ git commit -m $'c\342\207\2225' [c 1d3bf09] c⇒5 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 9) + modify c.txt 6 + filename=c.txt + text=6 + echo 6 + git add c.txt -+ commit -m c⇒6 ++ case $conflict in ++ commit -m $'c\342\207\2226' + TIME=1112912000 -+ GIT_AUTHOR_DATE=@1112912000 +0000 GIT_COMMITTER_DATE=@1112912000 +0000 git commit -m c⇒6 ++ GIT_AUTHOR_DATE='@1112912000 +0000' ++ GIT_COMMITTER_DATE='@1112912000 +0000' ++ git commit -m $'c\342\207\2226' [c f999ecd] c⇒6 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 9) + modify c.txt 7 + filename=c.txt + text=7 + echo 7 + git add c.txt -+ commit -m c⇒7 ++ case $conflict in ++ commit -m $'c\342\207\2227' + TIME=1112912001 -+ GIT_AUTHOR_DATE=@1112912001 +0000 GIT_COMMITTER_DATE=@1112912001 +0000 git commit -m c⇒7 ++ GIT_AUTHOR_DATE='@1112912001 +0000' ++ GIT_COMMITTER_DATE='@1112912001 +0000' ++ git commit -m $'c\342\207\2227' [c 7050a8a] c⇒7 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 9) + modify c.txt 8 + filename=c.txt + text=8 + echo 8 + git add c.txt -+ commit -m c⇒8 ++ case $conflict in ++ commit -m $'c\342\207\2228' + TIME=1112912002 -+ GIT_AUTHOR_DATE=@1112912002 +0000 GIT_COMMITTER_DATE=@1112912002 +0000 git commit -m c⇒8 ++ GIT_AUTHOR_DATE='@1112912002 +0000' ++ GIT_COMMITTER_DATE='@1112912002 +0000' ++ git commit -m $'c\342\207\2228' [c 9732e77] c⇒8 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 9) + modify c.txt 9 + filename=c.txt + text=9 + echo 9 + git add c.txt -+ modify conflict.txt c version ++ case $conflict in ++ modify conflict.txt 'c version' + filename=conflict.txt -+ text=c version -+ echo c version ++ text='c version' ++ echo 'c version' + git add conflict.txt -+ commit -m c⇒9 ++ commit -m $'c\342\207\2229' + TIME=1112912003 -+ GIT_AUTHOR_DATE=@1112912003 +0000 GIT_COMMITTER_DATE=@1112912003 +0000 git commit -m c⇒9 ++ GIT_AUTHOR_DATE='@1112912003 +0000' ++ GIT_COMMITTER_DATE='@1112912003 +0000' ++ git commit -m $'c\342\207\2229' [c 73a5eed] c⇒9 2 files changed, 2 insertions(+), 2 deletions(-) + git checkout -b d master -- Switched to a new branch 'd' -+ seq 6 +++ seq 6 ++ for i in $(seq 6) + modify d.txt 1 + filename=d.txt + text=1 + echo 1 + git add d.txt -+ commit -m d⇒1 ++ case $conflict in ++ commit -m $'d\342\207\2221' + TIME=1112912004 -+ GIT_AUTHOR_DATE=@1112912004 +0000 GIT_COMMITTER_DATE=@1112912004 +0000 git commit -m d⇒1 ++ GIT_AUTHOR_DATE='@1112912004 +0000' ++ GIT_COMMITTER_DATE='@1112912004 +0000' ++ git commit -m $'d\342\207\2221' [d bd5368a] d⇒1 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 6) + modify d.txt 2 + filename=d.txt + text=2 + echo 2 + git add d.txt -+ commit -m d⇒2 ++ case $conflict in ++ commit -m $'d\342\207\2222' + TIME=1112912005 -+ GIT_AUTHOR_DATE=@1112912005 +0000 GIT_COMMITTER_DATE=@1112912005 +0000 git commit -m d⇒2 ++ GIT_AUTHOR_DATE='@1112912005 +0000' ++ GIT_COMMITTER_DATE='@1112912005 +0000' ++ git commit -m $'d\342\207\2222' [d 93e27e6] d⇒2 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 6) + modify d.txt 3 + filename=d.txt + text=3 + echo 3 + git add d.txt -+ commit -m d⇒3 ++ case $conflict in ++ commit -m $'d\342\207\2223' + TIME=1112912006 -+ GIT_AUTHOR_DATE=@1112912006 +0000 GIT_COMMITTER_DATE=@1112912006 +0000 git commit -m d⇒3 ++ GIT_AUTHOR_DATE='@1112912006 +0000' ++ GIT_COMMITTER_DATE='@1112912006 +0000' ++ git commit -m $'d\342\207\2223' [d 133f385] d⇒3 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 6) + modify d.txt 4 + filename=d.txt + text=4 + echo 4 + git add d.txt -+ commit -m d⇒4 ++ case $conflict in ++ commit -m $'d\342\207\2224' + TIME=1112912007 -+ GIT_AUTHOR_DATE=@1112912007 +0000 GIT_COMMITTER_DATE=@1112912007 +0000 git commit -m d⇒4 ++ GIT_AUTHOR_DATE='@1112912007 +0000' ++ GIT_COMMITTER_DATE='@1112912007 +0000' ++ git commit -m $'d\342\207\2224' [d 586472a] d⇒4 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 6) + modify d.txt 5 + filename=d.txt + text=5 + echo 5 + git add d.txt -+ commit -m d⇒5 ++ case $conflict in ++ commit -m $'d\342\207\2225' + TIME=1112912008 -+ GIT_AUTHOR_DATE=@1112912008 +0000 GIT_COMMITTER_DATE=@1112912008 +0000 git commit -m d⇒5 ++ GIT_AUTHOR_DATE='@1112912008 +0000' ++ GIT_COMMITTER_DATE='@1112912008 +0000' ++ git commit -m $'d\342\207\2225' [d 9522207] d⇒5 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 6) + modify d.txt 6 + filename=d.txt + text=6 + echo 6 + git add d.txt -+ modify conflict.txt d version ++ case $conflict in ++ modify conflict.txt 'd version' + filename=conflict.txt -+ text=d version -+ echo d version ++ text='d version' ++ echo 'd version' + git add conflict.txt -+ commit -m d⇒6 ++ commit -m $'d\342\207\2226' + TIME=1112912009 -+ GIT_AUTHOR_DATE=@1112912009 +0000 GIT_COMMITTER_DATE=@1112912009 +0000 git commit -m d⇒6 ++ GIT_AUTHOR_DATE='@1112912009 +0000' ++ GIT_COMMITTER_DATE='@1112912009 +0000' ++ git commit -m $'d\342\207\2226' [d f7e451a] d⇒6 2 files changed, 2 insertions(+), 2 deletions(-) + git checkout c @@ -3979,7 +4375,7 @@ HEAD is now at 73a5eed c⇒9 Conflict; suggest manual merge of 9-6 + grep -q Traceback autofill.out -+ grep -q suggest manual merge of 9-6 autofill.out ++ grep -q 'suggest manual merge of 9-6' autofill.out + git-imerge diagram --commits --frontier --html=imerge1.html 0 5 9 | | | @@ -4020,13 +4416,13 @@ Automatic merge failed; fix conflicts and then commit the result. Original first commit: + +Original second commit: commit 73a5eedb087a0f656d730831b8def7943b40f3cf Author: Loú User Date: Thu Apr 7 22:13:23 2005 +0000 c⇒9 - -Original second commit: commit f7e451a6c9656dda15641a9fbc591a602f158692 Author: Loú User Date: Thu Apr 7 22:13:29 2005 +0000 @@ -4037,10 +4433,10 @@ Please resolve the conflict, commit the result, then type git-imerge continue -+ echo merged version ++ echo 'merged version' + git add conflict.txt + git-imerge continue --no-edit -[imerge/c-d 682aae2] imerge 'c-d': manual merge 9-6 +[imerge/c-d 2293a33] imerge 'c-d': manual merge 9-6 Merge has been recorded for merge 9-6. Merge is complete! + git-imerge diagram --commits --frontier --html=imerge2.html @@ -4076,55 +4472,56 @@ @ = merge was blocked but has been resolved ? = no merge recorded -+ GIT_EDITOR=cat git-imerge simplify --goal=merge --branch=c-d-merge ++ GIT_EDITOR=cat ++ git-imerge simplify --goal=merge --branch=c-d-merge Merge d into c (using imerge) # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # -# Date: Fri Mar 27 18:27:03 2026 +0000 +# Date: Sat Feb 22 12:07:43 2025 +0000 # # On branch c-d-merge # Changes to be committed: # modified: conflict.txt # modified: d.txt # -[c-d-merge 1f72e3e] Merge d into c (using imerge) - Date: Fri Mar 27 18:27:03 2026 +0000 +[c-d-merge 9b08a77] Merge d into c (using imerge) + Date: Sat Feb 22 12:07:43 2025 +0000 + check_tree c-d-merge ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-merge + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 -+ git rev-parse c-d-merge^{tree} +++ git rev-parse 'c-d-merge^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=rebase --branch=c-d-rebase + check_tree c-d-rebase ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-rebase + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 -+ git rev-parse c-d-rebase^{tree} +++ git rev-parse 'c-d-rebase^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=rebase-with-history --branch=c-d-rebase-with-history + check_tree c-d-rebase-with-history ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-rebase-with-history + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 -+ git rev-parse c-d-rebase-with-history^{tree} +++ git rev-parse 'c-d-rebase-with-history^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border --branch=c-d-border + check_tree c-d-border ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 -+ git rev-parse c-d-border^{tree} +++ git rev-parse 'c-d-border^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border-with-history --branch=c-d-border-with-history + check_tree c-d-border-with-history ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border-with-history + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 -+ git rev-parse c-d-border-with-history^{tree} +++ git rev-parse 'c-d-border-with-history^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border-with-history2 --branch=c-d-border-with-history2 + check_tree c-d-border-with-history2 ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border-with-history2 + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 -+ git rev-parse c-d-border-with-history2^{tree} +++ git rev-parse 'c-d-border-with-history2^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge remove + git checkout c @@ -4209,7 +4606,7 @@ git-imerge continue + grep -q Traceback start.out -+ grep -q suggest manual merge of 9-6 autofill.out ++ grep -q 'suggest manual merge of 9-6' autofill.out + git-imerge diagram --commits --frontier --html=imerge3.html 0 5 9 | | | @@ -4243,9 +4640,10 @@ @ = merge was blocked but has been resolved ? = no merge recorded -+ echo merged version ++ echo 'merged version' + git add conflict.txt -+ GIT_EDITOR=cat git commit ++ GIT_EDITOR=cat ++ git commit imerge 'c-d': manual merge 9-6 # Conflicts: @@ -4267,8 +4665,8 @@ # modified: conflict.txt # modified: d.txt # -[imerge/c-d 7e0a406] imerge 'c-d': manual merge 9-6 + git-imerge continue --edit +[imerge/c-d 1f085a9] imerge 'c-d': manual merge 9-6 Merge has been recorded for merge 9-6. Merge is complete! + git-imerge diagram --commits --frontier --html=imerge4.html @@ -4308,21 +4706,22 @@ + check_tree c-d-full ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-full + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 -+ git rev-parse c-d-full^{tree} +++ git rev-parse 'c-d-full^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + test_conflict 1-2 + local conflict=1-2 + TMP=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-2 -+ DESCRIPTION=git-imerge test repository with conflict at 1-2 -+ init_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-2 git-imerge test repository with conflict at 1-2 ++ DESCRIPTION='git-imerge test repository with conflict at 1-2' ++ init_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-2 'git-imerge test repository with conflict at 1-2' + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-2 -+ local description=git-imerge test repository with conflict at 1-2 -+ delete_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-2 git-imerge test repository with conflict at 1-2 ++ local 'description=git-imerge test repository with conflict at 1-2' ++ delete_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-2 'git-imerge test repository with conflict at 1-2' + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-2 -+ local description=git-imerge test repository with conflict at 1-2 ++ local 'description=git-imerge test repository with conflict at 1-2' + test -d /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-2 + mkdir -p /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-2 + git init /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-2 +Initialized empty Git repository in /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-2/.git/ hint: Using 'master' as the name for the initial branch. This default branch name hint: is subject to change. To configure the initial branch name to use in all hint: of your new repositories, which will suppress this warning, call: @@ -4333,13 +4732,12 @@ hint: 'development'. The just-created branch can be renamed via this command: hint: hint: git branch -m -+ echo git-imerge test repository with conflict at 1-2 -+ printf %s\n /*.out /*.css /*.html -+ git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-2/.git config user.name Loú User ++ echo 'git-imerge test repository with conflict at 1-2' ++ printf '%s\n' '/*.out' '/*.css' '/*.html' ++ git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-2/.git config user.name 'Loú User' + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-2/.git config user.email luser@example.com + TIME=1112911993 + ln -s /build/reproducible-path/git-imerge-1.2.0/imerge.css /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-2 -Initialized empty Git repository in /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-2/.git/ + cd /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-2 + modify c.txt 0 + filename=c.txt @@ -4351,14 +4749,16 @@ + text=0 + echo 0 + git add d.txt -+ modify conflict.txt original version ++ modify conflict.txt 'original version' + filename=conflict.txt -+ text=original version -+ echo original version ++ text='original version' ++ echo 'original version' + git add conflict.txt -+ commit -m m⇒0 ++ commit -m $'m\342\207\2220' + TIME=1112911994 -+ GIT_AUTHOR_DATE=@1112911994 +0000 GIT_COMMITTER_DATE=@1112911994 +0000 git commit -m m⇒0 ++ GIT_AUTHOR_DATE='@1112911994 +0000' ++ GIT_COMMITTER_DATE='@1112911994 +0000' ++ git commit -m $'m\342\207\2220' [master (root-commit) d70e04b] m⇒0 3 files changed, 3 insertions(+) create mode 100644 c.txt @@ -4366,168 +4766,228 @@ create mode 100644 d.txt + git checkout -b c master -- Switched to a new branch 'c' -+ seq 9 +++ seq 9 ++ for i in $(seq 9) + modify c.txt 1 + filename=c.txt + text=1 + echo 1 + git add c.txt -+ modify conflict.txt c version ++ case $conflict in ++ modify conflict.txt 'c version' + filename=conflict.txt -+ text=c version -+ echo c version ++ text='c version' ++ echo 'c version' + git add conflict.txt ++ commit -m $'c\342\207\2221' ++ TIME=1112911995 ++ GIT_AUTHOR_DATE='@1112911995 +0000' ++ GIT_COMMITTER_DATE='@1112911995 +0000' ++ git commit -m $'c\342\207\2221' [c 2120f40] c⇒1 2 files changed, 2 insertions(+), 2 deletions(-) -+ commit -m c⇒1 -+ TIME=1112911995 -+ GIT_AUTHOR_DATE=@1112911995 +0000 GIT_COMMITTER_DATE=@1112911995 +0000 git commit -m c⇒1 ++ for i in $(seq 9) + modify c.txt 2 + filename=c.txt + text=2 + echo 2 + git add c.txt -+ commit -m c⇒2 ++ case $conflict in ++ commit -m $'c\342\207\2222' + TIME=1112911996 -+ GIT_AUTHOR_DATE=@1112911996 +0000 GIT_COMMITTER_DATE=@1112911996 +0000 git commit -m c⇒2 ++ GIT_AUTHOR_DATE='@1112911996 +0000' ++ GIT_COMMITTER_DATE='@1112911996 +0000' ++ git commit -m $'c\342\207\2222' [c 90cc7de] c⇒2 1 file changed, 1 insertion(+), 1 deletion(-) -[c 2046ed2] c⇒3 - 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 9) + modify c.txt 3 + filename=c.txt + text=3 + echo 3 + git add c.txt -+ commit -m c⇒3 ++ case $conflict in ++ commit -m $'c\342\207\2223' + TIME=1112911997 -+ GIT_AUTHOR_DATE=@1112911997 +0000 GIT_COMMITTER_DATE=@1112911997 +0000 git commit -m c⇒3 ++ GIT_AUTHOR_DATE='@1112911997 +0000' ++ GIT_COMMITTER_DATE='@1112911997 +0000' ++ git commit -m $'c\342\207\2223' +[c 2046ed2] c⇒3 + 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 9) + modify c.txt 4 + filename=c.txt + text=4 + echo 4 + git add c.txt -+ commit -m c⇒4 ++ case $conflict in ++ commit -m $'c\342\207\2224' + TIME=1112911998 -+ GIT_AUTHOR_DATE=@1112911998 +0000 GIT_COMMITTER_DATE=@1112911998 +0000 git commit -m c⇒4 ++ GIT_AUTHOR_DATE='@1112911998 +0000' ++ GIT_COMMITTER_DATE='@1112911998 +0000' ++ git commit -m $'c\342\207\2224' [c 8a2cee9] c⇒4 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 9) + modify c.txt 5 + filename=c.txt + text=5 + echo 5 + git add c.txt -+ commit -m c⇒5 ++ case $conflict in ++ commit -m $'c\342\207\2225' + TIME=1112911999 -+ GIT_AUTHOR_DATE=@1112911999 +0000 GIT_COMMITTER_DATE=@1112911999 +0000 git commit -m c⇒5 -[c ac16a05] c⇒5 - 1 file changed, 1 insertion(+), 1 deletion(-) ++ GIT_AUTHOR_DATE='@1112911999 +0000' ++ GIT_COMMITTER_DATE='@1112911999 +0000' ++ git commit -m $'c\342\207\2225' ++ for i in $(seq 9) + modify c.txt 6 + filename=c.txt + text=6 + echo 6 + git add c.txt -+ commit -m c⇒6 +[c ac16a05] c⇒5 + 1 file changed, 1 insertion(+), 1 deletion(-) ++ case $conflict in ++ commit -m $'c\342\207\2226' + TIME=1112912000 -+ GIT_AUTHOR_DATE=@1112912000 +0000 GIT_COMMITTER_DATE=@1112912000 +0000 git commit -m c⇒6 ++ GIT_AUTHOR_DATE='@1112912000 +0000' ++ GIT_COMMITTER_DATE='@1112912000 +0000' ++ git commit -m $'c\342\207\2226' [c 30dd2ae] c⇒6 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 9) + modify c.txt 7 + filename=c.txt + text=7 + echo 7 + git add c.txt ++ case $conflict in ++ commit -m $'c\342\207\2227' ++ TIME=1112912001 ++ GIT_AUTHOR_DATE='@1112912001 +0000' ++ GIT_COMMITTER_DATE='@1112912001 +0000' ++ git commit -m $'c\342\207\2227' [c 0883eb9] c⇒7 1 file changed, 1 insertion(+), 1 deletion(-) -+ commit -m c⇒7 -+ TIME=1112912001 -+ GIT_AUTHOR_DATE=@1112912001 +0000 GIT_COMMITTER_DATE=@1112912001 +0000 git commit -m c⇒7 ++ for i in $(seq 9) + modify c.txt 8 + filename=c.txt + text=8 + echo 8 + git add c.txt -+ commit -m c⇒8 ++ case $conflict in ++ commit -m $'c\342\207\2228' + TIME=1112912002 -+ GIT_AUTHOR_DATE=@1112912002 +0000 GIT_COMMITTER_DATE=@1112912002 +0000 git commit -m c⇒8 ++ GIT_AUTHOR_DATE='@1112912002 +0000' ++ GIT_COMMITTER_DATE='@1112912002 +0000' ++ git commit -m $'c\342\207\2228' [c f661c06] c⇒8 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 9) + modify c.txt 9 + filename=c.txt + text=9 + echo 9 + git add c.txt -+ commit -m c⇒9 ++ case $conflict in ++ commit -m $'c\342\207\2229' + TIME=1112912003 -+ GIT_AUTHOR_DATE=@1112912003 +0000 GIT_COMMITTER_DATE=@1112912003 +0000 git commit -m c⇒9 ++ GIT_AUTHOR_DATE='@1112912003 +0000' ++ GIT_COMMITTER_DATE='@1112912003 +0000' ++ git commit -m $'c\342\207\2229' [c 243e8ed] c⇒9 1 file changed, 1 insertion(+), 1 deletion(-) + git checkout -b d master -- Switched to a new branch 'd' -+ seq 6 +++ seq 6 ++ for i in $(seq 6) + modify d.txt 1 + filename=d.txt + text=1 + echo 1 + git add d.txt -+ commit -m d⇒1 ++ case $conflict in ++ commit -m $'d\342\207\2221' + TIME=1112912004 -+ GIT_AUTHOR_DATE=@1112912004 +0000 GIT_COMMITTER_DATE=@1112912004 +0000 git commit -m d⇒1 ++ GIT_AUTHOR_DATE='@1112912004 +0000' ++ GIT_COMMITTER_DATE='@1112912004 +0000' ++ git commit -m $'d\342\207\2221' [d bd5368a] d⇒1 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 6) + modify d.txt 2 + filename=d.txt + text=2 + echo 2 + git add d.txt -+ modify conflict.txt d version ++ case $conflict in ++ modify conflict.txt 'd version' + filename=conflict.txt -+ text=d version -+ echo d version ++ text='d version' ++ echo 'd version' + git add conflict.txt -+ commit -m d⇒2 ++ commit -m $'d\342\207\2222' + TIME=1112912005 -+ GIT_AUTHOR_DATE=@1112912005 +0000 GIT_COMMITTER_DATE=@1112912005 +0000 git commit -m d⇒2 ++ GIT_AUTHOR_DATE='@1112912005 +0000' ++ GIT_COMMITTER_DATE='@1112912005 +0000' ++ git commit -m $'d\342\207\2222' [d 69efde8] d⇒2 2 files changed, 2 insertions(+), 2 deletions(-) ++ for i in $(seq 6) + modify d.txt 3 + filename=d.txt + text=3 + echo 3 + git add d.txt -+ commit -m d⇒3 ++ case $conflict in ++ commit -m $'d\342\207\2223' + TIME=1112912006 -+ GIT_AUTHOR_DATE=@1112912006 +0000 GIT_COMMITTER_DATE=@1112912006 +0000 git commit -m d⇒3 -[d 3169557] d⇒3 - 1 file changed, 1 insertion(+), 1 deletion(-) -[d 86c8052] d⇒4 - 1 file changed, 1 insertion(+), 1 deletion(-) ++ GIT_AUTHOR_DATE='@1112912006 +0000' ++ GIT_COMMITTER_DATE='@1112912006 +0000' ++ git commit -m $'d\342\207\2223' ++ for i in $(seq 6) + modify d.txt 4 + filename=d.txt + text=4 + echo 4 + git add d.txt -+ commit -m d⇒4 +[d 3169557] d⇒3 + 1 file changed, 1 insertion(+), 1 deletion(-) ++ case $conflict in ++ commit -m $'d\342\207\2224' + TIME=1112912007 -+ GIT_AUTHOR_DATE=@1112912007 +0000 GIT_COMMITTER_DATE=@1112912007 +0000 git commit -m d⇒4 ++ GIT_AUTHOR_DATE='@1112912007 +0000' ++ GIT_COMMITTER_DATE='@1112912007 +0000' ++ git commit -m $'d\342\207\2224' +[d 86c8052] d⇒4 + 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 6) + modify d.txt 5 + filename=d.txt + text=5 + echo 5 + git add d.txt ++ case $conflict in ++ commit -m $'d\342\207\2225' ++ TIME=1112912008 ++ GIT_AUTHOR_DATE='@1112912008 +0000' ++ GIT_COMMITTER_DATE='@1112912008 +0000' ++ git commit -m $'d\342\207\2225' [d 1700773] d⇒5 1 file changed, 1 insertion(+), 1 deletion(-) -+ commit -m d⇒5 -+ TIME=1112912008 -+ GIT_AUTHOR_DATE=@1112912008 +0000 GIT_COMMITTER_DATE=@1112912008 +0000 git commit -m d⇒5 ++ for i in $(seq 6) + modify d.txt 6 + filename=d.txt + text=6 + echo 6 + git add d.txt -+ commit -m d⇒6 ++ case $conflict in ++ commit -m $'d\342\207\2226' + TIME=1112912009 -+ GIT_AUTHOR_DATE=@1112912009 +0000 GIT_COMMITTER_DATE=@1112912009 +0000 git commit -m d⇒6 ++ GIT_AUTHOR_DATE='@1112912009 +0000' ++ GIT_COMMITTER_DATE='@1112912009 +0000' ++ git commit -m $'d\342\207\2226' [d df2e493] d⇒6 1 file changed, 1 insertion(+), 1 deletion(-) + git checkout c @@ -4568,8 +5028,8 @@ @ = merge was blocked but has been resolved ? = no merge recorded -+ tee autofill.out + git-imerge autofill ++ tee autofill.out Attempting automerge of 9-6...failure. Attempting automerge of 1-1...success. Attempting automerge of 1-4...failure. @@ -4591,7 +5051,7 @@ HEAD is now at 243e8ed c⇒9 Conflict; suggest manual merge of 1-2 + grep -q Traceback autofill.out -+ grep -q suggest manual merge of 1-2 autofill.out ++ grep -q 'suggest manual merge of 1-2' autofill.out + git-imerge diagram --commits --frontier --html=imerge1.html 0 5 9 | | | @@ -4629,30 +5089,30 @@ Switched to branch 'imerge/c-d' Auto-merging conflict.txt CONFLICT (content): Merge conflict in conflict.txt +Automatic merge failed; fix conflicts and then commit the result. Original first commit: -Automatic merge failed; fix conflicts and then commit the result. commit 2120f40dc39d28052a5279b645124e8ed7e5de73 Author: Loú User Date: Thu Apr 7 22:13:15 2005 +0000 c⇒1 + +Original second commit: commit 69efde8f66d581a765a3909ffacb9f895f95c345 Author: Loú User Date: Thu Apr 7 22:13:25 2005 +0000 d⇒2 -Original second commit: - There was a conflict merging commit 1-2, shown above. Please resolve the conflict, commit the result, then type git-imerge continue -+ echo merged version ++ echo 'merged version' + git add conflict.txt + git-imerge continue --no-edit -[imerge/c-d 617b513] imerge 'c-d': manual merge 1-2 +[imerge/c-d a0e1206] imerge 'c-d': manual merge 1-2 Merge has been recorded for merge 1-2. Attempting automerge of 1-6...success. Autofilling 1-3...success. @@ -4710,55 +5170,56 @@ @ = merge was blocked but has been resolved ? = no merge recorded -+ GIT_EDITOR=cat git-imerge simplify --goal=merge --branch=c-d-merge ++ GIT_EDITOR=cat ++ git-imerge simplify --goal=merge --branch=c-d-merge Merge d into c (using imerge) # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # -# Date: Fri Mar 27 18:27:10 2026 +0000 +# Date: Sat Feb 22 12:08:06 2025 +0000 # # On branch c-d-merge # Changes to be committed: # modified: conflict.txt # modified: d.txt # -[c-d-merge a6e68f7] Merge d into c (using imerge) - Date: Fri Mar 27 18:27:10 2026 +0000 +[c-d-merge 662c556] Merge d into c (using imerge) + Date: Sat Feb 22 12:08:06 2025 +0000 + check_tree c-d-merge ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-merge + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 -+ git rev-parse c-d-merge^{tree} +++ git rev-parse 'c-d-merge^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=rebase --branch=c-d-rebase + check_tree c-d-rebase ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-rebase + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 -+ git rev-parse c-d-rebase^{tree} +++ git rev-parse 'c-d-rebase^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=rebase-with-history --branch=c-d-rebase-with-history + check_tree c-d-rebase-with-history ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-rebase-with-history + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 -+ git rev-parse c-d-rebase-with-history^{tree} +++ git rev-parse 'c-d-rebase-with-history^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border --branch=c-d-border + check_tree c-d-border ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 -+ git rev-parse c-d-border^{tree} +++ git rev-parse 'c-d-border^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border-with-history --branch=c-d-border-with-history + check_tree c-d-border-with-history ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border-with-history + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 -+ git rev-parse c-d-border-with-history^{tree} +++ git rev-parse 'c-d-border-with-history^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border-with-history2 --branch=c-d-border-with-history2 + check_tree c-d-border-with-history2 ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border-with-history2 + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 -+ git rev-parse c-d-border-with-history2^{tree} +++ git rev-parse 'c-d-border-with-history2^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge remove + git checkout c @@ -4775,7 +5236,7 @@ Attempting to merge 7-1...success. Attempting to merge 8-1...success. Attempting to merge 9-1...success. -Previous HEAD position was 2de6c0a imerge 'c-d': automatic merge 9-1 +Previous HEAD position was 2abedd4 imerge 'c-d': automatic merge 9-1 Switched to branch 'imerge/c-d' Auto-merging conflict.txt CONFLICT (content): Merge conflict in conflict.txt @@ -4800,7 +5261,7 @@ git-imerge continue + grep -q Traceback start.out -+ grep -q suggest manual merge of 1-2 autofill.out ++ grep -q 'suggest manual merge of 1-2' autofill.out + git-imerge diagram --commits --frontier --html=imerge3.html 0 5 9 | | | @@ -4834,9 +5295,10 @@ @ = merge was blocked but has been resolved ? = no merge recorded -+ echo merged version ++ echo 'merged version' + git add conflict.txt -+ GIT_EDITOR=cat git commit ++ GIT_EDITOR=cat ++ git commit imerge 'c-d': manual merge 1-2 # Conflicts: @@ -4858,7 +5320,7 @@ # modified: conflict.txt # modified: d.txt # -[imerge/c-d 3c3232e] imerge 'c-d': manual merge 1-2 +[imerge/c-d 4aef8b3] imerge 'c-d': manual merge 1-2 + git-imerge continue --edit Merge has been recorded for merge 1-2. Attempting to merge 1-3...success. @@ -4943,18 +5405,18 @@ + check_tree c-d-full ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-full + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 -+ git rev-parse c-d-full^{tree} +++ git rev-parse 'c-d-full^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + test_conflict 9-5 + local conflict=9-5 + TMP=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-5 -+ DESCRIPTION=git-imerge test repository with conflict at 9-5 -+ init_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-5 git-imerge test repository with conflict at 9-5 ++ DESCRIPTION='git-imerge test repository with conflict at 9-5' ++ init_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-5 'git-imerge test repository with conflict at 9-5' + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-5 -+ local description=git-imerge test repository with conflict at 9-5 -+ delete_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-5 git-imerge test repository with conflict at 9-5 ++ local 'description=git-imerge test repository with conflict at 9-5' ++ delete_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-5 'git-imerge test repository with conflict at 9-5' + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-5 -+ local description=git-imerge test repository with conflict at 9-5 ++ local 'description=git-imerge test repository with conflict at 9-5' + test -d /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-5 + mkdir -p /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-5 + git init /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-5 @@ -4969,9 +5431,9 @@ hint: hint: git branch -m Initialized empty Git repository in /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-5/.git/ -+ echo git-imerge test repository with conflict at 9-5 -+ printf %s\n /*.out /*.css /*.html -+ git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-5/.git config user.name Loú User ++ echo 'git-imerge test repository with conflict at 9-5' ++ printf '%s\n' '/*.out' '/*.css' '/*.html' ++ git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-5/.git config user.name 'Loú User' + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-5/.git config user.email luser@example.com + TIME=1112911993 + ln -s /build/reproducible-path/git-imerge-1.2.0/imerge.css /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-9-5 @@ -4986,14 +5448,16 @@ + text=0 + echo 0 + git add d.txt -+ modify conflict.txt original version ++ modify conflict.txt 'original version' + filename=conflict.txt -+ text=original version -+ echo original version ++ text='original version' ++ echo 'original version' + git add conflict.txt -+ commit -m m⇒0 ++ commit -m $'m\342\207\2220' + TIME=1112911994 -+ GIT_AUTHOR_DATE=@1112911994 +0000 GIT_COMMITTER_DATE=@1112911994 +0000 git commit -m m⇒0 ++ GIT_AUTHOR_DATE='@1112911994 +0000' ++ GIT_COMMITTER_DATE='@1112911994 +0000' ++ git commit -m $'m\342\207\2220' [master (root-commit) d70e04b] m⇒0 3 files changed, 3 insertions(+) create mode 100644 c.txt @@ -5001,168 +5465,228 @@ create mode 100644 d.txt + git checkout -b c master -- Switched to a new branch 'c' -+ seq 9 +++ seq 9 ++ for i in $(seq 9) + modify c.txt 1 + filename=c.txt + text=1 + echo 1 + git add c.txt -+ commit -m c⇒1 ++ case $conflict in ++ commit -m $'c\342\207\2221' + TIME=1112911995 -+ GIT_AUTHOR_DATE=@1112911995 +0000 GIT_COMMITTER_DATE=@1112911995 +0000 git commit -m c⇒1 ++ GIT_AUTHOR_DATE='@1112911995 +0000' ++ GIT_COMMITTER_DATE='@1112911995 +0000' ++ git commit -m $'c\342\207\2221' [c 89e2141] c⇒1 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 9) + modify c.txt 2 + filename=c.txt + text=2 + echo 2 + git add c.txt -+ commit -m c⇒2 ++ case $conflict in ++ commit -m $'c\342\207\2222' + TIME=1112911996 -+ GIT_AUTHOR_DATE=@1112911996 +0000 GIT_COMMITTER_DATE=@1112911996 +0000 git commit -m c⇒2 ++ GIT_AUTHOR_DATE='@1112911996 +0000' ++ GIT_COMMITTER_DATE='@1112911996 +0000' ++ git commit -m $'c\342\207\2222' [c 7c431f2] c⇒2 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 9) + modify c.txt 3 + filename=c.txt + text=3 + echo 3 + git add c.txt -+ commit -m c⇒3 ++ case $conflict in ++ commit -m $'c\342\207\2223' + TIME=1112911997 -+ GIT_AUTHOR_DATE=@1112911997 +0000 GIT_COMMITTER_DATE=@1112911997 +0000 git commit -m c⇒3 -[c f02ab24] c⇒3 - 1 file changed, 1 insertion(+), 1 deletion(-) ++ GIT_AUTHOR_DATE='@1112911997 +0000' ++ GIT_COMMITTER_DATE='@1112911997 +0000' ++ git commit -m $'c\342\207\2223' ++ for i in $(seq 9) + modify c.txt 4 + filename=c.txt + text=4 + echo 4 + git add c.txt -+ commit -m c⇒4 +[c f02ab24] c⇒3 + 1 file changed, 1 insertion(+), 1 deletion(-) ++ case $conflict in ++ commit -m $'c\342\207\2224' + TIME=1112911998 -+ GIT_AUTHOR_DATE=@1112911998 +0000 GIT_COMMITTER_DATE=@1112911998 +0000 git commit -m c⇒4 ++ GIT_AUTHOR_DATE='@1112911998 +0000' ++ GIT_COMMITTER_DATE='@1112911998 +0000' ++ git commit -m $'c\342\207\2224' [c ed9122f] c⇒4 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 9) + modify c.txt 5 + filename=c.txt + text=5 + echo 5 + git add c.txt -+ commit -m c⇒5 ++ case $conflict in ++ commit -m $'c\342\207\2225' + TIME=1112911999 -+ GIT_AUTHOR_DATE=@1112911999 +0000 GIT_COMMITTER_DATE=@1112911999 +0000 git commit -m c⇒5 ++ GIT_AUTHOR_DATE='@1112911999 +0000' ++ GIT_COMMITTER_DATE='@1112911999 +0000' ++ git commit -m $'c\342\207\2225' [c 1d3bf09] c⇒5 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 9) + modify c.txt 6 + filename=c.txt + text=6 + echo 6 + git add c.txt -+ commit -m c⇒6 ++ case $conflict in ++ commit -m $'c\342\207\2226' + TIME=1112912000 -+ GIT_AUTHOR_DATE=@1112912000 +0000 GIT_COMMITTER_DATE=@1112912000 +0000 git commit -m c⇒6 ++ GIT_AUTHOR_DATE='@1112912000 +0000' ++ GIT_COMMITTER_DATE='@1112912000 +0000' ++ git commit -m $'c\342\207\2226' [c f999ecd] c⇒6 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 9) + modify c.txt 7 + filename=c.txt + text=7 + echo 7 + git add c.txt -+ commit -m c⇒7 ++ case $conflict in ++ commit -m $'c\342\207\2227' + TIME=1112912001 -+ GIT_AUTHOR_DATE=@1112912001 +0000 GIT_COMMITTER_DATE=@1112912001 +0000 git commit -m c⇒7 ++ GIT_AUTHOR_DATE='@1112912001 +0000' ++ GIT_COMMITTER_DATE='@1112912001 +0000' ++ git commit -m $'c\342\207\2227' [c 7050a8a] c⇒7 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 9) + modify c.txt 8 + filename=c.txt + text=8 + echo 8 + git add c.txt -+ commit -m c⇒8 ++ case $conflict in ++ commit -m $'c\342\207\2228' + TIME=1112912002 -+ GIT_AUTHOR_DATE=@1112912002 +0000 GIT_COMMITTER_DATE=@1112912002 +0000 git commit -m c⇒8 -[c 9732e77] c⇒8 - 1 file changed, 1 insertion(+), 1 deletion(-) ++ GIT_AUTHOR_DATE='@1112912002 +0000' ++ GIT_COMMITTER_DATE='@1112912002 +0000' ++ git commit -m $'c\342\207\2228' ++ for i in $(seq 9) + modify c.txt 9 + filename=c.txt + text=9 + echo 9 + git add c.txt -+ modify conflict.txt c version +[c 9732e77] c⇒8 + 1 file changed, 1 insertion(+), 1 deletion(-) ++ case $conflict in ++ modify conflict.txt 'c version' + filename=conflict.txt -+ text=c version -+ echo c version ++ text='c version' ++ echo 'c version' + git add conflict.txt -+ commit -m c⇒9 ++ commit -m $'c\342\207\2229' + TIME=1112912003 -+ GIT_AUTHOR_DATE=@1112912003 +0000 GIT_COMMITTER_DATE=@1112912003 +0000 git commit -m c⇒9 ++ GIT_AUTHOR_DATE='@1112912003 +0000' ++ GIT_COMMITTER_DATE='@1112912003 +0000' ++ git commit -m $'c\342\207\2229' [c 73a5eed] c⇒9 2 files changed, 2 insertions(+), 2 deletions(-) + git checkout -b d master -- Switched to a new branch 'd' -+ seq 6 +++ seq 6 ++ for i in $(seq 6) + modify d.txt 1 + filename=d.txt + text=1 + echo 1 + git add d.txt -+ commit -m d⇒1 ++ case $conflict in ++ commit -m $'d\342\207\2221' + TIME=1112912004 -+ GIT_AUTHOR_DATE=@1112912004 +0000 GIT_COMMITTER_DATE=@1112912004 +0000 git commit -m d⇒1 ++ GIT_AUTHOR_DATE='@1112912004 +0000' ++ GIT_COMMITTER_DATE='@1112912004 +0000' ++ git commit -m $'d\342\207\2221' [d bd5368a] d⇒1 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 6) + modify d.txt 2 + filename=d.txt + text=2 + echo 2 + git add d.txt -+ commit -m d⇒2 ++ case $conflict in ++ commit -m $'d\342\207\2222' + TIME=1112912005 -+ GIT_AUTHOR_DATE=@1112912005 +0000 GIT_COMMITTER_DATE=@1112912005 +0000 git commit -m d⇒2 ++ GIT_AUTHOR_DATE='@1112912005 +0000' ++ GIT_COMMITTER_DATE='@1112912005 +0000' ++ git commit -m $'d\342\207\2222' [d 93e27e6] d⇒2 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 6) + modify d.txt 3 + filename=d.txt + text=3 + echo 3 + git add d.txt -+ commit -m d⇒3 ++ case $conflict in ++ commit -m $'d\342\207\2223' + TIME=1112912006 -+ GIT_AUTHOR_DATE=@1112912006 +0000 GIT_COMMITTER_DATE=@1112912006 +0000 git commit -m d⇒3 ++ GIT_AUTHOR_DATE='@1112912006 +0000' ++ GIT_COMMITTER_DATE='@1112912006 +0000' ++ git commit -m $'d\342\207\2223' [d 133f385] d⇒3 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 6) + modify d.txt 4 + filename=d.txt + text=4 + echo 4 + git add d.txt -+ commit -m d⇒4 ++ case $conflict in ++ commit -m $'d\342\207\2224' + TIME=1112912007 -+ GIT_AUTHOR_DATE=@1112912007 +0000 GIT_COMMITTER_DATE=@1112912007 +0000 git commit -m d⇒4 ++ GIT_AUTHOR_DATE='@1112912007 +0000' ++ GIT_COMMITTER_DATE='@1112912007 +0000' ++ git commit -m $'d\342\207\2224' [d 586472a] d⇒4 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 6) + modify d.txt 5 + filename=d.txt + text=5 + echo 5 + git add d.txt -+ modify conflict.txt d version ++ case $conflict in ++ modify conflict.txt 'd version' + filename=conflict.txt -+ text=d version -+ echo d version ++ text='d version' ++ echo 'd version' + git add conflict.txt -+ commit -m d⇒5 ++ commit -m $'d\342\207\2225' + TIME=1112912008 -+ GIT_AUTHOR_DATE=@1112912008 +0000 GIT_COMMITTER_DATE=@1112912008 +0000 git commit -m d⇒5 ++ GIT_AUTHOR_DATE='@1112912008 +0000' ++ GIT_COMMITTER_DATE='@1112912008 +0000' ++ git commit -m $'d\342\207\2225' [d 0a6f956] d⇒5 2 files changed, 2 insertions(+), 2 deletions(-) ++ for i in $(seq 6) + modify d.txt 6 + filename=d.txt + text=6 + echo 6 + git add d.txt -+ commit -m d⇒6 ++ case $conflict in ++ commit -m $'d\342\207\2226' + TIME=1112912009 -+ GIT_AUTHOR_DATE=@1112912009 +0000 GIT_COMMITTER_DATE=@1112912009 +0000 git commit -m d⇒6 ++ GIT_AUTHOR_DATE='@1112912009 +0000' ++ GIT_COMMITTER_DATE='@1112912009 +0000' ++ git commit -m $'d\342\207\2226' [d bfb30f0] d⇒6 1 file changed, 1 insertion(+), 1 deletion(-) + git checkout c @@ -5203,8 +5727,8 @@ @ = merge was blocked but has been resolved ? = no merge recorded -+ git-imerge autofill + tee autofill.out ++ git-imerge autofill Attempting automerge of 9-6...failure. Attempting automerge of 1-1...success. Attempting automerge of 1-4...success. @@ -5242,7 +5766,7 @@ HEAD is now at 73a5eed c⇒9 Conflict; suggest manual merge of 9-5 + grep -q Traceback autofill.out -+ grep -q suggest manual merge of 9-5 autofill.out ++ grep -q 'suggest manual merge of 9-5' autofill.out + git-imerge diagram --commits --frontier --html=imerge1.html 0 5 9 | | | @@ -5300,10 +5824,10 @@ Please resolve the conflict, commit the result, then type git-imerge continue -+ echo merged version ++ echo 'merged version' + git add conflict.txt + git-imerge continue --no-edit -[imerge/c-d 0928625] imerge 'c-d': manual merge 9-5 +[imerge/c-d aa240cf] imerge 'c-d': manual merge 9-5 Merge has been recorded for merge 9-5. Attempting automerge of 9-6...success. Autofilling 9-6...success. @@ -5342,61 +5866,62 @@ @ = merge was blocked but has been resolved ? = no merge recorded -+ GIT_EDITOR=cat git-imerge simplify --goal=merge --branch=c-d-merge ++ GIT_EDITOR=cat ++ git-imerge simplify --goal=merge --branch=c-d-merge Merge d into c (using imerge) # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # -# Date: Fri Mar 27 18:27:16 2026 +0000 +# Date: Sat Feb 22 12:08:28 2025 +0000 # # On branch c-d-merge # Changes to be committed: # modified: conflict.txt # modified: d.txt # -[c-d-merge fd36d87] Merge d into c (using imerge) - Date: Fri Mar 27 18:27:16 2026 +0000 +[c-d-merge 46fde12] Merge d into c (using imerge) + Date: Sat Feb 22 12:08:28 2025 +0000 + check_tree c-d-merge ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-merge + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 -+ git rev-parse c-d-merge^{tree} +++ git rev-parse 'c-d-merge^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=rebase --branch=c-d-rebase + check_tree c-d-rebase ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-rebase + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 -+ git rev-parse c-d-rebase^{tree} +++ git rev-parse 'c-d-rebase^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=rebase-with-history --branch=c-d-rebase-with-history + check_tree c-d-rebase-with-history ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-rebase-with-history + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 -+ git rev-parse c-d-rebase-with-history^{tree} +++ git rev-parse 'c-d-rebase-with-history^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border --branch=c-d-border + check_tree c-d-border ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 -+ git rev-parse c-d-border^{tree} +++ git rev-parse 'c-d-border^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border-with-history --branch=c-d-border-with-history + check_tree c-d-border-with-history ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border-with-history + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 -+ git rev-parse c-d-border-with-history^{tree} +++ git rev-parse 'c-d-border-with-history^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border-with-history2 --branch=c-d-border-with-history2 + check_tree c-d-border-with-history2 ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border-with-history2 + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 -+ git rev-parse c-d-border-with-history2^{tree} +++ git rev-parse 'c-d-border-with-history2^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge remove + git checkout c Switched to branch 'c' -+ + git-imerge start --goal=full --first-parent --name=c-d d -tee start.out ++ tee start.out ++ git-imerge start --goal=full --first-parent --name=c-d d Attempting to merge 1-1...success. Attempting to merge 1-2...success. Attempting to merge 1-3...success. @@ -5474,7 +5999,7 @@ git-imerge continue + grep -q Traceback start.out -+ grep -q suggest manual merge of 9-5 autofill.out ++ grep -q 'suggest manual merge of 9-5' autofill.out + git-imerge diagram --commits --frontier --html=imerge3.html 0 5 9 | | | @@ -5508,9 +6033,10 @@ @ = merge was blocked but has been resolved ? = no merge recorded -+ echo merged version ++ echo 'merged version' + git add conflict.txt -+ GIT_EDITOR=cat git commit ++ GIT_EDITOR=cat ++ git commit imerge 'c-d': manual merge 9-5 # Conflicts: @@ -5532,7 +6058,7 @@ # modified: conflict.txt # modified: d.txt # -[imerge/c-d 79d797b] imerge 'c-d': manual merge 9-5 +[imerge/c-d 7441e4d] imerge 'c-d': manual merge 9-5 + git-imerge continue --edit Merge has been recorded for merge 9-5. Attempting to merge 9-6...success. @@ -5574,21 +6100,22 @@ + check_tree c-d-full ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-full + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 -+ git rev-parse c-d-full^{tree} +++ git rev-parse 'c-d-full^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + test_conflict 5-1 + local conflict=5-1 + TMP=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-5-1 -+ DESCRIPTION=git-imerge test repository with conflict at 5-1 -+ init_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-5-1 git-imerge test repository with conflict at 5-1 ++ DESCRIPTION='git-imerge test repository with conflict at 5-1' ++ init_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-5-1 'git-imerge test repository with conflict at 5-1' + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-5-1 -+ local description=git-imerge test repository with conflict at 5-1 -+ delete_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-5-1 git-imerge test repository with conflict at 5-1 ++ local 'description=git-imerge test repository with conflict at 5-1' ++ delete_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-5-1 'git-imerge test repository with conflict at 5-1' + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-5-1 -+ local description=git-imerge test repository with conflict at 5-1 ++ local 'description=git-imerge test repository with conflict at 5-1' + test -d /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-5-1 + mkdir -p /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-5-1 + git init /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-5-1 +Initialized empty Git repository in /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-5-1/.git/ hint: Using 'master' as the name for the initial branch. This default branch name hint: is subject to change. To configure the initial branch name to use in all hint: of your new repositories, which will suppress this warning, call: @@ -5599,10 +6126,9 @@ hint: 'development'. The just-created branch can be renamed via this command: hint: hint: git branch -m -Initialized empty Git repository in /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-5-1/.git/ -+ echo git-imerge test repository with conflict at 5-1 -+ printf %s\n /*.out /*.css /*.html -+ git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-5-1/.git config user.name Loú User ++ echo 'git-imerge test repository with conflict at 5-1' ++ printf '%s\n' '/*.out' '/*.css' '/*.html' ++ git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-5-1/.git config user.name 'Loú User' + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-5-1/.git config user.email luser@example.com + TIME=1112911993 + ln -s /build/reproducible-path/git-imerge-1.2.0/imerge.css /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-5-1 @@ -5617,14 +6143,16 @@ + text=0 + echo 0 + git add d.txt -+ modify conflict.txt original version ++ modify conflict.txt 'original version' + filename=conflict.txt -+ text=original version -+ echo original version ++ text='original version' ++ echo 'original version' + git add conflict.txt -+ commit -m m⇒0 ++ commit -m $'m\342\207\2220' + TIME=1112911994 -+ GIT_AUTHOR_DATE=@1112911994 +0000 GIT_COMMITTER_DATE=@1112911994 +0000 git commit -m m⇒0 ++ GIT_AUTHOR_DATE='@1112911994 +0000' ++ GIT_COMMITTER_DATE='@1112911994 +0000' ++ git commit -m $'m\342\207\2220' [master (root-commit) d70e04b] m⇒0 3 files changed, 3 insertions(+) create mode 100644 c.txt @@ -5632,168 +6160,228 @@ create mode 100644 d.txt + git checkout -b c master -- Switched to a new branch 'c' -+ seq 9 +++ seq 9 ++ for i in $(seq 9) + modify c.txt 1 + filename=c.txt + text=1 + echo 1 + git add c.txt -+ commit -m c⇒1 ++ case $conflict in ++ commit -m $'c\342\207\2221' + TIME=1112911995 -+ GIT_AUTHOR_DATE=@1112911995 +0000 GIT_COMMITTER_DATE=@1112911995 +0000 git commit -m c⇒1 ++ GIT_AUTHOR_DATE='@1112911995 +0000' ++ GIT_COMMITTER_DATE='@1112911995 +0000' ++ git commit -m $'c\342\207\2221' [c 89e2141] c⇒1 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 9) + modify c.txt 2 + filename=c.txt + text=2 + echo 2 + git add c.txt -+ commit -m c⇒2 ++ case $conflict in ++ commit -m $'c\342\207\2222' + TIME=1112911996 -+ GIT_AUTHOR_DATE=@1112911996 +0000 GIT_COMMITTER_DATE=@1112911996 +0000 git commit -m c⇒2 ++ GIT_AUTHOR_DATE='@1112911996 +0000' ++ GIT_COMMITTER_DATE='@1112911996 +0000' ++ git commit -m $'c\342\207\2222' [c 7c431f2] c⇒2 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 9) + modify c.txt 3 + filename=c.txt + text=3 + echo 3 + git add c.txt -+ commit -m c⇒3 ++ case $conflict in ++ commit -m $'c\342\207\2223' + TIME=1112911997 -+ GIT_AUTHOR_DATE=@1112911997 +0000 GIT_COMMITTER_DATE=@1112911997 +0000 git commit -m c⇒3 ++ GIT_AUTHOR_DATE='@1112911997 +0000' ++ GIT_COMMITTER_DATE='@1112911997 +0000' ++ git commit -m $'c\342\207\2223' [c f02ab24] c⇒3 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 9) + modify c.txt 4 + filename=c.txt + text=4 + echo 4 + git add c.txt -+ commit -m c⇒4 ++ case $conflict in ++ commit -m $'c\342\207\2224' + TIME=1112911998 -+ GIT_AUTHOR_DATE=@1112911998 +0000 GIT_COMMITTER_DATE=@1112911998 +0000 git commit -m c⇒4 ++ GIT_AUTHOR_DATE='@1112911998 +0000' ++ GIT_COMMITTER_DATE='@1112911998 +0000' ++ git commit -m $'c\342\207\2224' [c ed9122f] c⇒4 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 9) + modify c.txt 5 + filename=c.txt + text=5 + echo 5 + git add c.txt -+ modify conflict.txt c version ++ case $conflict in ++ modify conflict.txt 'c version' + filename=conflict.txt -+ text=c version -+ echo c version ++ text='c version' ++ echo 'c version' + git add conflict.txt -+ commit -m c⇒5 ++ commit -m $'c\342\207\2225' + TIME=1112911999 -+ GIT_AUTHOR_DATE=@1112911999 +0000 GIT_COMMITTER_DATE=@1112911999 +0000 git commit -m c⇒5 ++ GIT_AUTHOR_DATE='@1112911999 +0000' ++ GIT_COMMITTER_DATE='@1112911999 +0000' ++ git commit -m $'c\342\207\2225' [c 7e31f25] c⇒5 2 files changed, 2 insertions(+), 2 deletions(-) ++ for i in $(seq 9) + modify c.txt 6 + filename=c.txt + text=6 + echo 6 + git add c.txt -+ commit -m c⇒6 ++ case $conflict in ++ commit -m $'c\342\207\2226' + TIME=1112912000 -+ GIT_AUTHOR_DATE=@1112912000 +0000 GIT_COMMITTER_DATE=@1112912000 +0000 git commit -m c⇒6 ++ GIT_AUTHOR_DATE='@1112912000 +0000' ++ GIT_COMMITTER_DATE='@1112912000 +0000' ++ git commit -m $'c\342\207\2226' [c df3c57a] c⇒6 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 9) + modify c.txt 7 + filename=c.txt + text=7 + echo 7 + git add c.txt -+ commit -m c⇒7 ++ case $conflict in ++ commit -m $'c\342\207\2227' + TIME=1112912001 -+ GIT_AUTHOR_DATE=@1112912001 +0000 GIT_COMMITTER_DATE=@1112912001 +0000 git commit -m c⇒7 ++ GIT_AUTHOR_DATE='@1112912001 +0000' ++ GIT_COMMITTER_DATE='@1112912001 +0000' ++ git commit -m $'c\342\207\2227' [c ea32d81] c⇒7 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 9) + modify c.txt 8 + filename=c.txt + text=8 + echo 8 + git add c.txt -+ commit -m c⇒8 ++ case $conflict in ++ commit -m $'c\342\207\2228' + TIME=1112912002 -+ GIT_AUTHOR_DATE=@1112912002 +0000 GIT_COMMITTER_DATE=@1112912002 +0000 git commit -m c⇒8 ++ GIT_AUTHOR_DATE='@1112912002 +0000' ++ GIT_COMMITTER_DATE='@1112912002 +0000' ++ git commit -m $'c\342\207\2228' [c 44473d6] c⇒8 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 9) + modify c.txt 9 + filename=c.txt + text=9 + echo 9 + git add c.txt -+ commit -m c⇒9 ++ case $conflict in ++ commit -m $'c\342\207\2229' + TIME=1112912003 -+ GIT_AUTHOR_DATE=@1112912003 +0000 GIT_COMMITTER_DATE=@1112912003 +0000 git commit -m c⇒9 ++ GIT_AUTHOR_DATE='@1112912003 +0000' ++ GIT_COMMITTER_DATE='@1112912003 +0000' ++ git commit -m $'c\342\207\2229' [c d8d80cf] c⇒9 1 file changed, 1 insertion(+), 1 deletion(-) + git checkout -b d master -- Switched to a new branch 'd' -+ seq 6 +++ seq 6 ++ for i in $(seq 6) + modify d.txt 1 + filename=d.txt + text=1 + echo 1 + git add d.txt -+ modify conflict.txt d version ++ case $conflict in ++ modify conflict.txt 'd version' + filename=conflict.txt -+ text=d version -+ echo d version ++ text='d version' ++ echo 'd version' + git add conflict.txt -+ commit -m d⇒1 ++ commit -m $'d\342\207\2221' + TIME=1112912004 -+ GIT_AUTHOR_DATE=@1112912004 +0000 GIT_COMMITTER_DATE=@1112912004 +0000 git commit -m d⇒1 ++ GIT_AUTHOR_DATE='@1112912004 +0000' ++ GIT_COMMITTER_DATE='@1112912004 +0000' ++ git commit -m $'d\342\207\2221' [d ac0427a] d⇒1 2 files changed, 2 insertions(+), 2 deletions(-) ++ for i in $(seq 6) + modify d.txt 2 + filename=d.txt + text=2 + echo 2 + git add d.txt -+ commit -m d⇒2 ++ case $conflict in ++ commit -m $'d\342\207\2222' + TIME=1112912005 -+ GIT_AUTHOR_DATE=@1112912005 +0000 GIT_COMMITTER_DATE=@1112912005 +0000 git commit -m d⇒2 ++ GIT_AUTHOR_DATE='@1112912005 +0000' ++ GIT_COMMITTER_DATE='@1112912005 +0000' ++ git commit -m $'d\342\207\2222' [d 43c38c0] d⇒2 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 6) + modify d.txt 3 + filename=d.txt + text=3 + echo 3 + git add d.txt -+ commit -m d⇒3 ++ case $conflict in ++ commit -m $'d\342\207\2223' + TIME=1112912006 -+ GIT_AUTHOR_DATE=@1112912006 +0000 GIT_COMMITTER_DATE=@1112912006 +0000 git commit -m d⇒3 ++ GIT_AUTHOR_DATE='@1112912006 +0000' ++ GIT_COMMITTER_DATE='@1112912006 +0000' ++ git commit -m $'d\342\207\2223' [d 0260058] d⇒3 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 6) + modify d.txt 4 + filename=d.txt + text=4 + echo 4 + git add d.txt -+ commit -m d⇒4 ++ case $conflict in ++ commit -m $'d\342\207\2224' + TIME=1112912007 -+ GIT_AUTHOR_DATE=@1112912007 +0000 GIT_COMMITTER_DATE=@1112912007 +0000 git commit -m d⇒4 ++ GIT_AUTHOR_DATE='@1112912007 +0000' ++ GIT_COMMITTER_DATE='@1112912007 +0000' ++ git commit -m $'d\342\207\2224' [d 40fef44] d⇒4 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 6) + modify d.txt 5 + filename=d.txt + text=5 + echo 5 + git add d.txt -+ commit -m d⇒5 ++ case $conflict in ++ commit -m $'d\342\207\2225' + TIME=1112912008 -+ GIT_AUTHOR_DATE=@1112912008 +0000 GIT_COMMITTER_DATE=@1112912008 +0000 git commit -m d⇒5 -[d b080a65] d⇒5 - 1 file changed, 1 insertion(+), 1 deletion(-) ++ GIT_AUTHOR_DATE='@1112912008 +0000' ++ GIT_COMMITTER_DATE='@1112912008 +0000' ++ git commit -m $'d\342\207\2225' ++ for i in $(seq 6) + modify d.txt 6 + filename=d.txt + text=6 + echo 6 + git add d.txt -+ commit -m d⇒6 +[d b080a65] d⇒5 + 1 file changed, 1 insertion(+), 1 deletion(-) ++ case $conflict in ++ commit -m $'d\342\207\2226' + TIME=1112912009 -+ GIT_AUTHOR_DATE=@1112912009 +0000 GIT_COMMITTER_DATE=@1112912009 +0000 git commit -m d⇒6 ++ GIT_AUTHOR_DATE='@1112912009 +0000' ++ GIT_COMMITTER_DATE='@1112912009 +0000' ++ git commit -m $'d\342\207\2226' [d 200ce5c] d⇒6 1 file changed, 1 insertion(+), 1 deletion(-) + git checkout c @@ -5834,8 +6422,8 @@ @ = merge was blocked but has been resolved ? = no merge recorded -+ git-imerge autofill + tee autofill.out ++ git-imerge autofill Attempting automerge of 9-6...failure. Attempting automerge of 1-1...success. Attempting automerge of 1-4...success. @@ -5862,7 +6450,7 @@ HEAD is now at d8d80cf c⇒9 Conflict; suggest manual merge of 5-1 + grep -q Traceback autofill.out -+ grep -q suggest manual merge of 5-1 autofill.out ++ grep -q 'suggest manual merge of 5-1' autofill.out + git-imerge diagram --commits --frontier --html=imerge1.html 0 5 9 | | | @@ -5920,10 +6508,10 @@ Please resolve the conflict, commit the result, then type git-imerge continue -+ echo merged version ++ echo 'merged version' + git add conflict.txt + git-imerge continue --no-edit -[imerge/c-d 8d2d1da] imerge 'c-d': manual merge 5-1 +[imerge/c-d cbae8e5] imerge 'c-d': manual merge 5-1 Merge has been recorded for merge 5-1. Attempting automerge of 5-6...success. Autofilling 5-2...success. @@ -5979,55 +6567,56 @@ @ = merge was blocked but has been resolved ? = no merge recorded -+ GIT_EDITOR=cat git-imerge simplify --goal=merge --branch=c-d-merge ++ GIT_EDITOR=cat ++ git-imerge simplify --goal=merge --branch=c-d-merge Merge d into c (using imerge) # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # -# Date: Fri Mar 27 18:27:23 2026 +0000 +# Date: Sat Feb 22 12:08:50 2025 +0000 # # On branch c-d-merge # Changes to be committed: # modified: conflict.txt # modified: d.txt # -[c-d-merge 22e5fc3] Merge d into c (using imerge) - Date: Fri Mar 27 18:27:23 2026 +0000 +[c-d-merge 0e04707] Merge d into c (using imerge) + Date: Sat Feb 22 12:08:50 2025 +0000 + check_tree c-d-merge ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-merge + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 -+ git rev-parse c-d-merge^{tree} +++ git rev-parse 'c-d-merge^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=rebase --branch=c-d-rebase + check_tree c-d-rebase ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-rebase + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 -+ git rev-parse c-d-rebase^{tree} +++ git rev-parse 'c-d-rebase^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=rebase-with-history --branch=c-d-rebase-with-history + check_tree c-d-rebase-with-history ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-rebase-with-history + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 -+ git rev-parse c-d-rebase-with-history^{tree} +++ git rev-parse 'c-d-rebase-with-history^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border --branch=c-d-border + check_tree c-d-border ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 -+ git rev-parse c-d-border^{tree} +++ git rev-parse 'c-d-border^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border-with-history --branch=c-d-border-with-history + check_tree c-d-border-with-history ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border-with-history + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 -+ git rev-parse c-d-border-with-history^{tree} +++ git rev-parse 'c-d-border-with-history^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border-with-history2 --branch=c-d-border-with-history2 + check_tree c-d-border-with-history2 ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border-with-history2 + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 -+ git rev-parse c-d-border-with-history2^{tree} +++ git rev-parse 'c-d-border-with-history2^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge remove + git checkout c @@ -6083,7 +6672,7 @@ git-imerge continue + grep -q Traceback start.out -+ grep -q suggest manual merge of 5-1 autofill.out ++ grep -q 'suggest manual merge of 5-1' autofill.out + git-imerge diagram --commits --frontier --html=imerge3.html 0 5 9 | | | @@ -6117,9 +6706,10 @@ @ = merge was blocked but has been resolved ? = no merge recorded -+ echo merged version ++ echo 'merged version' + git add conflict.txt -+ GIT_EDITOR=cat git commit ++ GIT_EDITOR=cat ++ git commit imerge 'c-d': manual merge 5-1 # Conflicts: @@ -6141,7 +6731,7 @@ # modified: conflict.txt # modified: d.txt # -[imerge/c-d a8a4ce2] imerge 'c-d': manual merge 5-1 +[imerge/c-d 2ab052b] imerge 'c-d': manual merge 5-1 + git-imerge continue --edit Merge has been recorded for merge 5-1. Attempting to merge 5-2...success. @@ -6211,21 +6801,22 @@ + check_tree c-d-full ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-full + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 -+ git rev-parse c-d-full^{tree} +++ git rev-parse 'c-d-full^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + test_conflict 6-6 + local conflict=6-6 + TMP=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-6-6 -+ DESCRIPTION=git-imerge test repository with conflict at 6-6 -+ init_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-6-6 git-imerge test repository with conflict at 6-6 ++ DESCRIPTION='git-imerge test repository with conflict at 6-6' ++ init_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-6-6 'git-imerge test repository with conflict at 6-6' + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-6-6 -+ local description=git-imerge test repository with conflict at 6-6 -+ delete_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-6-6 git-imerge test repository with conflict at 6-6 ++ local 'description=git-imerge test repository with conflict at 6-6' ++ delete_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-6-6 'git-imerge test repository with conflict at 6-6' + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-6-6 -+ local description=git-imerge test repository with conflict at 6-6 ++ local 'description=git-imerge test repository with conflict at 6-6' + test -d /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-6-6 + mkdir -p /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-6-6 + git init /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-6-6 +Initialized empty Git repository in /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-6-6/.git/ hint: Using 'master' as the name for the initial branch. This default branch name hint: is subject to change. To configure the initial branch name to use in all hint: of your new repositories, which will suppress this warning, call: @@ -6236,10 +6827,9 @@ hint: 'development'. The just-created branch can be renamed via this command: hint: hint: git branch -m -Initialized empty Git repository in /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-6-6/.git/ -+ echo git-imerge test repository with conflict at 6-6 -+ printf %s\n /*.out /*.css /*.html -+ git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-6-6/.git config user.name Loú User ++ echo 'git-imerge test repository with conflict at 6-6' ++ printf '%s\n' '/*.out' '/*.css' '/*.html' ++ git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-6-6/.git config user.name 'Loú User' + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-6-6/.git config user.email luser@example.com + TIME=1112911993 + ln -s /build/reproducible-path/git-imerge-1.2.0/imerge.css /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-6-6 @@ -6254,183 +6844,245 @@ + text=0 + echo 0 + git add d.txt -+ modify conflict.txt original version ++ modify conflict.txt 'original version' + filename=conflict.txt -+ text=original version -+ echo original version ++ text='original version' ++ echo 'original version' + git add conflict.txt -+ commit -m m⇒0 ++ commit -m $'m\342\207\2220' + TIME=1112911994 -+ GIT_AUTHOR_DATE=@1112911994 +0000 GIT_COMMITTER_DATE=@1112911994 +0000 git commit -m m⇒0 ++ GIT_AUTHOR_DATE='@1112911994 +0000' ++ GIT_COMMITTER_DATE='@1112911994 +0000' ++ git commit -m $'m\342\207\2220' ++ git checkout -b c master -- [master (root-commit) d70e04b] m⇒0 3 files changed, 3 insertions(+) create mode 100644 c.txt create mode 100644 conflict.txt create mode 100644 d.txt -+ git checkout -b c master -- Switched to a new branch 'c' -+ seq 9 +++ seq 9 ++ for i in $(seq 9) + modify c.txt 1 + filename=c.txt + text=1 + echo 1 + git add c.txt -+ commit -m c⇒1 ++ case $conflict in ++ commit -m $'c\342\207\2221' + TIME=1112911995 -+ GIT_AUTHOR_DATE=@1112911995 +0000 GIT_COMMITTER_DATE=@1112911995 +0000 git commit -m c⇒1 ++ GIT_AUTHOR_DATE='@1112911995 +0000' ++ GIT_COMMITTER_DATE='@1112911995 +0000' ++ git commit -m $'c\342\207\2221' [c 89e2141] c⇒1 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 9) + modify c.txt 2 + filename=c.txt + text=2 + echo 2 + git add c.txt -+ commit -m c⇒2 ++ case $conflict in ++ commit -m $'c\342\207\2222' + TIME=1112911996 -+ GIT_AUTHOR_DATE=@1112911996 +0000 GIT_COMMITTER_DATE=@1112911996 +0000 git commit -m c⇒2 ++ GIT_AUTHOR_DATE='@1112911996 +0000' ++ GIT_COMMITTER_DATE='@1112911996 +0000' ++ git commit -m $'c\342\207\2222' [c 7c431f2] c⇒2 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 9) + modify c.txt 3 + filename=c.txt + text=3 + echo 3 + git add c.txt -+ commit -m c⇒3 ++ case $conflict in ++ commit -m $'c\342\207\2223' + TIME=1112911997 -+ GIT_AUTHOR_DATE=@1112911997 +0000 GIT_COMMITTER_DATE=@1112911997 +0000 git commit -m c⇒3 ++ GIT_AUTHOR_DATE='@1112911997 +0000' ++ GIT_COMMITTER_DATE='@1112911997 +0000' ++ git commit -m $'c\342\207\2223' [c f02ab24] c⇒3 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 9) + modify c.txt 4 + filename=c.txt + text=4 + echo 4 + git add c.txt -+ commit -m c⇒4 ++ case $conflict in ++ commit -m $'c\342\207\2224' + TIME=1112911998 -+ GIT_AUTHOR_DATE=@1112911998 +0000 GIT_COMMITTER_DATE=@1112911998 +0000 git commit -m c⇒4 ++ GIT_AUTHOR_DATE='@1112911998 +0000' ++ GIT_COMMITTER_DATE='@1112911998 +0000' ++ git commit -m $'c\342\207\2224' [c ed9122f] c⇒4 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 9) + modify c.txt 5 + filename=c.txt + text=5 + echo 5 + git add c.txt -+ commit -m c⇒5 ++ case $conflict in ++ commit -m $'c\342\207\2225' + TIME=1112911999 -+ GIT_AUTHOR_DATE=@1112911999 +0000 GIT_COMMITTER_DATE=@1112911999 +0000 git commit -m c⇒5 ++ GIT_AUTHOR_DATE='@1112911999 +0000' ++ GIT_COMMITTER_DATE='@1112911999 +0000' ++ git commit -m $'c\342\207\2225' [c 1d3bf09] c⇒5 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 9) + modify c.txt 6 + filename=c.txt + text=6 + echo 6 + git add c.txt -+ modify conflict.txt c version ++ case $conflict in ++ modify conflict.txt 'c version' + filename=conflict.txt -+ text=c version -+ echo c version ++ text='c version' ++ echo 'c version' + git add conflict.txt -+ commit -m c⇒6 ++ commit -m $'c\342\207\2226' + TIME=1112912000 -+ GIT_AUTHOR_DATE=@1112912000 +0000 GIT_COMMITTER_DATE=@1112912000 +0000 git commit -m c⇒6 ++ GIT_AUTHOR_DATE='@1112912000 +0000' ++ GIT_COMMITTER_DATE='@1112912000 +0000' ++ git commit -m $'c\342\207\2226' [c fe4fed8] c⇒6 2 files changed, 2 insertions(+), 2 deletions(-) ++ for i in $(seq 9) + modify c.txt 7 + filename=c.txt + text=7 + echo 7 + git add c.txt -+ commit -m c⇒7 ++ case $conflict in ++ commit -m $'c\342\207\2227' + TIME=1112912001 -+ GIT_AUTHOR_DATE=@1112912001 +0000 GIT_COMMITTER_DATE=@1112912001 +0000 git commit -m c⇒7 ++ GIT_AUTHOR_DATE='@1112912001 +0000' ++ GIT_COMMITTER_DATE='@1112912001 +0000' ++ git commit -m $'c\342\207\2227' [c ec255ea] c⇒7 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 9) + modify c.txt 8 + filename=c.txt + text=8 + echo 8 + git add c.txt -+ commit -m c⇒8 ++ case $conflict in ++ commit -m $'c\342\207\2228' + TIME=1112912002 -+ GIT_AUTHOR_DATE=@1112912002 +0000 GIT_COMMITTER_DATE=@1112912002 +0000 git commit -m c⇒8 ++ GIT_AUTHOR_DATE='@1112912002 +0000' ++ GIT_COMMITTER_DATE='@1112912002 +0000' ++ git commit -m $'c\342\207\2228' [c 7459ac3] c⇒8 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 9) + modify c.txt 9 + filename=c.txt + text=9 + echo 9 + git add c.txt -+ commit -m c⇒9 ++ case $conflict in ++ commit -m $'c\342\207\2229' + TIME=1112912003 -+ GIT_AUTHOR_DATE=@1112912003 +0000 GIT_COMMITTER_DATE=@1112912003 +0000 git commit -m c⇒9 ++ GIT_AUTHOR_DATE='@1112912003 +0000' ++ GIT_COMMITTER_DATE='@1112912003 +0000' ++ git commit -m $'c\342\207\2229' [c 70408c8] c⇒9 1 file changed, 1 insertion(+), 1 deletion(-) + git checkout -b d master -- Switched to a new branch 'd' -+ seq 6 +++ seq 6 ++ for i in $(seq 6) + modify d.txt 1 + filename=d.txt + text=1 + echo 1 + git add d.txt -+ commit -m d⇒1 ++ case $conflict in ++ commit -m $'d\342\207\2221' + TIME=1112912004 -+ GIT_AUTHOR_DATE=@1112912004 +0000 GIT_COMMITTER_DATE=@1112912004 +0000 git commit -m d⇒1 ++ GIT_AUTHOR_DATE='@1112912004 +0000' ++ GIT_COMMITTER_DATE='@1112912004 +0000' ++ git commit -m $'d\342\207\2221' [d bd5368a] d⇒1 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 6) + modify d.txt 2 + filename=d.txt + text=2 + echo 2 + git add d.txt -+ commit -m d⇒2 ++ case $conflict in ++ commit -m $'d\342\207\2222' + TIME=1112912005 -+ GIT_AUTHOR_DATE=@1112912005 +0000 GIT_COMMITTER_DATE=@1112912005 +0000 git commit -m d⇒2 ++ GIT_AUTHOR_DATE='@1112912005 +0000' ++ GIT_COMMITTER_DATE='@1112912005 +0000' ++ git commit -m $'d\342\207\2222' [d 93e27e6] d⇒2 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 6) + modify d.txt 3 + filename=d.txt + text=3 + echo 3 + git add d.txt -+ commit -m d⇒3 ++ case $conflict in ++ commit -m $'d\342\207\2223' + TIME=1112912006 -+ GIT_AUTHOR_DATE=@1112912006 +0000 GIT_COMMITTER_DATE=@1112912006 +0000 git commit -m d⇒3 ++ GIT_AUTHOR_DATE='@1112912006 +0000' ++ GIT_COMMITTER_DATE='@1112912006 +0000' ++ git commit -m $'d\342\207\2223' [d 133f385] d⇒3 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 6) + modify d.txt 4 + filename=d.txt + text=4 + echo 4 + git add d.txt -+ commit -m d⇒4 ++ case $conflict in ++ commit -m $'d\342\207\2224' + TIME=1112912007 -+ GIT_AUTHOR_DATE=@1112912007 +0000 GIT_COMMITTER_DATE=@1112912007 +0000 git commit -m d⇒4 -[d 586472a] d⇒4 - 1 file changed, 1 insertion(+), 1 deletion(-) ++ GIT_AUTHOR_DATE='@1112912007 +0000' ++ GIT_COMMITTER_DATE='@1112912007 +0000' ++ git commit -m $'d\342\207\2224' ++ for i in $(seq 6) + modify d.txt 5 + filename=d.txt + text=5 + echo 5 + git add d.txt -+ commit -m d⇒5 +[d 586472a] d⇒4 + 1 file changed, 1 insertion(+), 1 deletion(-) ++ case $conflict in ++ commit -m $'d\342\207\2225' + TIME=1112912008 -+ GIT_AUTHOR_DATE=@1112912008 +0000 GIT_COMMITTER_DATE=@1112912008 +0000 git commit -m d⇒5 ++ GIT_AUTHOR_DATE='@1112912008 +0000' ++ GIT_COMMITTER_DATE='@1112912008 +0000' ++ git commit -m $'d\342\207\2225' [d 9522207] d⇒5 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 6) + modify d.txt 6 + filename=d.txt + text=6 + echo 6 + git add d.txt -+ modify conflict.txt d version ++ case $conflict in ++ modify conflict.txt 'd version' + filename=conflict.txt -+ text=d version -+ echo d version ++ text='d version' ++ echo 'd version' + git add conflict.txt -+ commit -m d⇒6 ++ commit -m $'d\342\207\2226' + TIME=1112912009 -+ GIT_AUTHOR_DATE=@1112912009 +0000 GIT_COMMITTER_DATE=@1112912009 +0000 git commit -m d⇒6 ++ GIT_AUTHOR_DATE='@1112912009 +0000' ++ GIT_COMMITTER_DATE='@1112912009 +0000' ++ git commit -m $'d\342\207\2226' [d f7e451a] d⇒6 2 files changed, 2 insertions(+), 2 deletions(-) + git checkout c @@ -6471,8 +7123,8 @@ @ = merge was blocked but has been resolved ? = no merge recorded -+ git-imerge autofill + tee autofill.out ++ git-imerge autofill Attempting automerge of 9-6...failure. Attempting automerge of 1-1...success. Attempting automerge of 1-4...success. @@ -6514,7 +7166,7 @@ HEAD is now at 70408c8 c⇒9 Conflict; suggest manual merge of 6-6 + grep -q Traceback autofill.out -+ grep -q suggest manual merge of 6-6 autofill.out ++ grep -q 'suggest manual merge of 6-6' autofill.out + git-imerge diagram --commits --frontier --html=imerge1.html 0 5 9 | | | @@ -6572,10 +7224,10 @@ Please resolve the conflict, commit the result, then type git-imerge continue -+ echo merged version ++ echo 'merged version' + git add conflict.txt + git-imerge continue --no-edit -[imerge/c-d 052d07a] imerge 'c-d': manual merge 6-6 +[imerge/c-d eefd28b] imerge 'c-d': manual merge 6-6 Merge has been recorded for merge 6-6. Attempting automerge of 9-6...success. Autofilling 7-6...success. @@ -6616,55 +7268,56 @@ @ = merge was blocked but has been resolved ? = no merge recorded -+ GIT_EDITOR=cat git-imerge simplify --goal=merge --branch=c-d-merge ++ GIT_EDITOR=cat ++ git-imerge simplify --goal=merge --branch=c-d-merge Merge d into c (using imerge) # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # -# Date: Fri Mar 27 18:27:31 2026 +0000 +# Date: Sat Feb 22 12:09:08 2025 +0000 # # On branch c-d-merge # Changes to be committed: # modified: conflict.txt # modified: d.txt # -[c-d-merge 8d6d059] Merge d into c (using imerge) - Date: Fri Mar 27 18:27:31 2026 +0000 +[c-d-merge 167a45d] Merge d into c (using imerge) + Date: Sat Feb 22 12:09:08 2025 +0000 + check_tree c-d-merge ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-merge + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 -+ git rev-parse c-d-merge^{tree} +++ git rev-parse 'c-d-merge^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=rebase --branch=c-d-rebase + check_tree c-d-rebase ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-rebase + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 -+ git rev-parse c-d-rebase^{tree} +++ git rev-parse 'c-d-rebase^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=rebase-with-history --branch=c-d-rebase-with-history + check_tree c-d-rebase-with-history ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-rebase-with-history + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 -+ git rev-parse c-d-rebase-with-history^{tree} +++ git rev-parse 'c-d-rebase-with-history^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border --branch=c-d-border + check_tree c-d-border ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 -+ git rev-parse c-d-border^{tree} +++ git rev-parse 'c-d-border^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border-with-history --branch=c-d-border-with-history + check_tree c-d-border-with-history ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border-with-history + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 -+ git rev-parse c-d-border-with-history^{tree} +++ git rev-parse 'c-d-border-with-history^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border-with-history2 --branch=c-d-border-with-history2 + check_tree c-d-border-with-history2 ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border-with-history2 + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 -+ git rev-parse c-d-border-with-history2^{tree} +++ git rev-parse 'c-d-border-with-history2^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge remove + git checkout c @@ -6722,7 +7375,7 @@ Attempting to merge 9-3...success. Attempting to merge 9-4...success. Attempting to merge 9-5...success. -Previous HEAD position was 753b070 imerge 'c-d': automatic merge 9-5 +Previous HEAD position was 990a528 imerge 'c-d': automatic merge 9-5 Switched to branch 'imerge/c-d' Auto-merging conflict.txt CONFLICT (content): Merge conflict in conflict.txt @@ -6747,7 +7400,7 @@ git-imerge continue + grep -q Traceback start.out -+ grep -q suggest manual merge of 6-6 autofill.out ++ grep -q 'suggest manual merge of 6-6' autofill.out + git-imerge diagram --commits --frontier --html=imerge3.html 0 5 9 | | | @@ -6781,9 +7434,10 @@ @ = merge was blocked but has been resolved ? = no merge recorded -+ echo merged version ++ echo 'merged version' + git add conflict.txt -+ GIT_EDITOR=cat git commit ++ GIT_EDITOR=cat ++ git commit imerge 'c-d': manual merge 6-6 # Conflicts: @@ -6805,7 +7459,7 @@ # modified: conflict.txt # modified: d.txt # -[imerge/c-d b34ff65] imerge 'c-d': manual merge 6-6 +[imerge/c-d f3920c5] imerge 'c-d': manual merge 6-6 + git-imerge continue --edit Merge has been recorded for merge 6-6. Attempting to merge 7-6...success. @@ -6849,24 +7503,25 @@ + check_tree c-d-full ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-full + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 -+ git rev-parse c-d-full^{tree} +++ git rev-parse 'c-d-full^{tree}' + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 py313: commands[2] .pybuild/cpython3_3.13/build> /bin/sh t/test-really-conflicted -+ dirname t/test-really-conflicted -+ cd t -+ pwd -+ dirname /build/reproducible-path/git-imerge-1.2.0/t +++++ dirname t/test-really-conflicted +Initialized empty Git repository in /build/reproducible-path/git-imerge-1.2.0/t/tmp/really-conflicted/.git/ ++++ cd t ++++ pwd +++ dirname /build/reproducible-path/git-imerge-1.2.0/t + BASE=/build/reproducible-path/git-imerge-1.2.0 + . /build/reproducible-path/git-imerge-1.2.0/t/test-lib.sh + GIT_IMERGE=git-imerge + TMP=/build/reproducible-path/git-imerge-1.2.0/t/tmp/really-conflicted -+ DESCRIPTION=git-imerge test repository with multiple conflicts -+ init_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/really-conflicted git-imerge test repository with multiple conflicts ++ DESCRIPTION='git-imerge test repository with multiple conflicts' ++ init_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/really-conflicted 'git-imerge test repository with multiple conflicts' + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/really-conflicted -+ local description=git-imerge test repository with multiple conflicts -+ delete_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/really-conflicted git-imerge test repository with multiple conflicts ++ local 'description=git-imerge test repository with multiple conflicts' ++ delete_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/really-conflicted 'git-imerge test repository with multiple conflicts' + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/really-conflicted -+ local description=git-imerge test repository with multiple conflicts ++ local 'description=git-imerge test repository with multiple conflicts' + test -d /build/reproducible-path/git-imerge-1.2.0/t/tmp/really-conflicted + mkdir -p /build/reproducible-path/git-imerge-1.2.0/t/tmp/really-conflicted + git init /build/reproducible-path/git-imerge-1.2.0/t/tmp/really-conflicted @@ -6880,10 +7535,9 @@ hint: 'development'. The just-created branch can be renamed via this command: hint: hint: git branch -m -Initialized empty Git repository in /build/reproducible-path/git-imerge-1.2.0/t/tmp/really-conflicted/.git/ -+ echo git-imerge test repository with multiple conflicts -+ printf %s\n /*.out /*.css /*.html -+ git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/really-conflicted/.git config user.name Loú User ++ echo 'git-imerge test repository with multiple conflicts' ++ printf '%s\n' '/*.out' '/*.css' '/*.html' ++ git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/really-conflicted/.git config user.name 'Loú User' + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/really-conflicted/.git config user.email luser@example.com + TIME=1112911993 + ln -s /build/reproducible-path/git-imerge-1.2.0/imerge.css /build/reproducible-path/git-imerge-1.2.0/t/tmp/really-conflicted @@ -6898,50 +7552,60 @@ + text=0 + echo 0 + git add d.txt -+ seq 0 7 -+ modify conflict0.txt original version +++ seq 0 7 ++ for i in $(seq 0 7) ++ modify conflict0.txt 'original version' + filename=conflict0.txt -+ text=original version -+ echo original version ++ text='original version' ++ echo 'original version' + git add conflict0.txt -+ modify conflict1.txt original version ++ for i in $(seq 0 7) ++ modify conflict1.txt 'original version' + filename=conflict1.txt -+ text=original version -+ echo original version ++ text='original version' ++ echo 'original version' + git add conflict1.txt -+ modify conflict2.txt original version ++ for i in $(seq 0 7) ++ modify conflict2.txt 'original version' + filename=conflict2.txt -+ text=original version -+ echo original version ++ text='original version' ++ echo 'original version' + git add conflict2.txt -+ modify conflict3.txt original version ++ for i in $(seq 0 7) ++ modify conflict3.txt 'original version' + filename=conflict3.txt -+ text=original version -+ echo original version ++ text='original version' ++ echo 'original version' + git add conflict3.txt -+ modify conflict4.txt original version ++ for i in $(seq 0 7) ++ modify conflict4.txt 'original version' + filename=conflict4.txt -+ text=original version -+ echo original version ++ text='original version' ++ echo 'original version' + git add conflict4.txt -+ modify conflict5.txt original version ++ for i in $(seq 0 7) ++ modify conflict5.txt 'original version' + filename=conflict5.txt -+ text=original version -+ echo original version ++ text='original version' ++ echo 'original version' + git add conflict5.txt -+ modify conflict6.txt original version ++ for i in $(seq 0 7) ++ modify conflict6.txt 'original version' + filename=conflict6.txt -+ text=original version -+ echo original version ++ text='original version' ++ echo 'original version' + git add conflict6.txt -+ modify conflict7.txt original version ++ for i in $(seq 0 7) ++ modify conflict7.txt 'original version' + filename=conflict7.txt -+ text=original version -+ echo original version ++ text='original version' ++ echo 'original version' + git add conflict7.txt -+ commit -m m⇒0 ++ commit -m $'m\342\207\2220' + TIME=1112911994 -+ GIT_AUTHOR_DATE=@1112911994 +0000 GIT_COMMITTER_DATE=@1112911994 +0000 git commit -m m⇒0 ++ GIT_AUTHOR_DATE='@1112911994 +0000' ++ GIT_COMMITTER_DATE='@1112911994 +0000' ++ git commit -m $'m\342\207\2220' [master (root-commit) 8e21fbd] m⇒0 10 files changed, 10 insertions(+) create mode 100644 c.txt @@ -6961,19 +7625,21 @@ + text=1 + echo 1 + git add c.txt -+ modify conflict0.txt c version ++ modify conflict0.txt 'c version' + filename=conflict0.txt -+ text=c version -+ echo c version ++ text='c version' ++ echo 'c version' + git add conflict0.txt -+ modify conflict4.txt c version ++ modify conflict4.txt 'c version' + filename=conflict4.txt -+ text=c version -+ echo c version ++ text='c version' ++ echo 'c version' + git add conflict4.txt -+ commit -m c⇒1 ++ commit -m $'c\342\207\2221' + TIME=1112911995 -+ GIT_AUTHOR_DATE=@1112911995 +0000 GIT_COMMITTER_DATE=@1112911995 +0000 git commit -m c⇒1 ++ GIT_AUTHOR_DATE='@1112911995 +0000' ++ GIT_COMMITTER_DATE='@1112911995 +0000' ++ git commit -m $'c\342\207\2221' [c 4e6007a] c⇒1 3 files changed, 3 insertions(+), 3 deletions(-) + modify c.txt 2 @@ -6981,9 +7647,11 @@ + text=2 + echo 2 + git add c.txt -+ commit -m c⇒2 ++ commit -m $'c\342\207\2222' + TIME=1112911996 -+ GIT_AUTHOR_DATE=@1112911996 +0000 GIT_COMMITTER_DATE=@1112911996 +0000 git commit -m c⇒2 ++ GIT_AUTHOR_DATE='@1112911996 +0000' ++ GIT_COMMITTER_DATE='@1112911996 +0000' ++ git commit -m $'c\342\207\2222' [c c2b7c49] c⇒2 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 3 @@ -6991,9 +7659,11 @@ + text=3 + echo 3 + git add c.txt -+ commit -m c⇒3 ++ commit -m $'c\342\207\2223' + TIME=1112911997 -+ GIT_AUTHOR_DATE=@1112911997 +0000 GIT_COMMITTER_DATE=@1112911997 +0000 git commit -m c⇒3 ++ GIT_AUTHOR_DATE='@1112911997 +0000' ++ GIT_COMMITTER_DATE='@1112911997 +0000' ++ git commit -m $'c\342\207\2223' [c 42ad55a] c⇒3 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 4 @@ -7001,14 +7671,16 @@ + text=4 + echo 4 + git add c.txt -+ modify conflict1.txt c version ++ modify conflict1.txt 'c version' + filename=conflict1.txt -+ text=c version -+ echo c version ++ text='c version' ++ echo 'c version' + git add conflict1.txt -+ commit -m c⇒4 ++ commit -m $'c\342\207\2224' + TIME=1112911998 -+ GIT_AUTHOR_DATE=@1112911998 +0000 GIT_COMMITTER_DATE=@1112911998 +0000 git commit -m c⇒4 ++ GIT_AUTHOR_DATE='@1112911998 +0000' ++ GIT_COMMITTER_DATE='@1112911998 +0000' ++ git commit -m $'c\342\207\2224' [c a891793] c⇒4 2 files changed, 2 insertions(+), 2 deletions(-) + modify c.txt 5 @@ -7016,19 +7688,21 @@ + text=5 + echo 5 + git add c.txt -+ modify conflict3.txt c version ++ modify conflict3.txt 'c version' + filename=conflict3.txt -+ text=c version -+ echo c version ++ text='c version' ++ echo 'c version' + git add conflict3.txt -+ modify conflict6.txt c version ++ modify conflict6.txt 'c version' + filename=conflict6.txt -+ text=c version -+ echo c version ++ text='c version' ++ echo 'c version' + git add conflict6.txt -+ commit -m c⇒5 ++ commit -m $'c\342\207\2225' + TIME=1112911999 -+ GIT_AUTHOR_DATE=@1112911999 +0000 GIT_COMMITTER_DATE=@1112911999 +0000 git commit -m c⇒5 ++ GIT_AUTHOR_DATE='@1112911999 +0000' ++ GIT_COMMITTER_DATE='@1112911999 +0000' ++ git commit -m $'c\342\207\2225' [c c21441d] c⇒5 3 files changed, 3 insertions(+), 3 deletions(-) + modify c.txt 6 @@ -7036,14 +7710,16 @@ + text=6 + echo 6 + git add c.txt -+ modify conflict5.txt c version ++ modify conflict5.txt 'c version' + filename=conflict5.txt -+ text=c version -+ echo c version ++ text='c version' ++ echo 'c version' + git add conflict5.txt -+ commit -m c⇒6 ++ commit -m $'c\342\207\2226' + TIME=1112912000 -+ GIT_AUTHOR_DATE=@1112912000 +0000 GIT_COMMITTER_DATE=@1112912000 +0000 git commit -m c⇒6 ++ GIT_AUTHOR_DATE='@1112912000 +0000' ++ GIT_COMMITTER_DATE='@1112912000 +0000' ++ git commit -m $'c\342\207\2226' [c a797a66] c⇒6 2 files changed, 2 insertions(+), 2 deletions(-) + modify c.txt 7 @@ -7051,14 +7727,16 @@ + text=7 + echo 7 + git add c.txt -+ modify conflict2.txt c version ++ modify conflict2.txt 'c version' + filename=conflict2.txt -+ text=c version -+ echo c version ++ text='c version' ++ echo 'c version' + git add conflict2.txt -+ commit -m c⇒7 ++ commit -m $'c\342\207\2227' + TIME=1112912001 -+ GIT_AUTHOR_DATE=@1112912001 +0000 GIT_COMMITTER_DATE=@1112912001 +0000 git commit -m c⇒7 ++ GIT_AUTHOR_DATE='@1112912001 +0000' ++ GIT_COMMITTER_DATE='@1112912001 +0000' ++ git commit -m $'c\342\207\2227' [c c0e1537] c⇒7 2 files changed, 2 insertions(+), 2 deletions(-) + modify c.txt 8 @@ -7066,9 +7744,11 @@ + text=8 + echo 8 + git add c.txt -+ commit -m c⇒8 ++ commit -m $'c\342\207\2228' + TIME=1112912002 -+ GIT_AUTHOR_DATE=@1112912002 +0000 GIT_COMMITTER_DATE=@1112912002 +0000 git commit -m c⇒8 ++ GIT_AUTHOR_DATE='@1112912002 +0000' ++ GIT_COMMITTER_DATE='@1112912002 +0000' ++ git commit -m $'c\342\207\2228' [c 9f3e7c8] c⇒8 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 9 @@ -7076,14 +7756,16 @@ + text=9 + echo 9 + git add c.txt -+ modify conflict7.txt c version ++ modify conflict7.txt 'c version' + filename=conflict7.txt -+ text=c version -+ echo c version ++ text='c version' ++ echo 'c version' + git add conflict7.txt -+ commit -m c⇒9 ++ commit -m $'c\342\207\2229' + TIME=1112912003 -+ GIT_AUTHOR_DATE=@1112912003 +0000 GIT_COMMITTER_DATE=@1112912003 +0000 git commit -m c⇒9 ++ GIT_AUTHOR_DATE='@1112912003 +0000' ++ GIT_COMMITTER_DATE='@1112912003 +0000' ++ git commit -m $'c\342\207\2229' [c ccbfccb] c⇒9 2 files changed, 2 insertions(+), 2 deletions(-) + git checkout -b d master -- @@ -7093,19 +7775,21 @@ + text=1 + echo 1 + git add d.txt -+ modify conflict0.txt d version ++ modify conflict0.txt 'd version' + filename=conflict0.txt -+ text=d version -+ echo d version ++ text='d version' ++ echo 'd version' + git add conflict0.txt -+ modify conflict6.txt d version ++ modify conflict6.txt 'd version' + filename=conflict6.txt -+ text=d version -+ echo d version ++ text='d version' ++ echo 'd version' + git add conflict6.txt -+ commit -m d⇒1 ++ commit -m $'d\342\207\2221' + TIME=1112912004 -+ GIT_AUTHOR_DATE=@1112912004 +0000 GIT_COMMITTER_DATE=@1112912004 +0000 git commit -m d⇒1 ++ GIT_AUTHOR_DATE='@1112912004 +0000' ++ GIT_COMMITTER_DATE='@1112912004 +0000' ++ git commit -m $'d\342\207\2221' [d 8c3c065] d⇒1 3 files changed, 3 insertions(+), 3 deletions(-) + modify d.txt 2 @@ -7113,19 +7797,21 @@ + text=2 + echo 2 + git add d.txt -+ modify conflict1.txt d version ++ modify conflict1.txt 'd version' + filename=conflict1.txt -+ text=d version -+ echo d version ++ text='d version' ++ echo 'd version' + git add conflict1.txt -+ modify conflict2.txt d version ++ modify conflict2.txt 'd version' + filename=conflict2.txt -+ text=d version -+ echo d version ++ text='d version' ++ echo 'd version' + git add conflict2.txt -+ commit -m d⇒2 ++ commit -m $'d\342\207\2222' + TIME=1112912005 -+ GIT_AUTHOR_DATE=@1112912005 +0000 GIT_COMMITTER_DATE=@1112912005 +0000 git commit -m d⇒2 ++ GIT_AUTHOR_DATE='@1112912005 +0000' ++ GIT_COMMITTER_DATE='@1112912005 +0000' ++ git commit -m $'d\342\207\2222' [d 820b787] d⇒2 3 files changed, 3 insertions(+), 3 deletions(-) + modify d.txt 3 @@ -7133,9 +7819,11 @@ + text=3 + echo 3 + git add d.txt -+ commit -m d⇒3 ++ commit -m $'d\342\207\2223' + TIME=1112912006 -+ GIT_AUTHOR_DATE=@1112912006 +0000 GIT_COMMITTER_DATE=@1112912006 +0000 git commit -m d⇒3 ++ GIT_AUTHOR_DATE='@1112912006 +0000' ++ GIT_COMMITTER_DATE='@1112912006 +0000' ++ git commit -m $'d\342\207\2223' [d 821c792] d⇒3 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 4 @@ -7143,9 +7831,11 @@ + text=4 + echo 4 + git add d.txt -+ commit -m d⇒4 ++ commit -m $'d\342\207\2224' + TIME=1112912007 -+ GIT_AUTHOR_DATE=@1112912007 +0000 GIT_COMMITTER_DATE=@1112912007 +0000 git commit -m d⇒4 ++ GIT_AUTHOR_DATE='@1112912007 +0000' ++ GIT_COMMITTER_DATE='@1112912007 +0000' ++ git commit -m $'d\342\207\2224' [d c2a1456] d⇒4 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 5 @@ -7153,14 +7843,16 @@ + text=5 + echo 5 + git add d.txt -+ modify conflict3.txt d version ++ modify conflict3.txt 'd version' + filename=conflict3.txt -+ text=d version -+ echo d version ++ text='d version' ++ echo 'd version' + git add conflict3.txt -+ commit -m d⇒5 ++ commit -m $'d\342\207\2225' + TIME=1112912008 -+ GIT_AUTHOR_DATE=@1112912008 +0000 GIT_COMMITTER_DATE=@1112912008 +0000 git commit -m d⇒5 ++ GIT_AUTHOR_DATE='@1112912008 +0000' ++ GIT_COMMITTER_DATE='@1112912008 +0000' ++ git commit -m $'d\342\207\2225' [d c3e3890] d⇒5 2 files changed, 2 insertions(+), 2 deletions(-) + modify d.txt 6 @@ -7168,14 +7860,16 @@ + text=6 + echo 6 + git add d.txt -+ modify conflict4.txt d version ++ modify conflict4.txt 'd version' + filename=conflict4.txt -+ text=d version -+ echo d version ++ text='d version' ++ echo 'd version' + git add conflict4.txt -+ commit -m d⇒6 ++ commit -m $'d\342\207\2226' + TIME=1112912009 -+ GIT_AUTHOR_DATE=@1112912009 +0000 GIT_COMMITTER_DATE=@1112912009 +0000 git commit -m d⇒6 ++ GIT_AUTHOR_DATE='@1112912009 +0000' ++ GIT_COMMITTER_DATE='@1112912009 +0000' ++ git commit -m $'d\342\207\2226' [d b2f5c5e] d⇒6 2 files changed, 2 insertions(+), 2 deletions(-) + modify d.txt 7 @@ -7183,14 +7877,16 @@ + text=7 + echo 7 + git add d.txt -+ modify conflict5.txt d version ++ modify conflict5.txt 'd version' + filename=conflict5.txt -+ text=d version -+ echo d version ++ text='d version' ++ echo 'd version' + git add conflict5.txt -+ commit -m d⇒7 ++ commit -m $'d\342\207\2227' + TIME=1112912010 -+ GIT_AUTHOR_DATE=@1112912010 +0000 GIT_COMMITTER_DATE=@1112912010 +0000 git commit -m d⇒7 ++ GIT_AUTHOR_DATE='@1112912010 +0000' ++ GIT_COMMITTER_DATE='@1112912010 +0000' ++ git commit -m $'d\342\207\2227' [d 892af56] d⇒7 2 files changed, 2 insertions(+), 2 deletions(-) + modify d.txt 8 @@ -7198,14 +7894,16 @@ + text=8 + echo 8 + git add d.txt -+ modify conflict7.txt d version ++ modify conflict7.txt 'd version' + filename=conflict7.txt -+ text=d version -+ echo d version ++ text='d version' ++ echo 'd version' + git add conflict7.txt -+ commit -m d⇒8 ++ commit -m $'d\342\207\2228' + TIME=1112912011 -+ GIT_AUTHOR_DATE=@1112912011 +0000 GIT_COMMITTER_DATE=@1112912011 +0000 git commit -m d⇒8 ++ GIT_AUTHOR_DATE='@1112912011 +0000' ++ GIT_COMMITTER_DATE='@1112912011 +0000' ++ git commit -m $'d\342\207\2228' [d 67099d0] d⇒8 2 files changed, 2 insertions(+), 2 deletions(-) + git checkout c @@ -7250,8 +7948,8 @@ + conflict_count=0 + true -+ git-imerge continue --no-edit + tee autofill.out ++ git-imerge continue --no-edit Attempting automerge of 9-8...failure. Attempting automerge of 1-1...failure. Switched to branch 'imerge/c-d' @@ -7301,26 +7999,34 @@ @ = merge was blocked but has been resolved ? = no merge recorded -+ grep -q There was a conflict merging autofill.out -+ seq 0 7 ++ grep -q 'There was a conflict merging' autofill.out +++ seq 0 7 ++ for i in $(seq 0 7) + grep -q ==== conflict0.txt -+ modify conflict0.txt merged version ++ modify conflict0.txt 'merged version' + filename=conflict0.txt -+ text=merged version -+ echo merged version ++ text='merged version' ++ echo 'merged version' + git add conflict0.txt + conflict_count=1 ++ for i in $(seq 0 7) + grep -q ==== conflict1.txt ++ for i in $(seq 0 7) + grep -q ==== conflict2.txt ++ for i in $(seq 0 7) + grep -q ==== conflict3.txt ++ for i in $(seq 0 7) + grep -q ==== conflict4.txt ++ for i in $(seq 0 7) + grep -q ==== conflict5.txt ++ for i in $(seq 0 7) + grep -q ==== conflict6.txt ++ for i in $(seq 0 7) + grep -q ==== conflict7.txt + true + git-imerge continue --no-edit + tee autofill.out -[imerge/c-d 5987727] imerge 'c-d': manual merge 1-1 +[imerge/c-d 4ffa4d6] imerge 'c-d': manual merge 1-1 Merge has been recorded for merge 1-1. Attempting automerge of 1-8...failure. Attempting automerge of 1-2...success. @@ -7412,26 +8118,34 @@ @ = merge was blocked but has been resolved ? = no merge recorded -+ grep -q There was a conflict merging autofill.out -+ seq 0 7 ++ grep -q 'There was a conflict merging' autofill.out +++ seq 0 7 ++ for i in $(seq 0 7) + grep -q ==== conflict0.txt ++ for i in $(seq 0 7) + grep -q ==== conflict1.txt ++ for i in $(seq 0 7) + grep -q ==== conflict2.txt ++ for i in $(seq 0 7) + grep -q ==== conflict3.txt ++ for i in $(seq 0 7) + grep -q ==== conflict4.txt -+ modify conflict4.txt merged version ++ modify conflict4.txt 'merged version' + filename=conflict4.txt -+ text=merged version -+ echo merged version ++ text='merged version' ++ echo 'merged version' + git add conflict4.txt + conflict_count=2 ++ for i in $(seq 0 7) + grep -q ==== conflict5.txt ++ for i in $(seq 0 7) + grep -q ==== conflict6.txt ++ for i in $(seq 0 7) + grep -q ==== conflict7.txt + true -+ git-imerge continue --no-edit + tee autofill.out -[imerge/c-d 516c9bf] imerge 'c-d': manual merge 1-6 ++ git-imerge continue --no-edit +[imerge/c-d edb9e2a] imerge 'c-d': manual merge 1-6 Merge has been recorded for merge 1-6. Attempting automerge of 1-8...success. Autofilling 1-7...success. @@ -7448,12 +8162,12 @@ Warning: you are leaving 1 commit behind, not connected to any of your branches: - 141992b imerge 'c-d': automatic merge 3-8 + 7747c90 imerge 'c-d': automatic merge 3-8 If you want to keep it by creating a new branch, this may be a good time to do so with: - git branch 141992b + git branch 7747c90 Switched to branch 'imerge/c-d' Auto-merging conflict1.txt @@ -7502,26 +8216,34 @@ @ = merge was blocked but has been resolved ? = no merge recorded -+ grep -q There was a conflict merging autofill.out -+ seq 0 7 ++ grep -q 'There was a conflict merging' autofill.out +++ seq 0 7 ++ for i in $(seq 0 7) + grep -q ==== conflict0.txt ++ for i in $(seq 0 7) + grep -q ==== conflict1.txt -+ modify conflict1.txt merged version ++ modify conflict1.txt 'merged version' + filename=conflict1.txt -+ text=merged version -+ echo merged version ++ text='merged version' ++ echo 'merged version' + git add conflict1.txt + conflict_count=3 ++ for i in $(seq 0 7) + grep -q ==== conflict2.txt ++ for i in $(seq 0 7) + grep -q ==== conflict3.txt ++ for i in $(seq 0 7) + grep -q ==== conflict4.txt ++ for i in $(seq 0 7) + grep -q ==== conflict5.txt ++ for i in $(seq 0 7) + grep -q ==== conflict6.txt ++ for i in $(seq 0 7) + grep -q ==== conflict7.txt + true + git-imerge continue --no-edit + tee autofill.out -[imerge/c-d dff9049] imerge 'c-d': manual merge 4-2 +[imerge/c-d 7ece374] imerge 'c-d': manual merge 4-2 Merge has been recorded for merge 4-2. Attempting automerge of 4-8...success. Autofilling 4-3...success. @@ -7531,7 +8253,7 @@ Autofilling 4-7...success. Autofilling 4-8...success. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[3:5,2:9]. -Previous HEAD position was 80cda00 imerge 'c-d': automatic merge 4-8 +Previous HEAD position was 09c704c imerge 'c-d': automatic merge 4-8 Switched to branch 'imerge/c-d' Auto-merging conflict6.txt CONFLICT (content): Merge conflict in conflict6.txt @@ -7579,26 +8301,34 @@ @ = merge was blocked but has been resolved ? = no merge recorded -+ grep -q There was a conflict merging autofill.out -+ seq 0 7 ++ grep -q 'There was a conflict merging' autofill.out +++ seq 0 7 ++ for i in $(seq 0 7) + grep -q ==== conflict0.txt ++ for i in $(seq 0 7) + grep -q ==== conflict1.txt ++ for i in $(seq 0 7) + grep -q ==== conflict2.txt ++ for i in $(seq 0 7) + grep -q ==== conflict3.txt ++ for i in $(seq 0 7) + grep -q ==== conflict4.txt ++ for i in $(seq 0 7) + grep -q ==== conflict5.txt ++ for i in $(seq 0 7) + grep -q ==== conflict6.txt -+ modify conflict6.txt merged version ++ modify conflict6.txt 'merged version' + filename=conflict6.txt -+ text=merged version -+ echo merged version ++ text='merged version' ++ echo 'merged version' + git add conflict6.txt + conflict_count=4 ++ for i in $(seq 0 7) + grep -q ==== conflict7.txt + true + git-imerge continue --no-edit + tee autofill.out -[imerge/c-d b5718c1] imerge 'c-d': manual merge 5-1 +[imerge/c-d d8d0dee] imerge 'c-d': manual merge 5-1 Merge has been recorded for merge 5-1. Attempting automerge of 5-8...failure. Attempting automerge of 5-2...success. @@ -7633,7 +8363,7 @@ Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[6:10,0:2]. Attempting automerge of 9-4...failure. Attempting automerge of 7-2...failure. -Previous HEAD position was a6286bf imerge 'c-d': automatic merge 7-1 +Previous HEAD position was ffdf0b5 imerge 'c-d': automatic merge 7-1 Switched to branch 'imerge/c-d' Auto-merging conflict3.txt CONFLICT (content): Merge conflict in conflict3.txt @@ -7681,26 +8411,34 @@ @ = merge was blocked but has been resolved ? = no merge recorded -+ grep -q There was a conflict merging autofill.out -+ seq 0 7 ++ grep -q 'There was a conflict merging' autofill.out +++ seq 0 7 ++ for i in $(seq 0 7) + grep -q ==== conflict0.txt ++ for i in $(seq 0 7) + grep -q ==== conflict1.txt ++ for i in $(seq 0 7) + grep -q ==== conflict2.txt ++ for i in $(seq 0 7) + grep -q ==== conflict3.txt -+ modify conflict3.txt merged version ++ modify conflict3.txt 'merged version' + filename=conflict3.txt -+ text=merged version -+ echo merged version ++ text='merged version' ++ echo 'merged version' + git add conflict3.txt + conflict_count=5 ++ for i in $(seq 0 7) + grep -q ==== conflict4.txt ++ for i in $(seq 0 7) + grep -q ==== conflict5.txt ++ for i in $(seq 0 7) + grep -q ==== conflict6.txt ++ for i in $(seq 0 7) + grep -q ==== conflict7.txt + true + git-imerge continue --no-edit + tee autofill.out -[imerge/c-d 75ea384] imerge 'c-d': manual merge 5-5 +[imerge/c-d 18495b4] imerge 'c-d': manual merge 5-5 Merge has been recorded for merge 5-5. Attempting automerge of 5-8...success. Autofilling 5-6...success. @@ -7763,31 +8501,39 @@ @ = merge was blocked but has been resolved ? = no merge recorded -+ grep -q There was a conflict merging autofill.out -+ seq 0 7 ++ grep -q 'There was a conflict merging' autofill.out +++ seq 0 7 ++ for i in $(seq 0 7) + grep -q ==== conflict0.txt ++ for i in $(seq 0 7) + grep -q ==== conflict1.txt ++ for i in $(seq 0 7) + grep -q ==== conflict2.txt ++ for i in $(seq 0 7) + grep -q ==== conflict3.txt ++ for i in $(seq 0 7) + grep -q ==== conflict4.txt ++ for i in $(seq 0 7) + grep -q ==== conflict5.txt -+ modify conflict5.txt merged version ++ modify conflict5.txt 'merged version' + filename=conflict5.txt -+ text=merged version -+ echo merged version ++ text='merged version' ++ echo 'merged version' + git add conflict5.txt + conflict_count=6 ++ for i in $(seq 0 7) + grep -q ==== conflict6.txt ++ for i in $(seq 0 7) + grep -q ==== conflict7.txt + true + git-imerge continue --no-edit + tee autofill.out -[imerge/c-d 341c7e0] imerge 'c-d': manual merge 6-7 +[imerge/c-d 8251ef2] imerge 'c-d': manual merge 6-7 Merge has been recorded for merge 6-7. Attempting automerge of 6-8...success. Autofilling 6-8...success. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[5:7,7:9]. -Previous HEAD position was 6c9ef13 imerge 'c-d': automatic merge 6-8 +Previous HEAD position was 57982be imerge 'c-d': automatic merge 6-8 Switched to branch 'imerge/c-d' Auto-merging conflict2.txt CONFLICT (content): Merge conflict in conflict2.txt @@ -7835,26 +8581,34 @@ @ = merge was blocked but has been resolved ? = no merge recorded -+ grep -q There was a conflict merging autofill.out -+ seq 0 7 ++ grep -q 'There was a conflict merging' autofill.out +++ seq 0 7 ++ for i in $(seq 0 7) + grep -q ==== conflict0.txt ++ for i in $(seq 0 7) + grep -q ==== conflict1.txt ++ for i in $(seq 0 7) + grep -q ==== conflict2.txt -+ modify conflict2.txt merged version ++ modify conflict2.txt 'merged version' + filename=conflict2.txt -+ text=merged version -+ echo merged version ++ text='merged version' ++ echo 'merged version' + git add conflict2.txt + conflict_count=7 ++ for i in $(seq 0 7) + grep -q ==== conflict3.txt ++ for i in $(seq 0 7) + grep -q ==== conflict4.txt ++ for i in $(seq 0 7) + grep -q ==== conflict5.txt ++ for i in $(seq 0 7) + grep -q ==== conflict6.txt ++ for i in $(seq 0 7) + grep -q ==== conflict7.txt + true + git-imerge continue --no-edit + tee autofill.out -[imerge/c-d b4c8739] imerge 'c-d': manual merge 7-2 +[imerge/c-d 6a37a14] imerge 'c-d': manual merge 7-2 Merge has been recorded for merge 7-2. Attempting automerge of 7-8...success. Autofilling 7-3...success. @@ -7936,26 +8690,34 @@ @ = merge was blocked but has been resolved ? = no merge recorded -+ grep -q There was a conflict merging autofill.out -+ seq 0 7 ++ grep -q 'There was a conflict merging' autofill.out +++ seq 0 7 ++ for i in $(seq 0 7) + grep -q ==== conflict0.txt ++ for i in $(seq 0 7) + grep -q ==== conflict1.txt ++ for i in $(seq 0 7) + grep -q ==== conflict2.txt ++ for i in $(seq 0 7) + grep -q ==== conflict3.txt ++ for i in $(seq 0 7) + grep -q ==== conflict4.txt ++ for i in $(seq 0 7) + grep -q ==== conflict5.txt ++ for i in $(seq 0 7) + grep -q ==== conflict6.txt ++ for i in $(seq 0 7) + grep -q ==== conflict7.txt -+ modify conflict7.txt merged version ++ modify conflict7.txt 'merged version' + filename=conflict7.txt -+ text=merged version -+ echo merged version ++ text='merged version' ++ echo 'merged version' + git add conflict7.txt + conflict_count=8 + true -+ git-imerge continue --no-edit + tee autofill.out -[imerge/c-d 7016c6a] imerge 'c-d': manual merge 9-8 ++ git-imerge continue --no-edit +[imerge/c-d a89d6a0] imerge 'c-d': manual merge 9-8 Merge has been recorded for merge 9-8. Merge is complete! + grep -q Traceback autofill.out @@ -7982,20 +8744,21 @@ @ = merge was blocked but has been resolved ? = no merge recorded -+ grep -q There was a conflict merging autofill.out ++ grep -q 'There was a conflict merging' autofill.out + break + test 8 -ne 8 + git-imerge diagram --commits + cat + diff -u - diagram.out + EXPECTED_TREE=13e5a8955ab8f88dc7fec8278ee2622655c21d7f -+ GIT_EDITOR=cat git-imerge simplify --goal=merge --branch=c-d-merge ++ GIT_EDITOR=cat ++ git-imerge simplify --goal=merge --branch=c-d-merge Merge d into c (using imerge) # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # -# Date: Fri Mar 27 18:27:43 2026 +0000 +# Date: Sat Feb 22 12:09:18 2025 +0000 # # On branch c-d-merge # Changes to be committed: @@ -8009,60 +8772,60 @@ # modified: conflict7.txt # modified: d.txt # -[c-d-merge cf2b85c] Merge d into c (using imerge) - Date: Fri Mar 27 18:27:43 2026 +0000 +[c-d-merge bc37450] Merge d into c (using imerge) + Date: Sat Feb 22 12:09:18 2025 +0000 + check_tree c-d-merge 13e5a8955ab8f88dc7fec8278ee2622655c21d7f + local refname=c-d-merge + local expected_tree=13e5a8955ab8f88dc7fec8278ee2622655c21d7f -+ git rev-parse c-d-merge^{tree} +++ git rev-parse 'c-d-merge^{tree}' + test 13e5a8955ab8f88dc7fec8278ee2622655c21d7f = 13e5a8955ab8f88dc7fec8278ee2622655c21d7f + git-imerge simplify --goal=rebase --branch=c-d-rebase + check_tree c-d-rebase 13e5a8955ab8f88dc7fec8278ee2622655c21d7f + local refname=c-d-rebase + local expected_tree=13e5a8955ab8f88dc7fec8278ee2622655c21d7f -+ git rev-parse c-d-rebase^{tree} +++ git rev-parse 'c-d-rebase^{tree}' + test 13e5a8955ab8f88dc7fec8278ee2622655c21d7f = 13e5a8955ab8f88dc7fec8278ee2622655c21d7f + git-imerge simplify --goal=rebase-with-history --branch=c-d-rebase-with-history + check_tree c-d-rebase-with-history 13e5a8955ab8f88dc7fec8278ee2622655c21d7f + local refname=c-d-rebase-with-history + local expected_tree=13e5a8955ab8f88dc7fec8278ee2622655c21d7f -+ git rev-parse c-d-rebase-with-history^{tree} +++ git rev-parse 'c-d-rebase-with-history^{tree}' + test 13e5a8955ab8f88dc7fec8278ee2622655c21d7f = 13e5a8955ab8f88dc7fec8278ee2622655c21d7f + git-imerge simplify --goal=border --branch=c-d-border + check_tree c-d-border 13e5a8955ab8f88dc7fec8278ee2622655c21d7f + local refname=c-d-border + local expected_tree=13e5a8955ab8f88dc7fec8278ee2622655c21d7f -+ git rev-parse c-d-border^{tree} +++ git rev-parse 'c-d-border^{tree}' + test 13e5a8955ab8f88dc7fec8278ee2622655c21d7f = 13e5a8955ab8f88dc7fec8278ee2622655c21d7f + git-imerge simplify --goal=border-with-history --branch=c-d-border-with-history + check_tree c-d-border-with-history 13e5a8955ab8f88dc7fec8278ee2622655c21d7f + local refname=c-d-border-with-history + local expected_tree=13e5a8955ab8f88dc7fec8278ee2622655c21d7f -+ git rev-parse c-d-border-with-history^{tree} +++ git rev-parse 'c-d-border-with-history^{tree}' + test 13e5a8955ab8f88dc7fec8278ee2622655c21d7f = 13e5a8955ab8f88dc7fec8278ee2622655c21d7f + git-imerge simplify --goal=border-with-history2 --branch=c-d-border-with-history2 + check_tree c-d-border-with-history2 13e5a8955ab8f88dc7fec8278ee2622655c21d7f + local refname=c-d-border-with-history2 + local expected_tree=13e5a8955ab8f88dc7fec8278ee2622655c21d7f -+ git rev-parse c-d-border-with-history2^{tree} +++ git rev-parse 'c-d-border-with-history2^{tree}' + test 13e5a8955ab8f88dc7fec8278ee2622655c21d7f = 13e5a8955ab8f88dc7fec8278ee2622655c21d7f + git-imerge remove py313: commands[3] .pybuild/cpython3_3.13/build> /bin/sh t/test-duplicated -+ dirname t/test-duplicated -+ cd t -+ pwd -+ dirname /build/reproducible-path/git-imerge-1.2.0/t +++++ dirname t/test-duplicated ++++ cd t ++++ pwd +++ dirname /build/reproducible-path/git-imerge-1.2.0/t + BASE=/build/reproducible-path/git-imerge-1.2.0 + . /build/reproducible-path/git-imerge-1.2.0/t/test-lib.sh + GIT_IMERGE=git-imerge + TMP=/build/reproducible-path/git-imerge-1.2.0/t/tmp/duplicated -+ DESCRIPTION=git-imerge test repository with duplicate commits -+ init_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/duplicated git-imerge test repository with duplicate commits ++ DESCRIPTION='git-imerge test repository with duplicate commits' ++ init_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/duplicated 'git-imerge test repository with duplicate commits' + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/duplicated -+ local description=git-imerge test repository with duplicate commits -+ delete_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/duplicated git-imerge test repository with duplicate commits ++ local 'description=git-imerge test repository with duplicate commits' ++ delete_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/duplicated 'git-imerge test repository with duplicate commits' + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/duplicated -+ local description=git-imerge test repository with duplicate commits ++ local 'description=git-imerge test repository with duplicate commits' + test -d /build/reproducible-path/git-imerge-1.2.0/t/tmp/duplicated + mkdir -p /build/reproducible-path/git-imerge-1.2.0/t/tmp/duplicated + git init /build/reproducible-path/git-imerge-1.2.0/t/tmp/duplicated @@ -8077,9 +8840,9 @@ hint: hint: git branch -m Initialized empty Git repository in /build/reproducible-path/git-imerge-1.2.0/t/tmp/duplicated/.git/ -+ echo git-imerge test repository with duplicate commits -+ printf %s\n /*.out /*.css /*.html -+ git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/duplicated/.git config user.name Loú User ++ echo 'git-imerge test repository with duplicate commits' ++ printf '%s\n' '/*.out' '/*.css' '/*.html' ++ git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/duplicated/.git config user.name 'Loú User' + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/duplicated/.git config user.email luser@example.com + TIME=1112911993 + ln -s /build/reproducible-path/git-imerge-1.2.0/imerge.css /build/reproducible-path/git-imerge-1.2.0/t/tmp/duplicated @@ -8089,86 +8852,109 @@ + text=0 + echo 0 + git add a.txt -+ commit -m m⇒0 ++ commit -m $'m\342\207\2220' + TIME=1112911994 -+ GIT_AUTHOR_DATE=@1112911994 +0000 GIT_COMMITTER_DATE=@1112911994 +0000 git commit -m m⇒0 ++ GIT_AUTHOR_DATE='@1112911994 +0000' ++ GIT_COMMITTER_DATE='@1112911994 +0000' ++ git commit -m $'m\342\207\2220' [master (root-commit) a733afa] m⇒0 1 file changed, 1 insertion(+) create mode 100644 a.txt + git checkout -b a -- Switched to a new branch 'a' -+ seq 3 +++ seq 3 ++ for i in $(seq 3) + modify a.txt 1 + filename=a.txt + text=1 + echo 1 + git add a.txt -+ commit -m a⇒1 on branch a ++ commit -m 'a⇒1 on branch a' + TIME=1112911995 -+ GIT_AUTHOR_DATE=@1112911995 +0000 GIT_COMMITTER_DATE=@1112911995 +0000 git commit -m a⇒1 on branch a ++ GIT_AUTHOR_DATE='@1112911995 +0000' ++ GIT_COMMITTER_DATE='@1112911995 +0000' ++ git commit -m 'a⇒1 on branch a' [a 2f1f75a] a⇒1 on branch a 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 3) + modify a.txt 2 + filename=a.txt + text=2 + echo 2 + git add a.txt -+ commit -m a⇒2 on branch a ++ commit -m 'a⇒2 on branch a' + TIME=1112911996 -+ GIT_AUTHOR_DATE=@1112911996 +0000 GIT_COMMITTER_DATE=@1112911996 +0000 git commit -m a⇒2 on branch a ++ GIT_AUTHOR_DATE='@1112911996 +0000' ++ GIT_COMMITTER_DATE='@1112911996 +0000' ++ git commit -m 'a⇒2 on branch a' [a 4700669] a⇒2 on branch a 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 3) + modify a.txt 3 + filename=a.txt + text=3 + echo 3 + git add a.txt -+ commit -m a⇒3 on branch a ++ commit -m 'a⇒3 on branch a' + TIME=1112911997 -+ GIT_AUTHOR_DATE=@1112911997 +0000 GIT_COMMITTER_DATE=@1112911997 +0000 git commit -m a⇒3 on branch a ++ GIT_AUTHOR_DATE='@1112911997 +0000' ++ GIT_COMMITTER_DATE='@1112911997 +0000' ++ git commit -m 'a⇒3 on branch a' [a 621c381] a⇒3 on branch a 1 file changed, 1 insertion(+), 1 deletion(-) + git checkout -b b master -- Switched to a new branch 'b' -+ seq 4 +++ seq 4 ++ for i in $(seq 4) + modify a.txt 1 + filename=a.txt + text=1 + echo 1 + git add a.txt -+ commit -m a⇒1 on branch b ++ commit -m 'a⇒1 on branch b' + TIME=1112911998 -+ GIT_AUTHOR_DATE=@1112911998 +0000 GIT_COMMITTER_DATE=@1112911998 +0000 git commit -m a⇒1 on branch b ++ GIT_AUTHOR_DATE='@1112911998 +0000' ++ GIT_COMMITTER_DATE='@1112911998 +0000' ++ git commit -m 'a⇒1 on branch b' [b 62a5c56] a⇒1 on branch b 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 4) + modify a.txt 2 + filename=a.txt + text=2 + echo 2 + git add a.txt -+ commit -m a⇒2 on branch b ++ commit -m 'a⇒2 on branch b' + TIME=1112911999 -+ GIT_AUTHOR_DATE=@1112911999 +0000 GIT_COMMITTER_DATE=@1112911999 +0000 git commit -m a⇒2 on branch b ++ GIT_AUTHOR_DATE='@1112911999 +0000' ++ GIT_COMMITTER_DATE='@1112911999 +0000' ++ git commit -m 'a⇒2 on branch b' [b f846281] a⇒2 on branch b 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 4) + modify a.txt 3 + filename=a.txt + text=3 + echo 3 + git add a.txt -+ commit -m a⇒3 on branch b ++ commit -m 'a⇒3 on branch b' + TIME=1112912000 -+ GIT_AUTHOR_DATE=@1112912000 +0000 GIT_COMMITTER_DATE=@1112912000 +0000 git commit -m a⇒3 on branch b ++ GIT_AUTHOR_DATE='@1112912000 +0000' ++ GIT_COMMITTER_DATE='@1112912000 +0000' ++ git commit -m 'a⇒3 on branch b' [b a4b2c2b] a⇒3 on branch b 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in $(seq 4) + modify a.txt 4 + filename=a.txt + text=4 + echo 4 + git add a.txt -+ commit -m a⇒4 on branch b ++ commit -m 'a⇒4 on branch b' + TIME=1112912001 -+ GIT_AUTHOR_DATE=@1112912001 +0000 GIT_COMMITTER_DATE=@1112912001 +0000 git commit -m a⇒4 on branch b ++ GIT_AUTHOR_DATE='@1112912001 +0000' ++ GIT_COMMITTER_DATE='@1112912001 +0000' ++ git commit -m 'a⇒4 on branch b' [b 5b24553] a⇒4 on branch b 1 file changed, 1 insertion(+), 1 deletion(-) + EXPECTED_TREE=9d521927e179e882efacd2a0ba94b89a1de00eb2 @@ -8243,54 +9029,55 @@ @ = merge was blocked but has been resolved ? = no merge recorded -+ GIT_EDITOR=cat git-imerge simplify --goal=merge --branch=a-b-merge ++ GIT_EDITOR=cat ++ git-imerge simplify --goal=merge --branch=a-b-merge Merge b into a (using imerge) # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # -# Date: Fri Mar 27 18:27:47 2026 +0000 +# Date: Sat Feb 22 12:09:22 2025 +0000 # # On branch a-b-merge # Changes to be committed: # modified: a.txt # -[a-b-merge 70c163e] Merge b into a (using imerge) - Date: Fri Mar 27 18:27:47 2026 +0000 +[a-b-merge 0dcdff3] Merge b into a (using imerge) + Date: Sat Feb 22 12:09:22 2025 +0000 + check_tree a-b-merge 9d521927e179e882efacd2a0ba94b89a1de00eb2 + local refname=a-b-merge + local expected_tree=9d521927e179e882efacd2a0ba94b89a1de00eb2 -+ git rev-parse a-b-merge^{tree} +++ git rev-parse 'a-b-merge^{tree}' + test 9d521927e179e882efacd2a0ba94b89a1de00eb2 = 9d521927e179e882efacd2a0ba94b89a1de00eb2 + git-imerge simplify --goal=rebase --branch=a-b-rebase + check_tree a-b-rebase 9d521927e179e882efacd2a0ba94b89a1de00eb2 + local refname=a-b-rebase + local expected_tree=9d521927e179e882efacd2a0ba94b89a1de00eb2 -+ git rev-parse a-b-rebase^{tree} +++ git rev-parse 'a-b-rebase^{tree}' + test 9d521927e179e882efacd2a0ba94b89a1de00eb2 = 9d521927e179e882efacd2a0ba94b89a1de00eb2 + git-imerge simplify --goal=rebase-with-history --branch=a-b-rebase-with-history + check_tree a-b-rebase-with-history 9d521927e179e882efacd2a0ba94b89a1de00eb2 + local refname=a-b-rebase-with-history + local expected_tree=9d521927e179e882efacd2a0ba94b89a1de00eb2 -+ git rev-parse a-b-rebase-with-history^{tree} +++ git rev-parse 'a-b-rebase-with-history^{tree}' + test 9d521927e179e882efacd2a0ba94b89a1de00eb2 = 9d521927e179e882efacd2a0ba94b89a1de00eb2 + git-imerge simplify --goal=border --branch=a-b-border + check_tree a-b-border 9d521927e179e882efacd2a0ba94b89a1de00eb2 + local refname=a-b-border + local expected_tree=9d521927e179e882efacd2a0ba94b89a1de00eb2 -+ git rev-parse a-b-border^{tree} +++ git rev-parse 'a-b-border^{tree}' + test 9d521927e179e882efacd2a0ba94b89a1de00eb2 = 9d521927e179e882efacd2a0ba94b89a1de00eb2 + git-imerge simplify --goal=border-with-history --branch=a-b-border-with-history + check_tree a-b-border-with-history 9d521927e179e882efacd2a0ba94b89a1de00eb2 + local refname=a-b-border-with-history + local expected_tree=9d521927e179e882efacd2a0ba94b89a1de00eb2 -+ git rev-parse a-b-border-with-history^{tree} +++ git rev-parse 'a-b-border-with-history^{tree}' + test 9d521927e179e882efacd2a0ba94b89a1de00eb2 = 9d521927e179e882efacd2a0ba94b89a1de00eb2 + git-imerge finish --goal=border-with-history2 --branch=a-b-border-with-history2 + check_tree a-b-border-with-history2 9d521927e179e882efacd2a0ba94b89a1de00eb2 + local refname=a-b-border-with-history2 + local expected_tree=9d521927e179e882efacd2a0ba94b89a1de00eb2 -+ git rev-parse a-b-border-with-history2^{tree} +++ git rev-parse 'a-b-border-with-history2^{tree}' + test 9d521927e179e882efacd2a0ba94b89a1de00eb2 = 9d521927e179e882efacd2a0ba94b89a1de00eb2 + git checkout a Switched to branch 'a' @@ -8343,26 +9130,27 @@ + check_tree a-b-full 9d521927e179e882efacd2a0ba94b89a1de00eb2 + local refname=a-b-full + local expected_tree=9d521927e179e882efacd2a0ba94b89a1de00eb2 -+ git rev-parse a-b-full^{tree} +++ git rev-parse 'a-b-full^{tree}' + test 9d521927e179e882efacd2a0ba94b89a1de00eb2 = 9d521927e179e882efacd2a0ba94b89a1de00eb2 py313: commands[4] .pybuild/cpython3_3.13/build> /bin/sh t/test-flip-flop -+ dirname t/test-flip-flop -+ cd t -+ pwd -+ dirname /build/reproducible-path/git-imerge-1.2.0/t +++++ dirname t/test-flip-flop ++++ cd t ++++ pwd +++ dirname /build/reproducible-path/git-imerge-1.2.0/t + BASE=/build/reproducible-path/git-imerge-1.2.0 + . /build/reproducible-path/git-imerge-1.2.0/t/test-lib.sh + GIT_IMERGE=git-imerge ++ for n in 1 2 3 + flip_flop_test 1 + local n=1 + TMP=/build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-1 -+ DESCRIPTION=git-imerge test repository with a commit and its revert at n=1 -+ init_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-1 git-imerge test repository with a commit and its revert at n=1 ++ DESCRIPTION='git-imerge test repository with a commit and its revert at n=1' ++ init_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-1 'git-imerge test repository with a commit and its revert at n=1' + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-1 -+ local description=git-imerge test repository with a commit and its revert at n=1 -+ delete_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-1 git-imerge test repository with a commit and its revert at n=1 ++ local 'description=git-imerge test repository with a commit and its revert at n=1' ++ delete_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-1 'git-imerge test repository with a commit and its revert at n=1' + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-1 -+ local description=git-imerge test repository with a commit and its revert at n=1 ++ local 'description=git-imerge test repository with a commit and its revert at n=1' + test -d /build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-1 + mkdir -p /build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-1 + git init /build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-1 @@ -8377,9 +9165,9 @@ hint: hint: git branch -m Initialized empty Git repository in /build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-1/.git/ -+ echo git-imerge test repository with a commit and its revert at n=1 -+ printf %s\n /*.out /*.css /*.html -+ git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-1/.git config user.name Loú User ++ echo 'git-imerge test repository with a commit and its revert at n=1' ++ printf '%s\n' '/*.out' '/*.css' '/*.html' ++ git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-1/.git config user.name 'Loú User' + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-1/.git config user.email luser@example.com + TIME=1112911993 + ln -s /build/reproducible-path/git-imerge-1.2.0/imerge.css /build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-1 @@ -8389,72 +9177,87 @@ + text=0 + echo 0 + git add a.txt -+ commit -m m⇒0 ++ commit -m $'m\342\207\2220' + TIME=1112911994 -+ GIT_AUTHOR_DATE=@1112911994 +0000 GIT_COMMITTER_DATE=@1112911994 +0000 git commit -m m⇒0 ++ GIT_AUTHOR_DATE='@1112911994 +0000' ++ GIT_COMMITTER_DATE='@1112911994 +0000' ++ git commit -m $'m\342\207\2220' [master (root-commit) a733afa] m⇒0 1 file changed, 1 insertion(+) create mode 100644 a.txt + git checkout -b a -- Switched to a new branch 'a' ++ for i in 1 2 3 + modify a.txt 1 + filename=a.txt + text=1 + echo 1 + git add a.txt -+ commit -m a⇒1 on branch a ++ commit -m 'a⇒1 on branch a' + TIME=1112911995 -+ GIT_AUTHOR_DATE=@1112911995 +0000 GIT_COMMITTER_DATE=@1112911995 +0000 git commit -m a⇒1 on branch a ++ GIT_AUTHOR_DATE='@1112911995 +0000' ++ GIT_COMMITTER_DATE='@1112911995 +0000' ++ git commit -m 'a⇒1 on branch a' [a 2f1f75a] a⇒1 on branch a 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in 1 2 3 + modify a.txt 2 + filename=a.txt + text=2 + echo 2 + git add a.txt -+ commit -m a⇒2 on branch a ++ commit -m 'a⇒2 on branch a' + TIME=1112911996 -+ GIT_AUTHOR_DATE=@1112911996 +0000 GIT_COMMITTER_DATE=@1112911996 +0000 git commit -m a⇒2 on branch a ++ GIT_AUTHOR_DATE='@1112911996 +0000' ++ GIT_COMMITTER_DATE='@1112911996 +0000' ++ git commit -m 'a⇒2 on branch a' [a 4700669] a⇒2 on branch a 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in 1 2 3 + modify a.txt 3 + filename=a.txt + text=3 + echo 3 + git add a.txt -+ commit -m a⇒3 on branch a ++ commit -m 'a⇒3 on branch a' + TIME=1112911997 -+ GIT_AUTHOR_DATE=@1112911997 +0000 GIT_COMMITTER_DATE=@1112911997 +0000 git commit -m a⇒3 on branch a ++ GIT_AUTHOR_DATE='@1112911997 +0000' ++ GIT_COMMITTER_DATE='@1112911997 +0000' ++ git commit -m 'a⇒3 on branch a' [a 621c381] a⇒3 on branch a 1 file changed, 1 insertion(+), 1 deletion(-) + git checkout -b b master -- Switched to a new branch 'b' ++ for i in 1 2 3 4 + modify b.txt 1 + filename=b.txt + text=1 + echo 1 + git add b.txt -+ msg=b⇒1 ++ msg=$'b\342\207\2221' + test 1 = 1 + modify a.txt X + filename=a.txt + text=X + echo X + git add a.txt -+ msg=b⇒1 and a⇒X ++ msg='b⇒1 and a⇒X' + test 1 = 2 -+ commit -m b⇒1 and a⇒X on branch b ++ commit -m 'b⇒1 and a⇒X on branch b' + TIME=1112911998 -+ GIT_AUTHOR_DATE=@1112911998 +0000 GIT_COMMITTER_DATE=@1112911998 +0000 git commit -m b⇒1 and a⇒X on branch b ++ GIT_AUTHOR_DATE='@1112911998 +0000' ++ GIT_COMMITTER_DATE='@1112911998 +0000' ++ git commit -m 'b⇒1 and a⇒X on branch b' [b 044a3fa] b⇒1 and a⇒X on branch b 2 files changed, 2 insertions(+), 1 deletion(-) create mode 100644 b.txt ++ for i in 1 2 3 4 + modify b.txt 2 + filename=b.txt + text=2 + echo 2 + git add b.txt -+ msg=b⇒2 ++ msg=$'b\342\207\2222' + test 2 = 1 + test 2 = 2 + modify a.txt 0 @@ -8462,36 +9265,44 @@ + text=0 + echo 0 + git add a.txt -+ msg=b⇒2 and a⇒0 -+ commit -m b⇒2 and a⇒0 on branch b ++ msg='b⇒2 and a⇒0' ++ commit -m 'b⇒2 and a⇒0 on branch b' + TIME=1112911999 -+ GIT_AUTHOR_DATE=@1112911999 +0000 GIT_COMMITTER_DATE=@1112911999 +0000 git commit -m b⇒2 and a⇒0 on branch b ++ GIT_AUTHOR_DATE='@1112911999 +0000' ++ GIT_COMMITTER_DATE='@1112911999 +0000' ++ git commit -m 'b⇒2 and a⇒0 on branch b' [b 7851975] b⇒2 and a⇒0 on branch b 2 files changed, 2 insertions(+), 2 deletions(-) ++ for i in 1 2 3 4 + modify b.txt 3 + filename=b.txt + text=3 + echo 3 + git add b.txt -+ msg=b⇒3 ++ msg=$'b\342\207\2223' + test 3 = 1 + test 3 = 2 -+ commit -m b⇒3 on branch b ++ commit -m 'b⇒3 on branch b' + TIME=1112912000 -+ GIT_AUTHOR_DATE=@1112912000 +0000 GIT_COMMITTER_DATE=@1112912000 +0000 git commit -m b⇒3 on branch b ++ GIT_AUTHOR_DATE='@1112912000 +0000' ++ GIT_COMMITTER_DATE='@1112912000 +0000' ++ git commit -m 'b⇒3 on branch b' [b 6fe24f0] b⇒3 on branch b 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in 1 2 3 4 + modify b.txt 4 + filename=b.txt + text=4 + echo 4 + git add b.txt -+ msg=b⇒4 ++ msg=$'b\342\207\2224' + test 4 = 1 + test 4 = 2 -+ commit -m b⇒4 on branch b ++ commit -m 'b⇒4 on branch b' + TIME=1112912001 -+ GIT_AUTHOR_DATE=@1112912001 +0000 GIT_COMMITTER_DATE=@1112912001 +0000 git commit -m b⇒4 on branch b ++ GIT_AUTHOR_DATE='@1112912001 +0000' ++ GIT_COMMITTER_DATE='@1112912001 +0000' ++ git commit -m 'b⇒4 on branch b' [b 2dc5eb7] b⇒4 on branch b 1 file changed, 1 insertion(+), 1 deletion(-) + test_merge b-into-a-1 a b 1-1 1-2 @@ -8563,12 +9374,12 @@ @ = merge was blocked but has been resolved ? = no merge recorded -+ grep -q There was a conflict merging commit 1-1 imerge-b-into-a-1-1.out ++ grep -q 'There was a conflict merging commit 1-1' imerge-b-into-a-1-1.out + echo 1 + git add a.txt + git-imerge continue --no-edit + tee imerge-b-into-a-1-2.out -[imerge/b e51c594] imerge 'b': manual merge 1-1 +[imerge/b 6793e0c] imerge 'b': manual merge 1-1 Merge has been recorded for merge 1-1. Attempting automerge of 1-4...failure. Attempting automerge of 1-2...failure. @@ -8576,7 +9387,7 @@ Autofilling 2-1...success. Autofilling 3-1...success. Recording autofilled block MergeState('b', tip1='a', tip2='b', goal='merge')[1:4,0:2]. -Previous HEAD position was 5c54507 imerge 'b': automatic merge 3-1 +Previous HEAD position was 83a35b2 imerge 'b': automatic merge 3-1 Switched to branch 'imerge/b' Auto-merging a.txt CONFLICT (content): Merge conflict in a.txt @@ -8629,12 +9440,12 @@ @ = merge was blocked but has been resolved ? = no merge recorded -+ grep -q There was a conflict merging commit 1-2 imerge-b-into-a-1-2.out ++ grep -q 'There was a conflict merging commit 1-2' imerge-b-into-a-1-2.out + echo 1 + git add a.txt + git-imerge continue --no-edit + tee imerge-b-into-a-1-3.out -[imerge/b 509e423] imerge 'b': manual merge 1-2 +[imerge/b fe3dd4d] imerge 'b': manual merge 1-2 Merge has been recorded for merge 1-2. Attempting automerge of 1-4...success. Autofilling 1-3...success. @@ -8649,7 +9460,7 @@ The two ways of autofilling 3-4 agree. Recording autofilled block MergeState('b', tip1='a', tip2='b', goal='merge')[1:4,1:5]. Merge is complete! -+ grep -q Merge is complete imerge-b-into-a-1-3.out ++ grep -q 'Merge is complete' imerge-b-into-a-1-3.out + git-imerge diagram --commits --frontier 0 3 | | @@ -8679,20 +9490,21 @@ @ = merge was blocked but has been resolved ? = no merge recorded -+ GIT_EDITOR=cat git-imerge finish ++ GIT_EDITOR=cat ++ git-imerge finish Merge b into a (using imerge) # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # -# Date: Fri Mar 27 18:27:50 2026 +0000 +# Date: Sat Feb 22 12:09:26 2025 +0000 # # On branch b-into-a-1 # Changes to be committed: # new file: b.txt # -[b-into-a-1 15551bd] Merge b into a (using imerge) - Date: Fri Mar 27 18:27:50 2026 +0000 +[b-into-a-1 761dc22] Merge b into a (using imerge) + Date: Sat Feb 22 12:09:26 2025 +0000 + test_merge a-into-b-1 b a 1-1 2-1 + local name=a-into-b-1 + local dst=b @@ -8757,12 +9569,12 @@ @ = merge was blocked but has been resolved ? = no merge recorded -+ grep -q There was a conflict merging commit 1-1 imerge-a-into-b-1-1.out ++ grep -q 'There was a conflict merging commit 1-1' imerge-a-into-b-1-1.out + echo 1 + git add a.txt + git-imerge continue --no-edit + tee imerge-a-into-b-1-2.out -[imerge/a a9c3492] imerge 'a': manual merge 1-1 +[imerge/a d74633c] imerge 'a': manual merge 1-1 Merge has been recorded for merge 1-1. Attempting automerge of 1-3...success. Autofilling 1-2...success. @@ -8820,12 +9632,12 @@ @ = merge was blocked but has been resolved ? = no merge recorded -+ grep -q There was a conflict merging commit 2-1 imerge-a-into-b-1-2.out ++ grep -q 'There was a conflict merging commit 2-1' imerge-a-into-b-1-2.out + echo 1 + git add a.txt + git-imerge continue --no-edit + tee imerge-a-into-b-1-3.out -[imerge/a 2780ff1] imerge 'a': manual merge 2-1 +[imerge/a fb1490b] imerge 'a': manual merge 2-1 Merge has been recorded for merge 2-1. Attempting automerge of 2-3...success. Autofilling 2-2...success. @@ -8840,7 +9652,7 @@ The two ways of autofilling 4-3 agree. Recording autofilled block MergeState('a', tip1='b', tip2='a', goal='merge')[2:5,0:4]. Merge is complete! -+ grep -q Merge is complete imerge-a-into-b-1-3.out ++ grep -q 'Merge is complete' imerge-a-into-b-1-3.out + git-imerge diagram --commits --frontier 0 4 | | @@ -8868,30 +9680,32 @@ @ = merge was blocked but has been resolved ? = no merge recorded -+ GIT_EDITOR=cat git-imerge finish ++ GIT_EDITOR=cat ++ git-imerge finish Merge a into b (using imerge) # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # -# Date: Fri Mar 27 18:27:52 2026 +0000 +# Date: Sat Feb 22 12:09:27 2025 +0000 # # On branch a-into-b-1 # Changes to be committed: # modified: a.txt # -[a-into-b-1 fe4d6a6] Merge a into b (using imerge) - Date: Fri Mar 27 18:27:52 2026 +0000 +[a-into-b-1 50b5457] Merge a into b (using imerge) + Date: Sat Feb 22 12:09:27 2025 +0000 ++ for n in 1 2 3 + flip_flop_test 2 + local n=2 + TMP=/build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-2 -+ DESCRIPTION=git-imerge test repository with a commit and its revert at n=2 -+ init_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-2 git-imerge test repository with a commit and its revert at n=2 ++ DESCRIPTION='git-imerge test repository with a commit and its revert at n=2' ++ init_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-2 'git-imerge test repository with a commit and its revert at n=2' + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-2 -+ local description=git-imerge test repository with a commit and its revert at n=2 -+ delete_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-2 git-imerge test repository with a commit and its revert at n=2 ++ local 'description=git-imerge test repository with a commit and its revert at n=2' ++ delete_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-2 'git-imerge test repository with a commit and its revert at n=2' + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-2 -+ local description=git-imerge test repository with a commit and its revert at n=2 ++ local 'description=git-imerge test repository with a commit and its revert at n=2' + test -d /build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-2 + mkdir -p /build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-2 + git init /build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-2 @@ -8905,10 +9719,10 @@ hint: 'development'. The just-created branch can be renamed via this command: hint: hint: git branch -m ++ echo 'git-imerge test repository with a commit and its revert at n=2' ++ printf '%s\n' '/*.out' '/*.css' '/*.html' ++ git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-2/.git config user.name 'Loú User' Initialized empty Git repository in /build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-2/.git/ -+ echo git-imerge test repository with a commit and its revert at n=2 -+ printf %s\n /*.out /*.css /*.html -+ git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-2/.git config user.name Loú User + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-2/.git config user.email luser@example.com + TIME=1112911993 + ln -s /build/reproducible-path/git-imerge-1.2.0/imerge.css /build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-2 @@ -8918,85 +9732,103 @@ + text=0 + echo 0 + git add a.txt -+ commit -m m⇒0 ++ commit -m $'m\342\207\2220' + TIME=1112911994 -+ GIT_AUTHOR_DATE=@1112911994 +0000 GIT_COMMITTER_DATE=@1112911994 +0000 git commit -m m⇒0 ++ GIT_AUTHOR_DATE='@1112911994 +0000' ++ GIT_COMMITTER_DATE='@1112911994 +0000' ++ git commit -m $'m\342\207\2220' [master (root-commit) a733afa] m⇒0 1 file changed, 1 insertion(+) create mode 100644 a.txt + git checkout -b a -- Switched to a new branch 'a' ++ for i in 1 2 3 + modify a.txt 1 + filename=a.txt + text=1 + echo 1 + git add a.txt -+ commit -m a⇒1 on branch a ++ commit -m 'a⇒1 on branch a' + TIME=1112911995 -+ GIT_AUTHOR_DATE=@1112911995 +0000 GIT_COMMITTER_DATE=@1112911995 +0000 git commit -m a⇒1 on branch a ++ GIT_AUTHOR_DATE='@1112911995 +0000' ++ GIT_COMMITTER_DATE='@1112911995 +0000' ++ git commit -m 'a⇒1 on branch a' [a 2f1f75a] a⇒1 on branch a 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in 1 2 3 + modify a.txt 2 + filename=a.txt + text=2 + echo 2 + git add a.txt -+ commit -m a⇒2 on branch a ++ commit -m 'a⇒2 on branch a' + TIME=1112911996 -+ GIT_AUTHOR_DATE=@1112911996 +0000 GIT_COMMITTER_DATE=@1112911996 +0000 git commit -m a⇒2 on branch a ++ GIT_AUTHOR_DATE='@1112911996 +0000' ++ GIT_COMMITTER_DATE='@1112911996 +0000' ++ git commit -m 'a⇒2 on branch a' [a 4700669] a⇒2 on branch a 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in 1 2 3 + modify a.txt 3 + filename=a.txt + text=3 + echo 3 + git add a.txt -+ commit -m a⇒3 on branch a ++ commit -m 'a⇒3 on branch a' + TIME=1112911997 -+ GIT_AUTHOR_DATE=@1112911997 +0000 GIT_COMMITTER_DATE=@1112911997 +0000 git commit -m a⇒3 on branch a ++ GIT_AUTHOR_DATE='@1112911997 +0000' ++ GIT_COMMITTER_DATE='@1112911997 +0000' ++ git commit -m 'a⇒3 on branch a' [a 621c381] a⇒3 on branch a 1 file changed, 1 insertion(+), 1 deletion(-) + git checkout -b b master -- Switched to a new branch 'b' ++ for i in 1 2 3 4 + modify b.txt 1 + filename=b.txt + text=1 + echo 1 + git add b.txt -+ msg=b⇒1 ++ msg=$'b\342\207\2221' + test 1 = 2 + test 1 = 3 -+ commit -m b⇒1 on branch b ++ commit -m 'b⇒1 on branch b' + TIME=1112911998 -+ GIT_AUTHOR_DATE=@1112911998 +0000 GIT_COMMITTER_DATE=@1112911998 +0000 git commit -m b⇒1 on branch b ++ GIT_AUTHOR_DATE='@1112911998 +0000' ++ GIT_COMMITTER_DATE='@1112911998 +0000' ++ git commit -m 'b⇒1 on branch b' [b 1f7d097] b⇒1 on branch b 1 file changed, 1 insertion(+) create mode 100644 b.txt ++ for i in 1 2 3 4 + modify b.txt 2 + filename=b.txt + text=2 + echo 2 + git add b.txt -+ msg=b⇒2 ++ msg=$'b\342\207\2222' + test 2 = 2 + modify a.txt X + filename=a.txt + text=X + echo X + git add a.txt -+ msg=b⇒2 and a⇒X ++ msg='b⇒2 and a⇒X' + test 2 = 3 -+ commit -m b⇒2 and a⇒X on branch b ++ commit -m 'b⇒2 and a⇒X on branch b' + TIME=1112911999 -+ GIT_AUTHOR_DATE=@1112911999 +0000 GIT_COMMITTER_DATE=@1112911999 +0000 git commit -m b⇒2 and a⇒X on branch b ++ GIT_AUTHOR_DATE='@1112911999 +0000' ++ GIT_COMMITTER_DATE='@1112911999 +0000' ++ git commit -m 'b⇒2 and a⇒X on branch b' [b 48df77d] b⇒2 and a⇒X on branch b 2 files changed, 2 insertions(+), 2 deletions(-) ++ for i in 1 2 3 4 + modify b.txt 3 + filename=b.txt + text=3 + echo 3 + git add b.txt -+ msg=b⇒3 ++ msg=$'b\342\207\2223' + test 3 = 2 + test 3 = 3 + modify a.txt 0 @@ -9004,23 +9836,28 @@ + text=0 + echo 0 + git add a.txt -+ msg=b⇒3 and a⇒0 -+ commit -m b⇒3 and a⇒0 on branch b ++ msg='b⇒3 and a⇒0' ++ commit -m 'b⇒3 and a⇒0 on branch b' + TIME=1112912000 -+ GIT_AUTHOR_DATE=@1112912000 +0000 GIT_COMMITTER_DATE=@1112912000 +0000 git commit -m b⇒3 and a⇒0 on branch b ++ GIT_AUTHOR_DATE='@1112912000 +0000' ++ GIT_COMMITTER_DATE='@1112912000 +0000' ++ git commit -m 'b⇒3 and a⇒0 on branch b' [b f3ef019] b⇒3 and a⇒0 on branch b 2 files changed, 2 insertions(+), 2 deletions(-) ++ for i in 1 2 3 4 + modify b.txt 4 + filename=b.txt + text=4 + echo 4 + git add b.txt -+ msg=b⇒4 ++ msg=$'b\342\207\2224' + test 4 = 2 + test 4 = 3 -+ commit -m b⇒4 on branch b ++ commit -m 'b⇒4 on branch b' + TIME=1112912001 -+ GIT_AUTHOR_DATE=@1112912001 +0000 GIT_COMMITTER_DATE=@1112912001 +0000 git commit -m b⇒4 on branch b ++ GIT_AUTHOR_DATE='@1112912001 +0000' ++ GIT_COMMITTER_DATE='@1112912001 +0000' ++ git commit -m 'b⇒4 on branch b' [b 69d0c21] b⇒4 on branch b 1 file changed, 1 insertion(+), 1 deletion(-) + test_merge b-into-a-2 a b 1-2 1-3 @@ -9106,12 +9943,12 @@ @ = merge was blocked but has been resolved ? = no merge recorded -+ grep -q There was a conflict merging commit 1-2 imerge-b-into-a-2-1.out ++ grep -q 'There was a conflict merging commit 1-2' imerge-b-into-a-2-1.out + echo 1 + git add a.txt + git-imerge continue --no-edit + tee imerge-b-into-a-2-2.out -[imerge/b 7595dc2] imerge 'b': manual merge 1-2 +[imerge/b 18beb7c] imerge 'b': manual merge 1-2 Merge has been recorded for merge 1-2. Attempting automerge of 1-4...failure. Attempting automerge of 1-3...failure. @@ -9119,7 +9956,7 @@ Autofilling 2-2...success. Autofilling 3-2...success. Recording autofilled block MergeState('b', tip1='a', tip2='b', goal='merge')[1:4,1:3]. -Previous HEAD position was 82e3583 imerge 'b': automatic merge 3-2 +Previous HEAD position was c1abcd2 imerge 'b': automatic merge 3-2 Switched to branch 'imerge/b' Auto-merging a.txt CONFLICT (content): Merge conflict in a.txt @@ -9172,12 +10009,12 @@ @ = merge was blocked but has been resolved ? = no merge recorded -+ grep -q There was a conflict merging commit 1-3 imerge-b-into-a-2-2.out ++ grep -q 'There was a conflict merging commit 1-3' imerge-b-into-a-2-2.out + echo 1 + git add a.txt + git-imerge continue --no-edit + tee imerge-b-into-a-2-3.out -[imerge/b 10fdab3] imerge 'b': manual merge 1-3 +[imerge/b fc466f1] imerge 'b': manual merge 1-3 Merge has been recorded for merge 1-3. Attempting automerge of 1-4...success. Autofilling 1-4...success. @@ -9190,7 +10027,7 @@ The two ways of autofilling 3-4 agree. Recording autofilled block MergeState('b', tip1='a', tip2='b', goal='merge')[1:4,2:5]. Merge is complete! -+ grep -q Merge is complete imerge-b-into-a-2-3.out ++ grep -q 'Merge is complete' imerge-b-into-a-2-3.out + git-imerge diagram --commits --frontier 0 3 | | @@ -9220,20 +10057,21 @@ @ = merge was blocked but has been resolved ? = no merge recorded -+ GIT_EDITOR=cat git-imerge finish ++ GIT_EDITOR=cat ++ git-imerge finish Merge b into a (using imerge) # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # -# Date: Fri Mar 27 18:27:54 2026 +0000 +# Date: Sat Feb 22 12:09:29 2025 +0000 # # On branch b-into-a-2 # Changes to be committed: # new file: b.txt # -[b-into-a-2 4ff8548] Merge b into a (using imerge) - Date: Fri Mar 27 18:27:54 2026 +0000 +[b-into-a-2 02c94d6] Merge b into a (using imerge) + Date: Sat Feb 22 12:09:29 2025 +0000 + test_merge a-into-b-2 b a 2-1 3-1 + local name=a-into-b-2 + local dst=b @@ -9242,8 +10080,8 @@ + local conflict2=3-1 + git checkout b Switched to branch 'b' -+ git-imerge merge --branch=a-into-b-2 a + tee imerge-a-into-b-2-1.out ++ git-imerge merge --branch=a-into-b-2 a Attempting automerge of 4-3...success. Autofilling 1-3...success. Autofilling 2-3...unexpected conflict. Backtracking... @@ -9303,12 +10141,12 @@ @ = merge was blocked but has been resolved ? = no merge recorded -+ grep -q There was a conflict merging commit 2-1 imerge-a-into-b-2-1.out ++ grep -q 'There was a conflict merging commit 2-1' imerge-a-into-b-2-1.out + echo 1 + git add a.txt + git-imerge continue --no-edit + tee imerge-a-into-b-2-2.out -[imerge/a f194e7d] imerge 'a': manual merge 2-1 +[imerge/a c3c9db9] imerge 'a': manual merge 2-1 Merge has been recorded for merge 2-1. Attempting automerge of 2-3...success. Autofilling 2-2...success. @@ -9366,12 +10204,12 @@ @ = merge was blocked but has been resolved ? = no merge recorded -+ grep -q There was a conflict merging commit 3-1 imerge-a-into-b-2-2.out ++ grep -q 'There was a conflict merging commit 3-1' imerge-a-into-b-2-2.out + echo 1 + git add a.txt + git-imerge continue --no-edit + tee imerge-a-into-b-2-3.out -[imerge/a 2ce6759] imerge 'a': manual merge 3-1 +[imerge/a 41cdfc2] imerge 'a': manual merge 3-1 Merge has been recorded for merge 3-1. Attempting automerge of 3-3...success. Autofilling 3-2...success. @@ -9383,7 +10221,7 @@ Autofilling 4-3...success. Recording autofilled block MergeState('a', tip1='b', tip2='a', goal='merge')[3:5,0:4]. Merge is complete! -+ grep -q Merge is complete imerge-a-into-b-2-3.out ++ grep -q 'Merge is complete' imerge-a-into-b-2-3.out + git-imerge diagram --commits --frontier 0 4 | | @@ -9411,30 +10249,32 @@ @ = merge was blocked but has been resolved ? = no merge recorded -+ GIT_EDITOR=cat git-imerge finish ++ GIT_EDITOR=cat ++ git-imerge finish Merge a into b (using imerge) # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # -# Date: Fri Mar 27 18:27:56 2026 +0000 +# Date: Sat Feb 22 12:09:31 2025 +0000 # # On branch a-into-b-2 # Changes to be committed: # modified: a.txt # -[a-into-b-2 f97a4b1] Merge a into b (using imerge) - Date: Fri Mar 27 18:27:56 2026 +0000 +[a-into-b-2 3579fcc] Merge a into b (using imerge) + Date: Sat Feb 22 12:09:31 2025 +0000 ++ for n in 1 2 3 + flip_flop_test 3 + local n=3 + TMP=/build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-3 -+ DESCRIPTION=git-imerge test repository with a commit and its revert at n=3 -+ init_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-3 git-imerge test repository with a commit and its revert at n=3 ++ DESCRIPTION='git-imerge test repository with a commit and its revert at n=3' ++ init_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-3 'git-imerge test repository with a commit and its revert at n=3' + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-3 -+ local description=git-imerge test repository with a commit and its revert at n=3 -+ delete_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-3 git-imerge test repository with a commit and its revert at n=3 ++ local 'description=git-imerge test repository with a commit and its revert at n=3' ++ delete_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-3 'git-imerge test repository with a commit and its revert at n=3' + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-3 -+ local description=git-imerge test repository with a commit and its revert at n=3 ++ local 'description=git-imerge test repository with a commit and its revert at n=3' + test -d /build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-3 + mkdir -p /build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-3 + git init /build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-3 @@ -9449,9 +10289,9 @@ hint: hint: git branch -m Initialized empty Git repository in /build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-3/.git/ -+ echo git-imerge test repository with a commit and its revert at n=3 -+ printf %s\n /*.out /*.css /*.html -+ git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-3/.git config user.name Loú User ++ echo 'git-imerge test repository with a commit and its revert at n=3' ++ printf '%s\n' '/*.out' '/*.css' '/*.html' ++ git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-3/.git config user.name 'Loú User' + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-3/.git config user.email luser@example.com + TIME=1112911993 + ln -s /build/reproducible-path/git-imerge-1.2.0/imerge.css /build/reproducible-path/git-imerge-1.2.0/t/tmp/flip-flop-3 @@ -9461,98 +10301,119 @@ + text=0 + echo 0 + git add a.txt -+ commit -m m⇒0 ++ commit -m $'m\342\207\2220' + TIME=1112911994 -+ GIT_AUTHOR_DATE=@1112911994 +0000 GIT_COMMITTER_DATE=@1112911994 +0000 git commit -m m⇒0 ++ GIT_AUTHOR_DATE='@1112911994 +0000' ++ GIT_COMMITTER_DATE='@1112911994 +0000' ++ git commit -m $'m\342\207\2220' [master (root-commit) a733afa] m⇒0 1 file changed, 1 insertion(+) create mode 100644 a.txt + git checkout -b a -- Switched to a new branch 'a' ++ for i in 1 2 3 + modify a.txt 1 + filename=a.txt + text=1 + echo 1 + git add a.txt -+ commit -m a⇒1 on branch a ++ commit -m 'a⇒1 on branch a' + TIME=1112911995 -+ GIT_AUTHOR_DATE=@1112911995 +0000 GIT_COMMITTER_DATE=@1112911995 +0000 git commit -m a⇒1 on branch a ++ GIT_AUTHOR_DATE='@1112911995 +0000' ++ GIT_COMMITTER_DATE='@1112911995 +0000' ++ git commit -m 'a⇒1 on branch a' [a 2f1f75a] a⇒1 on branch a 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in 1 2 3 + modify a.txt 2 + filename=a.txt + text=2 + echo 2 + git add a.txt -+ commit -m a⇒2 on branch a ++ commit -m 'a⇒2 on branch a' + TIME=1112911996 -+ GIT_AUTHOR_DATE=@1112911996 +0000 GIT_COMMITTER_DATE=@1112911996 +0000 git commit -m a⇒2 on branch a ++ GIT_AUTHOR_DATE='@1112911996 +0000' ++ GIT_COMMITTER_DATE='@1112911996 +0000' ++ git commit -m 'a⇒2 on branch a' [a 4700669] a⇒2 on branch a 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in 1 2 3 + modify a.txt 3 + filename=a.txt + text=3 + echo 3 + git add a.txt -+ commit -m a⇒3 on branch a ++ commit -m 'a⇒3 on branch a' + TIME=1112911997 -+ GIT_AUTHOR_DATE=@1112911997 +0000 GIT_COMMITTER_DATE=@1112911997 +0000 git commit -m a⇒3 on branch a ++ GIT_AUTHOR_DATE='@1112911997 +0000' ++ GIT_COMMITTER_DATE='@1112911997 +0000' ++ git commit -m 'a⇒3 on branch a' [a 621c381] a⇒3 on branch a 1 file changed, 1 insertion(+), 1 deletion(-) + git checkout -b b master -- Switched to a new branch 'b' ++ for i in 1 2 3 4 + modify b.txt 1 + filename=b.txt + text=1 + echo 1 + git add b.txt -+ msg=b⇒1 ++ msg=$'b\342\207\2221' + test 1 = 3 + test 1 = 4 -+ commit -m b⇒1 on branch b ++ commit -m 'b⇒1 on branch b' + TIME=1112911998 -+ GIT_AUTHOR_DATE=@1112911998 +0000 GIT_COMMITTER_DATE=@1112911998 +0000 git commit -m b⇒1 on branch b ++ GIT_AUTHOR_DATE='@1112911998 +0000' ++ GIT_COMMITTER_DATE='@1112911998 +0000' ++ git commit -m 'b⇒1 on branch b' [b 1f7d097] b⇒1 on branch b 1 file changed, 1 insertion(+) create mode 100644 b.txt ++ for i in 1 2 3 4 + modify b.txt 2 + filename=b.txt + text=2 + echo 2 + git add b.txt -+ msg=b⇒2 ++ msg=$'b\342\207\2222' + test 2 = 3 + test 2 = 4 -+ commit -m b⇒2 on branch b ++ commit -m 'b⇒2 on branch b' + TIME=1112911999 -+ GIT_AUTHOR_DATE=@1112911999 +0000 GIT_COMMITTER_DATE=@1112911999 +0000 git commit -m b⇒2 on branch b ++ GIT_AUTHOR_DATE='@1112911999 +0000' ++ GIT_COMMITTER_DATE='@1112911999 +0000' ++ git commit -m 'b⇒2 on branch b' [b ce671e9] b⇒2 on branch b 1 file changed, 1 insertion(+), 1 deletion(-) ++ for i in 1 2 3 4 + modify b.txt 3 + filename=b.txt + text=3 + echo 3 + git add b.txt -+ msg=b⇒3 ++ msg=$'b\342\207\2223' + test 3 = 3 + modify a.txt X + filename=a.txt + text=X + echo X + git add a.txt -+ msg=b⇒3 and a⇒X ++ msg='b⇒3 and a⇒X' + test 3 = 4 -+ commit -m b⇒3 and a⇒X on branch b ++ commit -m 'b⇒3 and a⇒X on branch b' + TIME=1112912000 -+ GIT_AUTHOR_DATE=@1112912000 +0000 GIT_COMMITTER_DATE=@1112912000 +0000 git commit -m b⇒3 and a⇒X on branch b ++ GIT_AUTHOR_DATE='@1112912000 +0000' ++ GIT_COMMITTER_DATE='@1112912000 +0000' ++ git commit -m 'b⇒3 and a⇒X on branch b' [b d40495e] b⇒3 and a⇒X on branch b 2 files changed, 2 insertions(+), 2 deletions(-) ++ for i in 1 2 3 4 + modify b.txt 4 + filename=b.txt + text=4 + echo 4 + git add b.txt -+ msg=b⇒4 ++ msg=$'b\342\207\2224' + test 4 = 3 + test 4 = 4 + modify a.txt 0 @@ -9560,10 +10421,12 @@ + text=0 + echo 0 + git add a.txt -+ msg=b⇒4 and a⇒0 -+ commit -m b⇒4 and a⇒0 on branch b ++ msg='b⇒4 and a⇒0' ++ commit -m 'b⇒4 and a⇒0 on branch b' + TIME=1112912001 -+ GIT_AUTHOR_DATE=@1112912001 +0000 GIT_COMMITTER_DATE=@1112912001 +0000 git commit -m b⇒4 and a⇒0 on branch b ++ GIT_AUTHOR_DATE='@1112912001 +0000' ++ GIT_COMMITTER_DATE='@1112912001 +0000' ++ git commit -m 'b⇒4 and a⇒0 on branch b' [b eb736f2] b⇒4 and a⇒0 on branch b 2 files changed, 2 insertions(+), 2 deletions(-) + test_merge b-into-a-3 a b 1-3 1-4 @@ -9655,12 +10518,12 @@ @ = merge was blocked but has been resolved ? = no merge recorded -+ grep -q There was a conflict merging commit 1-3 imerge-b-into-a-3-1.out ++ grep -q 'There was a conflict merging commit 1-3' imerge-b-into-a-3-1.out + echo 1 + git add a.txt + git-imerge continue --no-edit + tee imerge-b-into-a-3-2.out -[imerge/b b5806d9] imerge 'b': manual merge 1-3 +[imerge/b b8ea45d] imerge 'b': manual merge 1-3 Merge has been recorded for merge 1-3. Attempting automerge of 1-4...failure. Attempting automerge of 1-4...failure. @@ -9668,7 +10531,7 @@ Autofilling 2-3...success. Autofilling 3-3...success. Recording autofilled block MergeState('b', tip1='a', tip2='b', goal='merge')[1:4,2:4]. -Previous HEAD position was 0b408e5 imerge 'b': automatic merge 3-3 +Previous HEAD position was 4e62e08 imerge 'b': automatic merge 3-3 Switched to branch 'imerge/b' Auto-merging a.txt CONFLICT (content): Merge conflict in a.txt @@ -9721,19 +10584,19 @@ @ = merge was blocked but has been resolved ? = no merge recorded -+ grep -q There was a conflict merging commit 1-4 imerge-b-into-a-3-2.out ++ grep -q 'There was a conflict merging commit 1-4' imerge-b-into-a-3-2.out + echo 1 + git add a.txt + git-imerge continue --no-edit + tee imerge-b-into-a-3-3.out -[imerge/b 5562d65] imerge 'b': manual merge 1-4 +[imerge/b b33f691] imerge 'b': manual merge 1-4 Merge has been recorded for merge 1-4. Attempting automerge of 3-4...success. Autofilling 2-4...success. Autofilling 3-4...success. Recording autofilled block MergeState('b', tip1='a', tip2='b', goal='merge')[1:4,3:5]. Merge is complete! -+ grep -q Merge is complete imerge-b-into-a-3-3.out ++ grep -q 'Merge is complete' imerge-b-into-a-3-3.out + git-imerge diagram --commits --frontier 0 3 | | @@ -9763,20 +10626,21 @@ @ = merge was blocked but has been resolved ? = no merge recorded -+ GIT_EDITOR=cat git-imerge finish ++ GIT_EDITOR=cat ++ git-imerge finish Merge b into a (using imerge) # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # -# Date: Fri Mar 27 18:27:58 2026 +0000 +# Date: Sat Feb 22 12:09:33 2025 +0000 # # On branch b-into-a-3 # Changes to be committed: # new file: b.txt # -[b-into-a-3 93ed93c] Merge b into a (using imerge) - Date: Fri Mar 27 18:27:58 2026 +0000 +[b-into-a-3 ab8b48d] Merge b into a (using imerge) + Date: Sat Feb 22 12:09:33 2025 +0000 + test_merge a-into-b-3 b a 3-1 4-1 + local name=a-into-b-3 + local dst=b @@ -9850,12 +10714,12 @@ @ = merge was blocked but has been resolved ? = no merge recorded -+ grep -q There was a conflict merging commit 3-1 imerge-a-into-b-3-1.out ++ grep -q 'There was a conflict merging commit 3-1' imerge-a-into-b-3-1.out + echo 1 + git add a.txt + git-imerge continue --no-edit + tee imerge-a-into-b-3-2.out -[imerge/a aac72e5] imerge 'a': manual merge 3-1 +[imerge/a ecdbab6] imerge 'a': manual merge 3-1 Merge has been recorded for merge 3-1. Attempting automerge of 3-3...success. Autofilling 3-2...success. @@ -9913,19 +10777,19 @@ @ = merge was blocked but has been resolved ? = no merge recorded -+ grep -q There was a conflict merging commit 4-1 imerge-a-into-b-3-2.out ++ grep -q 'There was a conflict merging commit 4-1' imerge-a-into-b-3-2.out + echo 1 + git add a.txt + git-imerge continue --no-edit + tee imerge-a-into-b-3-3.out -[imerge/a 97fa36a] imerge 'a': manual merge 4-1 +[imerge/a b743dcc] imerge 'a': manual merge 4-1 Merge has been recorded for merge 4-1. Attempting automerge of 4-3...success. Autofilling 4-2...success. Autofilling 4-3...success. Recording autofilled block MergeState('a', tip1='b', tip2='a', goal='merge')[3:5,1:4]. Merge is complete! -+ grep -q Merge is complete imerge-a-into-b-3-3.out ++ grep -q 'Merge is complete' imerge-a-into-b-3-3.out + git-imerge diagram --commits --frontier 0 4 | | @@ -9953,36 +10817,37 @@ @ = merge was blocked but has been resolved ? = no merge recorded -+ GIT_EDITOR=cat git-imerge finish ++ GIT_EDITOR=cat ++ git-imerge finish Merge a into b (using imerge) # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # -# Date: Fri Mar 27 18:28:00 2026 +0000 +# Date: Sat Feb 22 12:09:35 2025 +0000 # # On branch a-into-b-3 # Changes to be committed: # modified: a.txt # -[a-into-b-3 d167233] Merge a into b (using imerge) - Date: Fri Mar 27 18:28:00 2026 +0000 +[a-into-b-3 183de6d] Merge a into b (using imerge) + Date: Sat Feb 22 12:09:35 2025 +0000 py313: commands[5] .pybuild/cpython3_3.13/build> /bin/sh t/test-drop -+ dirname t/test-drop -+ cd t -+ pwd -+ dirname /build/reproducible-path/git-imerge-1.2.0/t +++++ dirname t/test-drop ++++ cd t ++++ pwd +++ dirname /build/reproducible-path/git-imerge-1.2.0/t + BASE=/build/reproducible-path/git-imerge-1.2.0 + . /build/reproducible-path/git-imerge-1.2.0/t/test-lib.sh + GIT_IMERGE=git-imerge + TMP=/build/reproducible-path/git-imerge-1.2.0/t/tmp/drop -+ DESCRIPTION=git-imerge drop test repository -+ init_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/drop git-imerge drop test repository ++ DESCRIPTION='git-imerge drop test repository' ++ init_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/drop 'git-imerge drop test repository' + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/drop -+ local description=git-imerge drop test repository -+ delete_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/drop git-imerge drop test repository ++ local 'description=git-imerge drop test repository' ++ delete_test_repo /build/reproducible-path/git-imerge-1.2.0/t/tmp/drop 'git-imerge drop test repository' + local path=/build/reproducible-path/git-imerge-1.2.0/t/tmp/drop -+ local description=git-imerge drop test repository ++ local 'description=git-imerge drop test repository' + test -d /build/reproducible-path/git-imerge-1.2.0/t/tmp/drop + mkdir -p /build/reproducible-path/git-imerge-1.2.0/t/tmp/drop + git init /build/reproducible-path/git-imerge-1.2.0/t/tmp/drop @@ -9997,9 +10862,9 @@ hint: hint: git branch -m Initialized empty Git repository in /build/reproducible-path/git-imerge-1.2.0/t/tmp/drop/.git/ -+ echo git-imerge drop test repository -+ printf %s\n /*.out /*.css /*.html -+ git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/drop/.git config user.name Loú User ++ echo 'git-imerge drop test repository' ++ printf '%s\n' '/*.out' '/*.css' '/*.html' ++ git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/drop/.git config user.name 'Loú User' + git --git-dir=/build/reproducible-path/git-imerge-1.2.0/t/tmp/drop/.git config user.email luser@example.com + TIME=1112911993 + ln -s /build/reproducible-path/git-imerge-1.2.0/imerge.css /build/reproducible-path/git-imerge-1.2.0/t/tmp/drop @@ -10009,76 +10874,96 @@ + text=0 + echo 0 + git add a.txt -+ commit -m m⇒0 ++ commit -m $'m\342\207\2220' + TIME=1112911994 -+ GIT_AUTHOR_DATE=@1112911994 +0000 GIT_COMMITTER_DATE=@1112911994 +0000 git commit -m m⇒0 ++ GIT_AUTHOR_DATE='@1112911994 +0000' ++ GIT_COMMITTER_DATE='@1112911994 +0000' ++ git commit -m $'m\342\207\2220' [master (root-commit) a733afa] m⇒0 1 file changed, 1 insertion(+) create mode 100644 a.txt -+ seq 6 +++ seq 6 ++ for i in $(seq 6) + modify a1.txt 1 + filename=a1.txt + text=1 + echo 1 + git add a1.txt -+ commit -m a1⇒1 ++ commit -m $'a1\342\207\2221' + TIME=1112911995 -+ GIT_AUTHOR_DATE=@1112911995 +0000 GIT_COMMITTER_DATE=@1112911995 +0000 git commit -m a1⇒1 ++ GIT_AUTHOR_DATE='@1112911995 +0000' ++ GIT_COMMITTER_DATE='@1112911995 +0000' ++ git commit -m $'a1\342\207\2221' [master 389a4ba] a1⇒1 1 file changed, 1 insertion(+) create mode 100644 a1.txt ++ for i in $(seq 6) + modify a2.txt 2 + filename=a2.txt + text=2 + echo 2 + git add a2.txt -+ commit -m a2⇒2 ++ commit -m $'a2\342\207\2222' + TIME=1112911996 -+ GIT_AUTHOR_DATE=@1112911996 +0000 GIT_COMMITTER_DATE=@1112911996 +0000 git commit -m a2⇒2 ++ GIT_AUTHOR_DATE='@1112911996 +0000' ++ GIT_COMMITTER_DATE='@1112911996 +0000' ++ git commit -m $'a2\342\207\2222' [master 4785218] a2⇒2 1 file changed, 1 insertion(+) create mode 100644 a2.txt ++ for i in $(seq 6) + modify a3.txt 3 + filename=a3.txt + text=3 + echo 3 + git add a3.txt -+ commit -m a3⇒3 ++ commit -m $'a3\342\207\2223' + TIME=1112911997 -+ GIT_AUTHOR_DATE=@1112911997 +0000 GIT_COMMITTER_DATE=@1112911997 +0000 git commit -m a3⇒3 ++ GIT_AUTHOR_DATE='@1112911997 +0000' ++ GIT_COMMITTER_DATE='@1112911997 +0000' ++ git commit -m $'a3\342\207\2223' [master 34bdde3] a3⇒3 1 file changed, 1 insertion(+) create mode 100644 a3.txt ++ for i in $(seq 6) + modify a4.txt 4 + filename=a4.txt + text=4 + echo 4 + git add a4.txt -+ commit -m a4⇒4 ++ commit -m $'a4\342\207\2224' + TIME=1112911998 -+ GIT_AUTHOR_DATE=@1112911998 +0000 GIT_COMMITTER_DATE=@1112911998 +0000 git commit -m a4⇒4 ++ GIT_AUTHOR_DATE='@1112911998 +0000' ++ GIT_COMMITTER_DATE='@1112911998 +0000' ++ git commit -m $'a4\342\207\2224' [master c793a5a] a4⇒4 1 file changed, 1 insertion(+) create mode 100644 a4.txt ++ for i in $(seq 6) + modify a5.txt 5 + filename=a5.txt + text=5 + echo 5 + git add a5.txt -+ commit -m a5⇒5 ++ commit -m $'a5\342\207\2225' + TIME=1112911999 -+ GIT_AUTHOR_DATE=@1112911999 +0000 GIT_COMMITTER_DATE=@1112911999 +0000 git commit -m a5⇒5 ++ GIT_AUTHOR_DATE='@1112911999 +0000' ++ GIT_COMMITTER_DATE='@1112911999 +0000' ++ git commit -m $'a5\342\207\2225' [master b42f60c] a5⇒5 1 file changed, 1 insertion(+) create mode 100644 a5.txt ++ for i in $(seq 6) + modify a6.txt 6 + filename=a6.txt + text=6 + echo 6 + git add a6.txt -+ commit -m a6⇒6 ++ commit -m $'a6\342\207\2226' + TIME=1112912000 -+ GIT_AUTHOR_DATE=@1112912000 +0000 GIT_COMMITTER_DATE=@1112912000 +0000 git commit -m a6⇒6 ++ GIT_AUTHOR_DATE='@1112912000 +0000' ++ GIT_COMMITTER_DATE='@1112912000 +0000' ++ git commit -m $'a6\342\207\2226' [master 9d6aec5] a6⇒6 1 file changed, 1 insertion(+) create mode 100644 a6.txt @@ -10103,12 +10988,12 @@ Turn off this advice by setting config variable advice.detachedHead to false HEAD is now at 34bdde3 a3⇒3 -[detached HEAD 4b42950] Revert "a3⇒3" - Date: Fri Mar 27 18:28:00 2026 +0000 +[detached HEAD 2926fbb] Revert "a3⇒3" + Date: Sat Feb 22 12:09:35 2025 +0000 1 file changed, 1 deletion(-) delete mode 100644 a3.txt -[detached HEAD 5a0f565] Revert "a2⇒2" - Date: Fri Mar 27 18:28:00 2026 +0000 +[detached HEAD 587ce76] Revert "a2⇒2" + Date: Sat Feb 22 12:09:35 2025 +0000 1 file changed, 1 deletion(-) delete mode 100644 a2.txt Attempting automerge of 3-2...success. @@ -10118,7 +11003,7 @@ Autofilling 3-2 (first way)...success. Autofilling 3-2 (second way)...success. The two ways of autofilling 3-2 agree. -Recording autofilled block MergeState('dropped', tip1='dropped', tip2='5a0f565823853324f0b34342e7ad550e5cf26c74', goal='drop')[0:4,0:3]. +Recording autofilled block MergeState('dropped', tip1='dropped', tip2='587ce76ddfad68448016a614e10ad4e92b385dff', goal='drop')[0:4,0:3]. Merge is complete! + git-imerge diagram --commits --frontier --html=imerge-drop.html 0 3 @@ -10127,7 +11012,7 @@ *??. 2 - *... | - 5a0f565823853324f0b34342e7ad550e5cf26c74 + 587ce76ddfad68448016a614e10ad4e92b385dff 0 3 | | @@ -10135,7 +11020,7 @@ *??| 2 - *--+ | - 5a0f565823853324f0b34342e7ad550e5cf26c74 + 587ce76ddfad68448016a614e10ad4e92b385dff Key: |,-,+ = rectangles forming current merge frontier @@ -10149,7 +11034,7 @@ + check_tree dropped 3b92d9e80adb5b542a651863e6853ff5de9e496b + local refname=dropped + local expected_tree=3b92d9e80adb5b542a651863e6853ff5de9e496b -+ git rev-parse dropped^{tree} +++ git rev-parse 'dropped^{tree}' + test 3b92d9e80adb5b542a651863e6853ff5de9e496b = 3b92d9e80adb5b542a651863e6853ff5de9e496b + git checkout -b reverted master Switched to a new branch 'reverted' @@ -10172,12 +11057,12 @@ Turn off this advice by setting config variable advice.detachedHead to false HEAD is now at 34bdde3 a3⇒3 -[detached HEAD 12da661] Revert "a3⇒3" - Date: Fri Mar 27 18:28:01 2026 +0000 +[detached HEAD 2371741] Revert "a3⇒3" + Date: Sat Feb 22 12:09:36 2025 +0000 1 file changed, 1 deletion(-) delete mode 100644 a3.txt -[detached HEAD dc31bc9] Revert "a2⇒2" - Date: Fri Mar 27 18:28:01 2026 +0000 +[detached HEAD aec5523] Revert "a2⇒2" + Date: Sat Feb 22 12:09:36 2025 +0000 1 file changed, 1 deletion(-) delete mode 100644 a2.txt Attempting automerge of 3-2...success. @@ -10187,7 +11072,7 @@ Autofilling 3-2 (first way)...success. Autofilling 3-2 (second way)...success. The two ways of autofilling 3-2 agree. -Recording autofilled block MergeState('reverted', tip1='reverted', tip2='dc31bc9f8a4ae85067a870f524c2e480c5db97e5', goal='revert')[0:4,0:3]. +Recording autofilled block MergeState('reverted', tip1='reverted', tip2='aec5523782d061db9378ed04b470207e054fac6b', goal='revert')[0:4,0:3]. Merge is complete! + git-imerge diagram --commits --frontier --html=imerge-revert.html 0 3 @@ -10196,7 +11081,7 @@ *??. 2 - *... | - dc31bc9f8a4ae85067a870f524c2e480c5db97e5 + aec5523782d061db9378ed04b470207e054fac6b 0 3 | | @@ -10204,7 +11089,7 @@ *??| 2 - *--+ | - dc31bc9f8a4ae85067a870f524c2e480c5db97e5 + aec5523782d061db9378ed04b470207e054fac6b Key: |,-,+ = rectangles forming current merge frontier @@ -10218,10 +11103,10 @@ + check_tree reverted 3b92d9e80adb5b542a651863e6853ff5de9e496b + local refname=reverted + local expected_tree=3b92d9e80adb5b542a651863e6853ff5de9e496b -+ git rev-parse reverted^{tree} +++ git rev-parse 'reverted^{tree}' + test 3b92d9e80adb5b542a651863e6853ff5de9e496b = 3b92d9e80adb5b542a651863e6853ff5de9e496b - py313: OK (93.78=setup[1.45]+cmd[4.79,61.91,9.71,3.41,10.94,1.57] seconds) - congratulations :) (93.88 seconds) + py313: OK (221.01=setup[1.41]+cmd[9.13,187.12,7.34,3.54,10.91,1.58] seconds) + congratulations :) (221.12 seconds) create-stamp debian/debhelper-build-stamp dh_testroot -O--buildsystem=pybuild dh_prep -O--buildsystem=pybuild @@ -10286,12 +11171,14 @@ dpkg-buildpackage: info: binary-only upload (no source included) dpkg-genchanges: info: not including original source code in upload I: copying local configuration +I: user script /srv/workspace/pbuilder/576038/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/576038/tmp/hooks/B01_cleanup finished I: unmounting dev/ptmx filesystem I: unmounting dev/pts filesystem I: unmounting dev/shm filesystem I: unmounting proc filesystem I: unmounting sys filesystem I: cleaning the build env -I: removing directory /srv/workspace/pbuilder/1649155 and its subdirectories -I: Current time: Fri Mar 27 06:28:06 -12 2026 -I: pbuilder-time-stamp: 1774636086 +I: removing directory /srv/workspace/pbuilder/576038 and its subdirectories +I: Current time: Sun Feb 23 02:09:41 +14 2025 +I: pbuilder-time-stamp: 1740226181 Compressing the 2nd log... /var/lib/jenkins/userContent/reproducible/debian/logdiffs/trixie/arm64/git-imerge_1.2.0-5.diff: 91.6% -- replaced with /var/lib/jenkins/userContent/reproducible/debian/logdiffs/trixie/arm64/git-imerge_1.2.0-5.diff.gz b2/build.log: 91.4% -- replaced with stdout Compressing the 1st log... b1/build.log: 91.4% -- replaced with stdout Sat Feb 22 12:09:44 UTC 2025 I: diffoscope 289 will be used to compare the two builds: ++ date -u +%s + DIFFOSCOPE_STAMP=/var/log/reproducible-builds/diffoscope_stamp_git-imerge_trixie_arm64_1740226184 + touch /var/log/reproducible-builds/diffoscope_stamp_git-imerge_trixie_arm64_1740226184 + RESULT=0 + systemd-run '--description=diffoscope on git-imerge/1.2.0-5 in trixie/arm64' --slice=rb-build-diffoscope.slice -u rb-diffoscope-arm64_1-61227 '--property=SuccessExitStatus=1 124' --user --send-sighup --pipe --wait -E TMPDIR timeout 155m nice schroot --directory /srv/reproducible-results/rbuild-debian/r-b-build.7f9P2HTC --run-session -c jenkins-reproducible-trixie-diffoscope-1ac33a26-cbfe-44d3-aa66-b1030d65821c -- sh -c 'export TMPDIR=/srv/reproducible-results/rbuild-debian/r-b-build.7f9P2HTC/dbd-tmp-MhCYtPN ; timeout 150m diffoscope --timeout 7200 --html /srv/reproducible-results/rbuild-debian/r-b-build.7f9P2HTC/git-imerge_1.2.0-5.diffoscope.html --text /srv/reproducible-results/rbuild-debian/r-b-build.7f9P2HTC/git-imerge_1.2.0-5.diffoscope.txt --json /srv/reproducible-results/rbuild-debian/r-b-build.7f9P2HTC/git-imerge_1.2.0-5.diffoscope.json --profile=- /srv/reproducible-results/rbuild-debian/r-b-build.7f9P2HTC/b1/git-imerge_1.2.0-5_arm64.changes /srv/reproducible-results/rbuild-debian/r-b-build.7f9P2HTC/b2/git-imerge_1.2.0-5_arm64.changes' + false + set +x Running as unit: rb-diffoscope-arm64_1-61227.service # Profiling output for: /usr/bin/diffoscope --timeout 7200 --html /srv/reproducible-results/rbuild-debian/r-b-build.7f9P2HTC/git-imerge_1.2.0-5.diffoscope.html --text /srv/reproducible-results/rbuild-debian/r-b-build.7f9P2HTC/git-imerge_1.2.0-5.diffoscope.txt --json /srv/reproducible-results/rbuild-debian/r-b-build.7f9P2HTC/git-imerge_1.2.0-5.diffoscope.json --profile=- /srv/reproducible-results/rbuild-debian/r-b-build.7f9P2HTC/b1/git-imerge_1.2.0-5_arm64.changes /srv/reproducible-results/rbuild-debian/r-b-build.7f9P2HTC/b2/git-imerge_1.2.0-5_arm64.changes ## command (total time: 0.000s) 0.000s 1 call cmp (internal) ## has_same_content_as (total time: 0.000s) 0.000s 1 call diffoscope.comparators.binary.FilesystemFile ## main (total time: 0.004s) 0.004s 2 calls outputs 0.000s 1 call cleanup Finished with result: success Main processes terminated with: code=exited/status=0 Service runtime: 246ms CPU time consumed: 247ms _ _ _ __ _(_) |_ (_)_ __ ___ ___ _ __ __ _ ___ / _` | | __|____| | '_ ` _ \ / _ \ '__/ _` |/ _ \ | (_| | | ||_____| | | | | | | __/ | | (_| | __/ \__, |_|\__| |_|_| |_| |_|\___|_| \__, |\___| |___/ |___/ Sat Feb 22 12:09:45 UTC 2025 I: diffoscope 289 found no differences in the changes files, and a .buildinfo file also exists. Sat Feb 22 12:09:45 UTC 2025 I: git-imerge from trixie built successfully and reproducibly on arm64. INSERT 0 1 INSERT 0 1 DELETE 1 [2025-02-22 12:09:45] INFO: Starting at 2025-02-22 12:09:45.863876 [2025-02-22 12:09:45] INFO: Generating the pages of 1 package(s) [2025-02-22 12:09:46] CRITICAL: https://tests.reproducible-builds.org/debian/trixie/arm64/git-imerge didn't produce a buildlog, even though it has been built. [2025-02-22 12:09:46] INFO: Finished at 2025-02-22 12:09:46.221024, took: 0:00:00.357159 Sat Feb 22 12:09:46 UTC 2025 - successfully updated the database and updated https://tests.reproducible-builds.org/debian/rb-pkg/trixie/arm64/git-imerge.html Sat Feb 22 12:09:46 UTC 2025 I: Submitting .buildinfo files to external archives: Sat Feb 22 12:09:46 UTC 2025 I: Submitting 8.0K b1/git-imerge_1.2.0-5_arm64.buildinfo.asc https://buildinfo.debian.net/d843d981c11de765c0782e6a88f3213194750efc/git-imerge_1.2.0-5_all Sat Feb 22 12:09:47 UTC 2025 I: Submitting 8.0K b2/git-imerge_1.2.0-5_arm64.buildinfo.asc https://buildinfo.debian.net/c114a4a8a22af97905a20932a9c71f41b60abf33/git-imerge_1.2.0-5_all Sat Feb 22 12:09:48 UTC 2025 I: Done submitting .buildinfo files to http://buildinfo.debian.net/api/submit. Sat Feb 22 12:09:48 UTC 2025 I: Done submitting .buildinfo files. Sat Feb 22 12:09:48 UTC 2025 I: Removing signed git-imerge_1.2.0-5_arm64.buildinfo.asc files: removed './b1/git-imerge_1.2.0-5_arm64.buildinfo.asc' removed './b2/git-imerge_1.2.0-5_arm64.buildinfo.asc' 1740226188 arm64 trixie git-imerge Starting cleanup. /var/lib/jenkins/userContent/reproducible/debian/rbuild/trixie/arm64/git-imerge_1.2.0-5.rbuild.log: 90.8% -- replaced with /var/lib/jenkins/userContent/reproducible/debian/rbuild/trixie/arm64/git-imerge_1.2.0-5.rbuild.log.gz [2025-02-22 12:09:49] INFO: Starting at 2025-02-22 12:09:49.099041 [2025-02-22 12:09:49] INFO: Generating the pages of 1 package(s) [2025-02-22 12:09:49] INFO: Finished at 2025-02-22 12:09:49.417785, took: 0:00:00.318754 All cleanup done. Sat Feb 22 12:09:49 UTC 2025 - total duration: 0h 7m 7s. Sat Feb 22 12:09:49 UTC 2025 - reproducible_build.sh stopped running as /tmp/jenkins-script-fAlpofUE, removing. Finished with result: success Main processes terminated with: code=exited/status=0 Service runtime: 7min 11.335s CPU time consumed: 7.989s