Git development
 help / color / mirror / Atom feed
From: Phillip Wood <phillip.wood123@gmail.com>
To: "Anselm Schüler" <mail@anselmschueler.com>, git@vger.kernel.org
Subject: Re: Git maintenance fails without meaningful error message if any remote is no longer available
Date: Tue, 5 May 2026 10:59:32 +0100	[thread overview]
Message-ID: <5e3bcfdb-d3aa-4494-81d6-15b0dfd43af1@gmail.com> (raw)
In-Reply-To: <0f3ef394-d96a-42f2-825d-53cb475a2363@anselmschueler.com>

Hi Anselm

On 30/04/2026 00:13, Anselm Schüler wrote:
> I have a repo with multiple remotes, one of which no longer exists. When 
> git-maintenance runs on it, it fails during the prefetch stage because 
> that remote doesn’t exist anymore, and gives a mostly unhelpful error 
> message:
> 
> $ git maintenance run --schedule=daily
> ERROR: Repository not found.
> fatal: Could not read from remote repository.
> 
> Please make sure you have the correct access rights
> and the repository exists.
> error: failed to prefetch remotes
> error: task 'prefetch' failed
> 
> I think that
> 1. git-maintenance should report which remote it’s encountering an error on
> 2. git-maintenance should continue fetching other remotes even if one fails

Since c75662bfc9 (maintenance: running maintenance should not stop on 
errors, 2024-04-24) which is in git 2.45.3 the systemd timer files 
installed by "git maintenance start" use "git for-each-repo --keep-going 
--config=..." to avoid this problem. Unfortunately we don't have a way 
to automatically upgrade the timer files for users who ran "git 
maintenance start" before that. I think if you run

	git maintenance stop
	git maintenance start

It will delete the old timer files and install the new ones. If that 
does not work you'll need to manually edit the files and add 
"--keep-going" to "git for-each-repo".

Thanks

Phillip

> Now, on my system, the systemd timers for git-maintenance use git-for- 
> each-repo. Not sure if that’s upstream behaviour or something Nix/home- 
> manager does. But if it is upstream behaviour, it would also be great to 
> report the repo the error comes from, since I basically had to guess 
> right now which repo was erroring. Luckily I have only three repos under 
> maintenance so that was fine.
> 
> Let me know if you agree that this should be done. I would be open to 
> writing a patch (no promises though)
> 
> Anselm
> 
> 


  reply	other threads:[~2026-05-05  9:59 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-04-29 23:13 Git maintenance fails without meaningful error message if any remote is no longer available Anselm Schüler
2026-05-05  9:59 ` Phillip Wood [this message]
2026-05-05 10:05   ` Anselm Schüler
2026-05-06 14:06     ` Phillip Wood

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=5e3bcfdb-d3aa-4494-81d6-15b0dfd43af1@gmail.com \
    --to=phillip.wood123@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=mail@anselmschueler.com \
    /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