Input buildinfo: https://buildinfos.debian.net/buildinfo-pool/g/git-imerge/git-imerge_1.2.0-3_all.buildinfo Use metasnap for getting required timestamps New buildinfo file: /tmp/git-imerge-1.2.0-3y49ikl6r/git-imerge_1.2.0-3_all.buildinfo Get source package info: git-imerge=1.2.0-3 Source URL: http://snapshot.notset.fr/mr/package/git-imerge/1.2.0-3/srcfiles?fileinfo=1 env -i PATH=/usr/sbin:/usr/bin:/sbin:/bin TMPDIR=/tmp mmdebstrap --arch=amd64 --include=autoconf=2.69-11.1 automake=1:1.16.2-4 autopoint=0.19.8.1-10 autotools-dev=20180224.1 base-files=11 base-passwd=3.5.48 bash=5.1~rc1-2 bash-completion=1:2.11-2 binutils=2.35.1-2 binutils-common=2.35.1-2 binutils-x86-64-linux-gnu=2.35.1-2 bsdextrautils=2.36-3+b1 bsdutils=1:2.36-3+b1 build-essential=12.8 bzip2=1.0.8-4 ca-certificates=20200601 coreutils=8.32-4+b1 cpp=4:10.2.0-1 cpp-10=10.2.0-15 dash=0.5.10.2-7 debconf=1.5.74 debhelper=13.2.1 debianutils=4.11.2 dh-autoreconf=19 dh-python=4.20200925 dh-strip-nondeterminism=1.9.0-1 diffutils=1:3.7-3 dpkg=1.20.5 dpkg-dev=1.20.5 dwz=0.13-5 file=1:5.38-5 findutils=4.7.0-1 g++=4:10.2.0-1 g++-10=10.2.0-15 gcc=4:10.2.0-1 gcc-10=10.2.0-15 gcc-10-base=10.2.0-15 gettext=0.19.8.1-10 gettext-base=0.19.8.1-10 git=1:2.28.0-1 git-man=1:2.28.0-1 grep=3.4-1 groff-base=1.22.4-5 gzip=1.10-2 hostname=3.23 init-system-helpers=1.58 intltool-debian=0.35.0+20060710.5 libacl1=2.2.53-8 libarchive-zip-perl=1.68-1 libasan6=10.2.0-15 libatomic1=10.2.0-15 libattr1=1:2.4.48-5 libaudit-common=1:2.8.5-3.1 libaudit1=1:2.8.5-3.1 libbinutils=2.35.1-2 libblkid1=2.36-3+b1 libbrotli1=1.0.9-2+b1 libbz2-1.0=1.0.8-4 libc-bin=2.31-4 libc-dev-bin=2.31-4 libc6=2.31-4 libc6-dev=2.31-4 libcap-ng0=0.7.9-2.2 libcc1-0=10.2.0-15 libcom-err2=1.45.6-1 libcroco3=0.6.13-1 libcrypt-dev=1:4.4.17-1 libcrypt1=1:4.4.17-1 libctf-nobfd0=2.35.1-2 libctf0=2.35.1-2 libcurl3-gnutls=7.72.0-1 libdb5.3=5.3.28+dfsg1-0.6 libdebconfclient0=0.254 libdebhelper-perl=13.2.1 libdpkg-perl=1.20.5 libelf1=0.181-1 liberror-perl=0.17029-1 libexpat1=2.2.10-1 libffi7=3.3-4 libfile-stripnondeterminism-perl=1.9.0-1 libgcc-10-dev=10.2.0-15 libgcc-s1=10.2.0-15 libgcrypt20=1.8.6-2 libgdbm-compat4=1.18.1-5.1 libgdbm6=1.18.1-5.1 libglib2.0-0=2.66.1-2 libgmp10=2:6.2.0+dfsg-6 libgnutls30=3.6.15-4 libgomp1=10.2.0-15 libgpg-error0=1.38-2 libgssapi-krb5-2=1.17-10 libhogweed6=3.6-2 libicu67=67.1-4 libidn2-0=2.3.0-1 libisl22=0.22.1-1 libitm1=10.2.0-15 libjs-jquery=3.5.1+dfsg-4 libjs-sphinxdoc=3.2.1-2 libjs-underscore=1.9.1~dfsg-1 libk5crypto3=1.17-10 libkeyutils1=1.6.1-2 libkrb5-3=1.17-10 libkrb5support0=1.17-10 libldap-2.4-2=2.4.54+dfsg-1 liblsan0=10.2.0-15 liblz4-1=1.9.2-2 liblzma5=5.2.4-1+b1 libmagic-mgc=1:5.38-5 libmagic1=1:5.38-5 libmount1=2.36-3+b1 libmpc3=1.2.0-1 libmpfr6=4.1.0-3 libncursesw6=6.2+20200918-1 libnettle8=3.6-2 libnghttp2-14=1.41.0-3 libnsl-dev=1.3.0-2 libnsl2=1.3.0-2 libnss-nis=3.1-4 libnss-nisplus=1.3-4 libp11-kit0=0.23.21-2 libpam-modules=1.3.1-5 libpam-modules-bin=1.3.1-5 libpam-runtime=1.3.1-5 libpam0g=1.3.1-5 libpcre2-8-0=10.34-7 libpcre3=2:8.39-13 libperl5.30=5.30.3-4 libpipeline1=1.5.3-1 libpsl5=0.21.0-1.1 libpython3-stdlib=3.8.6-1 libpython3.8-minimal=3.8.6-1 libpython3.8-stdlib=3.8.6-1 libquadmath0=10.2.0-15 libreadline8=8.0-4 librtmp1=2.4+20151223.gitfa8646d.1-2+b2 libsasl2-2=2.1.27+dfsg-2 libsasl2-modules-db=2.1.27+dfsg-2 libseccomp2=2.4.4-1+b1 libselinux1=3.1-2+b1 libsigsegv2=2.12-2 libsmartcols1=2.36-3+b1 libsqlite3-0=3.33.0-1 libssh2-1=1.8.0-2.1 libssl1.1=1.1.1h-1 libstdc++-10-dev=10.2.0-15 libstdc++6=10.2.0-15 libsub-override-perl=0.09-2 libsystemd0=246.6-2 libtasn1-6=4.16.0-2 libtinfo6=6.2+20200918-1 libtirpc-common=1.2.6-3 libtirpc-dev=1.2.6-3 libtirpc3=1.2.6-3 libtool=2.4.6-14 libtsan0=10.2.0-15 libubsan1=10.2.0-15 libuchardet0=0.0.7-1 libudev1=246.6-2 libunistring2=0.9.10-4 libuuid1=2.36-3+b1 libxml2=2.9.10+dfsg-6.1 libzstd1=1.4.5+dfsg-4 linux-libc-dev=5.9.1-1 login=1:4.8.1-1 lsb-base=11.1.0 m4=1.4.18-4 make=4.3-4 man-db=2.9.3-2 mawk=1.3.4.20200120-2 mime-support=3.64 ncurses-base=6.2+20200918-1 ncurses-bin=6.2+20200918-1 node-jquery=3.5.1+dfsg-4 openssl=1.1.1h-1 patch=2.7.6-6 perl=5.30.3-4 perl-base=5.30.3-4 perl-modules-5.30=5.30.3-4 pkg-config=0.29.2-1 po-debconf=1.0.21 python-pip-whl=20.1.1-2 python3=3.8.6-1 python3-appdirs=1.4.4-1 python3-distlib=0.3.1-1 python3-distutils=3.8.6-1 python3-filelock=3.0.12-2 python3-importlib-metadata=1.6.0-2 python3-lib2to3=3.8.6-1 python3-minimal=3.8.6-1 python3-more-itertools=4.2.0-3 python3-packaging=20.4-1 python3-pip=20.1.1-2 python3-pkg-resources=50.3.0-1 python3-pluggy=0.13.0-5 python3-py=1.9.0-1 python3-pyparsing=2.4.7-1 python3-setuptools=50.3.0-1 python3-six=1.15.0-1 python3-toml=0.10.1-1 python3-virtualenv=20.0.32+ds-1 python3-wheel=0.34.2-1 python3-zipp=1.0.0-3 python3.8=3.8.6-1 python3.8-minimal=3.8.6-1 readline-common=8.0-4 sed=4.7-1 sensible-utils=0.0.12+nmu1 sysvinit-utils=2.96-5 tar=1.30+dfsg-7 tox=3.15.1-1 util-linux=2.36-3+b1 virtualenv=20.0.32+ds-1 xz-utils=5.2.4-1+b1 zlib1g=1:1.2.11.dfsg-2 --variant=apt --aptopt=Acquire::Check-Valid-Until "false" --aptopt=Acquire::http::Dl-Limit "1000"; --aptopt=Acquire::https::Dl-Limit "1000"; --aptopt=Acquire::Retries "5"; --aptopt=APT::Get::allow-downgrades "true"; --keyring=/usr/share/keyrings/ --essential-hook=chroot "$1" sh -c "apt-get --yes install fakeroot util-linux" --essential-hook=copy-in /usr/share/keyrings/debian-archive-bullseye-automatic.gpg /usr/share/keyrings/debian-archive-bullseye-security-automatic.gpg /usr/share/keyrings/debian-archive-bullseye-stable.gpg /usr/share/keyrings/debian-archive-buster-automatic.gpg /usr/share/keyrings/debian-archive-buster-security-automatic.gpg /usr/share/keyrings/debian-archive-buster-stable.gpg /usr/share/keyrings/debian-archive-keyring.gpg /usr/share/keyrings/debian-archive-removed-keys.gpg /usr/share/keyrings/debian-archive-stretch-automatic.gpg /usr/share/keyrings/debian-archive-stretch-security-automatic.gpg /usr/share/keyrings/debian-archive-stretch-stable.gpg /usr/share/keyrings/debian-ports-archive-keyring-removed.gpg /usr/share/keyrings/debian-ports-archive-keyring.gpg /usr/share/keyrings/debian-keyring.gpg /etc/apt/trusted.gpg.d/ --essential-hook=chroot "$1" sh -c "rm /etc/apt/sources.list && echo 'deb http://snapshot.notset.fr/archive/debian/20210814T212851Z/ bookworm main deb-src http://snapshot.notset.fr/archive/debian/20210814T212851Z/ bookworm main deb http://snapshot.notset.fr/archive/debian/20201027T025240Z/ unstable main' >> /etc/apt/sources.list && apt-get update" --customize-hook=chroot "$1" useradd --no-create-home -d /nonexistent -p "" builduser -s /bin/bash --customize-hook=chroot "$1" env sh -c "apt-get source --only-source -d git-imerge=1.2.0-3 && mkdir -p /build/git-imerge-SrL9ZB && dpkg-source --no-check -x /*.dsc /build/git-imerge-SrL9ZB/git-imerge-1.2.0 && chown -R builduser:builduser /build/git-imerge-SrL9ZB" --customize-hook=chroot "$1" env --unset=TMPDIR runuser builduser -c "cd /build/git-imerge-SrL9ZB/git-imerge-1.2.0 && env DEB_BUILD_OPTIONS="parallel=4" LC_ALL="C.UTF-8" SOURCE_DATE_EPOCH="1603669913" dpkg-buildpackage -uc -a amd64 --build=all" --customize-hook=sync-out /build/git-imerge-SrL9ZB /tmp/git-imerge-1.2.0-3y49ikl6r bullseye /dev/null deb http://snapshot.notset.fr/archive/debian/20201027T025240Z unstable main I: automatically chosen mode: root I: chroot architecture amd64 is equal to the host's architecture I: automatically chosen format: tar I: using /tmp/mmdebstrap.03LlytD2RZ as tempdir I: running apt-get update... I: downloading packages with apt... I: extracting archives... I: installing essential packages... I: running --essential-hook in shell: sh -c 'chroot "$1" sh -c "apt-get --yes install fakeroot util-linux"' exec /tmp/mmdebstrap.03LlytD2RZ Reading package lists... Building dependency tree... util-linux is already the newest version (2.36-3+b1). The following NEW packages will be installed: fakeroot libfakeroot 0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. Need to get 134 kB of archives. After this operation, 397 kB of additional disk space will be used. Get:1 http://snapshot.notset.fr/archive/debian/20201027T025240Z unstable/main amd64 libfakeroot amd64 1.25.3-1 [47.0 kB] Get:2 http://snapshot.notset.fr/archive/debian/20201027T025240Z unstable/main amd64 fakeroot amd64 1.25.3-1 [87.0 kB] debconf: delaying package configuration, since apt-utils is not installed Fetched 134 kB in 0s (860 kB/s) Selecting previously unselected package libfakeroot:amd64. (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 ... 4664 files and directories currently installed.) Preparing to unpack .../libfakeroot_1.25.3-1_amd64.deb ... Unpacking libfakeroot:amd64 (1.25.3-1) ... Selecting previously unselected package fakeroot. Preparing to unpack .../fakeroot_1.25.3-1_amd64.deb ... Unpacking fakeroot (1.25.3-1) ... Setting up libfakeroot:amd64 (1.25.3-1) ... Setting up fakeroot (1.25.3-1) ... update-alternatives: using /usr/bin/fakeroot-sysv to provide /usr/bin/fakeroot (fakeroot) in auto mode Processing triggers for libc-bin (2.31-4) ... I: running special hook: copy-in /usr/share/keyrings/debian-archive-bullseye-automatic.gpg /usr/share/keyrings/debian-archive-bullseye-security-automatic.gpg /usr/share/keyrings/debian-archive-bullseye-stable.gpg /usr/share/keyrings/debian-archive-buster-automatic.gpg /usr/share/keyrings/debian-archive-buster-security-automatic.gpg /usr/share/keyrings/debian-archive-buster-stable.gpg /usr/share/keyrings/debian-archive-keyring.gpg /usr/share/keyrings/debian-archive-removed-keys.gpg /usr/share/keyrings/debian-archive-stretch-automatic.gpg /usr/share/keyrings/debian-archive-stretch-security-automatic.gpg /usr/share/keyrings/debian-archive-stretch-stable.gpg /usr/share/keyrings/debian-ports-archive-keyring-removed.gpg /usr/share/keyrings/debian-ports-archive-keyring.gpg /usr/share/keyrings/debian-keyring.gpg /etc/apt/trusted.gpg.d/ I: running --essential-hook in shell: sh -c 'chroot "$1" sh -c "rm /etc/apt/sources.list && echo 'deb http://snapshot.notset.fr/archive/debian/20210814T212851Z/ bookworm main deb-src http://snapshot.notset.fr/archive/debian/20210814T212851Z/ bookworm main deb http://snapshot.notset.fr/archive/debian/20201027T025240Z/ unstable main' >> /etc/apt/sources.list && apt-get update"' exec /tmp/mmdebstrap.03LlytD2RZ Get:1 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm InRelease [81.6 kB] Hit:2 http://snapshot.notset.fr/archive/debian/20201027T025240Z unstable InRelease Ign:3 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm/main Sources Ign:4 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm/main amd64 Packages Ign:3 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm/main Sources Ign:4 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm/main amd64 Packages Ign:3 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm/main Sources Ign:4 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm/main amd64 Packages Get:3 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm/main Sources [11.4 MB] Get:4 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm/main amd64 Packages [11.1 MB] Fetched 22.6 MB in 19s (1166 kB/s) Reading package lists... I: installing remaining packages inside the chroot... I: running --customize-hook in shell: sh -c 'chroot "$1" useradd --no-create-home -d /nonexistent -p "" builduser -s /bin/bash' exec /tmp/mmdebstrap.03LlytD2RZ I: running --customize-hook in shell: sh -c 'chroot "$1" env sh -c "apt-get source --only-source -d git-imerge=1.2.0-3 && mkdir -p /build/git-imerge-SrL9ZB && dpkg-source --no-check -x /*.dsc /build/git-imerge-SrL9ZB/git-imerge-1.2.0 && chown -R builduser:builduser /build/git-imerge-SrL9ZB"' exec /tmp/mmdebstrap.03LlytD2RZ Reading package lists... Need to get 68.9 kB of source archives. Get:1 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm/main git-imerge 1.2.0-3 (dsc) [1848 B] Get:2 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm/main git-imerge 1.2.0-3 (tar) [64.4 kB] Get:3 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm/main git-imerge 1.2.0-3 (diff) [2640 B] Fetched 68.9 kB in 0s (1044 kB/s) Download complete and in download only mode W: Download is performed unsandboxed as root as file 'git-imerge_1.2.0-3.dsc' couldn't be accessed by user '_apt'. - pkgAcquire::Run (13: Permission denied) dpkg-source: info: extracting git-imerge in /build/git-imerge-SrL9ZB/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-3.debian.tar.xz I: running --customize-hook in shell: sh -c 'chroot "$1" env --unset=TMPDIR runuser builduser -c "cd /build/git-imerge-SrL9ZB/git-imerge-1.2.0 && env DEB_BUILD_OPTIONS="parallel=4" LC_ALL="C.UTF-8" SOURCE_DATE_EPOCH="1603669913" dpkg-buildpackage -uc -a amd64 --build=all"' exec /tmp/mmdebstrap.03LlytD2RZ dpkg-buildpackage: info: source package git-imerge dpkg-buildpackage: info: source version 1.2.0-3 dpkg-buildpackage: info: source distribution unstable dpkg-buildpackage: info: source changed by Paul Wise dpkg-source --before-build . debian/rules clean dh clean --with python3 --buildsystem=pybuild dh_auto_clean -O--buildsystem=pybuild I: pybuild base:217: python3.8 setup.py clean running clean removing '/build/git-imerge-SrL9ZB/git-imerge-1.2.0/.pybuild/cpython3_3.8/build' (and everything under it) 'build/bdist.linux-x86_64' does not exist -- can't clean it 'build/scripts-3.8' does not exist -- can't clean it dh_autoreconf_clean -O--buildsystem=pybuild dh_clean -O--buildsystem=pybuild debian/rules binary-indep dh binary-indep --with python3 --buildsystem=pybuild dh_update_autotools_config -i -O--buildsystem=pybuild dh_autoreconf -i -O--buildsystem=pybuild dh_auto_configure -i -O--buildsystem=pybuild I: pybuild base:217: python3.8 setup.py config running config dh_auto_build -i -O--buildsystem=pybuild I: pybuild base:217: /usr/bin/python3 setup.py build running build running build_py copying gitimerge.py -> /build/git-imerge-SrL9ZB/git-imerge-1.2.0/.pybuild/cpython3_3.8/build dh_auto_test -i -O--buildsystem=pybuild I: pybuild base:217: cd /build/git-imerge-SrL9ZB/git-imerge-1.2.0/.pybuild/cpython3_3.8/build; tox -c /build/git-imerge-SrL9ZB/git-imerge-1.2.0/tox.ini -e py38 GLOB sdist-make: /build/git-imerge-SrL9ZB/git-imerge-1.2.0/setup.py py38 create: /build/git-imerge-SrL9ZB/git-imerge-1.2.0/.tox/py38 py38 inst: /build/git-imerge-SrL9ZB/git-imerge-1.2.0/.tox/.tmp/package/1/git-imerge-1.2.0.zip WARNING: Discarding $PYTHONPATH from environment, to override specify PYTHONPATH in 'passenv' in your configuration. py38 installed: git-imerge @ file:///build/git-imerge-SrL9ZB/git-imerge-1.2.0/.tox/.tmp/package/1/git-imerge-1.2.0.zip py38 run-test-pre: PYTHONHASHSEED='3882911699' py38 run-test: commands[0] | /bin/sh t/test-unconflicted + dirname t/test-unconflicted + cd t + pwd + dirname /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t + BASE=/build/git-imerge-SrL9ZB/git-imerge-1.2.0 + . /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/test-lib.sh + GIT_IMERGE=git-imerge + TMP=/build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/unconflicted + DESCRIPTION=git-imerge test repository without conflicts + init_test_repo /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/unconflicted git-imerge test repository without conflicts + local path=/build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/unconflicted + local description=git-imerge test repository without conflicts + delete_test_repo /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/unconflicted git-imerge test repository without conflicts + local path=/build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/unconflicted + local description=git-imerge test repository without conflicts + test -d /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/unconflicted + mkdir -p /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/unconflicted + git init /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/unconflicted Initialized empty Git repository in /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/unconflicted/.git/ + echo git-imerge test repository without conflicts + printf %s\n /*.out /*.css /*.html + git --git-dir=/build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/unconflicted/.git config user.name Loú User + git --git-dir=/build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/unconflicted/.git config user.email luser@example.com + TIME=1112911993 + ln -s /build/git-imerge-SrL9ZB/git-imerge-1.2.0/imerge.css /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/unconflicted + cd /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/unconflicted + modify a.txt 0 + filename=a.txt + text=0 + echo 0 + git add a.txt + modify b.txt 0 + filename=b.txt + text=0 + echo 0 + git add b.txt + commit -m m⇒0 + TIME=1112911994 + GIT_AUTHOR_DATE=@1112911994 +0000 GIT_COMMITTER_DATE=@1112911994 +0000 git commit -m m⇒0 [master (root-commit) 780ddf5] m⇒0 2 files changed, 2 insertions(+) create mode 100644 a.txt create mode 100644 b.txt + git checkout -b a -- Switched to a new branch 'a' + seq 8 + modify a.txt 1 + filename=a.txt + text=1 + echo 1 + git add a.txt + commit -m a⇒1 + TIME=1112911995 + GIT_AUTHOR_DATE=@1112911995 +0000 GIT_COMMITTER_DATE=@1112911995 +0000 git commit -m a⇒1 [a b862e30] a⇒1 1 file changed, 1 insertion(+), 1 deletion(-) + modify a.txt 2 + filename=a.txt + text=2 + echo 2 + git add a.txt + commit -m a⇒2 + TIME=1112911996 + GIT_AUTHOR_DATE=@1112911996 +0000 GIT_COMMITTER_DATE=@1112911996 +0000 git commit -m a⇒2 [a dcbe282] a⇒2 1 file changed, 1 insertion(+), 1 deletion(-) + modify a.txt 3 + filename=a.txt + text=3 + echo 3 + git add a.txt + commit -m a⇒3 + TIME=1112911997 + GIT_AUTHOR_DATE=@1112911997 +0000 GIT_COMMITTER_DATE=@1112911997 +0000 git commit -m a⇒3 [a ecd8647] a⇒3 1 file changed, 1 insertion(+), 1 deletion(-) + modify a.txt 4 + filename=a.txt + text=4 + echo 4 + git add a.txt + commit -m a⇒4 + TIME=1112911998 + GIT_AUTHOR_DATE=@1112911998 +0000 GIT_COMMITTER_DATE=@1112911998 +0000 git commit -m a⇒4 [a 1634bab] a⇒4 1 file changed, 1 insertion(+), 1 deletion(-) + modify a.txt 5 + filename=a.txt + text=5 + echo 5 + git add a.txt + commit -m a⇒5 + TIME=1112911999 + GIT_AUTHOR_DATE=@1112911999 +0000 GIT_COMMITTER_DATE=@1112911999 +0000 git commit -m a⇒5 [a 909ce12] a⇒5 1 file changed, 1 insertion(+), 1 deletion(-) + modify a.txt 6 + filename=a.txt + text=6 + echo 6 + git add a.txt + commit -m a⇒6 + TIME=1112912000 + GIT_AUTHOR_DATE=@1112912000 +0000 GIT_COMMITTER_DATE=@1112912000 +0000 git commit -m a⇒6 [a f6520bf] a⇒6 1 file changed, 1 insertion(+), 1 deletion(-) + modify a.txt 7 + filename=a.txt + text=7 + echo 7 + git add a.txt + commit -m a⇒7 + TIME=1112912001 + GIT_AUTHOR_DATE=@1112912001 +0000 GIT_COMMITTER_DATE=@1112912001 +0000 git commit -m a⇒7 [a 6797186] a⇒7 1 file changed, 1 insertion(+), 1 deletion(-) + modify a.txt 8 + filename=a.txt + text=8 + echo 8 + git add a.txt + commit -m a⇒8 + TIME=1112912002 + GIT_AUTHOR_DATE=@1112912002 +0000 GIT_COMMITTER_DATE=@1112912002 +0000 git commit -m a⇒8 [a 49643dd] a⇒8 1 file changed, 1 insertion(+), 1 deletion(-) + git checkout -b b master -- Switched to a new branch 'b' + seq 5 + modify b.txt 1 + filename=b.txt + text=1 + echo 1 + git add b.txt + commit -m b⇒1 + TIME=1112912003 + GIT_AUTHOR_DATE=@1112912003 +0000 GIT_COMMITTER_DATE=@1112912003 +0000 git commit -m b⇒1 [b d43305b] b⇒1 1 file changed, 1 insertion(+), 1 deletion(-) + modify b.txt 2 + filename=b.txt + text=2 + echo 2 + git add b.txt + commit -m b⇒2 + TIME=1112912004 + GIT_AUTHOR_DATE=@1112912004 +0000 GIT_COMMITTER_DATE=@1112912004 +0000 git commit -m b⇒2 [b 853ee68] b⇒2 1 file changed, 1 insertion(+), 1 deletion(-) + modify b.txt 3 + filename=b.txt + text=3 + echo 3 + git add b.txt + commit -m b⇒3 + TIME=1112912005 + GIT_AUTHOR_DATE=@1112912005 +0000 GIT_COMMITTER_DATE=@1112912005 +0000 git commit -m b⇒3 [b 03a2455] b⇒3 1 file changed, 1 insertion(+), 1 deletion(-) + modify b.txt 4 + filename=b.txt + text=4 + echo 4 + git add b.txt + commit -m b⇒4 + TIME=1112912006 + GIT_AUTHOR_DATE=@1112912006 +0000 GIT_COMMITTER_DATE=@1112912006 +0000 git commit -m b⇒4 [b 484ea85] b⇒4 1 file changed, 1 insertion(+), 1 deletion(-) + modify b.txt 5 + filename=b.txt + text=5 + echo 5 + git add b.txt + commit -m b⇒5 + TIME=1112912007 + GIT_AUTHOR_DATE=@1112912007 +0000 GIT_COMMITTER_DATE=@1112912007 +0000 git commit -m b⇒5 [b e22cd97] b⇒5 1 file changed, 1 insertion(+), 1 deletion(-) + EXPECTED_TREE=e4a7b27799be355bbcbf8bfe9c29d74190082c42 + git checkout a Switched to branch 'a' + git-imerge start --first-parent --name=a-b --branch=a-b-merge b Attempting automerge of 8-5...success. Autofilling 1-5...success. Autofilling 2-5...success. Autofilling 3-5...success. Autofilling 4-5...success. Autofilling 5-5...success. Autofilling 6-5...success. Autofilling 7-5...success. Autofilling 8-1...success. Autofilling 8-2...success. Autofilling 8-3...success. Autofilling 8-4...success. Autofilling 8-5 (first way)...success. Autofilling 8-5 (second way)...success. The two ways of autofilling 8-5 agree. Recording autofilled block MergeState('a-b', tip1='a', tip2='b', goal='merge')[0:9,0:6]. Merge is complete! + git-imerge list * a-b + git-imerge diagram --commits --frontier --html=imerge3.html 0 5 8 | | | 0 - ********* - a *???????. *???????. *???????. *???????. 5 - *........ | b 0 5 8 | | | 0 - ********* - a *???????| *???????| *???????| *???????| 5 - *-------+ | b Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + GIT_EDITOR=cat git-imerge simplify --goal=merge --branch=a-b-merge Merge b into a (using imerge) # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # Date: Fri Oct 8 06:38:34 2021 +0000 # # On branch a-b-merge # Changes to be committed: # modified: b.txt # [a-b-merge ec8331d] Merge b into a (using imerge) Date: Fri Oct 8 06:38:34 2021 +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 py38 run-test: commands[1] | /bin/sh t/test-conflicted + dirname t/test-conflicted + cd t + pwd + dirname /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t + BASE=/build/git-imerge-SrL9ZB/git-imerge-1.2.0 + . /build/git-imerge-SrL9ZB/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/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/conflicted-4-3 + DESCRIPTION=git-imerge test repository with conflict at 4-3 + init_test_repo /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/conflicted-4-3 git-imerge test repository with conflict at 4-3 + local path=/build/git-imerge-SrL9ZB/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/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/conflicted-4-3 git-imerge test repository with conflict at 4-3 + local path=/build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/conflicted-4-3 + local description=git-imerge test repository with conflict at 4-3 + test -d /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/conflicted-4-3 + mkdir -p /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/conflicted-4-3 + git init /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/conflicted-4-3 Initialized empty Git repository in /build/git-imerge-SrL9ZB/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/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/conflicted-4-3/.git config user.name Loú User + git --git-dir=/build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/conflicted-4-3/.git config user.email luser@example.com + TIME=1112911993 + ln -s /build/git-imerge-SrL9ZB/git-imerge-1.2.0/imerge.css /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/conflicted-4-3 + cd /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/conflicted-4-3 + modify c.txt 0 + filename=c.txt + text=0 + echo 0 + git add c.txt + modify d.txt 0 + filename=d.txt + text=0 + echo 0 + git add d.txt + modify conflict.txt original version + filename=conflict.txt + text=original version + echo original version + git add conflict.txt + commit -m m⇒0 + TIME=1112911994 + GIT_AUTHOR_DATE=@1112911994 +0000 GIT_COMMITTER_DATE=@1112911994 +0000 git commit -m m⇒0 [master (root-commit) d70e04b] m⇒0 3 files changed, 3 insertions(+) create mode 100644 c.txt create mode 100644 conflict.txt create mode 100644 d.txt + git checkout -b c master -- Switched to a new branch 'c' + seq 9 + modify c.txt 1 + filename=c.txt + text=1 + echo 1 + git add c.txt + commit -m c⇒1 + TIME=1112911995 + GIT_AUTHOR_DATE=@1112911995 +0000 GIT_COMMITTER_DATE=@1112911995 +0000 git commit -m c⇒1 [c 89e2141] c⇒1 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 2 + filename=c.txt + text=2 + echo 2 + git add c.txt + commit -m c⇒2 + TIME=1112911996 + GIT_AUTHOR_DATE=@1112911996 +0000 GIT_COMMITTER_DATE=@1112911996 +0000 git commit -m c⇒2 [c 7c431f2] c⇒2 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 3 + filename=c.txt + text=3 + echo 3 + git add c.txt + commit -m c⇒3 + TIME=1112911997 + GIT_AUTHOR_DATE=@1112911997 +0000 GIT_COMMITTER_DATE=@1112911997 +0000 git commit -m c⇒3 [c f02ab24] c⇒3 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 4 + filename=c.txt + text=4 + echo 4 + git add c.txt + modify conflict.txt c version + filename=conflict.txt + text=c version + echo c version + git add conflict.txt + commit -m c⇒4 + TIME=1112911998 + GIT_AUTHOR_DATE=@1112911998 +0000 GIT_COMMITTER_DATE=@1112911998 +0000 git commit -m c⇒4 [c 3c091de] c⇒4 2 files changed, 2 insertions(+), 2 deletions(-) + modify c.txt 5 + filename=c.txt + text=5 + echo 5 + git add c.txt + commit -m c⇒5 + TIME=1112911999 + GIT_AUTHOR_DATE=@1112911999 +0000 GIT_COMMITTER_DATE=@1112911999 +0000 git commit -m c⇒5 [c a0ac37a] c⇒5 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 6 + filename=c.txt + text=6 + echo 6 + git add c.txt + commit -m c⇒6 + TIME=1112912000 + GIT_AUTHOR_DATE=@1112912000 +0000 GIT_COMMITTER_DATE=@1112912000 +0000 git commit -m c⇒6 [c ed9fdfa] c⇒6 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 7 + filename=c.txt + text=7 + echo 7 + git add c.txt + commit -m c⇒7 + TIME=1112912001 + GIT_AUTHOR_DATE=@1112912001 +0000 GIT_COMMITTER_DATE=@1112912001 +0000 git commit -m c⇒7 [c 1da7bf5] c⇒7 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 8 + filename=c.txt + text=8 + echo 8 + git add c.txt + commit -m c⇒8 + TIME=1112912002 + GIT_AUTHOR_DATE=@1112912002 +0000 GIT_COMMITTER_DATE=@1112912002 +0000 git commit -m c⇒8 [c d8de99f] c⇒8 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 9 + filename=c.txt + text=9 + echo 9 + git add c.txt + commit -m c⇒9 + TIME=1112912003 + GIT_AUTHOR_DATE=@1112912003 +0000 GIT_COMMITTER_DATE=@1112912003 +0000 git commit -m c⇒9 [c 9cde605] c⇒9 1 file changed, 1 insertion(+), 1 deletion(-) + git checkout -b d master -- Switched to a new branch 'd' + seq 6 + modify d.txt 1 + filename=d.txt + text=1 + echo 1 + git add d.txt + commit -m d⇒1 + TIME=1112912004 + GIT_AUTHOR_DATE=@1112912004 +0000 GIT_COMMITTER_DATE=@1112912004 +0000 git commit -m d⇒1 [d bd5368a] d⇒1 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 2 + filename=d.txt + text=2 + echo 2 + git add d.txt + commit -m d⇒2 + TIME=1112912005 + GIT_AUTHOR_DATE=@1112912005 +0000 GIT_COMMITTER_DATE=@1112912005 +0000 git commit -m d⇒2 [d 93e27e6] d⇒2 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 3 + filename=d.txt + text=3 + echo 3 + git add d.txt + modify conflict.txt d version + filename=conflict.txt + text=d version + echo d version + git add conflict.txt + commit -m d⇒3 + TIME=1112912006 + GIT_AUTHOR_DATE=@1112912006 +0000 GIT_COMMITTER_DATE=@1112912006 +0000 git commit -m d⇒3 [d 2bb1a7e] d⇒3 2 files changed, 2 insertions(+), 2 deletions(-) + modify d.txt 4 + filename=d.txt + text=4 + echo 4 + git add d.txt + commit -m d⇒4 + TIME=1112912007 + GIT_AUTHOR_DATE=@1112912007 +0000 GIT_COMMITTER_DATE=@1112912007 +0000 git commit -m d⇒4 [d 81f9c80] d⇒4 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 5 + filename=d.txt + text=5 + echo 5 + git add d.txt + commit -m d⇒5 + TIME=1112912008 + GIT_AUTHOR_DATE=@1112912008 +0000 GIT_COMMITTER_DATE=@1112912008 +0000 git commit -m d⇒5 [d 3690dde] d⇒5 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 6 + filename=d.txt + text=6 + echo 6 + git add d.txt + commit -m d⇒6 + TIME=1112912009 + GIT_AUTHOR_DATE=@1112912009 +0000 GIT_COMMITTER_DATE=@1112912009 +0000 git commit -m d⇒6 [d 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 HEAD is now at 9cde605 c⇒9 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. 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. commit 3c091ded129a5edf9061360bab867edade996c93 Author: Loú User Date: Thu Apr 7 22:13:18 2005 +0000 c⇒4 commit 2bb1a7e7c5451146af7dc59b69b8289c76a3ee7b Author: Loú User Date: Thu Apr 7 22:13:26 2005 +0000 d⇒3 Original first commit: Original second commit: 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 6c3b390] imerge 'c-d': manual merge 4-3 Merge has been recorded for merge 4-3. Attempting automerge of 4-6...success. Autofilling 4-4...success. Autofilling 4-5...success. Autofilling 4-6...success. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[3:5,3:7]. Attempting automerge of 9-6...success. Autofilling 5-6...success. Autofilling 6-6...success. Autofilling 7-6...success. Autofilling 8-6...success. Autofilling 9-3...success. Autofilling 9-4...success. Autofilling 9-5...success. Autofilling 9-6 (first way)...success. Autofilling 9-6 (second way)...success. The two ways of autofilling 9-6 agree. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[4:10,2:7]. Merge is complete! + git-imerge diagram --commits --frontier --html=imerge2.html 0 5 9 | | | 0 - ********** - c *??.?????. *??....... *??.*????. *??..????. 5 - *??..????. 6 - *......... | d 0 5 9 | | | 0 - ********** - c *??.?????| *??......| *??.*????| *??..????| 5 - *??..????| 6 - *--------+ | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + GIT_EDITOR=cat git-imerge simplify --goal=merge --branch=c-d-merge Merge d into c (using imerge) # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # Date: Fri Oct 8 06:38:42 2021 +0000 # # On branch c-d-merge # Changes to be committed: # modified: conflict.txt # modified: d.txt # [c-d-merge ab7993c] Merge d into c (using imerge) Date: Fri Oct 8 06:38:42 2021 +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 Previous HEAD position was 46d19da 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. commit 3c091ded129a5edf9061360bab867edade996c93 Author: Loú User Date: Thu Apr 7 22:13:18 2005 +0000 c⇒4 commit 2bb1a7e7c5451146af7dc59b69b8289c76a3ee7b Author: Loú User Date: Thu Apr 7 22:13:26 2005 +0000 d⇒3 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. Original first commit: Original second commit: 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 remove the file # .git/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 06af7d2] 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/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/conflicted-1-1 + DESCRIPTION=git-imerge test repository with conflict at 1-1 + init_test_repo /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/conflicted-1-1 git-imerge test repository with conflict at 1-1 + local path=/build/git-imerge-SrL9ZB/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/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/conflicted-1-1 git-imerge test repository with conflict at 1-1 + local path=/build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/conflicted-1-1 + local description=git-imerge test repository with conflict at 1-1 + test -d /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/conflicted-1-1 + mkdir -p /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/conflicted-1-1 + git init /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/conflicted-1-1 Initialized empty Git repository in /build/git-imerge-SrL9ZB/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/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/conflicted-1-1/.git config user.name Loú User + git --git-dir=/build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/conflicted-1-1/.git config user.email luser@example.com + TIME=1112911993 + ln -s /build/git-imerge-SrL9ZB/git-imerge-1.2.0/imerge.css /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/conflicted-1-1 + cd /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/conflicted-1-1 + modify c.txt 0 + filename=c.txt + text=0 + echo 0 + git add c.txt + modify d.txt 0 + filename=d.txt + text=0 + echo 0 + git add d.txt + modify conflict.txt original version + filename=conflict.txt + text=original version + echo original version + git add conflict.txt + commit -m m⇒0 + TIME=1112911994 + GIT_AUTHOR_DATE=@1112911994 +0000 GIT_COMMITTER_DATE=@1112911994 +0000 git commit -m m⇒0 [master (root-commit) d70e04b] m⇒0 3 files changed, 3 insertions(+) create mode 100644 c.txt create mode 100644 conflict.txt create mode 100644 d.txt + git checkout -b c master -- Switched to a new branch 'c' + seq 9 + modify c.txt 1 + filename=c.txt + text=1 + echo 1 + git add c.txt + modify conflict.txt c version + filename=conflict.txt + text=c version + echo c version + git add conflict.txt + commit -m c⇒1 + TIME=1112911995 + GIT_AUTHOR_DATE=@1112911995 +0000 GIT_COMMITTER_DATE=@1112911995 +0000 git commit -m c⇒1 [c 2120f40] c⇒1 2 files changed, 2 insertions(+), 2 deletions(-) + modify c.txt 2 + filename=c.txt + text=2 + echo 2 + git add c.txt + commit -m c⇒2 + TIME=1112911996 + GIT_AUTHOR_DATE=@1112911996 +0000 GIT_COMMITTER_DATE=@1112911996 +0000 git commit -m c⇒2 [c 90cc7de] c⇒2 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 3 + filename=c.txt + text=3 + echo 3 + git add c.txt + commit -m c⇒3 + TIME=1112911997 + GIT_AUTHOR_DATE=@1112911997 +0000 GIT_COMMITTER_DATE=@1112911997 +0000 git commit -m c⇒3 [c 2046ed2] c⇒3 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 4 + filename=c.txt + text=4 + echo 4 + git add c.txt + commit -m c⇒4 + TIME=1112911998 + GIT_AUTHOR_DATE=@1112911998 +0000 GIT_COMMITTER_DATE=@1112911998 +0000 git commit -m c⇒4 [c 8a2cee9] c⇒4 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 5 + filename=c.txt + text=5 + echo 5 + git add c.txt + commit -m c⇒5 + TIME=1112911999 + GIT_AUTHOR_DATE=@1112911999 +0000 GIT_COMMITTER_DATE=@1112911999 +0000 git commit -m c⇒5 [c ac16a05] c⇒5 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 6 + filename=c.txt + text=6 + echo 6 + git add c.txt + commit -m c⇒6 + TIME=1112912000 + GIT_AUTHOR_DATE=@1112912000 +0000 GIT_COMMITTER_DATE=@1112912000 +0000 git commit -m c⇒6 [c 30dd2ae] c⇒6 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 7 + filename=c.txt + text=7 + echo 7 + git add c.txt + commit -m c⇒7 + TIME=1112912001 + GIT_AUTHOR_DATE=@1112912001 +0000 GIT_COMMITTER_DATE=@1112912001 +0000 git commit -m c⇒7 [c 0883eb9] c⇒7 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 8 + filename=c.txt + text=8 + echo 8 + git add c.txt + commit -m c⇒8 + TIME=1112912002 + GIT_AUTHOR_DATE=@1112912002 +0000 GIT_COMMITTER_DATE=@1112912002 +0000 git commit -m c⇒8 [c f661c06] c⇒8 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 9 + filename=c.txt + text=9 + echo 9 + git add c.txt + commit -m c⇒9 + TIME=1112912003 + GIT_AUTHOR_DATE=@1112912003 +0000 GIT_COMMITTER_DATE=@1112912003 +0000 git commit -m c⇒9 [c 243e8ed] c⇒9 1 file changed, 1 insertion(+), 1 deletion(-) + git checkout -b d master -- Switched to a new branch 'd' + seq 6 + modify d.txt 1 + filename=d.txt + text=1 + echo 1 + git add d.txt + modify conflict.txt d version + filename=conflict.txt + text=d version + echo d version + git add conflict.txt + commit -m d⇒1 + TIME=1112912004 + GIT_AUTHOR_DATE=@1112912004 +0000 GIT_COMMITTER_DATE=@1112912004 +0000 git commit -m d⇒1 [d ac0427a] d⇒1 2 files changed, 2 insertions(+), 2 deletions(-) + modify d.txt 2 + filename=d.txt + text=2 + echo 2 + git add d.txt + commit -m d⇒2 + TIME=1112912005 + GIT_AUTHOR_DATE=@1112912005 +0000 GIT_COMMITTER_DATE=@1112912005 +0000 git commit -m d⇒2 [d 43c38c0] d⇒2 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 3 + filename=d.txt + text=3 + echo 3 + git add d.txt + commit -m d⇒3 + TIME=1112912006 + GIT_AUTHOR_DATE=@1112912006 +0000 GIT_COMMITTER_DATE=@1112912006 +0000 git commit -m d⇒3 [d 0260058] d⇒3 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 4 + filename=d.txt + text=4 + echo 4 + git add d.txt + commit -m d⇒4 + TIME=1112912007 + GIT_AUTHOR_DATE=@1112912007 +0000 GIT_COMMITTER_DATE=@1112912007 +0000 git commit -m d⇒4 [d 40fef44] d⇒4 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 5 + filename=d.txt + text=5 + echo 5 + git add d.txt + commit -m d⇒5 + TIME=1112912008 + GIT_AUTHOR_DATE=@1112912008 +0000 GIT_COMMITTER_DATE=@1112912008 +0000 git commit -m d⇒5 [d b080a65] d⇒5 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 6 + filename=d.txt + text=6 + echo 6 + git add d.txt + commit -m d⇒6 + TIME=1112912009 + GIT_AUTHOR_DATE=@1112912009 +0000 GIT_COMMITTER_DATE=@1112912009 +0000 git commit -m d⇒6 [d 200ce5c] d⇒6 1 file changed, 1 insertion(+), 1 deletion(-) + git checkout c Switched to branch 'c' + git-imerge init --name=c-d d + git-imerge list * c-d + git-imerge diagram --commits --frontier --html=imerge0.html 0 5 9 | | | 0 - ********** - c *????????? *????????? *????????? *????????? 5 - *????????? 6 - *????????? | d 0 5 9 | | | 0 - ********** - c *????????? *????????? *????????? *????????? 5 - *????????? 6 - *????????? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + git-imerge autofill + tee autofill.out HEAD is now at 243e8ed c⇒9 Attempting automerge of 9-6...failure. Attempting automerge of 1-1...failure. 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. commit 2120f40dc39d28052a5279b645124e8ed7e5de73 Author: Loú User Date: Thu Apr 7 22:13:15 2005 +0000 c⇒1 commit ac0427a285b64f2815ebd6eb83880f309600d0c7 Author: Loú User Date: Thu Apr 7 22:13:24 2005 +0000 d⇒1 Original first commit: Original second commit: There was a conflict merging commit 1-1, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + echo merged version + git add conflict.txt + git-imerge continue --no-edit [imerge/c-d 88417a5] imerge 'c-d': manual merge 1-1 Merge has been recorded for merge 1-1. Attempting automerge of 1-6...success. Autofilling 1-2...success. Autofilling 1-3...success. Autofilling 1-4...success. Autofilling 1-5...success. Autofilling 1-6...success. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[0:2,1:7]. Attempting automerge of 9-6...success. Autofilling 2-6...success. Autofilling 3-6...success. Autofilling 4-6...success. Autofilling 5-6...success. Autofilling 6-6...success. Autofilling 7-6...success. Autofilling 8-6...success. Autofilling 9-1...success. Autofilling 9-2...success. Autofilling 9-3...success. Autofilling 9-4...success. Autofilling 9-5...success. Autofilling 9-6 (first way)...success. Autofilling 9-6 (second way)...success. The two ways of autofilling 9-6 agree. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[1:10,0:7]. Merge is complete! + git-imerge diagram --commits --frontier --html=imerge2.html 0 5 9 | | | 0 - ********** - c **???????. *.???????. *.???????. *.???????. 5 - *.???????. 6 - *......... | d 0 5 9 | | | 0 - ********** - c **???????| *.???????| *.???????| *.???????| 5 - *.???????| 6 - *--------+ | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + GIT_EDITOR=cat git-imerge simplify --goal=merge --branch=c-d-merge Merge d into c (using imerge) # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # Date: Fri Oct 8 06:38:49 2021 +0000 # # On branch c-d-merge # Changes to be committed: # modified: conflict.txt # modified: d.txt # [c-d-merge f63f2da] Merge d into c (using imerge) Date: Fri Oct 8 06:38:49 2021 +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 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. commit 2120f40dc39d28052a5279b645124e8ed7e5de73 Author: Loú User Date: Thu Apr 7 22:13:15 2005 +0000 c⇒1 commit ac0427a285b64f2815ebd6eb83880f309600d0c7 Author: Loú User Date: Thu Apr 7 22:13:24 2005 +0000 d⇒1 Attempting to merge 1-1...conflict. Original first commit: Original second commit: There was a conflict merging commit 1-1, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + 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 remove the file # .git/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 722beb1] 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/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/conflicted-9-1 + DESCRIPTION=git-imerge test repository with conflict at 9-1 + init_test_repo /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/conflicted-9-1 git-imerge test repository with conflict at 9-1 + local path=/build/git-imerge-SrL9ZB/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/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/conflicted-9-1 git-imerge test repository with conflict at 9-1 + local path=/build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/conflicted-9-1 + local description=git-imerge test repository with conflict at 9-1 + test -d /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/conflicted-9-1 + mkdir -p /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/conflicted-9-1 + git init /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/conflicted-9-1 Initialized empty Git repository in /build/git-imerge-SrL9ZB/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/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/conflicted-9-1/.git config user.name Loú User + git --git-dir=/build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/conflicted-9-1/.git config user.email luser@example.com + TIME=1112911993 + ln -s /build/git-imerge-SrL9ZB/git-imerge-1.2.0/imerge.css /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/conflicted-9-1 + cd /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/conflicted-9-1 + modify c.txt 0 + filename=c.txt + text=0 + echo 0 + git add c.txt + modify d.txt 0 + filename=d.txt + text=0 + echo 0 + git add d.txt + modify conflict.txt original version + filename=conflict.txt + text=original version + echo original version + git add conflict.txt + commit -m m⇒0 + TIME=1112911994 + GIT_AUTHOR_DATE=@1112911994 +0000 GIT_COMMITTER_DATE=@1112911994 +0000 git commit -m m⇒0 [master (root-commit) d70e04b] m⇒0 3 files changed, 3 insertions(+) create mode 100644 c.txt create mode 100644 conflict.txt create mode 100644 d.txt + git checkout -b c master -- Switched to a new branch 'c' + seq 9 + modify c.txt 1 + filename=c.txt + text=1 + echo 1 + git add c.txt + commit -m c⇒1 + TIME=1112911995 + GIT_AUTHOR_DATE=@1112911995 +0000 GIT_COMMITTER_DATE=@1112911995 +0000 git commit -m c⇒1 [c 89e2141] c⇒1 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 2 + filename=c.txt + text=2 + echo 2 + git add c.txt + commit -m c⇒2 + TIME=1112911996 + GIT_AUTHOR_DATE=@1112911996 +0000 GIT_COMMITTER_DATE=@1112911996 +0000 git commit -m c⇒2 [c 7c431f2] c⇒2 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 3 + filename=c.txt + text=3 + echo 3 + git add c.txt + commit -m c⇒3 + TIME=1112911997 + GIT_AUTHOR_DATE=@1112911997 +0000 GIT_COMMITTER_DATE=@1112911997 +0000 git commit -m c⇒3 [c f02ab24] c⇒3 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 4 + filename=c.txt + text=4 + echo 4 + git add c.txt + commit -m c⇒4 + TIME=1112911998 + GIT_AUTHOR_DATE=@1112911998 +0000 GIT_COMMITTER_DATE=@1112911998 +0000 git commit -m c⇒4 [c ed9122f] c⇒4 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 5 + filename=c.txt + text=5 + echo 5 + git add c.txt + commit -m c⇒5 + TIME=1112911999 + GIT_AUTHOR_DATE=@1112911999 +0000 GIT_COMMITTER_DATE=@1112911999 +0000 git commit -m c⇒5 [c 1d3bf09] c⇒5 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 6 + filename=c.txt + text=6 + echo 6 + git add c.txt + commit -m c⇒6 + TIME=1112912000 + GIT_AUTHOR_DATE=@1112912000 +0000 GIT_COMMITTER_DATE=@1112912000 +0000 git commit -m c⇒6 [c f999ecd] c⇒6 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 7 + filename=c.txt + text=7 + echo 7 + git add c.txt + commit -m c⇒7 + TIME=1112912001 + GIT_AUTHOR_DATE=@1112912001 +0000 GIT_COMMITTER_DATE=@1112912001 +0000 git commit -m c⇒7 [c 7050a8a] c⇒7 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 8 + filename=c.txt + text=8 + echo 8 + git add c.txt + commit -m c⇒8 + TIME=1112912002 + GIT_AUTHOR_DATE=@1112912002 +0000 GIT_COMMITTER_DATE=@1112912002 +0000 git commit -m c⇒8 [c 9732e77] c⇒8 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 9 + filename=c.txt + text=9 + echo 9 + git add c.txt + modify conflict.txt c version + filename=conflict.txt + text=c version + echo c version + git add conflict.txt + commit -m c⇒9 + TIME=1112912003 + GIT_AUTHOR_DATE=@1112912003 +0000 GIT_COMMITTER_DATE=@1112912003 +0000 git commit -m c⇒9 [c 73a5eed] c⇒9 2 files changed, 2 insertions(+), 2 deletions(-) + git checkout -b d master -- Switched to a new branch 'd' + seq 6 + modify d.txt 1 + filename=d.txt + text=1 + echo 1 + git add d.txt + modify conflict.txt d version + filename=conflict.txt + text=d version + echo d version + git add conflict.txt + commit -m d⇒1 + TIME=1112912004 + GIT_AUTHOR_DATE=@1112912004 +0000 GIT_COMMITTER_DATE=@1112912004 +0000 git commit -m d⇒1 [d ac0427a] d⇒1 2 files changed, 2 insertions(+), 2 deletions(-) + modify d.txt 2 + filename=d.txt + text=2 + echo 2 + git add d.txt + commit -m d⇒2 + TIME=1112912005 + GIT_AUTHOR_DATE=@1112912005 +0000 GIT_COMMITTER_DATE=@1112912005 +0000 git commit -m d⇒2 [d 43c38c0] d⇒2 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 3 + filename=d.txt + text=3 + echo 3 + git add d.txt + commit -m d⇒3 + TIME=1112912006 + GIT_AUTHOR_DATE=@1112912006 +0000 GIT_COMMITTER_DATE=@1112912006 +0000 git commit -m d⇒3 [d 0260058] d⇒3 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 4 + filename=d.txt + text=4 + echo 4 + git add d.txt + commit -m d⇒4 + TIME=1112912007 + GIT_AUTHOR_DATE=@1112912007 +0000 GIT_COMMITTER_DATE=@1112912007 +0000 git commit -m d⇒4 [d 40fef44] d⇒4 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 5 + filename=d.txt + text=5 + echo 5 + git add d.txt + commit -m d⇒5 + TIME=1112912008 + GIT_AUTHOR_DATE=@1112912008 +0000 GIT_COMMITTER_DATE=@1112912008 +0000 git commit -m d⇒5 [d b080a65] d⇒5 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 6 + filename=d.txt + text=6 + echo 6 + git add d.txt + commit -m d⇒6 + TIME=1112912009 + GIT_AUTHOR_DATE=@1112912009 +0000 GIT_COMMITTER_DATE=@1112912009 +0000 git commit -m d⇒6 [d 200ce5c] d⇒6 1 file changed, 1 insertion(+), 1 deletion(-) + git checkout c Switched to branch 'c' + git-imerge init --name=c-d d + git-imerge list * c-d + git-imerge diagram --commits --frontier --html=imerge0.html 0 5 9 | | | 0 - ********** - c *????????? *????????? *????????? *????????? 5 - *????????? 6 - *????????? | d 0 5 9 | | | 0 - ********** - c *????????? *????????? *????????? *????????? 5 - *????????? 6 - *????????? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + git-imerge autofill + tee autofill.out HEAD is now at 73a5eed c⇒9 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. 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. commit 73a5eedb087a0f656d730831b8def7943b40f3cf Author: Loú User Date: Thu Apr 7 22:13:23 2005 +0000 c⇒9 commit ac0427a285b64f2815ebd6eb83880f309600d0c7 Author: Loú User Date: Thu Apr 7 22:13:24 2005 +0000 d⇒1 Original first commit: Original second commit: There was a conflict merging commit 9-1, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + echo merged version + git add conflict.txt + git-imerge continue --no-edit [imerge/c-d 8f75478] imerge 'c-d': manual merge 9-1 Merge has been recorded for merge 9-1. Attempting automerge of 9-6...success. Autofilling 9-2...success. Autofilling 9-3...success. Autofilling 9-4...success. Autofilling 9-5...success. Autofilling 9-6...success. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[8:10,1:7]. Merge is complete! + git-imerge diagram --commits --frontier --html=imerge2.html 0 5 9 | | | 0 - ********** - c *???????.* *???????.. *???????.. *???????.. 5 - *???????.. 6 - *......... | d 0 5 9 | | | 0 - ********** - c *???????.* *???????.| *???????.| *???????.| 5 - *???????.| 6 - *--------+ | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + GIT_EDITOR=cat git-imerge simplify --goal=merge --branch=c-d-merge Merge d into c (using imerge) # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # Date: Fri Oct 8 06:38:56 2021 +0000 # # On branch c-d-merge # Changes to be committed: # modified: conflict.txt # modified: d.txt # [c-d-merge 322220b] Merge d into c (using imerge) Date: Fri Oct 8 06:38:56 2021 +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 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. commit 73a5eedb087a0f656d730831b8def7943b40f3cf Author: Loú User Date: Thu Apr 7 22:13:23 2005 +0000 c⇒9 commit ac0427a285b64f2815ebd6eb83880f309600d0c7 Author: Loú User Date: Thu Apr 7 22:13:24 2005 +0000 d⇒1 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. Original first commit: Original second commit: There was a conflict merging commit 9-1, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + 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 remove the file # .git/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 3f2d1dd] 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/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/conflicted-1-6 + DESCRIPTION=git-imerge test repository with conflict at 1-6 + init_test_repo /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/conflicted-1-6 git-imerge test repository with conflict at 1-6 + local path=/build/git-imerge-SrL9ZB/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/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/conflicted-1-6 git-imerge test repository with conflict at 1-6 + local path=/build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/conflicted-1-6 + local description=git-imerge test repository with conflict at 1-6 + test -d /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/conflicted-1-6 + mkdir -p /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/conflicted-1-6 + git init /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/conflicted-1-6 Initialized empty Git repository in /build/git-imerge-SrL9ZB/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/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/conflicted-1-6/.git config user.name Loú User + git --git-dir=/build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/conflicted-1-6/.git config user.email luser@example.com + TIME=1112911993 + ln -s /build/git-imerge-SrL9ZB/git-imerge-1.2.0/imerge.css /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/conflicted-1-6 + cd /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/conflicted-1-6 + modify c.txt 0 + filename=c.txt + text=0 + echo 0 + git add c.txt + modify d.txt 0 + filename=d.txt + text=0 + echo 0 + git add d.txt + modify conflict.txt original version + filename=conflict.txt + text=original version + echo original version + git add conflict.txt + commit -m m⇒0 + TIME=1112911994 + GIT_AUTHOR_DATE=@1112911994 +0000 GIT_COMMITTER_DATE=@1112911994 +0000 git commit -m m⇒0 [master (root-commit) d70e04b] m⇒0 3 files changed, 3 insertions(+) create mode 100644 c.txt create mode 100644 conflict.txt create mode 100644 d.txt + git checkout -b c master -- Switched to a new branch 'c' + seq 9 + modify c.txt 1 + filename=c.txt + text=1 + echo 1 + git add c.txt + modify conflict.txt c version + filename=conflict.txt + text=c version + echo c version + git add conflict.txt + commit -m c⇒1 + TIME=1112911995 + GIT_AUTHOR_DATE=@1112911995 +0000 GIT_COMMITTER_DATE=@1112911995 +0000 git commit -m c⇒1 [c 2120f40] c⇒1 2 files changed, 2 insertions(+), 2 deletions(-) + modify c.txt 2 + filename=c.txt + text=2 + echo 2 + git add c.txt + commit -m c⇒2 + TIME=1112911996 + GIT_AUTHOR_DATE=@1112911996 +0000 GIT_COMMITTER_DATE=@1112911996 +0000 git commit -m c⇒2 [c 90cc7de] c⇒2 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 3 + filename=c.txt + text=3 + echo 3 + git add c.txt + commit -m c⇒3 + TIME=1112911997 + GIT_AUTHOR_DATE=@1112911997 +0000 GIT_COMMITTER_DATE=@1112911997 +0000 git commit -m c⇒3 [c 2046ed2] c⇒3 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 4 + filename=c.txt + text=4 + echo 4 + git add c.txt + commit -m c⇒4 + TIME=1112911998 + GIT_AUTHOR_DATE=@1112911998 +0000 GIT_COMMITTER_DATE=@1112911998 +0000 git commit -m c⇒4 [c 8a2cee9] c⇒4 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 5 + filename=c.txt + text=5 + echo 5 + git add c.txt + commit -m c⇒5 + TIME=1112911999 + GIT_AUTHOR_DATE=@1112911999 +0000 GIT_COMMITTER_DATE=@1112911999 +0000 git commit -m c⇒5 [c ac16a05] c⇒5 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 6 + filename=c.txt + text=6 + echo 6 + git add c.txt + commit -m c⇒6 + TIME=1112912000 + GIT_AUTHOR_DATE=@1112912000 +0000 GIT_COMMITTER_DATE=@1112912000 +0000 git commit -m c⇒6 [c 30dd2ae] c⇒6 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 7 + filename=c.txt + text=7 + echo 7 + git add c.txt + commit -m c⇒7 + TIME=1112912001 + GIT_AUTHOR_DATE=@1112912001 +0000 GIT_COMMITTER_DATE=@1112912001 +0000 git commit -m c⇒7 [c 0883eb9] c⇒7 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 8 + filename=c.txt + text=8 + echo 8 + git add c.txt + commit -m c⇒8 + TIME=1112912002 + GIT_AUTHOR_DATE=@1112912002 +0000 GIT_COMMITTER_DATE=@1112912002 +0000 git commit -m c⇒8 [c f661c06] c⇒8 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 9 + filename=c.txt + text=9 + echo 9 + git add c.txt + commit -m c⇒9 + TIME=1112912003 + GIT_AUTHOR_DATE=@1112912003 +0000 GIT_COMMITTER_DATE=@1112912003 +0000 git commit -m c⇒9 [c 243e8ed] c⇒9 1 file changed, 1 insertion(+), 1 deletion(-) + git checkout -b d master -- Switched to a new branch 'd' + seq 6 + modify d.txt 1 + filename=d.txt + text=1 + echo 1 + git add d.txt + commit -m d⇒1 + TIME=1112912004 + GIT_AUTHOR_DATE=@1112912004 +0000 GIT_COMMITTER_DATE=@1112912004 +0000 git commit -m d⇒1 [d bd5368a] d⇒1 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 2 + filename=d.txt + text=2 + echo 2 + git add d.txt + commit -m d⇒2 + TIME=1112912005 + GIT_AUTHOR_DATE=@1112912005 +0000 GIT_COMMITTER_DATE=@1112912005 +0000 git commit -m d⇒2 [d 93e27e6] d⇒2 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 3 + filename=d.txt + text=3 + echo 3 + git add d.txt + commit -m d⇒3 + TIME=1112912006 + GIT_AUTHOR_DATE=@1112912006 +0000 GIT_COMMITTER_DATE=@1112912006 +0000 git commit -m d⇒3 [d 133f385] d⇒3 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 4 + filename=d.txt + text=4 + echo 4 + git add d.txt + commit -m d⇒4 + TIME=1112912007 + GIT_AUTHOR_DATE=@1112912007 +0000 GIT_COMMITTER_DATE=@1112912007 +0000 git commit -m d⇒4 [d 586472a] d⇒4 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 5 + filename=d.txt + text=5 + echo 5 + git add d.txt + commit -m d⇒5 + TIME=1112912008 + GIT_AUTHOR_DATE=@1112912008 +0000 GIT_COMMITTER_DATE=@1112912008 +0000 git commit -m d⇒5 [d 9522207] d⇒5 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 6 + filename=d.txt + text=6 + echo 6 + git add d.txt + modify conflict.txt d version + filename=conflict.txt + text=d version + echo d version + git add conflict.txt + commit -m d⇒6 + TIME=1112912009 + GIT_AUTHOR_DATE=@1112912009 +0000 GIT_COMMITTER_DATE=@1112912009 +0000 git commit -m d⇒6 [d f7e451a] d⇒6 2 files changed, 2 insertions(+), 2 deletions(-) + git checkout c Switched to branch 'c' + git-imerge init --name=c-d d + git-imerge list * c-d + git-imerge diagram --commits --frontier --html=imerge0.html 0 5 9 | | | 0 - ********** - c *????????? *????????? *????????? *????????? 5 - *????????? 6 - *????????? | d 0 5 9 | | | 0 - ********** - c *????????? *????????? *????????? *????????? 5 - *????????? 6 - *????????? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + git-imerge autofill + tee autofill.out HEAD is now at 243e8ed c⇒9 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. 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. commit 2120f40dc39d28052a5279b645124e8ed7e5de73 Author: Loú User Date: Thu Apr 7 22:13:15 2005 +0000 c⇒1 commit f7e451a6c9656dda15641a9fbc591a602f158692 Author: Loú User Date: Thu Apr 7 22:13:29 2005 +0000 d⇒6 Original first commit: Original second commit: There was a conflict merging commit 1-6, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + echo merged version + git add conflict.txt + git-imerge continue --no-edit [imerge/c-d 89a1673] imerge 'c-d': manual merge 1-6 Merge has been recorded for merge 1-6. Attempting automerge of 9-6...success. Autofilling 2-6...success. Autofilling 3-6...success. Autofilling 4-6...success. Autofilling 5-6...success. Autofilling 6-6...success. Autofilling 7-6...success. Autofilling 8-6...success. Autofilling 9-6...success. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[1:10,5:7]. Merge is complete! + git-imerge diagram --commits --frontier --html=imerge2.html 0 5 9 | | | 0 - ********** - c *????????. *????????. *????????. *????????. 5 - *......... 6 - **........ | d 0 5 9 | | | 0 - ********** - c *????????| *????????| *????????| *????????| 5 - *........| 6 - **-------+ | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + GIT_EDITOR=cat git-imerge simplify --goal=merge --branch=c-d-merge Merge d into c (using imerge) # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # Date: Fri Oct 8 06:39:03 2021 +0000 # # On branch c-d-merge # Changes to be committed: # modified: conflict.txt # modified: d.txt # [c-d-merge bd277eb] Merge d into c (using imerge) Date: Fri Oct 8 06:39:03 2021 +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 Previous HEAD position was 59d646d 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. commit 2120f40dc39d28052a5279b645124e8ed7e5de73 Author: Loú User Date: Thu Apr 7 22:13:15 2005 +0000 c⇒1 commit f7e451a6c9656dda15641a9fbc591a602f158692 Author: Loú User Date: Thu Apr 7 22:13:29 2005 +0000 d⇒6 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. Original first commit: Original second commit: There was a conflict merging commit 1-6, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + 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 remove the file # .git/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 4461969] 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/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/conflicted-9-6 + DESCRIPTION=git-imerge test repository with conflict at 9-6 + init_test_repo /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/conflicted-9-6 git-imerge test repository with conflict at 9-6 + local path=/build/git-imerge-SrL9ZB/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/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/conflicted-9-6 git-imerge test repository with conflict at 9-6 + local path=/build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/conflicted-9-6 + local description=git-imerge test repository with conflict at 9-6 + test -d /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/conflicted-9-6 + mkdir -p /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/conflicted-9-6 + git init /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/conflicted-9-6 Initialized empty Git repository in /build/git-imerge-SrL9ZB/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/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/conflicted-9-6/.git config user.name Loú User + git --git-dir=/build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/conflicted-9-6/.git config user.email luser@example.com + TIME=1112911993 + ln -s /build/git-imerge-SrL9ZB/git-imerge-1.2.0/imerge.css /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/conflicted-9-6 + cd /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/conflicted-9-6 + modify c.txt 0 + filename=c.txt + text=0 + echo 0 + git add c.txt + modify d.txt 0 + filename=d.txt + text=0 + echo 0 + git add d.txt + modify conflict.txt original version + filename=conflict.txt + text=original version + echo original version + git add conflict.txt + commit -m m⇒0 + TIME=1112911994 + GIT_AUTHOR_DATE=@1112911994 +0000 GIT_COMMITTER_DATE=@1112911994 +0000 git commit -m m⇒0 [master (root-commit) d70e04b] m⇒0 3 files changed, 3 insertions(+) create mode 100644 c.txt create mode 100644 conflict.txt create mode 100644 d.txt + git checkout -b c master -- Switched to a new branch 'c' + seq 9 + modify c.txt 1 + filename=c.txt + text=1 + echo 1 + git add c.txt + commit -m c⇒1 + TIME=1112911995 + GIT_AUTHOR_DATE=@1112911995 +0000 GIT_COMMITTER_DATE=@1112911995 +0000 git commit -m c⇒1 [c 89e2141] c⇒1 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 2 + filename=c.txt + text=2 + echo 2 + git add c.txt + commit -m c⇒2 + TIME=1112911996 + GIT_AUTHOR_DATE=@1112911996 +0000 GIT_COMMITTER_DATE=@1112911996 +0000 git commit -m c⇒2 [c 7c431f2] c⇒2 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 3 + filename=c.txt + text=3 + echo 3 + git add c.txt + commit -m c⇒3 + TIME=1112911997 + GIT_AUTHOR_DATE=@1112911997 +0000 GIT_COMMITTER_DATE=@1112911997 +0000 git commit -m c⇒3 [c f02ab24] c⇒3 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 4 + filename=c.txt + text=4 + echo 4 + git add c.txt + commit -m c⇒4 + TIME=1112911998 + GIT_AUTHOR_DATE=@1112911998 +0000 GIT_COMMITTER_DATE=@1112911998 +0000 git commit -m c⇒4 [c ed9122f] c⇒4 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 5 + filename=c.txt + text=5 + echo 5 + git add c.txt + commit -m c⇒5 + TIME=1112911999 + GIT_AUTHOR_DATE=@1112911999 +0000 GIT_COMMITTER_DATE=@1112911999 +0000 git commit -m c⇒5 [c 1d3bf09] c⇒5 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 6 + filename=c.txt + text=6 + echo 6 + git add c.txt + commit -m c⇒6 + TIME=1112912000 + GIT_AUTHOR_DATE=@1112912000 +0000 GIT_COMMITTER_DATE=@1112912000 +0000 git commit -m c⇒6 [c f999ecd] c⇒6 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 7 + filename=c.txt + text=7 + echo 7 + git add c.txt + commit -m c⇒7 + TIME=1112912001 + GIT_AUTHOR_DATE=@1112912001 +0000 GIT_COMMITTER_DATE=@1112912001 +0000 git commit -m c⇒7 [c 7050a8a] c⇒7 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 8 + filename=c.txt + text=8 + echo 8 + git add c.txt + commit -m c⇒8 + TIME=1112912002 + GIT_AUTHOR_DATE=@1112912002 +0000 GIT_COMMITTER_DATE=@1112912002 +0000 git commit -m c⇒8 [c 9732e77] c⇒8 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 9 + filename=c.txt + text=9 + echo 9 + git add c.txt + modify conflict.txt c version + filename=conflict.txt + text=c version + echo c version + git add conflict.txt + commit -m c⇒9 + TIME=1112912003 + GIT_AUTHOR_DATE=@1112912003 +0000 GIT_COMMITTER_DATE=@1112912003 +0000 git commit -m c⇒9 [c 73a5eed] c⇒9 2 files changed, 2 insertions(+), 2 deletions(-) + git checkout -b d master -- Switched to a new branch 'd' + seq 6 + modify d.txt 1 + filename=d.txt + text=1 + echo 1 + git add d.txt + commit -m d⇒1 + TIME=1112912004 + GIT_AUTHOR_DATE=@1112912004 +0000 GIT_COMMITTER_DATE=@1112912004 +0000 git commit -m d⇒1 [d bd5368a] d⇒1 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 2 + filename=d.txt + text=2 + echo 2 + git add d.txt + commit -m d⇒2 + TIME=1112912005 + GIT_AUTHOR_DATE=@1112912005 +0000 GIT_COMMITTER_DATE=@1112912005 +0000 git commit -m d⇒2 [d 93e27e6] d⇒2 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 3 + filename=d.txt + text=3 + echo 3 + git add d.txt + commit -m d⇒3 + TIME=1112912006 + GIT_AUTHOR_DATE=@1112912006 +0000 GIT_COMMITTER_DATE=@1112912006 +0000 git commit -m d⇒3 [d 133f385] d⇒3 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 4 + filename=d.txt + text=4 + echo 4 + git add d.txt + commit -m d⇒4 + TIME=1112912007 + GIT_AUTHOR_DATE=@1112912007 +0000 GIT_COMMITTER_DATE=@1112912007 +0000 git commit -m d⇒4 [d 586472a] d⇒4 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 5 + filename=d.txt + text=5 + echo 5 + git add d.txt + commit -m d⇒5 + TIME=1112912008 + GIT_AUTHOR_DATE=@1112912008 +0000 GIT_COMMITTER_DATE=@1112912008 +0000 git commit -m d⇒5 [d 9522207] d⇒5 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 6 + filename=d.txt + text=6 + echo 6 + git add d.txt + modify conflict.txt d version + filename=conflict.txt + text=d version + echo d version + git add conflict.txt + commit -m d⇒6 + TIME=1112912009 + GIT_AUTHOR_DATE=@1112912009 +0000 GIT_COMMITTER_DATE=@1112912009 +0000 git commit -m d⇒6 [d f7e451a] d⇒6 2 files changed, 2 insertions(+), 2 deletions(-) + git checkout c Switched to branch 'c' + git-imerge init --name=c-d d + git-imerge list * c-d + git-imerge diagram --commits --frontier --html=imerge0.html 0 5 9 | | | 0 - ********** - c *????????? *????????? *????????? *????????? 5 - *????????? 6 - *????????? | d 0 5 9 | | | 0 - ********** - c *????????? *????????? *????????? *????????? 5 - *????????? 6 - *????????? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + git-imerge autofill + tee autofill.out HEAD is now at 73a5eed c⇒9 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. 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. commit 73a5eedb087a0f656d730831b8def7943b40f3cf Author: Loú User Date: Thu Apr 7 22:13:23 2005 +0000 c⇒9 commit f7e451a6c9656dda15641a9fbc591a602f158692 Author: Loú User Date: Thu Apr 7 22:13:29 2005 +0000 d⇒6 Original first commit: Original second commit: 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 60e7c2a] imerge 'c-d': manual merge 9-6 Merge has been recorded for merge 9-6. Merge is complete! + git-imerge diagram --commits --frontier --html=imerge2.html 0 5 9 | | | 0 - ********** - c *???????.. *???????.. *???????.. *???????.. 5 - *???????.. 6 - *........* | d 0 5 9 | | | 0 - ********** - c *???????.| *???????.| *???????.| *???????.| 5 - *???????.| 6 - *--------* | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + GIT_EDITOR=cat git-imerge simplify --goal=merge --branch=c-d-merge Merge d into c (using imerge) # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # Date: Fri Oct 8 06:39:11 2021 +0000 # # On branch c-d-merge # Changes to be committed: # modified: conflict.txt # modified: d.txt # [c-d-merge 9746d1d] Merge d into c (using imerge) Date: Fri Oct 8 06:39:11 2021 +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 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. commit 73a5eedb087a0f656d730831b8def7943b40f3cf Author: Loú User Date: Thu Apr 7 22:13:23 2005 +0000 c⇒9 commit f7e451a6c9656dda15641a9fbc591a602f158692 Author: Loú User Date: Thu Apr 7 22:13:29 2005 +0000 d⇒6 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. Original first commit: Original second commit: 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 remove the file # .git/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 fc938d4] 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/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/conflicted-1-2 + DESCRIPTION=git-imerge test repository with conflict at 1-2 + init_test_repo /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/conflicted-1-2 git-imerge test repository with conflict at 1-2 + local path=/build/git-imerge-SrL9ZB/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/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/conflicted-1-2 git-imerge test repository with conflict at 1-2 + local path=/build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/conflicted-1-2 + local description=git-imerge test repository with conflict at 1-2 + test -d /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/conflicted-1-2 + mkdir -p /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/conflicted-1-2 + git init /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/conflicted-1-2 Initialized empty Git repository in /build/git-imerge-SrL9ZB/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/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/conflicted-1-2/.git config user.name Loú User + git --git-dir=/build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/conflicted-1-2/.git config user.email luser@example.com + TIME=1112911993 + ln -s /build/git-imerge-SrL9ZB/git-imerge-1.2.0/imerge.css /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/conflicted-1-2 + cd /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/conflicted-1-2 + modify c.txt 0 + filename=c.txt + text=0 + echo 0 + git add c.txt + modify d.txt 0 + filename=d.txt + text=0 + echo 0 + git add d.txt + modify conflict.txt original version + filename=conflict.txt + text=original version + echo original version + git add conflict.txt + commit -m m⇒0 + TIME=1112911994 + GIT_AUTHOR_DATE=@1112911994 +0000 GIT_COMMITTER_DATE=@1112911994 +0000 git commit -m m⇒0 [master (root-commit) d70e04b] m⇒0 3 files changed, 3 insertions(+) create mode 100644 c.txt create mode 100644 conflict.txt create mode 100644 d.txt + git checkout -b c master -- Switched to a new branch 'c' + seq 9 + modify c.txt 1 + filename=c.txt + text=1 + echo 1 + git add c.txt + modify conflict.txt c version + filename=conflict.txt + text=c version + echo c version + git add conflict.txt + commit -m c⇒1 + TIME=1112911995 + GIT_AUTHOR_DATE=@1112911995 +0000 GIT_COMMITTER_DATE=@1112911995 +0000 git commit -m c⇒1 [c 2120f40] c⇒1 2 files changed, 2 insertions(+), 2 deletions(-) + modify c.txt 2 + filename=c.txt + text=2 + echo 2 + git add c.txt + commit -m c⇒2 + TIME=1112911996 + GIT_AUTHOR_DATE=@1112911996 +0000 GIT_COMMITTER_DATE=@1112911996 +0000 git commit -m c⇒2 [c 90cc7de] c⇒2 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 3 + filename=c.txt + text=3 + echo 3 + git add c.txt + commit -m c⇒3 + TIME=1112911997 + GIT_AUTHOR_DATE=@1112911997 +0000 GIT_COMMITTER_DATE=@1112911997 +0000 git commit -m c⇒3 [c 2046ed2] c⇒3 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 4 + filename=c.txt + text=4 + echo 4 + git add c.txt + commit -m c⇒4 + TIME=1112911998 + GIT_AUTHOR_DATE=@1112911998 +0000 GIT_COMMITTER_DATE=@1112911998 +0000 git commit -m c⇒4 [c 8a2cee9] c⇒4 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 5 + filename=c.txt + text=5 + echo 5 + git add c.txt + commit -m c⇒5 + TIME=1112911999 + GIT_AUTHOR_DATE=@1112911999 +0000 GIT_COMMITTER_DATE=@1112911999 +0000 git commit -m c⇒5 [c ac16a05] c⇒5 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 6 + filename=c.txt + text=6 + echo 6 + git add c.txt + commit -m c⇒6 + TIME=1112912000 + GIT_AUTHOR_DATE=@1112912000 +0000 GIT_COMMITTER_DATE=@1112912000 +0000 git commit -m c⇒6 [c 30dd2ae] c⇒6 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 7 + filename=c.txt + text=7 + echo 7 + git add c.txt + commit -m c⇒7 + TIME=1112912001 + GIT_AUTHOR_DATE=@1112912001 +0000 GIT_COMMITTER_DATE=@1112912001 +0000 git commit -m c⇒7 [c 0883eb9] c⇒7 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 8 + filename=c.txt + text=8 + echo 8 + git add c.txt + commit -m c⇒8 + TIME=1112912002 + GIT_AUTHOR_DATE=@1112912002 +0000 GIT_COMMITTER_DATE=@1112912002 +0000 git commit -m c⇒8 [c f661c06] c⇒8 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 9 + filename=c.txt + text=9 + echo 9 + git add c.txt + commit -m c⇒9 + TIME=1112912003 + GIT_AUTHOR_DATE=@1112912003 +0000 GIT_COMMITTER_DATE=@1112912003 +0000 git commit -m c⇒9 [c 243e8ed] c⇒9 1 file changed, 1 insertion(+), 1 deletion(-) + git checkout -b d master -- Switched to a new branch 'd' + seq 6 + modify d.txt 1 + filename=d.txt + text=1 + echo 1 + git add d.txt + commit -m d⇒1 + TIME=1112912004 + GIT_AUTHOR_DATE=@1112912004 +0000 GIT_COMMITTER_DATE=@1112912004 +0000 git commit -m d⇒1 [d bd5368a] d⇒1 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 2 + filename=d.txt + text=2 + echo 2 + git add d.txt + modify conflict.txt d version + filename=conflict.txt + text=d version + echo d version + git add conflict.txt + commit -m d⇒2 + TIME=1112912005 + GIT_AUTHOR_DATE=@1112912005 +0000 GIT_COMMITTER_DATE=@1112912005 +0000 git commit -m d⇒2 [d 69efde8] d⇒2 2 files changed, 2 insertions(+), 2 deletions(-) + modify d.txt 3 + filename=d.txt + text=3 + echo 3 + git add d.txt + commit -m d⇒3 + TIME=1112912006 + GIT_AUTHOR_DATE=@1112912006 +0000 GIT_COMMITTER_DATE=@1112912006 +0000 git commit -m d⇒3 [d 3169557] d⇒3 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 4 + filename=d.txt + text=4 + echo 4 + git add d.txt + commit -m d⇒4 + TIME=1112912007 + GIT_AUTHOR_DATE=@1112912007 +0000 GIT_COMMITTER_DATE=@1112912007 +0000 git commit -m d⇒4 [d 86c8052] d⇒4 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 5 + filename=d.txt + text=5 + echo 5 + git add d.txt + commit -m d⇒5 + TIME=1112912008 + GIT_AUTHOR_DATE=@1112912008 +0000 GIT_COMMITTER_DATE=@1112912008 +0000 git commit -m d⇒5 [d 1700773] d⇒5 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 6 + filename=d.txt + text=6 + echo 6 + git add d.txt + commit -m d⇒6 + TIME=1112912009 + GIT_AUTHOR_DATE=@1112912009 +0000 GIT_COMMITTER_DATE=@1112912009 +0000 git commit -m d⇒6 [d 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 HEAD is now at 243e8ed c⇒9 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. 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. commit 2120f40dc39d28052a5279b645124e8ed7e5de73 Author: Loú User Date: Thu Apr 7 22:13:15 2005 +0000 c⇒1 commit 69efde8f66d581a765a3909ffacb9f895f95c345 Author: Loú User Date: Thu Apr 7 22:13:25 2005 +0000 d⇒2 Original first commit: Original second commit: There was a conflict merging commit 1-2, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + echo merged version + git add conflict.txt + git-imerge continue --no-edit [imerge/c-d e85d8c4] imerge 'c-d': manual merge 1-2 Merge has been recorded for merge 1-2. Attempting automerge of 1-6...success. Autofilling 1-3...success. Autofilling 1-4...success. Autofilling 1-5...success. Autofilling 1-6...success. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[0:2,2:7]. Attempting automerge of 9-6...success. Autofilling 2-6...success. Autofilling 3-6...success. Autofilling 4-6...success. Autofilling 5-6...success. Autofilling 6-6...success. Autofilling 7-6...success. Autofilling 8-6...success. Autofilling 9-2...success. Autofilling 9-3...success. Autofilling 9-4...success. Autofilling 9-5...success. Autofilling 9-6 (first way)...success. Autofilling 9-6 (second way)...success. The two ways of autofilling 9-6 agree. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[1:10,1:7]. Merge is complete! + git-imerge diagram --commits --frontier --html=imerge2.html 0 5 9 | | | 0 - ********** - c *......... **???????. *.???????. *.???????. 5 - *.???????. 6 - *......... | d 0 5 9 | | | 0 - ********** - c *........| **???????| *.???????| *.???????| 5 - *.???????| 6 - *--------+ | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + GIT_EDITOR=cat git-imerge simplify --goal=merge --branch=c-d-merge Merge d into c (using imerge) # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # Date: Fri Oct 8 06:39:18 2021 +0000 # # On branch c-d-merge # Changes to be committed: # modified: conflict.txt # modified: d.txt # [c-d-merge 17a7142] Merge d into c (using imerge) Date: Fri Oct 8 06:39:18 2021 +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 Previous HEAD position was 65961c7 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. commit 2120f40dc39d28052a5279b645124e8ed7e5de73 Author: Loú User Date: Thu Apr 7 22:13:15 2005 +0000 c⇒1 commit 69efde8f66d581a765a3909ffacb9f895f95c345 Author: Loú User Date: Thu Apr 7 22:13:25 2005 +0000 d⇒2 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. Original first commit: Original second commit: There was a conflict merging commit 1-2, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + 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 remove the file # .git/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 6fa0c36] 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/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/conflicted-9-5 + DESCRIPTION=git-imerge test repository with conflict at 9-5 + init_test_repo /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/conflicted-9-5 git-imerge test repository with conflict at 9-5 + local path=/build/git-imerge-SrL9ZB/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/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/conflicted-9-5 git-imerge test repository with conflict at 9-5 + local path=/build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/conflicted-9-5 + local description=git-imerge test repository with conflict at 9-5 + test -d /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/conflicted-9-5 + mkdir -p /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/conflicted-9-5 + git init /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/conflicted-9-5 Initialized empty Git repository in /build/git-imerge-SrL9ZB/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/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/conflicted-9-5/.git config user.name Loú User + git --git-dir=/build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/conflicted-9-5/.git config user.email luser@example.com + TIME=1112911993 + ln -s /build/git-imerge-SrL9ZB/git-imerge-1.2.0/imerge.css /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/conflicted-9-5 + cd /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/conflicted-9-5 + modify c.txt 0 + filename=c.txt + text=0 + echo 0 + git add c.txt + modify d.txt 0 + filename=d.txt + text=0 + echo 0 + git add d.txt + modify conflict.txt original version + filename=conflict.txt + text=original version + echo original version + git add conflict.txt + commit -m m⇒0 + TIME=1112911994 + GIT_AUTHOR_DATE=@1112911994 +0000 GIT_COMMITTER_DATE=@1112911994 +0000 git commit -m m⇒0 [master (root-commit) d70e04b] m⇒0 3 files changed, 3 insertions(+) create mode 100644 c.txt create mode 100644 conflict.txt create mode 100644 d.txt + git checkout -b c master -- Switched to a new branch 'c' + seq 9 + modify c.txt 1 + filename=c.txt + text=1 + echo 1 + git add c.txt + commit -m c⇒1 + TIME=1112911995 + GIT_AUTHOR_DATE=@1112911995 +0000 GIT_COMMITTER_DATE=@1112911995 +0000 git commit -m c⇒1 [c 89e2141] c⇒1 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 2 + filename=c.txt + text=2 + echo 2 + git add c.txt + commit -m c⇒2 + TIME=1112911996 + GIT_AUTHOR_DATE=@1112911996 +0000 GIT_COMMITTER_DATE=@1112911996 +0000 git commit -m c⇒2 [c 7c431f2] c⇒2 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 3 + filename=c.txt + text=3 + echo 3 + git add c.txt + commit -m c⇒3 + TIME=1112911997 + GIT_AUTHOR_DATE=@1112911997 +0000 GIT_COMMITTER_DATE=@1112911997 +0000 git commit -m c⇒3 [c f02ab24] c⇒3 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 4 + filename=c.txt + text=4 + echo 4 + git add c.txt + commit -m c⇒4 + TIME=1112911998 + GIT_AUTHOR_DATE=@1112911998 +0000 GIT_COMMITTER_DATE=@1112911998 +0000 git commit -m c⇒4 [c ed9122f] c⇒4 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 5 + filename=c.txt + text=5 + echo 5 + git add c.txt + commit -m c⇒5 + TIME=1112911999 + GIT_AUTHOR_DATE=@1112911999 +0000 GIT_COMMITTER_DATE=@1112911999 +0000 git commit -m c⇒5 [c 1d3bf09] c⇒5 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 6 + filename=c.txt + text=6 + echo 6 + git add c.txt + commit -m c⇒6 + TIME=1112912000 + GIT_AUTHOR_DATE=@1112912000 +0000 GIT_COMMITTER_DATE=@1112912000 +0000 git commit -m c⇒6 [c f999ecd] c⇒6 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 7 + filename=c.txt + text=7 + echo 7 + git add c.txt + commit -m c⇒7 + TIME=1112912001 + GIT_AUTHOR_DATE=@1112912001 +0000 GIT_COMMITTER_DATE=@1112912001 +0000 git commit -m c⇒7 [c 7050a8a] c⇒7 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 8 + filename=c.txt + text=8 + echo 8 + git add c.txt + commit -m c⇒8 + TIME=1112912002 + GIT_AUTHOR_DATE=@1112912002 +0000 GIT_COMMITTER_DATE=@1112912002 +0000 git commit -m c⇒8 [c 9732e77] c⇒8 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 9 + filename=c.txt + text=9 + echo 9 + git add c.txt + modify conflict.txt c version + filename=conflict.txt + text=c version + echo c version + git add conflict.txt + commit -m c⇒9 + TIME=1112912003 + GIT_AUTHOR_DATE=@1112912003 +0000 GIT_COMMITTER_DATE=@1112912003 +0000 git commit -m c⇒9 [c 73a5eed] c⇒9 2 files changed, 2 insertions(+), 2 deletions(-) + git checkout -b d master -- Switched to a new branch 'd' + seq 6 + modify d.txt 1 + filename=d.txt + text=1 + echo 1 + git add d.txt + commit -m d⇒1 + TIME=1112912004 + GIT_AUTHOR_DATE=@1112912004 +0000 GIT_COMMITTER_DATE=@1112912004 +0000 git commit -m d⇒1 [d bd5368a] d⇒1 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 2 + filename=d.txt + text=2 + echo 2 + git add d.txt + commit -m d⇒2 + TIME=1112912005 + GIT_AUTHOR_DATE=@1112912005 +0000 GIT_COMMITTER_DATE=@1112912005 +0000 git commit -m d⇒2 [d 93e27e6] d⇒2 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 3 + filename=d.txt + text=3 + echo 3 + git add d.txt + commit -m d⇒3 + TIME=1112912006 + GIT_AUTHOR_DATE=@1112912006 +0000 GIT_COMMITTER_DATE=@1112912006 +0000 git commit -m d⇒3 [d 133f385] d⇒3 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 4 + filename=d.txt + text=4 + echo 4 + git add d.txt + commit -m d⇒4 + TIME=1112912007 + GIT_AUTHOR_DATE=@1112912007 +0000 GIT_COMMITTER_DATE=@1112912007 +0000 git commit -m d⇒4 [d 586472a] d⇒4 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 5 + filename=d.txt + text=5 + echo 5 + git add d.txt + modify conflict.txt d version + filename=conflict.txt + text=d version + echo d version + git add conflict.txt + commit -m d⇒5 + TIME=1112912008 + GIT_AUTHOR_DATE=@1112912008 +0000 GIT_COMMITTER_DATE=@1112912008 +0000 git commit -m d⇒5 [d 0a6f956] d⇒5 2 files changed, 2 insertions(+), 2 deletions(-) + modify d.txt 6 + filename=d.txt + text=6 + echo 6 + git add d.txt + commit -m d⇒6 + TIME=1112912009 + GIT_AUTHOR_DATE=@1112912009 +0000 GIT_COMMITTER_DATE=@1112912009 +0000 git commit -m d⇒6 [d bfb30f0] d⇒6 1 file changed, 1 insertion(+), 1 deletion(-) + git checkout c Switched to branch 'c' + git-imerge init --name=c-d d + git-imerge list * c-d + git-imerge diagram --commits --frontier --html=imerge0.html 0 5 9 | | | 0 - ********** - c *????????? *????????? *????????? *????????? 5 - *????????? 6 - *????????? | d 0 5 9 | | | 0 - ********** - c *????????? *????????? *????????? *????????? 5 - *????????? 6 - *????????? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + git-imerge autofill + tee autofill.out HEAD is now at 73a5eed c⇒9 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. 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. commit 73a5eedb087a0f656d730831b8def7943b40f3cf Author: Loú User Date: Thu Apr 7 22:13:23 2005 +0000 c⇒9 commit 0a6f956bd00cebb5567e80d6ee247a51128ad36f Author: Loú User Date: Thu Apr 7 22:13:28 2005 +0000 d⇒5 Original first commit: Original second commit: 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 46f30ae] imerge 'c-d': manual merge 9-5 Merge has been recorded for merge 9-5. Attempting automerge of 9-6...success. Autofilling 9-6...success. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[8:10,5:7]. Merge is complete! + git-imerge diagram --commits --frontier --html=imerge2.html 0 5 9 | | | 0 - ********** - c *???????.. *???????.. *???????.. *???????.. 5 - *???????.* 6 - *......... | d 0 5 9 | | | 0 - ********** - c *???????.| *???????.| *???????.| *???????.| 5 - *???????.* 6 - *--------+ | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + GIT_EDITOR=cat git-imerge simplify --goal=merge --branch=c-d-merge Merge d into c (using imerge) # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # Date: Fri Oct 8 06:39:25 2021 +0000 # # On branch c-d-merge # Changes to be committed: # modified: conflict.txt # modified: d.txt # [c-d-merge fea8793] Merge d into c (using imerge) Date: Fri Oct 8 06:39:25 2021 +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 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. commit 73a5eedb087a0f656d730831b8def7943b40f3cf Author: Loú User Date: Thu Apr 7 22:13:23 2005 +0000 c⇒9 commit 0a6f956bd00cebb5567e80d6ee247a51128ad36f Author: Loú User Date: Thu Apr 7 22:13:28 2005 +0000 d⇒5 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. Original first commit: Original second commit: 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 remove the file # .git/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 ea0eb57] 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/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/conflicted-5-1 + DESCRIPTION=git-imerge test repository with conflict at 5-1 + init_test_repo /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/conflicted-5-1 git-imerge test repository with conflict at 5-1 + local path=/build/git-imerge-SrL9ZB/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/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/conflicted-5-1 git-imerge test repository with conflict at 5-1 + local path=/build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/conflicted-5-1 + local description=git-imerge test repository with conflict at 5-1 + test -d /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/conflicted-5-1 + mkdir -p /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/conflicted-5-1 + git init /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/conflicted-5-1 Initialized empty Git repository in /build/git-imerge-SrL9ZB/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/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/conflicted-5-1/.git config user.name Loú User + git --git-dir=/build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/conflicted-5-1/.git config user.email luser@example.com + TIME=1112911993 + ln -s /build/git-imerge-SrL9ZB/git-imerge-1.2.0/imerge.css /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/conflicted-5-1 + cd /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/conflicted-5-1 + modify c.txt 0 + filename=c.txt + text=0 + echo 0 + git add c.txt + modify d.txt 0 + filename=d.txt + text=0 + echo 0 + git add d.txt + modify conflict.txt original version + filename=conflict.txt + text=original version + echo original version + git add conflict.txt + commit -m m⇒0 + TIME=1112911994 + GIT_AUTHOR_DATE=@1112911994 +0000 GIT_COMMITTER_DATE=@1112911994 +0000 git commit -m m⇒0 [master (root-commit) d70e04b] m⇒0 3 files changed, 3 insertions(+) create mode 100644 c.txt create mode 100644 conflict.txt create mode 100644 d.txt + git checkout -b c master -- Switched to a new branch 'c' + seq 9 + modify c.txt 1 + filename=c.txt + text=1 + echo 1 + git add c.txt + commit -m c⇒1 + TIME=1112911995 + GIT_AUTHOR_DATE=@1112911995 +0000 GIT_COMMITTER_DATE=@1112911995 +0000 git commit -m c⇒1 [c 89e2141] c⇒1 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 2 + filename=c.txt + text=2 + echo 2 + git add c.txt + commit -m c⇒2 + TIME=1112911996 + GIT_AUTHOR_DATE=@1112911996 +0000 GIT_COMMITTER_DATE=@1112911996 +0000 git commit -m c⇒2 [c 7c431f2] c⇒2 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 3 + filename=c.txt + text=3 + echo 3 + git add c.txt + commit -m c⇒3 + TIME=1112911997 + GIT_AUTHOR_DATE=@1112911997 +0000 GIT_COMMITTER_DATE=@1112911997 +0000 git commit -m c⇒3 [c f02ab24] c⇒3 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 4 + filename=c.txt + text=4 + echo 4 + git add c.txt + commit -m c⇒4 + TIME=1112911998 + GIT_AUTHOR_DATE=@1112911998 +0000 GIT_COMMITTER_DATE=@1112911998 +0000 git commit -m c⇒4 [c ed9122f] c⇒4 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 5 + filename=c.txt + text=5 + echo 5 + git add c.txt + modify conflict.txt c version + filename=conflict.txt + text=c version + echo c version + git add conflict.txt + commit -m c⇒5 + TIME=1112911999 + GIT_AUTHOR_DATE=@1112911999 +0000 GIT_COMMITTER_DATE=@1112911999 +0000 git commit -m c⇒5 [c 7e31f25] c⇒5 2 files changed, 2 insertions(+), 2 deletions(-) + modify c.txt 6 + filename=c.txt + text=6 + echo 6 + git add c.txt + commit -m c⇒6 + TIME=1112912000 + GIT_AUTHOR_DATE=@1112912000 +0000 GIT_COMMITTER_DATE=@1112912000 +0000 git commit -m c⇒6 [c df3c57a] c⇒6 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 7 + filename=c.txt + text=7 + echo 7 + git add c.txt + commit -m c⇒7 + TIME=1112912001 + GIT_AUTHOR_DATE=@1112912001 +0000 GIT_COMMITTER_DATE=@1112912001 +0000 git commit -m c⇒7 [c ea32d81] c⇒7 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 8 + filename=c.txt + text=8 + echo 8 + git add c.txt + commit -m c⇒8 + TIME=1112912002 + GIT_AUTHOR_DATE=@1112912002 +0000 GIT_COMMITTER_DATE=@1112912002 +0000 git commit -m c⇒8 [c 44473d6] c⇒8 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 9 + filename=c.txt + text=9 + echo 9 + git add c.txt + commit -m c⇒9 + TIME=1112912003 + GIT_AUTHOR_DATE=@1112912003 +0000 GIT_COMMITTER_DATE=@1112912003 +0000 git commit -m c⇒9 [c d8d80cf] c⇒9 1 file changed, 1 insertion(+), 1 deletion(-) + git checkout -b d master -- Switched to a new branch 'd' + seq 6 + modify d.txt 1 + filename=d.txt + text=1 + echo 1 + git add d.txt + modify conflict.txt d version + filename=conflict.txt + text=d version + echo d version + git add conflict.txt + commit -m d⇒1 + TIME=1112912004 + GIT_AUTHOR_DATE=@1112912004 +0000 GIT_COMMITTER_DATE=@1112912004 +0000 git commit -m d⇒1 [d ac0427a] d⇒1 2 files changed, 2 insertions(+), 2 deletions(-) + modify d.txt 2 + filename=d.txt + text=2 + echo 2 + git add d.txt + commit -m d⇒2 + TIME=1112912005 + GIT_AUTHOR_DATE=@1112912005 +0000 GIT_COMMITTER_DATE=@1112912005 +0000 git commit -m d⇒2 [d 43c38c0] d⇒2 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 3 + filename=d.txt + text=3 + echo 3 + git add d.txt + commit -m d⇒3 + TIME=1112912006 + GIT_AUTHOR_DATE=@1112912006 +0000 GIT_COMMITTER_DATE=@1112912006 +0000 git commit -m d⇒3 [d 0260058] d⇒3 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 4 + filename=d.txt + text=4 + echo 4 + git add d.txt + commit -m d⇒4 + TIME=1112912007 + GIT_AUTHOR_DATE=@1112912007 +0000 GIT_COMMITTER_DATE=@1112912007 +0000 git commit -m d⇒4 [d 40fef44] d⇒4 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 5 + filename=d.txt + text=5 + echo 5 + git add d.txt + commit -m d⇒5 + TIME=1112912008 + GIT_AUTHOR_DATE=@1112912008 +0000 GIT_COMMITTER_DATE=@1112912008 +0000 git commit -m d⇒5 [d b080a65] d⇒5 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 6 + filename=d.txt + text=6 + echo 6 + git add d.txt + commit -m d⇒6 + TIME=1112912009 + GIT_AUTHOR_DATE=@1112912009 +0000 GIT_COMMITTER_DATE=@1112912009 +0000 git commit -m d⇒6 [d 200ce5c] d⇒6 1 file changed, 1 insertion(+), 1 deletion(-) + git checkout c Switched to branch 'c' + git-imerge init --name=c-d d + git-imerge list * c-d + git-imerge diagram --commits --frontier --html=imerge0.html 0 5 9 | | | 0 - ********** - c *????????? *????????? *????????? *????????? 5 - *????????? 6 - *????????? | d 0 5 9 | | | 0 - ********** - c *????????? *????????? *????????? *????????? 5 - *????????? 6 - *????????? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + + git-imerge autofill tee autofill.out HEAD is now at d8d80cf c⇒9 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. 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. commit 7e31f254c318decc434628f023dac0703f3d2b9e Author: Loú User Date: Thu Apr 7 22:13:19 2005 +0000 c⇒5 commit ac0427a285b64f2815ebd6eb83880f309600d0c7 Author: Loú User Date: Thu Apr 7 22:13:24 2005 +0000 d⇒1 Original first commit: Original second commit: 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 8a242e4] imerge 'c-d': manual merge 5-1 Merge has been recorded for merge 5-1. Attempting automerge of 5-6...success. Autofilling 5-2...success. Autofilling 5-3...success. Autofilling 5-4...success. Autofilling 5-5...success. Autofilling 5-6...success. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[4:6,1:7]. Attempting automerge of 9-6...success. Autofilling 6-6...success. Autofilling 7-6...success. Autofilling 8-6...success. Autofilling 9-1...success. Autofilling 9-2...success. Autofilling 9-3...success. Autofilling 9-4...success. Autofilling 9-5...success. Autofilling 9-6 (first way)...success. Autofilling 9-6 (second way)...success. The two ways of autofilling 9-6 agree. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[5:10,0:7]. Merge is complete! + git-imerge diagram --commits --frontier --html=imerge2.html 0 5 9 | | | 0 - ********** - c *???.*???. *???..???. *???..???. *???..???. 5 - *???..???. 6 - *......... | d 0 5 9 | | | 0 - ********** - c *???.*???| *???..???| *???..???| *???..???| 5 - *???..???| 6 - *--------+ | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + GIT_EDITOR=cat git-imerge simplify --goal=merge --branch=c-d-merge Merge d into c (using imerge) # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # Date: Fri Oct 8 06:39:33 2021 +0000 # # On branch c-d-merge # Changes to be committed: # modified: conflict.txt # modified: d.txt # [c-d-merge 6c09469] Merge d into c (using imerge) Date: Fri Oct 8 06:39:33 2021 +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 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. commit 7e31f254c318decc434628f023dac0703f3d2b9e Author: Loú User Date: Thu Apr 7 22:13:19 2005 +0000 c⇒5 commit ac0427a285b64f2815ebd6eb83880f309600d0c7 Author: Loú User Date: Thu Apr 7 22:13:24 2005 +0000 d⇒1 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. Original first commit: Original second commit: 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 remove the file # .git/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 c25e628] 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/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/conflicted-6-6 + DESCRIPTION=git-imerge test repository with conflict at 6-6 + init_test_repo /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/conflicted-6-6 git-imerge test repository with conflict at 6-6 + local path=/build/git-imerge-SrL9ZB/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/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/conflicted-6-6 git-imerge test repository with conflict at 6-6 + local path=/build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/conflicted-6-6 + local description=git-imerge test repository with conflict at 6-6 + test -d /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/conflicted-6-6 + mkdir -p /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/conflicted-6-6 + git init /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/conflicted-6-6 Initialized empty Git repository in /build/git-imerge-SrL9ZB/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/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/conflicted-6-6/.git config user.name Loú User + git --git-dir=/build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/conflicted-6-6/.git config user.email luser@example.com + TIME=1112911993 + ln -s /build/git-imerge-SrL9ZB/git-imerge-1.2.0/imerge.css /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/conflicted-6-6 + cd /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/conflicted-6-6 + modify c.txt 0 + filename=c.txt + text=0 + echo 0 + git add c.txt + modify d.txt 0 + filename=d.txt + text=0 + echo 0 + git add d.txt + modify conflict.txt original version + filename=conflict.txt + text=original version + echo original version + git add conflict.txt + commit -m m⇒0 + TIME=1112911994 + GIT_AUTHOR_DATE=@1112911994 +0000 GIT_COMMITTER_DATE=@1112911994 +0000 git commit -m m⇒0 [master (root-commit) d70e04b] m⇒0 3 files changed, 3 insertions(+) create mode 100644 c.txt create mode 100644 conflict.txt create mode 100644 d.txt + git checkout -b c master -- Switched to a new branch 'c' + seq 9 + modify c.txt 1 + filename=c.txt + text=1 + echo 1 + git add c.txt + commit -m c⇒1 + TIME=1112911995 + GIT_AUTHOR_DATE=@1112911995 +0000 GIT_COMMITTER_DATE=@1112911995 +0000 git commit -m c⇒1 [c 89e2141] c⇒1 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 2 + filename=c.txt + text=2 + echo 2 + git add c.txt + commit -m c⇒2 + TIME=1112911996 + GIT_AUTHOR_DATE=@1112911996 +0000 GIT_COMMITTER_DATE=@1112911996 +0000 git commit -m c⇒2 [c 7c431f2] c⇒2 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 3 + filename=c.txt + text=3 + echo 3 + git add c.txt + commit -m c⇒3 + TIME=1112911997 + GIT_AUTHOR_DATE=@1112911997 +0000 GIT_COMMITTER_DATE=@1112911997 +0000 git commit -m c⇒3 [c f02ab24] c⇒3 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 4 + filename=c.txt + text=4 + echo 4 + git add c.txt + commit -m c⇒4 + TIME=1112911998 + GIT_AUTHOR_DATE=@1112911998 +0000 GIT_COMMITTER_DATE=@1112911998 +0000 git commit -m c⇒4 [c ed9122f] c⇒4 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 5 + filename=c.txt + text=5 + echo 5 + git add c.txt + commit -m c⇒5 + TIME=1112911999 + GIT_AUTHOR_DATE=@1112911999 +0000 GIT_COMMITTER_DATE=@1112911999 +0000 git commit -m c⇒5 [c 1d3bf09] c⇒5 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 6 + filename=c.txt + text=6 + echo 6 + git add c.txt + modify conflict.txt c version + filename=conflict.txt + text=c version + echo c version + git add conflict.txt + commit -m c⇒6 + TIME=1112912000 + GIT_AUTHOR_DATE=@1112912000 +0000 GIT_COMMITTER_DATE=@1112912000 +0000 git commit -m c⇒6 [c fe4fed8] c⇒6 2 files changed, 2 insertions(+), 2 deletions(-) + modify c.txt 7 + filename=c.txt + text=7 + echo 7 + git add c.txt + commit -m c⇒7 + TIME=1112912001 + GIT_AUTHOR_DATE=@1112912001 +0000 GIT_COMMITTER_DATE=@1112912001 +0000 git commit -m c⇒7 [c ec255ea] c⇒7 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 8 + filename=c.txt + text=8 + echo 8 + git add c.txt + commit -m c⇒8 + TIME=1112912002 + GIT_AUTHOR_DATE=@1112912002 +0000 GIT_COMMITTER_DATE=@1112912002 +0000 git commit -m c⇒8 [c 7459ac3] c⇒8 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 9 + filename=c.txt + text=9 + echo 9 + git add c.txt + commit -m c⇒9 + TIME=1112912003 + GIT_AUTHOR_DATE=@1112912003 +0000 GIT_COMMITTER_DATE=@1112912003 +0000 git commit -m c⇒9 [c 70408c8] c⇒9 1 file changed, 1 insertion(+), 1 deletion(-) + git checkout -b d master -- Switched to a new branch 'd' + seq 6 + modify d.txt 1 + filename=d.txt + text=1 + echo 1 + git add d.txt + commit -m d⇒1 + TIME=1112912004 + GIT_AUTHOR_DATE=@1112912004 +0000 GIT_COMMITTER_DATE=@1112912004 +0000 git commit -m d⇒1 [d bd5368a] d⇒1 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 2 + filename=d.txt + text=2 + echo 2 + git add d.txt + commit -m d⇒2 + TIME=1112912005 + GIT_AUTHOR_DATE=@1112912005 +0000 GIT_COMMITTER_DATE=@1112912005 +0000 git commit -m d⇒2 [d 93e27e6] d⇒2 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 3 + filename=d.txt + text=3 + echo 3 + git add d.txt + commit -m d⇒3 + TIME=1112912006 + GIT_AUTHOR_DATE=@1112912006 +0000 GIT_COMMITTER_DATE=@1112912006 +0000 git commit -m d⇒3 [d 133f385] d⇒3 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 4 + filename=d.txt + text=4 + echo 4 + git add d.txt + commit -m d⇒4 + TIME=1112912007 + GIT_AUTHOR_DATE=@1112912007 +0000 GIT_COMMITTER_DATE=@1112912007 +0000 git commit -m d⇒4 [d 586472a] d⇒4 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 5 + filename=d.txt + text=5 + echo 5 + git add d.txt + commit -m d⇒5 + TIME=1112912008 + GIT_AUTHOR_DATE=@1112912008 +0000 GIT_COMMITTER_DATE=@1112912008 +0000 git commit -m d⇒5 [d 9522207] d⇒5 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 6 + filename=d.txt + text=6 + echo 6 + git add d.txt + modify conflict.txt d version + filename=conflict.txt + text=d version + echo d version + git add conflict.txt + commit -m d⇒6 + TIME=1112912009 + GIT_AUTHOR_DATE=@1112912009 +0000 GIT_COMMITTER_DATE=@1112912009 +0000 git commit -m d⇒6 [d f7e451a] d⇒6 2 files changed, 2 insertions(+), 2 deletions(-) + git checkout c Switched to branch 'c' + git-imerge init --name=c-d d + git-imerge list * c-d + git-imerge diagram --commits --frontier --html=imerge0.html 0 5 9 | | | 0 - ********** - c *????????? *????????? *????????? *????????? 5 - *????????? 6 - *????????? | d 0 5 9 | | | 0 - ********** - c *????????? *????????? *????????? *????????? 5 - *????????? 6 - *????????? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + git-imerge autofill + tee autofill.out HEAD is now at 70408c8 c⇒9 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. 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. commit fe4fed83ab13bbc7e9ee5ef0a814b170b8194854 Author: Loú User Date: Thu Apr 7 22:13:20 2005 +0000 c⇒6 commit f7e451a6c9656dda15641a9fbc591a602f158692 Author: Loú User Date: Thu Apr 7 22:13:29 2005 +0000 d⇒6 Original first commit: Original second commit: 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 f124a52] imerge 'c-d': manual merge 6-6 Merge has been recorded for merge 6-6. Attempting automerge of 9-6...success. Autofilling 7-6...success. Autofilling 8-6...success. Autofilling 9-6...success. Recording autofilled block MergeState('c-d', tip1='c', tip2='d', goal='merge')[6:10,5:7]. Merge is complete! + git-imerge diagram --commits --frontier --html=imerge2.html 0 5 9 | | | 0 - ********** - c *????.???. *????.???. *????.???. *????.???. 5 - *????..... 6 - *.....*... | d 0 5 9 | | | 0 - ********** - c *????.???| *????.???| *????.???| *????.???| 5 - *????....| 6 - *-----*--+ | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + GIT_EDITOR=cat git-imerge simplify --goal=merge --branch=c-d-merge Merge d into c (using imerge) # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # Date: Fri Oct 8 06:39:41 2021 +0000 # # On branch c-d-merge # Changes to be committed: # modified: conflict.txt # modified: d.txt # [c-d-merge fa5dfa1] Merge d into c (using imerge) Date: Fri Oct 8 06:39:41 2021 +0000 + check_tree c-d-merge ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-merge + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-merge^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=rebase --branch=c-d-rebase + check_tree c-d-rebase ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-rebase + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-rebase^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=rebase-with-history --branch=c-d-rebase-with-history + check_tree c-d-rebase-with-history ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-rebase-with-history + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-rebase-with-history^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border --branch=c-d-border + check_tree c-d-border ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-border^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border-with-history --branch=c-d-border-with-history + check_tree c-d-border-with-history ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border-with-history + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-border-with-history^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge simplify --goal=border-with-history2 --branch=c-d-border-with-history2 + check_tree c-d-border-with-history2 ffa191c987a8d3f597376744a95439fa1b4a55c5 + local refname=c-d-border-with-history2 + local expected_tree=ffa191c987a8d3f597376744a95439fa1b4a55c5 + git rev-parse c-d-border-with-history2^{tree} + test ffa191c987a8d3f597376744a95439fa1b4a55c5 = ffa191c987a8d3f597376744a95439fa1b4a55c5 + git-imerge remove + git checkout c Switched to branch 'c' + tee start.out + git-imerge start --goal=full --first-parent --name=c-d d Previous HEAD position was 34fca15 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. commit fe4fed83ab13bbc7e9ee5ef0a814b170b8194854 Author: Loú User Date: Thu Apr 7 22:13:20 2005 +0000 c⇒6 commit f7e451a6c9656dda15641a9fbc591a602f158692 Author: Loú User Date: Thu Apr 7 22:13:29 2005 +0000 d⇒6 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. Original first commit: Original second commit: 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 remove the file # .git/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 e500cdd] 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 py38 run-test: commands[2] | /bin/sh t/test-really-conflicted + dirname t/test-really-conflicted + cd t + pwd + dirname /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t + BASE=/build/git-imerge-SrL9ZB/git-imerge-1.2.0 + . /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/test-lib.sh + GIT_IMERGE=git-imerge + TMP=/build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/really-conflicted + DESCRIPTION=git-imerge test repository with multiple conflicts + init_test_repo /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/really-conflicted git-imerge test repository with multiple conflicts + local path=/build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/really-conflicted + local description=git-imerge test repository with multiple conflicts + delete_test_repo /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/really-conflicted git-imerge test repository with multiple conflicts + local path=/build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/really-conflicted + local description=git-imerge test repository with multiple conflicts + test -d /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/really-conflicted + mkdir -p /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/really-conflicted + git init /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/really-conflicted Initialized empty Git repository in /build/git-imerge-SrL9ZB/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/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/really-conflicted/.git config user.name Loú User + git --git-dir=/build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/really-conflicted/.git config user.email luser@example.com + TIME=1112911993 + ln -s /build/git-imerge-SrL9ZB/git-imerge-1.2.0/imerge.css /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/really-conflicted + cd /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/really-conflicted + modify c.txt 0 + filename=c.txt + text=0 + echo 0 + git add c.txt + modify d.txt 0 + filename=d.txt + text=0 + echo 0 + git add d.txt + seq 0 7 + modify conflict0.txt original version + filename=conflict0.txt + text=original version + echo original version + git add conflict0.txt + modify conflict1.txt original version + filename=conflict1.txt + text=original version + echo original version + git add conflict1.txt + modify conflict2.txt original version + filename=conflict2.txt + text=original version + echo original version + git add conflict2.txt + modify conflict3.txt original version + filename=conflict3.txt + text=original version + echo original version + git add conflict3.txt + modify conflict4.txt original version + filename=conflict4.txt + text=original version + echo original version + git add conflict4.txt + modify conflict5.txt original version + filename=conflict5.txt + text=original version + echo original version + git add conflict5.txt + modify conflict6.txt original version + filename=conflict6.txt + text=original version + echo original version + git add conflict6.txt + modify conflict7.txt original version + filename=conflict7.txt + text=original version + echo original version + git add conflict7.txt + commit -m m⇒0 + TIME=1112911994 + GIT_AUTHOR_DATE=@1112911994 +0000 GIT_COMMITTER_DATE=@1112911994 +0000 git commit -m m⇒0 [master (root-commit) 8e21fbd] m⇒0 10 files changed, 10 insertions(+) create mode 100644 c.txt create mode 100644 conflict0.txt create mode 100644 conflict1.txt create mode 100644 conflict2.txt create mode 100644 conflict3.txt create mode 100644 conflict4.txt create mode 100644 conflict5.txt create mode 100644 conflict6.txt create mode 100644 conflict7.txt create mode 100644 d.txt + git checkout -b c master -- Switched to a new branch 'c' + modify c.txt 1 + filename=c.txt + text=1 + echo 1 + git add c.txt + modify conflict0.txt c version + filename=conflict0.txt + text=c version + echo c version + git add conflict0.txt + modify conflict4.txt c version + filename=conflict4.txt + text=c version + echo c version + git add conflict4.txt + commit -m c⇒1 + TIME=1112911995 + GIT_AUTHOR_DATE=@1112911995 +0000 GIT_COMMITTER_DATE=@1112911995 +0000 git commit -m c⇒1 [c 4e6007a] c⇒1 3 files changed, 3 insertions(+), 3 deletions(-) + modify c.txt 2 + filename=c.txt + text=2 + echo 2 + git add c.txt + commit -m c⇒2 + TIME=1112911996 + GIT_AUTHOR_DATE=@1112911996 +0000 GIT_COMMITTER_DATE=@1112911996 +0000 git commit -m c⇒2 [c c2b7c49] c⇒2 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 3 + filename=c.txt + text=3 + echo 3 + git add c.txt + commit -m c⇒3 + TIME=1112911997 + GIT_AUTHOR_DATE=@1112911997 +0000 GIT_COMMITTER_DATE=@1112911997 +0000 git commit -m c⇒3 [c 42ad55a] c⇒3 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 4 + filename=c.txt + text=4 + echo 4 + git add c.txt + modify conflict1.txt c version + filename=conflict1.txt + text=c version + echo c version + git add conflict1.txt + commit -m c⇒4 + TIME=1112911998 + GIT_AUTHOR_DATE=@1112911998 +0000 GIT_COMMITTER_DATE=@1112911998 +0000 git commit -m c⇒4 [c a891793] c⇒4 2 files changed, 2 insertions(+), 2 deletions(-) + modify c.txt 5 + filename=c.txt + text=5 + echo 5 + git add c.txt + modify conflict3.txt c version + filename=conflict3.txt + text=c version + echo c version + git add conflict3.txt + modify conflict6.txt c version + filename=conflict6.txt + text=c version + echo c version + git add conflict6.txt + commit -m c⇒5 + TIME=1112911999 + GIT_AUTHOR_DATE=@1112911999 +0000 GIT_COMMITTER_DATE=@1112911999 +0000 git commit -m c⇒5 [c c21441d] c⇒5 3 files changed, 3 insertions(+), 3 deletions(-) + modify c.txt 6 + filename=c.txt + text=6 + echo 6 + git add c.txt + modify conflict5.txt c version + filename=conflict5.txt + text=c version + echo c version + git add conflict5.txt + commit -m c⇒6 + TIME=1112912000 + GIT_AUTHOR_DATE=@1112912000 +0000 GIT_COMMITTER_DATE=@1112912000 +0000 git commit -m c⇒6 [c a797a66] c⇒6 2 files changed, 2 insertions(+), 2 deletions(-) + modify c.txt 7 + filename=c.txt + text=7 + echo 7 + git add c.txt + modify conflict2.txt c version + filename=conflict2.txt + text=c version + echo c version + git add conflict2.txt + commit -m c⇒7 + TIME=1112912001 + GIT_AUTHOR_DATE=@1112912001 +0000 GIT_COMMITTER_DATE=@1112912001 +0000 git commit -m c⇒7 [c c0e1537] c⇒7 2 files changed, 2 insertions(+), 2 deletions(-) + modify c.txt 8 + filename=c.txt + text=8 + echo 8 + git add c.txt + commit -m c⇒8 + TIME=1112912002 + GIT_AUTHOR_DATE=@1112912002 +0000 GIT_COMMITTER_DATE=@1112912002 +0000 git commit -m c⇒8 [c 9f3e7c8] c⇒8 1 file changed, 1 insertion(+), 1 deletion(-) + modify c.txt 9 + filename=c.txt + text=9 + echo 9 + git add c.txt + modify conflict7.txt c version + filename=conflict7.txt + text=c version + echo c version + git add conflict7.txt + commit -m c⇒9 + TIME=1112912003 + GIT_AUTHOR_DATE=@1112912003 +0000 GIT_COMMITTER_DATE=@1112912003 +0000 git commit -m c⇒9 [c ccbfccb] c⇒9 2 files changed, 2 insertions(+), 2 deletions(-) + git checkout -b d master -- Switched to a new branch 'd' + modify d.txt 1 + filename=d.txt + text=1 + echo 1 + git add d.txt + modify conflict0.txt d version + filename=conflict0.txt + text=d version + echo d version + git add conflict0.txt + modify conflict6.txt d version + filename=conflict6.txt + text=d version + echo d version + git add conflict6.txt + commit -m d⇒1 + TIME=1112912004 + GIT_AUTHOR_DATE=@1112912004 +0000 GIT_COMMITTER_DATE=@1112912004 +0000 git commit -m d⇒1 [d 8c3c065] d⇒1 3 files changed, 3 insertions(+), 3 deletions(-) + modify d.txt 2 + filename=d.txt + text=2 + echo 2 + git add d.txt + modify conflict1.txt d version + filename=conflict1.txt + text=d version + echo d version + git add conflict1.txt + modify conflict2.txt d version + filename=conflict2.txt + text=d version + echo d version + git add conflict2.txt + commit -m d⇒2 + TIME=1112912005 + GIT_AUTHOR_DATE=@1112912005 +0000 GIT_COMMITTER_DATE=@1112912005 +0000 git commit -m d⇒2 [d 820b787] d⇒2 3 files changed, 3 insertions(+), 3 deletions(-) + modify d.txt 3 + filename=d.txt + text=3 + echo 3 + git add d.txt + commit -m d⇒3 + TIME=1112912006 + GIT_AUTHOR_DATE=@1112912006 +0000 GIT_COMMITTER_DATE=@1112912006 +0000 git commit -m d⇒3 [d 821c792] d⇒3 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 4 + filename=d.txt + text=4 + echo 4 + git add d.txt + commit -m d⇒4 + TIME=1112912007 + GIT_AUTHOR_DATE=@1112912007 +0000 GIT_COMMITTER_DATE=@1112912007 +0000 git commit -m d⇒4 [d c2a1456] d⇒4 1 file changed, 1 insertion(+), 1 deletion(-) + modify d.txt 5 + filename=d.txt + text=5 + echo 5 + git add d.txt + modify conflict3.txt d version + filename=conflict3.txt + text=d version + echo d version + git add conflict3.txt + commit -m d⇒5 + TIME=1112912008 + GIT_AUTHOR_DATE=@1112912008 +0000 GIT_COMMITTER_DATE=@1112912008 +0000 git commit -m d⇒5 [d c3e3890] d⇒5 2 files changed, 2 insertions(+), 2 deletions(-) + modify d.txt 6 + filename=d.txt + text=6 + echo 6 + git add d.txt + modify conflict4.txt d version + filename=conflict4.txt + text=d version + echo d version + git add conflict4.txt + commit -m d⇒6 + TIME=1112912009 + GIT_AUTHOR_DATE=@1112912009 +0000 GIT_COMMITTER_DATE=@1112912009 +0000 git commit -m d⇒6 [d b2f5c5e] d⇒6 2 files changed, 2 insertions(+), 2 deletions(-) + modify d.txt 7 + filename=d.txt + text=7 + echo 7 + git add d.txt + modify conflict5.txt d version + filename=conflict5.txt + text=d version + echo d version + git add conflict5.txt + commit -m d⇒7 + TIME=1112912010 + GIT_AUTHOR_DATE=@1112912010 +0000 GIT_COMMITTER_DATE=@1112912010 +0000 git commit -m d⇒7 [d 892af56] d⇒7 2 files changed, 2 insertions(+), 2 deletions(-) + modify d.txt 8 + filename=d.txt + text=8 + echo 8 + git add d.txt + modify conflict7.txt d version + filename=conflict7.txt + text=d version + echo d version + git add conflict7.txt + commit -m d⇒8 + TIME=1112912011 + GIT_AUTHOR_DATE=@1112912011 +0000 GIT_COMMITTER_DATE=@1112912011 +0000 git commit -m d⇒8 [d 67099d0] d⇒8 2 files changed, 2 insertions(+), 2 deletions(-) + git checkout c Switched to branch 'c' + git-imerge init --name=c-d d + git-imerge diagram --commits --frontier 0 5 9 | | | 0 - ********** - c *????????? *????????? *????????? *????????? 5 - *????????? *????????? *????????? 8 - *????????? | d 0 5 9 | | | 0 - ********** - c *????????? *????????? *????????? *????????? 5 - *????????? *????????? *????????? 8 - *????????? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + conflict_count=0 + true + git-imerge continue --no-edit + tee autofill.out 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. commit 4e6007a9261b8d70c6c9cb31fdf801cada885a79 Author: Loú User Date: Thu Apr 7 22:13:15 2005 +0000 c⇒1 commit 8c3c06526942b1b7ef891dac2d98b871c0269ebc Author: Loú User Date: Thu Apr 7 22:13:24 2005 +0000 d⇒1 Attempting automerge of 9-8...failure. Attempting automerge of 1-1...failure. Original first commit: Original second commit: There was a conflict merging commit 1-1, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + grep -q Traceback autofill.out + git-imerge diagram --frontier 0 5 9 | | | 0 - ********** - c *#???????? *????????? *????????? *????????? 5 - *????????? *????????? *????????? 8 - *????????? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + grep -q There was a conflict merging autofill.out + seq 0 7 + grep -q ==== conflict0.txt + modify conflict0.txt merged version + filename=conflict0.txt + text=merged version + echo merged version + git add conflict0.txt + conflict_count=1 + grep -q ==== conflict1.txt + grep -q ==== conflict2.txt + grep -q ==== conflict3.txt + grep -q ==== conflict4.txt + grep -q ==== conflict5.txt + grep -q ==== conflict6.txt + grep -q ==== conflict7.txt + true + git-imerge continue --no-edit + tee autofill.out [imerge/c-d 61f2708] imerge 'c-d': manual merge 1-1 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. commit 4e6007a9261b8d70c6c9cb31fdf801cada885a79 Author: Loú User Date: Thu Apr 7 22:13:15 2005 +0000 c⇒1 commit b2f5c5e78cd79a99aa1f8f4a9d8054b2d5a484ff Author: Loú User Date: Thu Apr 7 22:13:29 2005 +0000 d⇒6 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. Original first commit: Original second commit: There was a conflict merging commit 1-6, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + grep -q Traceback autofill.out + git-imerge diagram --frontier 0 5 9 | | | 0 - ********** - c **?.+#???? *.?|#????? *.?|?????? *.?|?????? 5 - *--+?????? *#???????? *????????? 8 - *????????? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + grep -q There was a conflict merging autofill.out + seq 0 7 + grep -q ==== conflict0.txt + grep -q ==== conflict1.txt + grep -q ==== conflict2.txt + grep -q ==== conflict3.txt + grep -q ==== conflict4.txt + modify conflict4.txt merged version + filename=conflict4.txt + text=merged version + echo merged version + git add conflict4.txt + conflict_count=2 + grep -q ==== conflict5.txt + grep -q ==== conflict6.txt + grep -q ==== conflict7.txt + true + git-imerge continue --no-edit + tee autofill.out [imerge/c-d a4dfad9] imerge 'c-d': manual merge 1-6 Warning: you are leaving 1 commit behind, not connected to any of your branches: e9b184a 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 e9b184a 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. commit a89179336bb40a4ca90903425239a9ef3ce659bd Author: Loú User Date: Thu Apr 7 22:13:18 2005 +0000 c⇒4 commit 820b787e86e22612af7a061db842dc95e9f1d49f Author: Loú User Date: Thu Apr 7 22:13:25 2005 +0000 d⇒2 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]. Original first commit: Original second commit: There was a conflict merging commit 4-2, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + grep -q Traceback autofill.out + git-imerge diagram --frontier 0 5 9 | | | 0 - ********** - c **?.+#???? *.?|#????? *.?|?????? *.?|?????? 5 - *..|?????? **?|?????? *.?|?????? 8 - *--+?????? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + grep -q There was a conflict merging autofill.out + seq 0 7 + grep -q ==== conflict0.txt + grep -q ==== conflict1.txt + modify conflict1.txt merged version + filename=conflict1.txt + text=merged version + echo merged version + git add conflict1.txt + conflict_count=3 + grep -q ==== conflict2.txt + grep -q ==== conflict3.txt + grep -q ==== conflict4.txt + grep -q ==== conflict5.txt + grep -q ==== conflict6.txt + grep -q ==== conflict7.txt + true + tee autofill.out + git-imerge continue --no-edit [imerge/c-d 0c0fdb6] imerge 'c-d': manual merge 4-2 Previous HEAD position was b6aea78 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. commit c21441db0b1abc10e3caf5024d19976bd7f9b469 Author: Loú User Date: Thu Apr 7 22:13:19 2005 +0000 c⇒5 commit 8c3c06526942b1b7ef891dac2d98b871c0269ebc Author: Loú User Date: Thu Apr 7 22:13:24 2005 +0000 d⇒1 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]. Original first commit: Original second commit: There was a conflict merging commit 5-1, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + grep -q Traceback autofill.out + git-imerge diagram --frontier 0 5 9 | | | 0 - ********** - c **?.|#???? *.?.*????? *.?.|????? *.?.|????? 5 - *...|????? **?.|????? *.?.|????? 8 - *---+????? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + grep -q There was a conflict merging autofill.out + seq 0 7 + grep -q ==== conflict0.txt + grep -q ==== conflict1.txt + grep -q ==== conflict2.txt + grep -q ==== conflict3.txt + grep -q ==== conflict4.txt + grep -q ==== conflict5.txt + grep -q ==== conflict6.txt + modify conflict6.txt merged version + filename=conflict6.txt + text=merged version + echo merged version + git add conflict6.txt + conflict_count=4 + grep -q ==== conflict7.txt + true + git-imerge continue --no-edit + tee autofill.out [imerge/c-d b637d97] imerge 'c-d': manual merge 5-1 Previous HEAD position was 74f6282 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. commit c21441db0b1abc10e3caf5024d19976bd7f9b469 Author: Loú User Date: Thu Apr 7 22:13:19 2005 +0000 c⇒5 commit c3e3890b9e3c756c1d8f7e345184d576739be079 Author: Loú User Date: Thu Apr 7 22:13:28 2005 +0000 d⇒5 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. Original first commit: Original second commit: There was a conflict merging commit 5-5, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + grep -q Traceback autofill.out + git-imerge diagram --frontier 0 5 9 | | | 0 - ********** - c **?..*.--+ *.?.*.|#?? *.?...|??? *.?..-+??? 5 - *...|#???? **?.|????? *.?.|????? 8 - *---+????? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + grep -q There was a conflict merging autofill.out + seq 0 7 + grep -q ==== conflict0.txt + grep -q ==== conflict1.txt + grep -q ==== conflict2.txt + grep -q ==== conflict3.txt + modify conflict3.txt merged version + filename=conflict3.txt + text=merged version + echo merged version + git add conflict3.txt + conflict_count=5 + grep -q ==== conflict4.txt + grep -q ==== conflict5.txt + grep -q ==== conflict6.txt + grep -q ==== conflict7.txt + true + git-imerge continue --no-edit + tee autofill.out [imerge/c-d d96e5cc] imerge 'c-d': manual merge 5-5 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. commit a797a66a0e4b89690099557280641efeac302bcf Author: Loú User Date: Thu Apr 7 22:13:20 2005 +0000 c⇒6 commit 892af56ace54c97776e84dff9e6fba7312efe5d0 Author: Loú User Date: Thu Apr 7 22:13:30 2005 +0000 d⇒7 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. Original first commit: Original second commit: There was a conflict merging commit 6-7, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + grep -q Traceback autofill.out + git-imerge diagram --frontier 0 5 9 | | | 0 - ********** - c **?..*.--+ *.?.*.|#?? *.?...|??? *.?...|??? 5 - *....*|??? **?...+??? *.?..|#??? 8 - *----+???? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + grep -q There was a conflict merging autofill.out + seq 0 7 + grep -q ==== conflict0.txt + grep -q ==== conflict1.txt + grep -q ==== conflict2.txt + grep -q ==== conflict3.txt + grep -q ==== conflict4.txt + grep -q ==== conflict5.txt + modify conflict5.txt merged version + filename=conflict5.txt + text=merged version + echo merged version + git add conflict5.txt + conflict_count=6 + grep -q ==== conflict6.txt + grep -q ==== conflict7.txt + true + git-imerge continue --no-edit + tee autofill.out [imerge/c-d adf45cc] imerge 'c-d': manual merge 6-7 Previous HEAD position was 07ee5d9 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. commit c0e1537f1ecf33aa719926933c7db8cb93eb5315 Author: Loú User Date: Thu Apr 7 22:13:21 2005 +0000 c⇒7 commit 820b787e86e22612af7a061db842dc95e9f1d49f Author: Loú User Date: Thu Apr 7 22:13:25 2005 +0000 d⇒2 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]. Original first commit: Original second commit: There was a conflict merging commit 7-2, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + grep -q Traceback autofill.out + git-imerge diagram --frontier 0 5 9 | | | 0 - ********** - c **?..*.--+ *.?.*.|#?? *.?...|??? *.?...|??? 5 - *....*|??? **?...|??? *.?...*??? 8 - *-----+??? | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + grep -q There was a conflict merging autofill.out + seq 0 7 + grep -q ==== conflict0.txt + grep -q ==== conflict1.txt + grep -q ==== conflict2.txt + modify conflict2.txt merged version + filename=conflict2.txt + text=merged version + echo merged version + git add conflict2.txt + conflict_count=7 + grep -q ==== conflict3.txt + grep -q ==== conflict4.txt + grep -q ==== conflict5.txt + grep -q ==== conflict6.txt + grep -q ==== conflict7.txt + true + git-imerge continue --no-edit + tee autofill.out [imerge/c-d 99c155e] imerge 'c-d': manual merge 7-2 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. commit ccbfccb3f61dac677c0a80382aaf6055a11a8a87 Author: Loú User Date: Thu Apr 7 22:13:23 2005 +0000 c⇒9 commit 67099d078100141fbe4063d46a6408200f4ff311 Author: Loú User Date: Thu Apr 7 22:13:31 2005 +0000 d⇒8 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. Original first commit: Original second commit: There was a conflict merging commit 9-8, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + grep -q Traceback autofill.out + git-imerge diagram --frontier 0 5 9 | | | 0 - ********** - c **?..*...| *.?.*..*.| *.?......| *.?......| 5 - *....*...| **?......| *.?...*..+ 8 - *-------+# | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + grep -q There was a conflict merging autofill.out + seq 0 7 + grep -q ==== conflict0.txt + grep -q ==== conflict1.txt + grep -q ==== conflict2.txt + grep -q ==== conflict3.txt + grep -q ==== conflict4.txt + grep -q ==== conflict5.txt + grep -q ==== conflict6.txt + grep -q ==== conflict7.txt + modify conflict7.txt merged version + filename=conflict7.txt + text=merged version + echo merged version + git add conflict7.txt + conflict_count=8 + true + git-imerge continue --no-edit + tee autofill.out [imerge/c-d 2d489b1] imerge 'c-d': manual merge 9-8 Merge has been recorded for merge 9-8. Merge is complete! + grep -q Traceback autofill.out + git-imerge diagram --frontier 0 5 9 | | | 0 - ********** - c **?..*...| *.?.*..*.| *.?......| *.?......| 5 - *....*...| **?......| *.?...*..| 8 - *--------* | d Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + grep -q There was a conflict merging autofill.out + break + test 8 -ne 8 + git-imerge diagram --commits + cat + diff -u - diagram.out + EXPECTED_TREE=13e5a8955ab8f88dc7fec8278ee2622655c21d7f + GIT_EDITOR=cat git-imerge simplify --goal=merge --branch=c-d-merge Merge d into c (using imerge) # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # Date: Fri Oct 8 06:39:54 2021 +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 bb6a36c] Merge d into c (using imerge) Date: Fri Oct 8 06:39:54 2021 +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 py38 run-test: commands[3] | /bin/sh t/test-duplicated + dirname t/test-duplicated + cd t + pwd + dirname /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t + BASE=/build/git-imerge-SrL9ZB/git-imerge-1.2.0 + . /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/test-lib.sh + GIT_IMERGE=git-imerge + TMP=/build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/duplicated + DESCRIPTION=git-imerge test repository with duplicate commits + init_test_repo /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/duplicated git-imerge test repository with duplicate commits + local path=/build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/duplicated + local description=git-imerge test repository with duplicate commits + delete_test_repo /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/duplicated git-imerge test repository with duplicate commits + local path=/build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/duplicated + local description=git-imerge test repository with duplicate commits + test -d /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/duplicated + mkdir -p /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/duplicated + git init /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/duplicated Initialized empty Git repository in /build/git-imerge-SrL9ZB/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/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/duplicated/.git config user.name Loú User + git --git-dir=/build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/duplicated/.git config user.email luser@example.com + TIME=1112911993 + ln -s /build/git-imerge-SrL9ZB/git-imerge-1.2.0/imerge.css /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/duplicated + cd /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/duplicated + modify a.txt 0 + filename=a.txt + text=0 + echo 0 + git add a.txt + commit -m m⇒0 + TIME=1112911994 + GIT_AUTHOR_DATE=@1112911994 +0000 GIT_COMMITTER_DATE=@1112911994 +0000 git commit -m m⇒0 [master (root-commit) a733afa] m⇒0 1 file changed, 1 insertion(+) create mode 100644 a.txt + git checkout -b a -- Switched to a new branch 'a' + seq 3 + modify a.txt 1 + filename=a.txt + text=1 + echo 1 + git add a.txt + commit -m a⇒1 on branch a + TIME=1112911995 + GIT_AUTHOR_DATE=@1112911995 +0000 GIT_COMMITTER_DATE=@1112911995 +0000 git commit -m a⇒1 on branch a [a 2f1f75a] a⇒1 on branch a 1 file changed, 1 insertion(+), 1 deletion(-) + modify a.txt 2 + filename=a.txt + text=2 + echo 2 + git add a.txt + commit -m a⇒2 on branch a + TIME=1112911996 + GIT_AUTHOR_DATE=@1112911996 +0000 GIT_COMMITTER_DATE=@1112911996 +0000 git commit -m a⇒2 on branch a [a 4700669] a⇒2 on branch a 1 file changed, 1 insertion(+), 1 deletion(-) + modify a.txt 3 + filename=a.txt + text=3 + echo 3 + git add a.txt + commit -m a⇒3 on branch a + TIME=1112911997 + GIT_AUTHOR_DATE=@1112911997 +0000 GIT_COMMITTER_DATE=@1112911997 +0000 git commit -m a⇒3 on branch a [a 621c381] a⇒3 on branch a 1 file changed, 1 insertion(+), 1 deletion(-) + git checkout -b b master -- Switched to a new branch 'b' + seq 4 + modify a.txt 1 + filename=a.txt + text=1 + echo 1 + git add a.txt + commit -m a⇒1 on branch b + TIME=1112911998 + GIT_AUTHOR_DATE=@1112911998 +0000 GIT_COMMITTER_DATE=@1112911998 +0000 git commit -m a⇒1 on branch b [b 62a5c56] a⇒1 on branch b 1 file changed, 1 insertion(+), 1 deletion(-) + modify a.txt 2 + filename=a.txt + text=2 + echo 2 + git add a.txt + commit -m a⇒2 on branch b + TIME=1112911999 + GIT_AUTHOR_DATE=@1112911999 +0000 GIT_COMMITTER_DATE=@1112911999 +0000 git commit -m a⇒2 on branch b [b f846281] a⇒2 on branch b 1 file changed, 1 insertion(+), 1 deletion(-) + modify a.txt 3 + filename=a.txt + text=3 + echo 3 + git add a.txt + commit -m a⇒3 on branch b + TIME=1112912000 + GIT_AUTHOR_DATE=@1112912000 +0000 GIT_COMMITTER_DATE=@1112912000 +0000 git commit -m a⇒3 on branch b [b a4b2c2b] a⇒3 on branch b 1 file changed, 1 insertion(+), 1 deletion(-) + modify a.txt 4 + filename=a.txt + text=4 + echo 4 + git add a.txt + commit -m a⇒4 on branch b + TIME=1112912001 + GIT_AUTHOR_DATE=@1112912001 +0000 GIT_COMMITTER_DATE=@1112912001 +0000 git commit -m a⇒4 on branch b [b 5b24553] a⇒4 on branch b 1 file changed, 1 insertion(+), 1 deletion(-) + EXPECTED_TREE=9d521927e179e882efacd2a0ba94b89a1de00eb2 + git checkout a Switched to branch 'a' + git-imerge start --first-parent --name=a-b --branch=a-b-merge b Attempting automerge of 3-4...failure. Attempting automerge of 1-1...success. Attempting automerge of 1-3...failure. Attempting automerge of 1-2...failure. Attempting automerge of 3-1...failure. Attempting automerge of 2-1...failure. Autofilling 1-1...success. Recording autofilled block MergeState('a-b', tip1='a', tip2='b', goal='merge')[0:2,0:2]. Attempting automerge of 1-4...success. Autofilling 1-2...success. Autofilling 1-3...success. Autofilling 1-4...success. Recording autofilled block MergeState('a-b', tip1='a', tip2='b', goal='merge')[0:2,1:5]. Attempting automerge of 3-4...failure. Attempting automerge of 2-1...success. Attempting automerge of 2-3...failure. Attempting automerge of 2-2...success. Attempting automerge of 3-2...failure. Attempting automerge of 3-1...success. Autofilling 2-1...success. Autofilling 2-2...success. Recording autofilled block MergeState('a-b', tip1='a', tip2='b', goal='merge')[1:3,0:3]. Autofilling 3-1...success. Recording autofilled block MergeState('a-b', tip1='a', tip2='b', goal='merge')[2:4,0:2]. Attempting automerge of 2-4...success. Autofilling 2-3...success. Autofilling 2-4...success. Recording autofilled block MergeState('a-b', tip1='a', tip2='b', goal='merge')[1:3,2:5]. Attempting automerge of 3-4...failure. Attempting automerge of 3-2...success. Attempting automerge of 3-4...failure. Attempting automerge of 3-3...success. Autofilling 3-2...success. Autofilling 3-3...success. Recording autofilled block MergeState('a-b', tip1='a', tip2='b', goal='merge')[2:4,1:4]. Attempting automerge of 3-4...success. Autofilling 3-4...success. Recording autofilled block MergeState('a-b', tip1='a', tip2='b', goal='merge')[2:4,3:5]. Merge is complete! + git-imerge diagram --commits --frontier --html=imerge5.html 0 3 | | 0 - **** - a *... *... *... 4 - *... | b 0 3 | | 0 - **** - a *..| *..| *..| 4 - *--+ | b Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + GIT_EDITOR=cat git-imerge simplify --goal=merge --branch=a-b-merge Merge b into a (using imerge) # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # Date: Fri Oct 8 06:39:57 2021 +0000 # # On branch a-b-merge # Changes to be committed: # modified: a.txt # [a-b-merge 39b8041] Merge b into a (using imerge) Date: Fri Oct 8 06:39:57 2021 +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 py38 run-test: commands[4] | /bin/sh t/test-flip-flop + dirname t/test-flip-flop + cd t + pwd + dirname /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t + BASE=/build/git-imerge-SrL9ZB/git-imerge-1.2.0 + . /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/test-lib.sh + GIT_IMERGE=git-imerge + flip_flop_test 1 + local n=1 + TMP=/build/git-imerge-SrL9ZB/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/git-imerge-SrL9ZB/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/git-imerge-SrL9ZB/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/git-imerge-SrL9ZB/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/git-imerge-SrL9ZB/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/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/flip-flop-1 + mkdir -p /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/flip-flop-1 + git init /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/flip-flop-1 Initialized empty Git repository in /build/git-imerge-SrL9ZB/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/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/flip-flop-1/.git config user.name Loú User + git --git-dir=/build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/flip-flop-1/.git config user.email luser@example.com + TIME=1112911993 + ln -s /build/git-imerge-SrL9ZB/git-imerge-1.2.0/imerge.css /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/flip-flop-1 + cd /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/flip-flop-1 + modify a.txt 0 + filename=a.txt + text=0 + echo 0 + git add a.txt + commit -m m⇒0 + TIME=1112911994 + GIT_AUTHOR_DATE=@1112911994 +0000 GIT_COMMITTER_DATE=@1112911994 +0000 git commit -m m⇒0 [master (root-commit) a733afa] m⇒0 1 file changed, 1 insertion(+) create mode 100644 a.txt + git checkout -b a -- Switched to a new branch 'a' + modify a.txt 1 + filename=a.txt + text=1 + echo 1 + git add a.txt + commit -m a⇒1 on branch a + TIME=1112911995 + GIT_AUTHOR_DATE=@1112911995 +0000 GIT_COMMITTER_DATE=@1112911995 +0000 git commit -m a⇒1 on branch a [a 2f1f75a] a⇒1 on branch a 1 file changed, 1 insertion(+), 1 deletion(-) + modify a.txt 2 + filename=a.txt + text=2 + echo 2 + git add a.txt + commit -m a⇒2 on branch a + TIME=1112911996 + GIT_AUTHOR_DATE=@1112911996 +0000 GIT_COMMITTER_DATE=@1112911996 +0000 git commit -m a⇒2 on branch a [a 4700669] a⇒2 on branch a 1 file changed, 1 insertion(+), 1 deletion(-) + modify a.txt 3 + filename=a.txt + text=3 + echo 3 + git add a.txt + commit -m a⇒3 on branch a + TIME=1112911997 + GIT_AUTHOR_DATE=@1112911997 +0000 GIT_COMMITTER_DATE=@1112911997 +0000 git commit -m a⇒3 on branch a [a 621c381] a⇒3 on branch a 1 file changed, 1 insertion(+), 1 deletion(-) + git checkout -b b master -- Switched to a new branch 'b' + modify b.txt 1 + filename=b.txt + text=1 + echo 1 + git add b.txt + msg=b⇒1 + test 1 = 1 + modify a.txt X + filename=a.txt + text=X + echo X + git add a.txt + msg=b⇒1 and a⇒X + test 1 = 2 + commit -m b⇒1 and a⇒X on branch b + TIME=1112911998 + GIT_AUTHOR_DATE=@1112911998 +0000 GIT_COMMITTER_DATE=@1112911998 +0000 git commit -m b⇒1 and a⇒X on branch b [b 044a3fa] b⇒1 and a⇒X on branch b 2 files changed, 2 insertions(+), 1 deletion(-) create mode 100644 b.txt + modify b.txt 2 + filename=b.txt + text=2 + echo 2 + git add b.txt + msg=b⇒2 + test 2 = 1 + test 2 = 2 + modify a.txt 0 + filename=a.txt + text=0 + echo 0 + git add a.txt + msg=b⇒2 and a⇒0 + commit -m b⇒2 and a⇒0 on branch b + TIME=1112911999 + GIT_AUTHOR_DATE=@1112911999 +0000 GIT_COMMITTER_DATE=@1112911999 +0000 git commit -m b⇒2 and a⇒0 on branch b [b 7851975] b⇒2 and a⇒0 on branch b 2 files changed, 2 insertions(+), 2 deletions(-) + modify b.txt 3 + filename=b.txt + text=3 + echo 3 + git add b.txt + msg=b⇒3 + test 3 = 1 + test 3 = 2 + commit -m b⇒3 on branch b + TIME=1112912000 + GIT_AUTHOR_DATE=@1112912000 +0000 GIT_COMMITTER_DATE=@1112912000 +0000 git commit -m b⇒3 on branch b [b 6fe24f0] b⇒3 on branch b 1 file changed, 1 insertion(+), 1 deletion(-) + modify b.txt 4 + filename=b.txt + text=4 + echo 4 + git add b.txt + msg=b⇒4 + test 4 = 1 + test 4 = 2 + commit -m b⇒4 on branch b + TIME=1112912001 + GIT_AUTHOR_DATE=@1112912001 +0000 GIT_COMMITTER_DATE=@1112912001 +0000 git commit -m b⇒4 on branch b [b 2dc5eb7] b⇒4 on branch b 1 file changed, 1 insertion(+), 1 deletion(-) + test_merge b-into-a-1 a b 1-1 1-2 + local name=b-into-a-1 + local dst=a + local src=b + local conflict1=1-1 + local conflict2=1-2 + git checkout a Switched to branch 'a' + git-imerge merge --branch=b-into-a-1 b + tee imerge-b-into-a-1-1.out 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. commit 2f1f75a7b49864d699f9e222c1d78078cfe01587 Author: Loú User Date: Thu Apr 7 22:13:15 2005 +0000 a⇒1 on branch a commit 044a3fac3fa19a3a6428eaeeb356b18764b9b1f2 Author: Loú User Date: Thu Apr 7 22:13:18 2005 +0000 b⇒1 and a⇒X on branch b 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... Original first commit: Original second commit: There was a conflict merging commit 1-1, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + 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 b310408] imerge 'b': manual merge 1-1 Previous HEAD position was 2d23f3c 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. commit 2f1f75a7b49864d699f9e222c1d78078cfe01587 Author: Loú User Date: Thu Apr 7 22:13:15 2005 +0000 a⇒1 on branch a commit 7851975ee7d12ef0a256db7ebd029aab51f895ab Author: Loú User Date: Thu Apr 7 22:13:19 2005 +0000 b⇒2 and a⇒0 on branch b 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]. Original first commit: Original second commit: There was a conflict merging commit 1-2, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + 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 e848d87] imerge 'b': manual merge 1-2 Merge has been recorded for merge 1-2. Attempting automerge of 1-4...success. Autofilling 1-3...success. Autofilling 1-4...success. Recording autofilled block MergeState('b', tip1='a', tip2='b', goal='merge')[0:2,2:5]. Attempting automerge of 3-4...success. Autofilling 2-4...success. Autofilling 3-2...success. Autofilling 3-3...success. Autofilling 3-4 (first way)...success. Autofilling 3-4 (second way)...success. The two ways of autofilling 3-4 agree. Recording autofilled block MergeState('b', tip1='a', tip2='b', goal='merge')[1:4,1:5]. Merge is complete! + grep -q Merge is complete imerge-b-into-a-1-3.out + git-imerge diagram --commits --frontier 0 3 | | 0 - **** - a **.. **?. *.?. 4 - *... | b 0 3 | | 0 - **** - a **.| **?| *.?| 4 - *--+ | b Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + GIT_EDITOR=cat git-imerge finish Merge b into a (using imerge) # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # Date: Fri Oct 8 06:40:02 2021 +0000 # # On branch b-into-a-1 # Changes to be committed: # new file: b.txt # [b-into-a-1 20885ec] Merge b into a (using imerge) Date: Fri Oct 8 06:40:02 2021 +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 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. commit 044a3fac3fa19a3a6428eaeeb356b18764b9b1f2 Author: Loú User Date: Thu Apr 7 22:13:18 2005 +0000 b⇒1 and a⇒X on branch b commit 2f1f75a7b49864d699f9e222c1d78078cfe01587 Author: Loú User Date: Thu Apr 7 22:13:15 2005 +0000 a⇒1 on branch a Attempting automerge of 4-3...success. Autofilling 1-3...unexpected conflict. Backtracking... Autofilling 1-2...unexpected conflict. Backtracking... Autofilling 1-1...unexpected conflict. Backtracking... Original first commit: Original second commit: There was a conflict merging commit 1-1, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + 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 a495ec7] imerge 'a': manual merge 1-1 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. commit 7851975ee7d12ef0a256db7ebd029aab51f895ab Author: Loú User Date: Thu Apr 7 22:13:19 2005 +0000 b⇒2 and a⇒0 on branch b commit 2f1f75a7b49864d699f9e222c1d78078cfe01587 Author: Loú User Date: Thu Apr 7 22:13:15 2005 +0000 a⇒1 on branch a 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. Original first commit: Original second commit: 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 9127273] imerge 'a': manual merge 2-1 Merge has been recorded for merge 2-1. Attempting automerge of 2-3...success. Autofilling 2-2...success. Autofilling 2-3...success. Recording autofilled block MergeState('a', tip1='b', tip2='a', goal='merge')[1:3,1:4]. Attempting automerge of 4-3...success. Autofilling 3-3...success. Autofilling 4-1...success. Autofilling 4-2...success. Autofilling 4-3 (first way)...success. Autofilling 4-3 (second way)...success. The two ways of autofilling 4-3 agree. Recording autofilled block MergeState('a', tip1='b', tip2='a', goal='merge')[2:5,0:4]. Merge is complete! + grep -q Merge is complete imerge-a-into-b-1-3.out + git-imerge diagram --commits --frontier 0 4 | | 0 - ***** - b ***?. *..?. 3 - *.... | a 0 4 | | 0 - ***** - b ***?| *..?| 3 - *---+ | a Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + GIT_EDITOR=cat git-imerge finish Merge a into b (using imerge) # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # Date: Fri Oct 8 06:40:03 2021 +0000 # # On branch a-into-b-1 # Changes to be committed: # modified: a.txt # [a-into-b-1 ff108e5] Merge a into b (using imerge) Date: Fri Oct 8 06:40:03 2021 +0000 + flip_flop_test 2 + local n=2 + TMP=/build/git-imerge-SrL9ZB/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/git-imerge-SrL9ZB/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/git-imerge-SrL9ZB/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/git-imerge-SrL9ZB/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/git-imerge-SrL9ZB/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/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/flip-flop-2 + mkdir -p /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/flip-flop-2 + git init /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/flip-flop-2 Initialized empty Git repository in /build/git-imerge-SrL9ZB/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/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/flip-flop-2/.git config user.name Loú User + git --git-dir=/build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/flip-flop-2/.git config user.email luser@example.com + TIME=1112911993 + ln -s /build/git-imerge-SrL9ZB/git-imerge-1.2.0/imerge.css /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/flip-flop-2 + cd /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/flip-flop-2 + modify a.txt 0 + filename=a.txt + text=0 + echo 0 + git add a.txt + commit -m m⇒0 + TIME=1112911994 + GIT_AUTHOR_DATE=@1112911994 +0000 GIT_COMMITTER_DATE=@1112911994 +0000 git commit -m m⇒0 [master (root-commit) a733afa] m⇒0 1 file changed, 1 insertion(+) create mode 100644 a.txt + git checkout -b a -- Switched to a new branch 'a' + modify a.txt 1 + filename=a.txt + text=1 + echo 1 + git add a.txt + commit -m a⇒1 on branch a + TIME=1112911995 + GIT_AUTHOR_DATE=@1112911995 +0000 GIT_COMMITTER_DATE=@1112911995 +0000 git commit -m a⇒1 on branch a [a 2f1f75a] a⇒1 on branch a 1 file changed, 1 insertion(+), 1 deletion(-) + modify a.txt 2 + filename=a.txt + text=2 + echo 2 + git add a.txt + commit -m a⇒2 on branch a + TIME=1112911996 + GIT_AUTHOR_DATE=@1112911996 +0000 GIT_COMMITTER_DATE=@1112911996 +0000 git commit -m a⇒2 on branch a [a 4700669] a⇒2 on branch a 1 file changed, 1 insertion(+), 1 deletion(-) + modify a.txt 3 + filename=a.txt + text=3 + echo 3 + git add a.txt + commit -m a⇒3 on branch a + TIME=1112911997 + GIT_AUTHOR_DATE=@1112911997 +0000 GIT_COMMITTER_DATE=@1112911997 +0000 git commit -m a⇒3 on branch a [a 621c381] a⇒3 on branch a 1 file changed, 1 insertion(+), 1 deletion(-) + git checkout -b b master -- Switched to a new branch 'b' + modify b.txt 1 + filename=b.txt + text=1 + echo 1 + git add b.txt + msg=b⇒1 + test 1 = 2 + test 1 = 3 + commit -m b⇒1 on branch b + TIME=1112911998 + GIT_AUTHOR_DATE=@1112911998 +0000 GIT_COMMITTER_DATE=@1112911998 +0000 git commit -m b⇒1 on branch b [b 1f7d097] b⇒1 on branch b 1 file changed, 1 insertion(+) create mode 100644 b.txt + modify b.txt 2 + filename=b.txt + text=2 + echo 2 + git add b.txt + msg=b⇒2 + test 2 = 2 + modify a.txt X + filename=a.txt + text=X + echo X + git add a.txt + msg=b⇒2 and a⇒X + test 2 = 3 + commit -m b⇒2 and a⇒X on branch b + TIME=1112911999 + GIT_AUTHOR_DATE=@1112911999 +0000 GIT_COMMITTER_DATE=@1112911999 +0000 git commit -m b⇒2 and a⇒X on branch b [b 48df77d] b⇒2 and a⇒X on branch b 2 files changed, 2 insertions(+), 2 deletions(-) + modify b.txt 3 + filename=b.txt + text=3 + echo 3 + git add b.txt + msg=b⇒3 + test 3 = 2 + test 3 = 3 + modify a.txt 0 + filename=a.txt + text=0 + echo 0 + git add a.txt + msg=b⇒3 and a⇒0 + commit -m b⇒3 and a⇒0 on branch b + TIME=1112912000 + GIT_AUTHOR_DATE=@1112912000 +0000 GIT_COMMITTER_DATE=@1112912000 +0000 git commit -m b⇒3 and a⇒0 on branch b [b f3ef019] b⇒3 and a⇒0 on branch b 2 files changed, 2 insertions(+), 2 deletions(-) + modify b.txt 4 + filename=b.txt + text=4 + echo 4 + git add b.txt + msg=b⇒4 + test 4 = 2 + test 4 = 3 + commit -m b⇒4 on branch b + TIME=1112912001 + GIT_AUTHOR_DATE=@1112912001 +0000 GIT_COMMITTER_DATE=@1112912001 +0000 git commit -m b⇒4 on branch b [b 69d0c21] b⇒4 on branch b 1 file changed, 1 insertion(+), 1 deletion(-) + test_merge b-into-a-2 a b 1-2 1-3 + local name=b-into-a-2 + local dst=a + local src=b + local conflict1=1-2 + local conflict2=1-3 + git checkout a Switched to branch 'a' + git-imerge merge --branch=b-into-a-2 b + tee imerge-b-into-a-2-1.out 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. commit 2f1f75a7b49864d699f9e222c1d78078cfe01587 Author: Loú User Date: Thu Apr 7 22:13:15 2005 +0000 a⇒1 on branch a commit 48df77d20a6d16fe330e32ba17d5472d3868a622 Author: Loú User Date: Thu Apr 7 22:13:19 2005 +0000 b⇒2 and a⇒X on branch b 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... Original first commit: Original second commit: There was a conflict merging commit 1-2, shown above. Please resolve the conflict, commit the result, then type git-imerge continue + 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 44af501] imerge 'b': manual merge 1-2 Previous HEAD position was 3c839ff 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. commit 2f1f75a7b49864d699f9e222c1d78078cfe01587 Author: Loú User Date: Thu Apr 7 22:13:15 2005 +0000 a⇒1 on branch a commit f3ef01986be02ef5e40589b283c0385471ecca7d Author: Loú User Date: Thu Apr 7 22:13:20 2005 +0000 b⇒3 and a⇒0 on branch b 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]. Original first commit: Original second commit: 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 169048a] imerge 'b': manual merge 1-3 Merge has been recorded for merge 1-3. Attempting automerge of 1-4...success. Autofilling 1-4...success. Recording autofilled block MergeState('b', tip1='a', tip2='b', goal='merge')[0:2,3:5]. Attempting automerge of 3-4...success. Autofilling 2-4...success. Autofilling 3-3...success. Autofilling 3-4 (first way)...success. Autofilling 3-4 (second way)...success. The two ways of autofilling 3-4 agree. Recording autofilled block MergeState('b', tip1='a', tip2='b', goal='merge')[1:4,2:5]. Merge is complete! + grep -q Merge is complete imerge-b-into-a-2-3.out + git-imerge diagram --commits --frontier 0 3 | | 0 - **** - a *... **.. **?. 4 - *... | b 0 3 | | 0 - **** - a *..| **.| **?| 4 - *--+ | b Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + GIT_EDITOR=cat git-imerge finish Merge b into a (using imerge) # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # Date: Fri Oct 8 06:40:05 2021 +0000 # # On branch b-into-a-2 # Changes to be committed: # new file: b.txt # [b-into-a-2 cbedc52] Merge b into a (using imerge) Date: Fri Oct 8 06:40:05 2021 +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 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. commit 48df77d20a6d16fe330e32ba17d5472d3868a622 Author: Loú User Date: Thu Apr 7 22:13:19 2005 +0000 b⇒2 and a⇒X on branch b commit 2f1f75a7b49864d699f9e222c1d78078cfe01587 Author: Loú User Date: Thu Apr 7 22:13:15 2005 +0000 a⇒1 on branch a Attempting automerge of 4-3...success. Autofilling 1-3...success. Autofilling 2-3...unexpected conflict. Backtracking... Autofilling 1-1...success. Autofilling 1-2...success. Autofilling 1-3...success. Recording autofilled block MergeState('a', tip1='b', tip2='a', goal='merge')[0:2,0:4]. Autofilling 2-2...unexpected conflict. Backtracking... Autofilling 2-1...unexpected conflict. Backtracking... Original first commit: Original second commit: 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 93c5ccd] imerge 'a': manual merge 2-1 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. commit f3ef01986be02ef5e40589b283c0385471ecca7d Author: Loú User Date: Thu Apr 7 22:13:20 2005 +0000 b⇒3 and a⇒0 on branch b commit 2f1f75a7b49864d699f9e222c1d78078cfe01587 Author: Loú User Date: Thu Apr 7 22:13:15 2005 +0000 a⇒1 on branch a 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. Original first commit: Original second commit: 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 9cd4da5] imerge 'a': manual merge 3-1 Merge has been recorded for merge 3-1. Attempting automerge of 3-3...success. Autofilling 3-2...success. Autofilling 3-3...success. Recording autofilled block MergeState('a', tip1='b', tip2='a', goal='merge')[2:4,1:4]. Attempting automerge of 4-3...success. Autofilling 4-1...success. Autofilling 4-2...success. Autofilling 4-3...success. Recording autofilled block MergeState('a', tip1='b', tip2='a', goal='merge')[3:5,0:4]. Merge is complete! + grep -q Merge is complete imerge-a-into-b-2-3.out + git-imerge diagram --commits --frontier 0 4 | | 0 - ***** - b *.**. *.... 3 - *.... | a 0 4 | | 0 - ***** - b *.**| *...| 3 - *---+ | a Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + GIT_EDITOR=cat git-imerge finish Merge a into b (using imerge) # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # Date: Fri Oct 8 06:40:07 2021 +0000 # # On branch a-into-b-2 # Changes to be committed: # modified: a.txt # [a-into-b-2 f4cf751] Merge a into b (using imerge) Date: Fri Oct 8 06:40:07 2021 +0000 + flip_flop_test 3 + local n=3 + TMP=/build/git-imerge-SrL9ZB/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/git-imerge-SrL9ZB/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/git-imerge-SrL9ZB/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/git-imerge-SrL9ZB/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/git-imerge-SrL9ZB/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/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/flip-flop-3 + mkdir -p /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/flip-flop-3 + git init /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/flip-flop-3 Initialized empty Git repository in /build/git-imerge-SrL9ZB/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/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/flip-flop-3/.git config user.name Loú User + git --git-dir=/build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/flip-flop-3/.git config user.email luser@example.com + TIME=1112911993 + ln -s /build/git-imerge-SrL9ZB/git-imerge-1.2.0/imerge.css /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/flip-flop-3 + cd /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/flip-flop-3 + modify a.txt 0 + filename=a.txt + text=0 + echo 0 + git add a.txt + commit -m m⇒0 + TIME=1112911994 + GIT_AUTHOR_DATE=@1112911994 +0000 GIT_COMMITTER_DATE=@1112911994 +0000 git commit -m m⇒0 [master (root-commit) a733afa] m⇒0 1 file changed, 1 insertion(+) create mode 100644 a.txt + git checkout -b a -- Switched to a new branch 'a' + modify a.txt 1 + filename=a.txt + text=1 + echo 1 + git add a.txt + commit -m a⇒1 on branch a + TIME=1112911995 + GIT_AUTHOR_DATE=@1112911995 +0000 GIT_COMMITTER_DATE=@1112911995 +0000 git commit -m a⇒1 on branch a [a 2f1f75a] a⇒1 on branch a 1 file changed, 1 insertion(+), 1 deletion(-) + modify a.txt 2 + filename=a.txt + text=2 + echo 2 + git add a.txt + commit -m a⇒2 on branch a + TIME=1112911996 + GIT_AUTHOR_DATE=@1112911996 +0000 GIT_COMMITTER_DATE=@1112911996 +0000 git commit -m a⇒2 on branch a [a 4700669] a⇒2 on branch a 1 file changed, 1 insertion(+), 1 deletion(-) + modify a.txt 3 + filename=a.txt + text=3 + echo 3 + git add a.txt + commit -m a⇒3 on branch a + TIME=1112911997 + GIT_AUTHOR_DATE=@1112911997 +0000 GIT_COMMITTER_DATE=@1112911997 +0000 git commit -m a⇒3 on branch a [a 621c381] a⇒3 on branch a 1 file changed, 1 insertion(+), 1 deletion(-) + git checkout -b b master -- Switched to a new branch 'b' + modify b.txt 1 + filename=b.txt + text=1 + echo 1 + git add b.txt + msg=b⇒1 + test 1 = 3 + test 1 = 4 + commit -m b⇒1 on branch b + TIME=1112911998 + GIT_AUTHOR_DATE=@1112911998 +0000 GIT_COMMITTER_DATE=@1112911998 +0000 git commit -m b⇒1 on branch b [b 1f7d097] b⇒1 on branch b 1 file changed, 1 insertion(+) create mode 100644 b.txt + modify b.txt 2 + filename=b.txt + text=2 + echo 2 + git add b.txt + msg=b⇒2 + test 2 = 3 + test 2 = 4 + commit -m b⇒2 on branch b + TIME=1112911999 + GIT_AUTHOR_DATE=@1112911999 +0000 GIT_COMMITTER_DATE=@1112911999 +0000 git commit -m b⇒2 on branch b [b ce671e9] b⇒2 on branch b 1 file changed, 1 insertion(+), 1 deletion(-) + modify b.txt 3 + filename=b.txt + text=3 + echo 3 + git add b.txt + msg=b⇒3 + test 3 = 3 + modify a.txt X + filename=a.txt + text=X + echo X + git add a.txt + msg=b⇒3 and a⇒X + test 3 = 4 + commit -m b⇒3 and a⇒X on branch b + TIME=1112912000 + GIT_AUTHOR_DATE=@1112912000 +0000 GIT_COMMITTER_DATE=@1112912000 +0000 git commit -m b⇒3 and a⇒X on branch b [b d40495e] b⇒3 and a⇒X on branch b 2 files changed, 2 insertions(+), 2 deletions(-) + modify b.txt 4 + filename=b.txt + text=4 + echo 4 + git add b.txt + msg=b⇒4 + test 4 = 3 + test 4 = 4 + modify a.txt 0 + filename=a.txt + text=0 + echo 0 + git add a.txt + msg=b⇒4 and a⇒0 + commit -m b⇒4 and a⇒0 on branch b + TIME=1112912001 + GIT_AUTHOR_DATE=@1112912001 +0000 GIT_COMMITTER_DATE=@1112912001 +0000 git commit -m b⇒4 and a⇒0 on branch b [b eb736f2] b⇒4 and a⇒0 on branch b 2 files changed, 2 insertions(+), 2 deletions(-) + test_merge b-into-a-3 a b 1-3 1-4 + local name=b-into-a-3 + local dst=a + local src=b + local conflict1=1-3 + local conflict2=1-4 + git checkout a Switched to branch 'a' + git-imerge merge --branch=b-into-a-3 b + tee imerge-b-into-a-3-1.out 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. commit 2f1f75a7b49864d699f9e222c1d78078cfe01587 Author: Loú User Date: Thu Apr 7 22:13:15 2005 +0000 a⇒1 on branch a commit d40495ed379f376841e517047f90b663e8c7c7e1 Author: Loú User Date: Thu Apr 7 22:13:20 2005 +0000 b⇒3 and a⇒X on branch b 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... Original first commit: Original second commit: 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 c7c8a55] imerge 'b': manual merge 1-3 Previous HEAD position was ac6cb88 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. commit 2f1f75a7b49864d699f9e222c1d78078cfe01587 Author: Loú User Date: Thu Apr 7 22:13:15 2005 +0000 a⇒1 on branch a commit eb736f2ae81944f79f443fd39a89adf74dbc907a Author: Loú User Date: Thu Apr 7 22:13:21 2005 +0000 b⇒4 and a⇒0 on branch b 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]. Original first commit: Original second commit: 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 a3c254f] imerge 'b': manual merge 1-4 Merge has been recorded for merge 1-4. Attempting automerge of 3-4...success. Autofilling 2-4...success. Autofilling 3-4...success. Recording autofilled block MergeState('b', tip1='a', tip2='b', goal='merge')[1:4,3:5]. Merge is complete! + grep -q Merge is complete imerge-b-into-a-3-3.out + git-imerge diagram --commits --frontier 0 3 | | 0 - **** - a *??. *... **.. 4 - **.. | b 0 3 | | 0 - **** - a *??| *..| **.| 4 - **-+ | b Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + GIT_EDITOR=cat git-imerge finish Merge b into a (using imerge) # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # Date: Fri Oct 8 06:40:09 2021 +0000 # # On branch b-into-a-3 # Changes to be committed: # new file: b.txt # [b-into-a-3 e709ac5] Merge b into a (using imerge) Date: Fri Oct 8 06:40:09 2021 +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 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. commit d40495ed379f376841e517047f90b663e8c7c7e1 Author: Loú User Date: Thu Apr 7 22:13:20 2005 +0000 b⇒3 and a⇒X on branch b commit 2f1f75a7b49864d699f9e222c1d78078cfe01587 Author: Loú User Date: Thu Apr 7 22:13:15 2005 +0000 a⇒1 on branch a 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... Original first commit: Original second commit: 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 eef3468] imerge 'a': manual merge 3-1 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. commit eb736f2ae81944f79f443fd39a89adf74dbc907a Author: Loú User Date: Thu Apr 7 22:13:21 2005 +0000 b⇒4 and a⇒0 on branch b commit 2f1f75a7b49864d699f9e222c1d78078cfe01587 Author: Loú User Date: Thu Apr 7 22:13:15 2005 +0000 a⇒1 on branch a 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. Original first commit: Original second commit: 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 06626a2] imerge 'a': manual merge 4-1 Merge has been recorded for merge 4-1. Attempting automerge of 4-3...success. Autofilling 4-2...success. Autofilling 4-3...success. Recording autofilled block MergeState('a', tip1='b', tip2='a', goal='merge')[3:5,1:4]. Merge is complete! + grep -q Merge is complete imerge-a-into-b-3-3.out + git-imerge diagram --commits --frontier 0 4 | | 0 - ***** - b *?.** *?... 3 - *.... | a 0 4 | | 0 - ***** - b *?.** *?..| 3 - *---+ | a Key: |,-,+ = rectangles forming current merge frontier * = merge done manually . = merge done automatically # = conflict that is currently blocking progress @ = merge was blocked but has been resolved ? = no merge recorded + GIT_EDITOR=cat git-imerge finish Merge a into b (using imerge) # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # Date: Fri Oct 8 06:40:11 2021 +0000 # # On branch a-into-b-3 # Changes to be committed: # modified: a.txt # [a-into-b-3 7d9bbfe] Merge a into b (using imerge) Date: Fri Oct 8 06:40:11 2021 +0000 py38 run-test: commands[5] | /bin/sh t/test-drop + dirname t/test-drop + cd t + pwd + dirname /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t + BASE=/build/git-imerge-SrL9ZB/git-imerge-1.2.0 + . /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/test-lib.sh + GIT_IMERGE=git-imerge + TMP=/build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/drop + DESCRIPTION=git-imerge drop test repository + init_test_repo /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/drop git-imerge drop test repository + local path=/build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/drop + local description=git-imerge drop test repository + delete_test_repo /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/drop git-imerge drop test repository + local path=/build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/drop + local description=git-imerge drop test repository + test -d /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/drop + mkdir -p /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/drop + git init /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/drop Initialized empty Git repository in /build/git-imerge-SrL9ZB/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/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/drop/.git config user.name Loú User + git --git-dir=/build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/drop/.git config user.email luser@example.com + TIME=1112911993 + ln -s /build/git-imerge-SrL9ZB/git-imerge-1.2.0/imerge.css /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/drop + cd /build/git-imerge-SrL9ZB/git-imerge-1.2.0/t/tmp/drop + modify a.txt 0 + filename=a.txt + text=0 + echo 0 + git add a.txt + commit -m m⇒0 + TIME=1112911994 + GIT_AUTHOR_DATE=@1112911994 +0000 GIT_COMMITTER_DATE=@1112911994 +0000 git commit -m m⇒0 [master (root-commit) a733afa] m⇒0 1 file changed, 1 insertion(+) create mode 100644 a.txt + seq 6 + modify a1.txt 1 + filename=a1.txt + text=1 + echo 1 + git add a1.txt + commit -m a1⇒1 + TIME=1112911995 + GIT_AUTHOR_DATE=@1112911995 +0000 GIT_COMMITTER_DATE=@1112911995 +0000 git commit -m a1⇒1 [master 389a4ba] a1⇒1 1 file changed, 1 insertion(+) create mode 100644 a1.txt + modify a2.txt 2 + filename=a2.txt + text=2 + echo 2 + git add a2.txt + commit -m a2⇒2 + TIME=1112911996 + GIT_AUTHOR_DATE=@1112911996 +0000 GIT_COMMITTER_DATE=@1112911996 +0000 git commit -m a2⇒2 [master 4785218] a2⇒2 1 file changed, 1 insertion(+) create mode 100644 a2.txt + modify a3.txt 3 + filename=a3.txt + text=3 + echo 3 + git add a3.txt + commit -m a3⇒3 + TIME=1112911997 + GIT_AUTHOR_DATE=@1112911997 +0000 GIT_COMMITTER_DATE=@1112911997 +0000 git commit -m a3⇒3 [master 34bdde3] a3⇒3 1 file changed, 1 insertion(+) create mode 100644 a3.txt + modify a4.txt 4 + filename=a4.txt + text=4 + echo 4 + git add a4.txt + commit -m a4⇒4 + TIME=1112911998 + GIT_AUTHOR_DATE=@1112911998 +0000 GIT_COMMITTER_DATE=@1112911998 +0000 git commit -m a4⇒4 [master c793a5a] a4⇒4 1 file changed, 1 insertion(+) create mode 100644 a4.txt + modify a5.txt 5 + filename=a5.txt + text=5 + echo 5 + git add a5.txt + commit -m a5⇒5 + TIME=1112911999 + GIT_AUTHOR_DATE=@1112911999 +0000 GIT_COMMITTER_DATE=@1112911999 +0000 git commit -m a5⇒5 [master b42f60c] a5⇒5 1 file changed, 1 insertion(+) create mode 100644 a5.txt + modify a6.txt 6 + filename=a6.txt + text=6 + echo 6 + git add a6.txt + commit -m a6⇒6 + TIME=1112912000 + GIT_AUTHOR_DATE=@1112912000 +0000 GIT_COMMITTER_DATE=@1112912000 +0000 git commit -m a6⇒6 [master 9d6aec5] a6⇒6 1 file changed, 1 insertion(+) create mode 100644 a6.txt + git checkout -b dropped master Switched to a new branch 'dropped' + git-imerge drop HEAD~5..HEAD~3 Note: switching to '34bdde3a6a5b6b9c8bcac5aa36109195e2a3dc7a^0'. You are in 'detached HEAD' state. You can look around, make experimental changes and commit them, and you can discard any commits you make in this state without impacting any branches by switching back to a branch. If you want to create a new branch to retain commits you create, you may do so (now or later) by using -c with the switch command. Example: git switch -c Or undo this operation with: git switch - Turn off this advice by setting config variable advice.detachedHead to false HEAD is now at 34bdde3 a3⇒3 Removing a3.txt [detached HEAD a48148f] Revert "a3⇒3" Date: Fri Oct 8 06:40:11 2021 +0000 1 file changed, 1 deletion(-) delete mode 100644 a3.txt Removing a2.txt [detached HEAD 9090508] Revert "a2⇒2" Date: Fri Oct 8 06:40:11 2021 +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='90905089bc420338a2646b2c9537676ce3779eaf', goal='drop')[0:4,0:3]. Merge is complete! + git-imerge diagram --commits --frontier --html=imerge-drop.html 0 3 | | 0 - **** - dropped *??. 2 - *... | 90905089bc420338a2646b2c9537676ce3779eaf 0 3 | | 0 - **** - dropped *??| 2 - *--+ | 90905089bc420338a2646b2c9537676ce3779eaf Key: |,-,+ = rectangles forming current 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 Removing a3.txt [detached HEAD 8a1767c] Revert "a3⇒3" Date: Fri Oct 8 06:40:12 2021 +0000 1 file changed, 1 deletion(-) delete mode 100644 a3.txt Removing a2.txt [detached HEAD 0682678] Revert "a2⇒2" Date: Fri Oct 8 06:40:12 2021 +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='06826787941879856d6a1daa276c001b134abc98', goal='revert')[0:4,0:3]. Merge is complete! + git-imerge diagram --commits --frontier --html=imerge-revert.html 0 3 | | 0 - **** - reverted *??. 2 - *... | 06826787941879856d6a1daa276c001b134abc98 0 3 | | 0 - **** - reverted *??| 2 - *--+ | 06826787941879856d6a1daa276c001b134abc98 Key: |,-,+ = rectangles forming current 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 ___________________________________ summary ____________________________________ py38: commands succeeded congratulations :) create-stamp debian/debhelper-build-stamp dh_testroot -i -O--buildsystem=pybuild dh_prep -i -O--buildsystem=pybuild dh_auto_install -i -O--buildsystem=pybuild I: pybuild base:217: /usr/bin/python3 setup.py install --root /build/git-imerge-SrL9ZB/git-imerge-1.2.0/debian/git-imerge running install running build running build_py running install_lib creating /build/git-imerge-SrL9ZB/git-imerge-1.2.0/debian/git-imerge/usr creating /build/git-imerge-SrL9ZB/git-imerge-1.2.0/debian/git-imerge/usr/lib creating /build/git-imerge-SrL9ZB/git-imerge-1.2.0/debian/git-imerge/usr/lib/python3.8 creating /build/git-imerge-SrL9ZB/git-imerge-1.2.0/debian/git-imerge/usr/lib/python3.8/dist-packages copying /build/git-imerge-SrL9ZB/git-imerge-1.2.0/.pybuild/cpython3_3.8/build/gitimerge.py -> /build/git-imerge-SrL9ZB/git-imerge-1.2.0/debian/git-imerge/usr/lib/python3.8/dist-packages byte-compiling /build/git-imerge-SrL9ZB/git-imerge-1.2.0/debian/git-imerge/usr/lib/python3.8/dist-packages/gitimerge.py to gitimerge.cpython-38.pyc running install_data creating /build/git-imerge-SrL9ZB/git-imerge-1.2.0/debian/git-imerge/usr/share creating /build/git-imerge-SrL9ZB/git-imerge-1.2.0/debian/git-imerge/usr/share/bash-completion creating /build/git-imerge-SrL9ZB/git-imerge-1.2.0/debian/git-imerge/usr/share/bash-completion/completions copying completions/git-imerge -> /build/git-imerge-SrL9ZB/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' writing manifest file 'git_imerge.egg-info/SOURCES.txt' Copying git_imerge.egg-info to /build/git-imerge-SrL9ZB/git-imerge-1.2.0/debian/git-imerge/usr/lib/python3.8/dist-packages/git_imerge-1.2.0.egg-info Skipping SOURCES.txt running install_scripts Installing git-imerge script to /build/git-imerge-SrL9ZB/git-imerge-1.2.0/debian/git-imerge/usr/bin dh_installdocs -i -O--buildsystem=pybuild dh_installchangelogs -i -O--buildsystem=pybuild dh_python3 -i -O--buildsystem=pybuild dh_installsystemduser -i -O--buildsystem=pybuild dh_perl -i -O--buildsystem=pybuild dh_link -i -O--buildsystem=pybuild dh_strip_nondeterminism -i -O--buildsystem=pybuild dh_compress -i -O--buildsystem=pybuild dh_fixperms -i -O--buildsystem=pybuild dh_missing -i -O--buildsystem=pybuild dh_installdeb -i -O--buildsystem=pybuild dh_gencontrol -i -O--buildsystem=pybuild dh_md5sums -i -O--buildsystem=pybuild dh_builddeb -i -O--buildsystem=pybuild dpkg-deb: building package 'git-imerge' in '../git-imerge_1.2.0-3_all.deb'. dpkg-genbuildinfo --build=all dpkg-genchanges --build=all >../git-imerge_1.2.0-3_all.changes dpkg-genchanges: info: binary-only arch-indep upload (source code and arch-specific packages not included) dpkg-source --after-build . dpkg-buildpackage: info: binary-only upload (no source included) I: running special hook: sync-out /build/git-imerge-SrL9ZB /tmp/git-imerge-1.2.0-3y49ikl6r I: cleaning package lists and apt cache... I: creating tarball... I: done I: removing tempdir /tmp/mmdebstrap.03LlytD2RZ... I: success in 395.8515 seconds md5: git-imerge_1.2.0-3_all.deb: OK sha1: git-imerge_1.2.0-3_all.deb: OK sha256: git-imerge_1.2.0-3_all.deb: OK Checksums: OK