From: Junio C Hamano <gitster@pobox.com>
To: Christian Heusel <christian@heusel.eu>
Cc: Colin Stagner <ask+git@howdoi.land>,
git@vger.kernel.org, Christian Hesse <list@eworm.de>
Subject: Re: [regression][bisected] git-subtree remote desynchronization
Date: Sat, 24 Jan 2026 18:44:05 -0800 [thread overview]
Message-ID: <xmqqikcql8cq.fsf@gitster.g> (raw)
In-Reply-To: <755578cb-07e0-4b40-aa90-aacf4d45ccaa@heusel.eu> (Christian Heusel's message of "Sat, 24 Jan 2026 12:43:42 +0100")
Christian Heusel <christian@heusel.eu> writes:
> What did you do before the bug happened? (Steps to reproduce your issue)
>
> I have upgraded my local git installation from v2.53.0-rc0 to 2.53.0-rc1 and
> noticed that I can not use my local packaging repository monorepo (via
> aurpublish) anymore.
>
> The steps for reproduction are the following:
>
> 1. Update to the 2.53.0-rc1 git release candidate
> 2. Clone my monorepo for packages in the Arch User Repository:
> ```
> git clone https://github.com/christian-heusel/aur.git && cd aur
> ```
> 3. Push changes to one of the contained subtree remotes (this would normally be
> done via `aurpublish google-chrome`):
> ```
> git subtree push -P "google-chrome" ssh://aur.archlinux.org/google-chrome.git master
> ```
Thanks for noticing and reporting a regression before the change got
released in an official release.
If a fix materializes and gets verified before -rc2 (scheduled for
coming Tuesday), we should revert the merge of the problematic
topic.
> What did you expect to happen? (Expected behavior)
>
> There are no changes expected since the repositories are synced after each
> modification to publish the updates to the AUR:
> ```
> $ git subtree push -P "google-chrome" ssh://aur.archlinux.org/google-chrome.git master
> git push using: ssh://aur.archlinux.org/google-chrome.git master
> Everything up-to-date
> ```
>
> What happened instead? (Actual behavior)
>
> ```
> $ git subtree push -P "google-chrome" ssh://aur.archlinux.org/google-chrome.git master
> git push using: ssh://aur.archlinux.org/google-chrome.git master
> To ssh://aur.archlinux.org/google-chrome.git
> ! [rejected] 70b3d81e370936e96f98d0aba357490b75ade7a9 -> master (non-fast-forward)
> error: failed to push some refs to 'ssh://aur.archlinux.org/google-chrome.git'
> hint: Updates were rejected because a pushed branch tip is behind its remote
> hint: counterpart. If you want to integrate the remote changes, use 'git pull'
> hint: before pushing again.
> hint: See the 'Note about fast-forwards' in 'git push --help' for details.
> ```
>
> What's different between what you expected and what actually happened?
>
> I would expect the `git subtree push` command to stay functionally equivalent
> and the change mentioned above regresses my workflow. This tool and setup is
> also not really special as a lot of users within the Arch Linux packaging
> ecosystem are relying on this workflow.
>
> Anything else you want to add:
>
> I have bisected the issue to the following commit:
>
> 28a7e27cff ("contrib/subtree: detect rewritten subtree commits")
>
> This is my bisection log:
> ```
> $ git bisect start
> # status: waiting for both good and bad commits
> # good: [7264e61d87e58b9d0f5e6424c47c11e9657dfb75] Git 2.53-rc0
> git bisect good 7264e61d87e58b9d0f5e6424c47c11e9657dfb75
> # status: waiting for bad commit, 1 good commit known
> # bad: [83a69f19359e6d9bc980563caca38b2b5729808c] Git 2.53-rc1
> git bisect bad 83a69f19359e6d9bc980563caca38b2b5729808c
> # bad: [0a5dcc1259fa0c8f5c21352c90b3cd3d43273345] Merge branch 'tb/macos-iconv-workarounds'
> git bisect bad 0a5dcc1259fa0c8f5c21352c90b3cd3d43273345
> # good: [ffae4da0128e035acd1887654c98b4f02785adec] Merge branch 'kh/doc-patch-id'
> git bisect good ffae4da0128e035acd1887654c98b4f02785adec
> # good: [6edbb7b1d0b50c70e2af0b5f68b7db0984b10be2] Merge branch 'en/fsck-snapshot-ref-state'
> git bisect good 6edbb7b1d0b50c70e2af0b5f68b7db0984b10be2
> # good: [9813aace1e52765e01e688672cdcdcbe25336ec7] Merge branch 'je/doc-reset'
> git bisect good 9813aace1e52765e01e688672cdcdcbe25336ec7
> # good: [d28124151851e42a3bb92963f5b747ad843f33e0] utf8.c: enable workaround for iconv under macOS 14/15
> git bisect good d28124151851e42a3bb92963f5b747ad843f33e0
> # bad: [79e3055baba32e2952e6e8994cdcd4fc145ba7f0] Merge branch 'cs/rebased-subtree-split'
> git bisect bad 79e3055baba32e2952e6e8994cdcd4fc145ba7f0
> # bad: [28a7e27cff717e5ef91f7445e6a418068608082d] contrib/subtree: detect rewritten subtree commits
> git bisect bad 28a7e27cff717e5ef91f7445e6a418068608082d
> # first bad commit: [28a7e27cff717e5ef91f7445e6a418068608082d] contrib/subtree: detect rewritten subtree commits
> ```
next prev parent reply other threads:[~2026-01-25 2:44 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-01-24 11:43 [regression][bisected] git-subtree remote desynchronization Christian Heusel
2026-01-25 2:44 ` Junio C Hamano [this message]
2026-01-25 4:51 ` Junio C Hamano
2026-01-26 5:14 ` Colin Stagner
2026-01-26 14:12 ` Christian Heusel
2026-02-15 21:05 ` Colin Stagner
2026-01-26 17:32 ` Junio C Hamano
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=xmqqikcql8cq.fsf@gitster.g \
--to=gitster@pobox.com \
--cc=ask+git@howdoi.land \
--cc=christian@heusel.eu \
--cc=git@vger.kernel.org \
--cc=list@eworm.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox