mirror of
https://github.com/git/git
synced 2024-08-28 03:59:25 +00:00
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:
commit
0f360763c0
23
advice.c
23
advice.c
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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)
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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)
|
||||||
|
|
||||||
|
|
|
@ -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"'
|
||||||
|
|
Loading…
Reference in a new issue