I: pbuilder: network access will be disabled during build I: Current time: Sun Apr 20 08:12:55 +14 2025 I: pbuilder-time-stamp: 1745086375 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/1012383/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 Apr 19 18:13 /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/1012383/tmp/hooks/D01_modify_environment finished I: user script /srv/workspace/pbuilder/1012383/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=96a5be8236154bfcb569a64fd03cd789 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=1012383 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.KEtIsM1O/pbuilderrc_WO6N --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.KEtIsM1O/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-33-cloud-arm64 #1 SMP Debian 6.1.133-1 (2025-04-10) aarch64 GNU/Linux I: ls -l /bin lrwxrwxrwx 1 root root 7 Mar 4 11:20 /bin -> usr/bin I: user script /srv/workspace/pbuilder/1012383/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 ... 19954 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} 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, 105 newly installed, 0 to remove and 0 not upgraded. Need to get 39.9 MB of archives. After unpacking 159 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-3 [855 kB] Get: 2 http://deb.debian.org/debian trixie/main arm64 libexpat1 arm64 2.7.1-1 [93.3 kB] Get: 3 http://deb.debian.org/debian trixie/main arm64 python3.13-minimal arm64 3.13.2-3 [1999 kB] Get: 4 http://deb.debian.org/debian trixie/main arm64 python3-minimal arm64 3.13.2-2 [27.1 kB] Get: 5 http://deb.debian.org/debian trixie/main arm64 media-types all 13.0.0 [29.3 kB] Get: 6 http://deb.debian.org/debian trixie/main arm64 netbase all 6.5 [12.4 kB] Get: 7 http://deb.debian.org/debian trixie/main arm64 tzdata all 2025b-2 [260 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-3 [1887 kB] Get: 12 http://deb.debian.org/debian trixie/main arm64 python3.13 arm64 3.13.2-3 [746 kB] Get: 13 http://deb.debian.org/debian trixie/main arm64 libpython3-stdlib arm64 3.13.2-2 [10.1 kB] Get: 14 http://deb.debian.org/debian trixie/main arm64 python3 arm64 3.13.2-2 [28.1 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.5.0-1 [1454 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.41-4 [93.9 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-7 [285 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 20240727.1 [60.2 kB] Get: 31 http://deb.debian.org/debian trixie/main arm64 automake all 1:1.17-4 [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.2 [90.9 kB] Get: 34 http://deb.debian.org/debian trixie/main arm64 libtool all 2.5.4-4 [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-2 [453 kB] Get: 42 http://deb.debian.org/debian trixie/main arm64 libxml2 arm64 2.12.7+dfsg+really2.9.14-0.4 [629 kB] Get: 43 http://deb.debian.org/debian trixie/main arm64 gettext arm64 0.23.1-1 [1610 kB] Get: 44 http://deb.debian.org/debian trixie/main arm64 intltool-debian all 0.35.0+20060710.6 [22.9 kB] Get: 45 http://deb.debian.org/debian trixie/main arm64 po-debconf all 1.0.21+nmu1 [248 kB] Get: 46 http://deb.debian.org/debian trixie/main arm64 debhelper all 13.24.2 [919 kB] Get: 47 http://deb.debian.org/debian trixie/main arm64 dh-python all 6.20250308 [115 kB] Get: 48 http://deb.debian.org/debian trixie/main arm64 libbrotli1 arm64 1.1.0-2+b7 [308 kB] Get: 49 http://deb.debian.org/debian trixie/main arm64 libidn2-0 arm64 2.3.8-2 [107 kB] Get: 50 http://deb.debian.org/debian trixie/main arm64 libp11-kit0 arm64 0.25.5-3 [409 kB] Get: 51 http://deb.debian.org/debian trixie/main arm64 libtasn1-6 arm64 4.20.0-2 [47.3 kB] Get: 52 http://deb.debian.org/debian trixie/main arm64 libgnutls30t64 arm64 3.8.9-2 [1374 kB] Get: 53 http://deb.debian.org/debian trixie/main arm64 libkrb5support0 arm64 1.21.3-5 [32.4 kB] Get: 54 http://deb.debian.org/debian trixie/main arm64 libcom-err2 arm64 1.47.2-1+b1 [24.2 kB] Get: 55 http://deb.debian.org/debian trixie/main arm64 libk5crypto3 arm64 1.21.3-5 [81.2 kB] Get: 56 http://deb.debian.org/debian trixie/main arm64 libkeyutils1 arm64 1.6.3-6 [9716 B] Get: 57 http://deb.debian.org/debian trixie/main arm64 libkrb5-3 arm64 1.21.3-5 [308 kB] Get: 58 http://deb.debian.org/debian trixie/main arm64 libgssapi-krb5-2 arm64 1.21.3-5 [127 kB] Get: 59 http://deb.debian.org/debian trixie/main arm64 libsasl2-modules-db arm64 2.1.28+dfsg1-9 [20.1 kB] Get: 60 http://deb.debian.org/debian trixie/main arm64 libsasl2-2 arm64 2.1.28+dfsg1-9 [55.6 kB] Get: 61 http://deb.debian.org/debian trixie/main arm64 libldap2 arm64 2.6.9+dfsg-2 [179 kB] Get: 62 http://deb.debian.org/debian trixie/main arm64 libnghttp2-14 arm64 1.64.0-1 [71.3 kB] Get: 63 http://deb.debian.org/debian trixie/main arm64 libnghttp3-9 arm64 1.8.0-1 [63.2 kB] Get: 64 http://deb.debian.org/debian trixie/main arm64 libngtcp2-16 arm64 1.11.0-1 [121 kB] Get: 65 http://deb.debian.org/debian trixie/main arm64 libngtcp2-crypto-gnutls8 arm64 1.11.0-1 [28.2 kB] Get: 66 http://deb.debian.org/debian trixie/main arm64 libpsl5t64 arm64 0.21.2-1.1+b1 [57.1 kB] Get: 67 http://deb.debian.org/debian trixie/main arm64 librtmp1 arm64 2.4+20151223.gitfa8646d.1-2+b5 [56.8 kB] Get: 68 http://deb.debian.org/debian trixie/main arm64 libssh2-1t64 arm64 1.11.1-1 [235 kB] Get: 69 http://deb.debian.org/debian trixie/main arm64 libcurl3t64-gnutls arm64 8.13.0-1 [343 kB] Get: 70 http://deb.debian.org/debian trixie/main arm64 liberror-perl all 0.17030-1 [26.9 kB] Get: 71 http://deb.debian.org/debian trixie/main arm64 git-man all 1:2.47.2-0.1 [2205 kB] Get: 72 http://deb.debian.org/debian trixie/main arm64 git arm64 1:2.47.2-0.1 [8756 kB] Get: 73 http://deb.debian.org/debian trixie/main arm64 libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [326 kB] Get: 74 http://deb.debian.org/debian trixie/main arm64 libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [116 kB] Get: 75 http://deb.debian.org/debian trixie/main arm64 libjs-sphinxdoc all 8.1.3-5 [30.5 kB] Get: 76 http://deb.debian.org/debian trixie/main arm64 libpkgconf3 arm64 1.8.1-4 [35.3 kB] Get: 77 http://deb.debian.org/debian trixie/main arm64 pkgconf-bin arm64 1.8.1-4 [29.6 kB] Get: 78 http://deb.debian.org/debian trixie/main arm64 pkgconf arm64 1.8.1-4 [26.1 kB] Get: 79 http://deb.debian.org/debian trixie/main arm64 pkg-config arm64 1.8.1-4 [14.0 kB] Get: 80 http://deb.debian.org/debian trixie/main arm64 python3-autocommand all 2.2.2-3 [13.6 kB] Get: 81 http://deb.debian.org/debian trixie/main arm64 python3-cachetools all 5.3.3-1 [13.2 kB] Get: 82 http://deb.debian.org/debian trixie/main arm64 python3-chardet all 5.2.0+dfsg-2 [108 kB] Get: 83 http://deb.debian.org/debian trixie/main arm64 python3-colorama all 0.4.6-4 [36.2 kB] Get: 84 http://deb.debian.org/debian trixie/main arm64 python3-distlib all 0.3.9-1 [257 kB] Get: 85 http://deb.debian.org/debian trixie/main arm64 python3-filelock all 3.18.0-1 [12.8 kB] Get: 86 http://deb.debian.org/debian trixie/main arm64 python3-more-itertools all 10.6.0-1 [65.3 kB] Get: 87 http://deb.debian.org/debian trixie/main arm64 python3-typing-extensions all 4.13.0-1 [90.1 kB] Get: 88 http://deb.debian.org/debian trixie/main arm64 python3-typeguard all 4.4.2-1 [37.3 kB] Get: 89 http://deb.debian.org/debian trixie/main arm64 python3-inflect all 7.3.1-2 [32.4 kB] Get: 90 http://deb.debian.org/debian trixie/main arm64 python3-jaraco.functools all 4.1.0-1 [12.0 kB] Get: 91 http://deb.debian.org/debian trixie/main arm64 python3-pkg-resources all 75.8.0-1 [222 kB] Get: 92 http://deb.debian.org/debian trixie/main arm64 python3-jaraco.text all 4.0.0-1 [11.4 kB] Get: 93 http://deb.debian.org/debian trixie/main arm64 python3-zipp all 3.21.0-1 [10.6 kB] Get: 94 http://deb.debian.org/debian trixie/main arm64 python3-setuptools all 75.8.0-1 [724 kB] Get: 95 http://deb.debian.org/debian trixie/main arm64 python3-jaraco.context all 6.0.1-1 [8276 B] Get: 96 http://deb.debian.org/debian trixie/main arm64 python3-packaging all 24.2-1 [55.3 kB] Get: 97 http://deb.debian.org/debian trixie/main arm64 python3-pip-whl all 25.0.1+dfsg-1 [1522 kB] Get: 98 http://deb.debian.org/debian trixie/main arm64 python3-platformdirs all 4.3.7-1 [16.6 kB] Get: 99 http://deb.debian.org/debian trixie/main arm64 python3-pluggy all 1.5.0-1 [26.9 kB] Get: 100 http://deb.debian.org/debian trixie/main arm64 python3-pyproject-api all 1.9.0-1 [51.6 kB] Get: 101 http://deb.debian.org/debian trixie/main arm64 python3-setuptools-whl all 75.8.0-1 [1244 kB] Get: 102 http://deb.debian.org/debian trixie/main arm64 python3-wheel-whl all 0.45.1-1 [75.3 kB] Get: 103 http://deb.debian.org/debian trixie/main arm64 python3-virtualenv all 20.30.0+ds-1 [72.4 kB] Get: 104 http://deb.debian.org/debian trixie/main arm64 python3-wheel all 0.45.1-1 [56.7 kB] Get: 105 http://deb.debian.org/debian trixie/main arm64 tox all 4.25.0-1 [401 kB] Fetched 39.9 MB in 0s (197 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 ... 19954 files and directories currently installed.) Preparing to unpack .../libpython3.13-minimal_3.13.2-3_arm64.deb ... Unpacking libpython3.13-minimal:arm64 (3.13.2-3) ... Selecting previously unselected package libexpat1:arm64. Preparing to unpack .../libexpat1_2.7.1-1_arm64.deb ... Unpacking libexpat1:arm64 (2.7.1-1) ... Selecting previously unselected package python3.13-minimal. Preparing to unpack .../python3.13-minimal_3.13.2-3_arm64.deb ... Unpacking python3.13-minimal (3.13.2-3) ... Setting up libpython3.13-minimal:arm64 (3.13.2-3) ... Setting up libexpat1:arm64 (2.7.1-1) ... Setting up python3.13-minimal (3.13.2-3) ... 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 ... 20288 files and directories currently installed.) Preparing to unpack .../0-python3-minimal_3.13.2-2_arm64.deb ... Unpacking python3-minimal (3.13.2-2) ... Selecting previously unselected package media-types. Preparing to unpack .../1-media-types_13.0.0_all.deb ... Unpacking media-types (13.0.0) ... Selecting previously unselected package netbase. Preparing to unpack .../2-netbase_6.5_all.deb ... Unpacking netbase (6.5) ... Selecting previously unselected package tzdata. Preparing to unpack .../3-tzdata_2025b-2_all.deb ... Unpacking tzdata (2025b-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-3_arm64.deb ... Unpacking libpython3.13-stdlib:arm64 (3.13.2-3) ... Selecting previously unselected package python3.13. Preparing to unpack .../8-python3.13_3.13.2-3_arm64.deb ... Unpacking python3.13 (3.13.2-3) ... Selecting previously unselected package libpython3-stdlib:arm64. Preparing to unpack .../9-libpython3-stdlib_3.13.2-2_arm64.deb ... Unpacking libpython3-stdlib:arm64 (3.13.2-2) ... Setting up python3-minimal (3.13.2-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 ... 21299 files and directories currently installed.) Preparing to unpack .../00-python3_3.13.2-2_arm64.deb ... Unpacking python3 (3.13.2-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.5.0-1_arm64.deb ... Unpacking openssl (3.5.0-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.41-4_arm64.deb ... Unpacking bsdextrautils (2.41-4) ... 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-7_arm64.deb ... Unpacking m4 (1.4.19-7) ... 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_20240727.1_all.deb ... Unpacking autotools-dev (20240727.1) ... Selecting previously unselected package automake. Preparing to unpack .../17-automake_1%3a1.17-4_all.deb ... Unpacking automake (1:1.17-4) ... 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.2_all.deb ... Unpacking libdebhelper-perl (13.24.2) ... Selecting previously unselected package libtool. Preparing to unpack .../20-libtool_2.5.4-4_all.deb ... Unpacking libtool (2.5.4-4) ... 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-2_arm64.deb ... Unpacking libunistring5:arm64 (1.3-2) ... Selecting previously unselected package libxml2:arm64. Preparing to unpack .../28-libxml2_2.12.7+dfsg+really2.9.14-0.4_arm64.deb ... Unpacking libxml2:arm64 (2.12.7+dfsg+really2.9.14-0.4) ... Selecting previously unselected package gettext. Preparing to unpack .../29-gettext_0.23.1-1_arm64.deb ... Unpacking gettext (0.23.1-1) ... Selecting previously unselected package intltool-debian. Preparing to unpack .../30-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 .../31-po-debconf_1.0.21+nmu1_all.deb ... Unpacking po-debconf (1.0.21+nmu1) ... Selecting previously unselected package debhelper. Preparing to unpack .../32-debhelper_13.24.2_all.deb ... Unpacking debhelper (13.24.2) ... Selecting previously unselected package dh-python. Preparing to unpack .../33-dh-python_6.20250308_all.deb ... Unpacking dh-python (6.20250308) ... Selecting previously unselected package libbrotli1:arm64. Preparing to unpack .../34-libbrotli1_1.1.0-2+b7_arm64.deb ... Unpacking libbrotli1:arm64 (1.1.0-2+b7) ... Selecting previously unselected package libidn2-0:arm64. Preparing to unpack .../35-libidn2-0_2.3.8-2_arm64.deb ... Unpacking libidn2-0:arm64 (2.3.8-2) ... Selecting previously unselected package libp11-kit0:arm64. Preparing to unpack .../36-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 .../37-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 .../38-libgnutls30t64_3.8.9-2_arm64.deb ... Unpacking libgnutls30t64:arm64 (3.8.9-2) ... Selecting previously unselected package libkrb5support0:arm64. Preparing to unpack .../39-libkrb5support0_1.21.3-5_arm64.deb ... Unpacking libkrb5support0:arm64 (1.21.3-5) ... Selecting previously unselected package libcom-err2:arm64. Preparing to unpack .../40-libcom-err2_1.47.2-1+b1_arm64.deb ... Unpacking libcom-err2:arm64 (1.47.2-1+b1) ... Selecting previously unselected package libk5crypto3:arm64. Preparing to unpack .../41-libk5crypto3_1.21.3-5_arm64.deb ... Unpacking libk5crypto3:arm64 (1.21.3-5) ... Selecting previously unselected package libkeyutils1:arm64. Preparing to unpack .../42-libkeyutils1_1.6.3-6_arm64.deb ... Unpacking libkeyutils1:arm64 (1.6.3-6) ... Selecting previously unselected package libkrb5-3:arm64. Preparing to unpack .../43-libkrb5-3_1.21.3-5_arm64.deb ... Unpacking libkrb5-3:arm64 (1.21.3-5) ... Selecting previously unselected package libgssapi-krb5-2:arm64. Preparing to unpack .../44-libgssapi-krb5-2_1.21.3-5_arm64.deb ... Unpacking libgssapi-krb5-2:arm64 (1.21.3-5) ... Selecting previously unselected package libsasl2-modules-db:arm64. Preparing to unpack .../45-libsasl2-modules-db_2.1.28+dfsg1-9_arm64.deb ... Unpacking libsasl2-modules-db:arm64 (2.1.28+dfsg1-9) ... Selecting previously unselected package libsasl2-2:arm64. Preparing to unpack .../46-libsasl2-2_2.1.28+dfsg1-9_arm64.deb ... Unpacking libsasl2-2:arm64 (2.1.28+dfsg1-9) ... Selecting previously unselected package libldap2:arm64. Preparing to unpack .../47-libldap2_2.6.9+dfsg-2_arm64.deb ... Unpacking libldap2:arm64 (2.6.9+dfsg-2) ... Selecting previously unselected package libnghttp2-14:arm64. Preparing to unpack .../48-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 .../49-libnghttp3-9_1.8.0-1_arm64.deb ... Unpacking libnghttp3-9:arm64 (1.8.0-1) ... Selecting previously unselected package libngtcp2-16:arm64. Preparing to unpack .../50-libngtcp2-16_1.11.0-1_arm64.deb ... Unpacking libngtcp2-16:arm64 (1.11.0-1) ... Selecting previously unselected package libngtcp2-crypto-gnutls8:arm64. Preparing to unpack .../51-libngtcp2-crypto-gnutls8_1.11.0-1_arm64.deb ... Unpacking libngtcp2-crypto-gnutls8:arm64 (1.11.0-1) ... Selecting previously unselected package libpsl5t64:arm64. Preparing to unpack .../52-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 .../53-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 .../54-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 .../55-libcurl3t64-gnutls_8.13.0-1_arm64.deb ... Unpacking libcurl3t64-gnutls:arm64 (8.13.0-1) ... Selecting previously unselected package liberror-perl. Preparing to unpack .../56-liberror-perl_0.17030-1_all.deb ... Unpacking liberror-perl (0.17030-1) ... Selecting previously unselected package git-man. Preparing to unpack .../57-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 .../58-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 .../59-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 .../60-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 .../61-libjs-sphinxdoc_8.1.3-5_all.deb ... Unpacking libjs-sphinxdoc (8.1.3-5) ... Selecting previously unselected package libpkgconf3:arm64. Preparing to unpack .../62-libpkgconf3_1.8.1-4_arm64.deb ... Unpacking libpkgconf3:arm64 (1.8.1-4) ... Selecting previously unselected package pkgconf-bin. Preparing to unpack .../63-pkgconf-bin_1.8.1-4_arm64.deb ... Unpacking pkgconf-bin (1.8.1-4) ... Selecting previously unselected package pkgconf:arm64. Preparing to unpack .../64-pkgconf_1.8.1-4_arm64.deb ... Unpacking pkgconf:arm64 (1.8.1-4) ... Selecting previously unselected package pkg-config:arm64. Preparing to unpack .../65-pkg-config_1.8.1-4_arm64.deb ... Unpacking pkg-config:arm64 (1.8.1-4) ... Selecting previously unselected package python3-autocommand. Preparing to unpack .../66-python3-autocommand_2.2.2-3_all.deb ... Unpacking python3-autocommand (2.2.2-3) ... Selecting previously unselected package python3-cachetools. Preparing to unpack .../67-python3-cachetools_5.3.3-1_all.deb ... Unpacking python3-cachetools (5.3.3-1) ... Selecting previously unselected package python3-chardet. Preparing to unpack .../68-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 .../69-python3-colorama_0.4.6-4_all.deb ... Unpacking python3-colorama (0.4.6-4) ... Selecting previously unselected package python3-distlib. Preparing to unpack .../70-python3-distlib_0.3.9-1_all.deb ... Unpacking python3-distlib (0.3.9-1) ... Selecting previously unselected package python3-filelock. Preparing to unpack .../71-python3-filelock_3.18.0-1_all.deb ... Unpacking python3-filelock (3.18.0-1) ... Selecting previously unselected package python3-more-itertools. Preparing to unpack .../72-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 .../73-python3-typing-extensions_4.13.0-1_all.deb ... Unpacking python3-typing-extensions (4.13.0-1) ... Selecting previously unselected package python3-typeguard. Preparing to unpack .../74-python3-typeguard_4.4.2-1_all.deb ... Unpacking python3-typeguard (4.4.2-1) ... Selecting previously unselected package python3-inflect. Preparing to unpack .../75-python3-inflect_7.3.1-2_all.deb ... Unpacking python3-inflect (7.3.1-2) ... Selecting previously unselected package python3-jaraco.functools. Preparing to unpack .../76-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 .../77-python3-pkg-resources_75.8.0-1_all.deb ... Unpacking python3-pkg-resources (75.8.0-1) ... Selecting previously unselected package python3-jaraco.text. Preparing to unpack .../78-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 .../79-python3-zipp_3.21.0-1_all.deb ... Unpacking python3-zipp (3.21.0-1) ... Selecting previously unselected package python3-setuptools. Preparing to unpack .../80-python3-setuptools_75.8.0-1_all.deb ... Unpacking python3-setuptools (75.8.0-1) ... Selecting previously unselected package python3-jaraco.context. Preparing to unpack .../81-python3-jaraco.context_6.0.1-1_all.deb ... Unpacking python3-jaraco.context (6.0.1-1) ... Selecting previously unselected package python3-packaging. Preparing to unpack .../82-python3-packaging_24.2-1_all.deb ... Unpacking python3-packaging (24.2-1) ... Selecting previously unselected package python3-pip-whl. Preparing to unpack .../83-python3-pip-whl_25.0.1+dfsg-1_all.deb ... Unpacking python3-pip-whl (25.0.1+dfsg-1) ... Selecting previously unselected package python3-platformdirs. Preparing to unpack .../84-python3-platformdirs_4.3.7-1_all.deb ... Unpacking python3-platformdirs (4.3.7-1) ... Selecting previously unselected package python3-pluggy. Preparing to unpack .../85-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 .../86-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 .../87-python3-setuptools-whl_75.8.0-1_all.deb ... Unpacking python3-setuptools-whl (75.8.0-1) ... Selecting previously unselected package python3-wheel-whl. Preparing to unpack .../88-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 .../89-python3-virtualenv_20.30.0+ds-1_all.deb ... Unpacking python3-virtualenv (20.30.0+ds-1) ... Selecting previously unselected package python3-wheel. Preparing to unpack .../90-python3-wheel_0.45.1-1_all.deb ... Unpacking python3-wheel (0.45.1-1) ... Selecting previously unselected package tox. Preparing to unpack .../91-tox_4.25.0-1_all.deb ... Unpacking tox (4.25.0-1) ... Setting up media-types (13.0.0) ... Setting up libpipeline1:arm64 (1.5.8-1) ... Setting up python3-setuptools-whl (75.8.0-1) ... Setting up libkeyutils1:arm64 (1.6.3-6) ... Setting up bsdextrautils (2.41-4) ... Setting up libmagic-mgc (1:5.45-3+b1) ... Setting up libarchive-zip-perl (1.68-1) ... Setting up libdebhelper-perl (13.24.2) ... Setting up libbrotli1:arm64 (1.1.0-2+b7) ... 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-7) ... Setting up libcom-err2:arm64 (1.47.2-1+b1) ... Setting up file (1:5.45-3+b1) ... Setting up libelf1t64:arm64 (0.192-4) ... Setting up libkrb5support0:arm64 (1.21.3-5) ... Setting up libsasl2-modules-db:arm64 (2.1.28+dfsg1-9) ... Setting up tzdata (2025b-2) ... Current default time zone: 'Etc/UTC' Local time is now: Sat Apr 19 18:13:16 UTC 2025. Universal Time is now: Sat Apr 19 18:13:16 UTC 2025. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up liberror-perl (0.17030-1) ... Setting up autotools-dev (20240727.1) ... Setting up libpkgconf3:arm64 (1.8.1-4) ... Setting up bash-completion (1:2.16.0-7) ... Setting up libunistring5:arm64 (1.3-2) ... Setting up autopoint (0.23.1-1) ... Setting up pkgconf-bin (1.8.1-4) ... Setting up libk5crypto3:arm64 (1.21.3-5) ... Setting up libsasl2-2:arm64 (2.1.28+dfsg1-9) ... Setting up autoconf (2.72-3) ... Setting up libnghttp3-9:arm64 (1.8.0-1) ... 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.5) ... Setting up libngtcp2-16:arm64 (1.11.0-1) ... Setting up libkrb5-3:arm64 (1.21.3-5) ... 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.5.0-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.4) ... Setting up libldap2:arm64 (2.6.9+dfsg-2) ... Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... Setting up automake (1:1.17-4) ... 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-4) ... Setting up libidn2-0:arm64 (2.3.8-2) ... 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-5) ... Setting up pkg-config:arm64 (1.8.1-4) ... Setting up libjs-sphinxdoc (8.1.3-5) ... 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-3) ... Setting up libpython3-stdlib:arm64 (3.13.2-2) ... Setting up libgnutls30t64:arm64 (3.8.9-2) ... Setting up python3.13 (3.13.2-3) ... Setting up python3-pip-whl (25.0.1+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.2-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.7-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.13.0-1) ... Setting up python3-pluggy (1.5.0-1) ... Setting up libngtcp2-crypto-gnutls8:arm64 (1.11.0-1) ... Setting up dh-python (6.20250308) ... Setting up python3-more-itertools (10.6.0-1) ... Setting up python3-filelock (3.18.0-1) ... Setting up python3-jaraco.functools (4.1.0-1) ... Setting up python3-jaraco.context (6.0.1-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.2-1) ... Setting up libcurl3t64-gnutls:arm64 (8.13.0-1) ... Setting up python3-virtualenv (20.30.0+ds-1) ... Setting up debhelper (13.24.2) ... 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.8.0-1) ... Setting up python3-setuptools (75.8.0-1) ... Setting up tox (4.25.0-1) ... Processing triggers for libc-bin (2.41-6) ... 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/1012383/tmp/hooks/A99_set_merged_usr starting Not re-configuring usrmerge for trixie I: user script /srv/workspace/pbuilder/1012383/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:79: 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 + echo 'git-imerge test repository without conflicts' Initialized empty Git repository in /build/reproducible-path/git-imerge-1.2.0/t/tmp/unconflicted/.git/ + 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 Apr 19 18:13:41 2025 +0000 # # On branch a-b-merge # Changes to be committed: # modified: b.txt # [a-b-merge cd38f85] Merge b into a (using imerge) Date: Sat Apr 19 18:13:41 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 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\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 + 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' [d 3690dde] 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 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 ac9333b] 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 Apr 19 18:13:47 2025 +0000 # # On branch c-d-merge # Changes to be committed: # modified: conflict.txt # modified: d.txt # [c-d-merge a4f7646] Merge d into c (using imerge) Date: Sat Apr 19 18:13:47 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...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 bc373ed 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 c1e6cbe] 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 Initialized empty Git repository in /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-1/.git/ + 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' ++ 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 + 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: 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 870fddb] 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 Apr 19 18:13:53 2025 +0000 # # On branch c-d-merge # Changes to be committed: # modified: conflict.txt # modified: d.txt # [c-d-merge 0fa0601] Merge d into c (using imerge) Date: Sat Apr 19 18:13:53 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...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 92b61cc] 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\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' [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 + 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...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 0c58d30] 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 Apr 19 18:13:59 2025 +0000 # # On branch c-d-merge # Changes to be committed: # modified: conflict.txt # modified: d.txt # [c-d-merge dc75329] Merge d into c (using imerge) Date: Sat Apr 19 18:13: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 ddcf76e] 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 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-1-6/.git/ + 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' [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...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: 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 + echo 'merged version' + git add conflict.txt + git-imerge continue --no-edit [imerge/c-d ce228d2] 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 Apr 19 18:14:07 2025 +0000 # # On branch c-d-merge # Changes to be committed: # modified: conflict.txt # modified: d.txt # [c-d-merge 0224ed5] Merge d into c (using imerge) Date: Sat Apr 19 18:14:07 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 8c4280e 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 18decad] 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' [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' [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: 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 4d591c5] 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 Apr 19 18:14:14 2025 +0000 # # On branch c-d-merge # Changes to be committed: # modified: conflict.txt # modified: d.txt # [c-d-merge be4c95f] Merge d into c (using imerge) Date: Sat Apr 19 18:14:14 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 # [imerge/c-d d0c3f3b] 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 Initialized empty Git repository in /build/reproducible-path/git-imerge-1.2.0/t/tmp/conflicted-1-2/.git/ + 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' [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 + 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' [d 3169557] 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 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 2cf7c5b] 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 Apr 19 18:14:21 2025 +0000 # # On branch c-d-merge # Changes to be committed: # modified: conflict.txt # modified: d.txt # [c-d-merge 3d40f62] Merge d into c (using imerge) Date: Sat Apr 19 18:14: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...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 cf09a43 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 d91292a] 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' [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' [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 + 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 + 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 b917743] 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 Apr 19 18:14:27 2025 +0000 # # On branch c-d-merge # Changes to be committed: # modified: conflict.txt # modified: d.txt # [c-d-merge e62e340] Merge d into c (using imerge) Date: Sat Apr 19 18:14:27 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...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 a9e2ab7] 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\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' [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...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 854b708] 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 Apr 19 18:14:34 2025 +0000 # # On branch c-d-merge # Changes to be committed: # modified: conflict.txt # modified: d.txt # [c-d-merge d87baaf] Merge d into c (using imerge) Date: Sat Apr 19 18:14:34 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 bf28d16] 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\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 + 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' [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...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 3b44813] 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 Apr 19 18:14:41 2025 +0000 # # On branch c-d-merge # Changes to be committed: # modified: conflict.txt # modified: d.txt # [c-d-merge 94f3391] Merge d into c (using imerge) Date: Sat Apr 19 18:14:41 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 d055e22 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 5a385ea] 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 + 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 + 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 + 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 abf23a9] 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 + git-imerge continue --no-edit + tee autofill.out [imerge/c-d 3d28938] 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: e2929f8 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 e2929f8 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 d510640] 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 ad5d99a 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 000740c] 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 af93403 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 1c260a2] 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 82ecce2] 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 445a0a2 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 9631e9e] 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 + git-imerge continue --no-edit + tee autofill.out [imerge/c-d 7a4f341] 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 Apr 19 18:14:53 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 8012535] Merge d into c (using imerge) Date: Sat Apr 19 18:14:53 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 Apr 19 18:14:56 2025 +0000 # # On branch a-b-merge # Changes to be committed: # modified: a.txt # [a-b-merge 4687376] Merge b into a (using imerge) Date: Sat Apr 19 18:14:56 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 e8aa339] 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 b6579b2 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 5e81150] 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 Apr 19 18:15:00 2025 +0000 # # On branch b-into-a-1 # Changes to be committed: # new file: b.txt # [b-into-a-1 5d18f60] Merge b into a (using imerge) Date: Sat Apr 19 18:15:00 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 65d07e4] 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 20a2595] 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 Apr 19 18:15:01 2025 +0000 # # On branch a-into-b-1 # Changes to be committed: # modified: a.txt # [a-into-b-1 c3f9182] Merge a into b (using imerge) Date: Sat Apr 19 18:15:01 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 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\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 c9522b2] 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 01a2487 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 0236c52] 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 Apr 19 18:15:03 2025 +0000 # # On branch b-into-a-2 # Changes to be committed: # new file: b.txt # [b-into-a-2 bbf489a] Merge b into a (using imerge) Date: Sat Apr 19 18:15:03 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' + 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 b405509] 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 f1d14f3] 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 Apr 19 18:15:05 2025 +0000 # # On branch a-into-b-2 # Changes to be committed: # modified: a.txt # [a-into-b-2 9fcb19a] Merge a into b (using imerge) Date: Sat Apr 19 18:15:05 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 1117e75] 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 649042e 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 d3c37b7] 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 Apr 19 18:15:07 2025 +0000 # # On branch b-into-a-3 # Changes to be committed: # new file: b.txt # [b-into-a-3 756fc6b] Merge b into a (using imerge) Date: Sat Apr 19 18:15:07 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 fc23b76] 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 f0612f4] 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 Apr 19 18:15:08 2025 +0000 # # On branch a-into-b-3 # Changes to be committed: # modified: a.txt # [a-into-b-3 8fa4323] Merge a into b (using imerge) Date: Sat Apr 19 18:15:08 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 b9f4ff6] Revert "a3⇒3" Date: Sat Apr 19 18:15:09 2025 +0000 1 file changed, 1 deletion(-) delete mode 100644 a3.txt [detached HEAD 9c438c5] Revert "a2⇒2" Date: Sat Apr 19 18:15:09 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='9c438c5f2e1dcbd3dfcaaf74b7519d0ea8cdbd7b', goal='drop')[0:4,0:3]. Merge is complete! + git-imerge diagram --commits --frontier --html=imerge-drop.html 0 3 | | 0 - **** - dropped *??. 2 - *... | 9c438c5f2e1dcbd3dfcaaf74b7519d0ea8cdbd7b 0 3 | | 0 - **** - dropped *??| 2 - *--+ | 9c438c5f2e1dcbd3dfcaaf74b7519d0ea8cdbd7b 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 b9f4ff6] Revert "a3⇒3" Date: Sat Apr 19 18:15:09 2025 +0000 1 file changed, 1 deletion(-) delete mode 100644 a3.txt [detached HEAD 9c438c5] Revert "a2⇒2" Date: Sat Apr 19 18:15:09 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='9c438c5f2e1dcbd3dfcaaf74b7519d0ea8cdbd7b', goal='revert')[0:4,0:3]. Merge is complete! + git-imerge diagram --commits --frontier --html=imerge-revert.html 0 3 | | 0 - **** - reverted *??. 2 - *... | 9c438c5f2e1dcbd3dfcaaf74b7519d0ea8cdbd7b 0 3 | | 0 - **** - reverted *??| 2 - *--+ | 9c438c5f2e1dcbd3dfcaaf74b7519d0ea8cdbd7b 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 (91.72=setup[1.35]+cmd[4.35,61.35,9.29,3.40,10.45,1.53] seconds) congratulations :) (91.81 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:79: 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/1012383/tmp/hooks/B01_cleanup starting I: user script /srv/workspace/pbuilder/1012383/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/1012383 and its subdirectories I: Current time: Sun Apr 20 08:15:14 +14 2025 I: pbuilder-time-stamp: 1745086514