git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Ping Yin" <pkufranky@gmail.com>
To: "Junio C Hamano" <gitster@pobox.com>
Cc: "Johannes Sixt" <j.sixt@viscovery.net>,
	"Git Mailing List" <git@vger.kernel.org>
Subject: Re: [regression?] "git status -a" reports modified for empty submodule directory
Date: Wed, 30 Apr 2008 23:56:29 +0800	[thread overview]
Message-ID: <46dff0320804300856w941d948rbcc1cee06f1b41a9@mail.gmail.com> (raw)
In-Reply-To: <7vej8n3imp.fsf@gitster.siamese.dyndns.org>

On Wed, Apr 30, 2008 at 3:29 PM, Junio C Hamano <gitster@pobox.com> wrote:
>
>
>  For example, it has long been known ever since submodules were introduced
>  that if you work inside a sparsely checked out supermodule you have to use
>  "commit -a" with care, because the command notices missing submodule, and
>  there is no way for it to differenciate between the case you _want to_
>  remove it and the case you did not care about it,

If i am not misunderstood, there is one way now (although broken now,
it used this kind of behaviour before git-status became built-in):
empty directory to denote that the submodule is not checked out and
unaware, and deleted directory to denote that the submodule is
deleted.

Actually, i don't like the empty directory trick, since it will leave
so many empty directories in a repository with many submodules
unchecked out.

>
>  That quirk was something people could live with while submodule support
>  was merely a newly invented curiosity.  But I do not think a command at
>  high level (iow Porcelain) such as commit and status should be left
>  unaware of the Policy that equate missing submodule and unmodified one
>  forever.  We should actively enforce the policy, so that unless you
>  explicitly ask nicely, the command should consider a missing submodule
>  just as unmodified, e.g. "commit -a" should not remove unchecked out
>  submodules.
>
>  But then you would need a way to ask nicely.  How?  Perhaps using "git rm",
>  and low level "update-index --remove".  Do we even need "commit -A"?  I
>  doubt it --- you do not remove submodules every day.
>
>  We'd like to keep the lowest-level unaware of the Policy, which means that
>  "diff-files" and "diff-index" should report unchecked out submodules.
>  Otherwise script writers will be left with no way to differenciate missing
>  and removed submodules.

Good point.

>
>  Once we start doing this, I think "git diff" Porcelain should fall into
>  Policy-aware category.
>

Agree this pilicy.

If this change needs a long way. Should we fix the regression first?
Anyway, 'git status' and 'git status -a' should behave the same for
submodules unchecked out. I have tried but i failed. I just found this
regression was introduced on the first day of built-in status

-- 
Ping Yin

  reply	other threads:[~2008-04-30 15:57 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-04-22 11:01 [regression?] "git status -a" reports modified for empty submodule directory Ping Yin
2008-04-22 11:04 ` Ping Yin
2008-04-22 12:15 ` Johannes Sixt
2008-04-22 12:39   ` Ping Yin
2008-04-22 12:46     ` Johannes Sixt
2008-04-22 18:00     ` Roman Shaposhnik
2008-04-29 15:31 ` Ping Yin
2008-04-29 16:07   ` [PATCH 0/2] Add tests for submodule with empty directory Ping Yin
2008-04-29 16:07     ` [PATCH 1/2] t4027: test diff " Ping Yin
2008-04-29 16:07       ` [PATCH 2/2] Add t7506 to test submodule related functions for git-status Ping Yin
2008-04-29 21:40   ` [regression?] "git status -a" reports modified for empty submodule directory Junio C Hamano
2008-04-30  6:39     ` Johannes Sixt
2008-04-30  7:29       ` Junio C Hamano
2008-04-30 15:56         ` Ping Yin [this message]
2008-05-02 13:35           ` [PATCH 0/4] Fix regression for unchecked out submodules Ping Yin
2008-05-02 13:35             ` [PATCH 1/4] t4027: test diff for submodule with empty directory Ping Yin
2008-05-02 13:35               ` [PATCH 2/4] Add t7506 to test submodule related functions for git-status Ping Yin
2008-05-02 13:35                 ` [PATCH 3/4] Fix diff regression for submodules not checked out Ping Yin
2008-05-02 13:35                   ` [PATCH 4/4] Fix ie_match_stat for non-checked-out submodule Ping Yin
2008-05-02 21:57                     ` Junio C Hamano
2008-05-02 23:34                       ` Ping Yin
2008-05-02 22:23                   ` [PATCH 3/4] Fix diff regression for submodules not checked out Junio C Hamano
2008-05-02 23:55                     ` Ping Yin
2008-05-03  0:07                     ` [PATCH] Rename ENT_INEXISTENT to ENT_NONEXISTENT Ping Yin
2008-05-03 12:36                     ` [PATCH 3/4] Fix diff regression for submodules not checked out Johannes Schindelin
2008-05-03 16:59                       ` Junio C Hamano
2008-05-04  6:45                     ` Junio C Hamano
2008-05-04  7:10                       ` Ping Yin

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=46dff0320804300856w941d948rbcc1cee06f1b41a9@mail.gmail.com \
    --to=pkufranky@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=j.sixt@viscovery.net \
    /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).