git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
* .git/config validations by (for silly errors) by git fsck
@ 2019-05-06 18:19 Palauzov, Dilyan
  2019-05-06 23:31 ` Ævar Arnfjörð Bjarmason
  0 siblings, 1 reply; 2+ messages in thread
From: Palauzov, Dilyan @ 2019-05-06 18:19 UTC (permalink / raw)
  To: git@vger.kernel.org

Hello,

I added manually a remote to .git/config, but updated only the url= line, forgetting to update the fetch= line.  So two
remotes had
  fetch = +refs/heads/*:refs/remotes/origin/*

and fetching from the one or the other has overwritten origin/master.  git fsck has not helped.

Please introduce a check in git fcsk that triggers, when two different remotes share the same fetch line, or if the
fetch line does not reference the remote name.

Regards
  Дилян

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: .git/config validations by (for silly errors) by git fsck
  2019-05-06 18:19 .git/config validations by (for silly errors) by git fsck Palauzov, Dilyan
@ 2019-05-06 23:31 ` Ævar Arnfjörð Bjarmason
  0 siblings, 0 replies; 2+ messages in thread
From: Ævar Arnfjörð Bjarmason @ 2019-05-06 23:31 UTC (permalink / raw)
  To: Palauzov, Dilyan; +Cc: git@vger.kernel.org


On Mon, May 06 2019, Palauzov, Dilyan wrote:

> I added manually a remote to .git/config, but updated only the url= line, forgetting to update the fetch= line.  So two
> remotes had
>   fetch = +refs/heads/*:refs/remotes/origin/*
>
> and fetching from the one or the other has overwritten origin/master.  git fsck has not helped.
>
> Please introduce a check in git fcsk that triggers, when two different remotes share the same fetch line, or if the
> fetch line does not reference the remote name.

Pehaps we need a 0bc8d71b99 ("fetch: stop clobbering existing tags
without --force", 2018-08-31) but for remote branches :)

There could be room for something like this in some config-lint tool,
but what you're suggesting is not an error in the general case. There's
many use-cases for having remotes with overlapping or identical fetch
refspecs, e.g. maybe you fetch the "same" repo from two different URLs,
or one is a superset of the other (and can clobber the subset).

When you remove a remote there's even a check for this, we discover if
the refspecs exclusively "belong" to it (and then remove the remote
tracking branches), not if other remotes overlap.

Whether such a check would be viable would be one thing, but it wouldn't
currently belong in git-fsck, its job is to check the object database
for sanity, but perhaps there's cases where it makes sense to expand
that (e.g. shallow/narrow clones where you want a "full" check).

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2019-05-06 23:31 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-05-06 18:19 .git/config validations by (for silly errors) by git fsck Palauzov, Dilyan
2019-05-06 23:31 ` Ævar Arnfjörð Bjarmason

Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).