[PATCH 0/2] Eliminate cryptic "needs update" error message
- From
Ramkumar Ramachandra <artagnon@gmail.com>
- Date
- Sep 26, 2010, 15:21 UTC
- Message-ID
- <1285514516-5112-1-git-send-email-artagnon@gmail.com>
- In-Reply-To
- <4C9E07B1.50600@workspacewhiz.com>
Hi Joshua,
Joshua Jensen writes:
> Is there opposition to modernizing this *term* to make it more clear > based on the porcelain commands being run?
Most porcelain commands already contain checks to specifically prevent it from displaying this message. See:
cache.h:506:#define REFRESH_IN_PORCELAIN 0x0020 /* user friendly output, not "needs update" */ git-add--interactive.perl:215: ;# ignore 'needs update' read-cache.c:1109: needs_update_fmt = (in_porcelain ? "M\t%s\n" : "%s: needs update\n"); builtin/add.c:190: refresh_index(&the_index, verbose ? REFRESH_IN_PORCELAIN : REFRESH_QUIET, builtin/commit.c:284: if (refresh_cache(refresh_flags | REFRESH_IN_PORCELAIN)) builtin/reset.c:326: quiet ? REFRESH_QUIET : REFRESH_IN_PORCELAIN); builtin/reset.c:377: quiet ? REFRESH_QUIET : REFRESH_IN_PORCELAIN); cache.h:506:#define REFRESH_IN_PORCELAIN 0x0020 /* user friendly output, not "needs update" */ read-cache.c:1104: int in_porcelain = (flags & REFRESH_IN_PORCELAIN);
The real problem is with the shell scripts that invoke `git update-index --refresh` without `-q` and forget to redirect output to /dev/null. The Git infrastructure thinks update-index is a non-porcelain: little does it know that update-index being run from a porcelain-level shell script.
Thank you for reporting this bug.
-- Ram
Ramkumar Ramachandra (2): sh-setup: Write a new require_clean_work_tree function Porcelain scripts: Rewrite cryptic "needs update" error message
git-pull.sh | 5 +---- git-rebase--interactive.sh | 16 ++++------------ git-rebase.sh | 14 +------------- git-sh-setup.sh | 23 +++++++++++++++++++++++ 4 files changed, 29 insertions(+), 29 deletions(-)
-- 1.7.2.2.409.gdbb11.dirty