Subject: Re: [PATCH] better git-submodule status output

From: Junio C Hamano <[email-masked]>
Date: Mon, 07 Jul 2008 11:20:08 -0700

Sylvain Joyeux <[email-masked]> writes:

> Is it possible to make 'fetch' only .. well .. fetch objects, without
> updating any refs?

Not very easily, and that is very deliberate.  The objects fetched will
become dangling if you allowed such a mode of operation, and will
immediately become subject to gc.

As Avery said, when the user asks "what's the status" in the superproject,
"the superproject binds a commit you do not have locally at these paths"
is a perfectly valid answer, and as Dscho argues, it is not good to avoid
giving that answer by running fetch behind the user's back.

And the thing is, if you do the "without updating refs" fetch, I think you
would make things even worse.  The superproject status will then may say
that you have everything you need, but the commit is not anchored with any
ref in the subproject repository and can be gc'ed at any time.  The answer
you gave to the "status" request cannot be trusted anymore.

By honestly saying "The superproject binds a commit you do not have
locally at these paths", the user *can* choose *when* to go there and
update, or have "git submodule update" command to that for him.