Re: Recovering from a bad object

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



* Junio C Hamano <gitster@xxxxxxxxx> wrote:

> > The object is likely at kernel.org.
> > Can git go fetch it somehow?
> 
> The protocol is designed specifically to disallow "I guessed that the
> trade secret is contained within an object whose object name is this,
> please feed me that object" kind of requests, so in general no.

Maybe the local side (in some special repair mode) could check if
some of the remote refs (and their referenced graphs) are broken
and refetch them completely. If the remote side(s) got the objects
you're missing (visibile to you), you'll be done after that.

For example:

A local branch "foo" is based on origin/master, somewhere in the
line behind origin/master some objects are broken:

It would find out that origin/master points to broken/missing objects
and refetch it completely afresh (same as it would if they had never
been fetched yet).


Perhaps it's not that hard to implement: just requires a special
git-fetch operation mode that ignores locally existing objects,
and a few lines of shell code that simply fetches the whole remote
to some temporary namespaces (and drop that when done). Ends up in
the same traffic as a fresh clone, but at least runs automatically.


cu
-- 
----------------------------------------------------------------------
 Enrico Weigelt, metux IT service -- http://www.metux.de/

 phone:  +49 36207 519931  email: weigelt@xxxxxxxx
 mobile: +49 151 27565287  icq:   210169427         skype: nekrad666
----------------------------------------------------------------------
 Embedded-Linux / Portierung / Opensource-QM / Verteilte Systeme
----------------------------------------------------------------------
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]