From: Sylvain Joyeux <sylvain.joyeux@dfki.de>
To: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Cc: Junio C Hamano <gitster@pobox.com>,
Lars Hjemli <hjemli@gmail.com>, Ping Yin <pkufranky@gmail.com>,
Mark Levedahl <mlevedahl@gmail.com>,
git@vger.kernel.org
Subject: Re: [PATCH] better git-submodule status output
Date: Mon, 7 Jul 2008 08:21:49 +0200 [thread overview]
Message-ID: <20080707062142.GA5506@jhaampe.org> (raw)
In-Reply-To: <alpine.DEB.1.00.0807061821340.7342@eeepc-johanness>
> IOW the mail body should look like the output of format-patch, optionally
> some comments between "--" and the diffstat.
>
> Write a patch for SubmittingPatches.
I shall do that :)
> > > Not yet. Will test/comment when the spurious "fetch" is fixed.
> >
> > I thought that the only thing that 'fetch' does is update FETCH_HEAD.
>
> Uhoh. 'fetch' fetches. Which means it does not only update something.
Yes, it fetches objects (admittedly, it updates something on the current
partition), but AFAIK does not change the state of the repository. So I thought
that it could be considered as a no-op from the repo point of view. The idea
behind the 'fetch' thing was to get the latest objects from the repository,
therefore being able to know the relationship between the currently committed
submodule state
> There are three states that are interesting:
>
> - the committed submodule state:
>
> You get this in the superproject by "git ls-tree HEAD -- <dir>"
>
> - the local HEAD of the submodule:
>
> (cd "<dir>" && git rev-parse --verify HEAD)
>
> - the HEAD of the default branch of the upstream repository of the
> submodule:
>
> (cd "<dir>" && git ls-remote origin HEAD)
> NOTE: this does not have to do _anything_ with the submodule: you can
> easily have two independent branches (see "html" and "next" in git.git),
> and the submodule is free to be pinned to whatever commit is available
> in the upstream repository.
>
> It is even possible that it is pinned to a commit that is only reachable
> from a tag, not from a branch.
Then when you initialize your submodules it will be unable to fetch the commit
object, isn't it ? Since git-submodule clones origin/HEAD, the submodule state
committed in the repository must be reachable from origin/HEAD.
Or the third interesting state is not "the default branch of the upstream
repository of the submodule", i.e. origin/HEAD, but the
most-probably-interesting-branch, i.e. the branch configured in .git/config as
being fetched for the current branch of the local submodule HEAD.
That is the point of this patch. It make clear, *for all registered submodules*,
what is the current relationship between the current submodule state committed
in the repository and the current submodule HEAD. The "fetch" is there to take
into account the fact that the submodule state may not yet be available locally.
Best,
--
Sylvain
next prev parent reply other threads:[~2008-07-07 6:22 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-07-01 15:01 [PATCH] better git-submodule status output Sylvain Joyeux
2008-07-06 6:19 ` Junio C Hamano
2008-07-06 12:57 ` Johannes Schindelin
2008-07-06 16:07 ` Sylvain Joyeux
2008-07-06 16:29 ` Johannes Schindelin
2008-07-07 6:21 ` Sylvain Joyeux [this message]
2008-07-07 14:25 ` Avery Pennarun
2008-07-07 14:34 ` Johannes Schindelin
2008-07-07 14:37 ` Johannes Schindelin
2008-07-07 14:57 ` Sylvain Joyeux
2008-07-07 15:21 ` Johannes Schindelin
2008-07-07 15:42 ` Sylvain Joyeux
2008-07-07 18:20 ` Junio C Hamano
2008-07-07 18:29 ` Avery Pennarun
2008-07-07 19:51 ` Junio C Hamano
2008-07-08 8:00 ` Sylvain Joyeux
2008-07-08 11:21 ` Johannes Schindelin
2008-07-08 12:22 ` Sylvain Joyeux
2008-07-08 13:00 ` Johannes Schindelin
2008-07-08 13:12 ` Sylvain Joyeux
2008-07-07 14:57 ` Avery Pennarun
2008-07-07 15:23 ` Johannes Schindelin
2008-07-07 15:36 ` Avery Pennarun
2008-07-07 16:10 ` Johannes Schindelin
2008-07-07 15:52 ` Sylvain Joyeux
2008-07-07 15:00 ` Sylvain Joyeux
2008-07-06 13:14 ` Mark Levedahl
2008-07-09 10:13 ` Sylvain Joyeux
2008-07-09 10:25 ` Andreas Ericsson
2008-07-09 11:01 ` Sylvain Joyeux
2008-07-09 12:31 ` Johannes Schindelin
2008-07-09 13:46 ` Sylvain Joyeux
2008-07-09 13:54 ` Johannes Schindelin
2008-07-09 18:48 ` Junio C Hamano
-- strict thread matches above, loose matches on Subject: below --
2008-07-01 14:57 Sylvain Joyeux
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=20080707062142.GA5506@jhaampe.org \
--to=sylvain.joyeux@dfki.de \
--cc=Johannes.Schindelin@gmx.de \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=hjemli@gmail.com \
--cc=mlevedahl@gmail.com \
--cc=pkufranky@gmail.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;
as well as URLs for NNTP newsgroup(s).