Re: "warning: Updating the currently checked out branch may cause confusion" on bare repositories

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

 



On Tue, Jan 19, 2010 at 10:59:06AM -0800, Shawn O. Pearce wrote:

> Adam Megacz <adam@xxxxxxxxxx> wrote:
> > "Shawn O. Pearce" <spearce@xxxxxxxxxxx> writes:
> > > That should already be the case.  Did you create the bare repository
> > > by taking a copy of a non-bare's .git directory?  Check your bare
> > > repository's config file and see if core.bare = false, if so set
> > > it to true to signal it really is bare.
> > 
> > Hrm, is there a reason why this is explicitly configured rather than
> > detected?
> 
> I don't know why we do this.  I think its because the guessing
> logic can guess wrong sometimes.

Yup, although I am having trouble finding any actual discussion of when
it can go wrong. There is some mention here:

  http://article.gmane.org/gmane.comp.version-control.git/35993

and a little bit here in the 1.5.0 release notes:

  http://article.gmane.org/gmane.comp.version-control.git/39612

But the latter talks about the heuristic being "does it end with .git",
which I don't think we actually use anymore. So who knows if the
heuristic failures are even trigger-able anymore. I tried looking at the
setup code for an answer, but my eyes started bleeding from the horrible
spaghetti code and I couldn't make out any of the text.

> Its rare to see it fail.  But I think it can fail if you create
> a file called HEAD in the top level of your source code tree.
> (For example.)

I don't think that would do it. When looking for a git dir we check for
a well-formed HEAD, as well as objects and refs directories. The is_bare
check seems to be more about "did we actually find a workdir" these
days.

-Peff
--
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]