Merge branch 'maint-1.7.8' into maint

* maint-1.7.8:
  t/Makefile: Use $(sort ...) explicitly where needed
  gitweb: Fix actionless dispatch for non-existent objects
  i18n of multi-line advice messages
This commit is contained in:
Junio C Hamano 2012-03-20 15:53:30 -07:00
commit 0f360763c0
5 changed files with 34 additions and 16 deletions

View file

@ -21,11 +21,21 @@ static struct {
void advise(const char *advice, ...) void advise(const char *advice, ...)
{ {
struct strbuf buf = STRBUF_INIT;
va_list params; va_list params;
const char *cp, *np;
va_start(params, advice); va_start(params, advice);
vreportf("hint: ", advice, params); strbuf_addf(&buf, advice, params);
va_end(params); va_end(params);
for (cp = buf.buf; *cp; cp = np) {
np = strchrnul(cp, '\n');
fprintf(stderr, _("hint: %.*s\n"), (int)(np - cp), cp);
if (*np)
np++;
}
strbuf_release(&buf);
} }
int git_default_advice_config(const char *var, const char *value) int git_default_advice_config(const char *var, const char *value)
@ -46,16 +56,15 @@ int git_default_advice_config(const char *var, const char *value)
int error_resolve_conflict(const char *me) int error_resolve_conflict(const char *me)
{ {
error("'%s' is not possible because you have unmerged files.", me); error("'%s' is not possible because you have unmerged files.", me);
if (advice_resolve_conflict) { if (advice_resolve_conflict)
/* /*
* Message used both when 'git commit' fails and when * Message used both when 'git commit' fails and when
* other commands doing a merge do. * other commands doing a merge do.
*/ */
advise("Fix them up in the work tree,"); advise(_("Fix them up in the work tree,\n"
advise("and then use 'git add/rm <file>' as"); "and then use 'git add/rm <file>' as\n"
advise("appropriate to mark resolution and make a commit,"); "appropriate to mark resolution and make a commit,\n"
advise("or use 'git commit -a'."); "or use 'git commit -a'."));
}
return -1; return -1;
} }

View file

@ -343,11 +343,10 @@ static void print_advice(int show_hint)
return; return;
} }
if (show_hint) { if (show_hint)
advise("after resolving the conflicts, mark the corrected paths"); advise(_("after resolving the conflicts, mark the corrected paths\n"
advise("with 'git add <paths>' or 'git rm <paths>'"); "with 'git add <paths>' or 'git rm <paths>'\n"
advise("and commit the result with 'git commit'"); "and commit the result with 'git commit'"));
}
} }
static void write_message(struct strbuf *msgbuf, const char *filename) static void write_message(struct strbuf *msgbuf, const char *filename)

View file

@ -1132,8 +1132,10 @@ sub dispatch {
if (!defined $action) { if (!defined $action) {
if (defined $hash) { if (defined $hash) {
$action = git_get_type($hash); $action = git_get_type($hash);
$action or die_error(404, "Object does not exist");
} elsif (defined $hash_base && defined $file_name) { } elsif (defined $hash_base && defined $file_name) {
$action = git_get_type("$hash_base:$file_name"); $action = git_get_type("$hash_base:$file_name");
$action or die_error(404, "File or directory does not exist");
} elsif (defined $project) { } elsif (defined $project) {
$action = 'summary'; $action = 'summary';
} else { } else {
@ -2400,7 +2402,7 @@ sub get_feed_info {
return unless (defined $project); return unless (defined $project);
# some views should link to OPML, or to generic project feed, # some views should link to OPML, or to generic project feed,
# or don't have specific feed yet (so they should use generic) # or don't have specific feed yet (so they should use generic)
return if ($action =~ /^(?:tags|heads|forks|tag|search)$/x); return if (!$action || $action =~ /^(?:tags|heads|forks|tag|search)$/x);
my $branch; my $branch;
# branches refs uses 'refs/heads/' prefix (fullname) to differentiate # branches refs uses 'refs/heads/' prefix (fullname) to differentiate

View file

@ -17,9 +17,9 @@ DEFAULT_TEST_TARGET ?= test
# Shell quote; # Shell quote;
SHELL_PATH_SQ = $(subst ','\'',$(SHELL_PATH)) SHELL_PATH_SQ = $(subst ','\'',$(SHELL_PATH))
T = $(wildcard t[0-9][0-9][0-9][0-9]-*.sh) T = $(sort $(wildcard t[0-9][0-9][0-9][0-9]-*.sh))
TSVN = $(wildcard t91[0-9][0-9]-*.sh) TSVN = $(sort $(wildcard t91[0-9][0-9]-*.sh))
TGITWEB = $(wildcard t95[0-9][0-9]-*.sh) TGITWEB = $(sort $(wildcard t95[0-9][0-9]-*.sh))
all: $(DEFAULT_TEST_TARGET) all: $(DEFAULT_TEST_TARGET)

View file

@ -474,6 +474,14 @@ test_expect_success \
'path_info: project/branch:dir/' \ 'path_info: project/branch:dir/' \
'gitweb_run "" "/.git/master:foo/"' 'gitweb_run "" "/.git/master:foo/"'
test_expect_success \
'path_info: project/branch (non-existent)' \
'gitweb_run "" "/.git/non-existent"'
test_expect_success \
'path_info: project/branch:filename (non-existent branch)' \
'gitweb_run "" "/.git/non-existent:non-existent"'
test_expect_success \ test_expect_success \
'path_info: project/branch:file (non-existent)' \ 'path_info: project/branch:file (non-existent)' \
'gitweb_run "" "/.git/master:non-existent"' 'gitweb_run "" "/.git/master:non-existent"'