From: Junio C Hamano <gitster@pobox.com>
To: Johannes Schindelin <johannes.schindelin@gmx.de>
Cc: git@vger.kernel.org
Subject: Re: [PATCH] filter-branch: do not consider diverging submodules a 'dirty worktree'
Date: Thu, 05 Feb 2009 09:43:14 -0800 [thread overview]
Message-ID: <7vskmseq4t.fsf@gitster.siamese.dyndns.org> (raw)
In-Reply-To: <26931410834b5297493543e2a1cb75c3b6bf008a.1233855372u.git.johannes.schindelin@gmx.de> (Johannes Schindelin's message of "Thu, 5 Feb 2009 18:37:59 +0100 (CET)")
Johannes Schindelin <johannes.schindelin@gmx.de> writes:
> At the end of filter-branch in a non-bare repository, the work tree is
> updated with "read-tree -m -u HEAD", to carry the change forward in case
> the current branch was rewritten. In order to avoid losing any local
> change during this step, filter-branch refuses to work when there are
> local changes in the work tree.
>
> This "read-tree -m -u HEAD" operation does not affect what commit is
> checked out in a submodule (iow, it does not touch .git/HEAD in a
> submodule checkout), and checking if there is any local change to the
> submodule is not useful.
>
> Staged submodules _are_ considered to be 'dirty', however, as the
> "read-tree -m -u HEAD" could result in loss of staged information
> otherwise.
>
> Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Thanks. I still have one question.
By the last paragraph, do you mean "diff-index --cached" should be run
without --ignore-submodules? That does not seem to match the text of the
patch.
> ---
> git-filter-branch.sh | 4 ++--
> 1 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/git-filter-branch.sh b/git-filter-branch.sh
> index b75d0ba..9ffa655 100755
> --- a/git-filter-branch.sh
> +++ b/git-filter-branch.sh
> @@ -108,8 +108,8 @@ OPTIONS_SPEC=
> . git-sh-setup
>
> if [ "$(is_bare_repository)" = false ]; then
> - git diff-files --quiet &&
> - git diff-index --cached --quiet HEAD -- ||
> + git diff-files --ignore-submodules --quiet &&
> + git diff-index --ignore-submodules --cached --quiet HEAD -- ||
> die "Cannot rewrite branch(es) with a dirty working directory."
> fi
>
> --
> 1.6.1.1.598.g140d5
next prev parent reply other threads:[~2009-02-05 17:44 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <cover.1233855372u.git.johannes.schindelin@gmx.de>
2009-02-05 17:37 ` [PATCH] filter-branch: do not consider diverging submodules a 'dirty worktree' Johannes Schindelin
2009-02-05 17:43 ` Junio C Hamano [this message]
[not found] ` <cover.1233857872u.git.johannes.schindelin@gmx.de>
2009-02-05 18:19 ` [PATCH v3] " Johannes Schindelin
[not found] <cover.1233758410u.git.johannes.schindelin@gmx.de>
2009-02-04 14:40 ` [PATCH] " Johannes Schindelin
2009-02-04 17:17 ` Junio C Hamano
2009-02-04 17:24 ` Johannes Schindelin
2009-02-04 17:25 ` Johannes Sixt
2009-02-04 18:00 ` Junio C Hamano
2009-02-04 18:15 ` Johannes Schindelin
2009-02-04 18:57 ` Junio C Hamano
2009-02-05 17:39 ` Johannes Schindelin
2009-02-05 6:49 ` Johannes Sixt
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=7vskmseq4t.fsf@gitster.siamese.dyndns.org \
--to=gitster@pobox.com \
--cc=git@vger.kernel.org \
--cc=johannes.schindelin@gmx.de \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.