i18n: git-notes basic commands
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
f6908ae86e
commit
caeba0ef15
106
builtin/notes.c
106
builtin/notes.c
@ -146,13 +146,13 @@ static void write_commented_object(int fd, const unsigned char *object)
|
|||||||
show.err = 0;
|
show.err = 0;
|
||||||
show.git_cmd = 1;
|
show.git_cmd = 1;
|
||||||
if (start_command(&show))
|
if (start_command(&show))
|
||||||
die("unable to start 'show' for object '%s'",
|
die(_("unable to start 'show' for object '%s'"),
|
||||||
sha1_to_hex(object));
|
sha1_to_hex(object));
|
||||||
|
|
||||||
/* Open the output as FILE* so strbuf_getline() can be used. */
|
/* Open the output as FILE* so strbuf_getline() can be used. */
|
||||||
show_out = xfdopen(show.out, "r");
|
show_out = xfdopen(show.out, "r");
|
||||||
if (show_out == NULL)
|
if (show_out == NULL)
|
||||||
die_errno("can't fdopen 'show' output fd");
|
die_errno(_("can't fdopen 'show' output fd"));
|
||||||
|
|
||||||
/* Prepend "# " to each output line and write result to 'fd' */
|
/* Prepend "# " to each output line and write result to 'fd' */
|
||||||
while (strbuf_getline(&buf, show_out, '\n') != EOF) {
|
while (strbuf_getline(&buf, show_out, '\n') != EOF) {
|
||||||
@ -162,10 +162,10 @@ static void write_commented_object(int fd, const unsigned char *object)
|
|||||||
}
|
}
|
||||||
strbuf_release(&buf);
|
strbuf_release(&buf);
|
||||||
if (fclose(show_out))
|
if (fclose(show_out))
|
||||||
die_errno("failed to close pipe to 'show' for object '%s'",
|
die_errno(_("failed to close pipe to 'show' for object '%s'"),
|
||||||
sha1_to_hex(object));
|
sha1_to_hex(object));
|
||||||
if (finish_command(&show))
|
if (finish_command(&show))
|
||||||
die("failed to finish 'show' for object '%s'",
|
die(_("failed to finish 'show' for object '%s'"),
|
||||||
sha1_to_hex(object));
|
sha1_to_hex(object));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -182,7 +182,7 @@ static void create_note(const unsigned char *object, struct msg_arg *msg,
|
|||||||
path = git_pathdup("NOTES_EDITMSG");
|
path = git_pathdup("NOTES_EDITMSG");
|
||||||
fd = open(path, O_CREAT | O_TRUNC | O_WRONLY, 0600);
|
fd = open(path, O_CREAT | O_TRUNC | O_WRONLY, 0600);
|
||||||
if (fd < 0)
|
if (fd < 0)
|
||||||
die_errno("could not create file '%s'", path);
|
die_errno(_("could not create file '%s'"), path);
|
||||||
|
|
||||||
if (msg->given)
|
if (msg->given)
|
||||||
write_or_die(fd, msg->buf.buf, msg->buf.len);
|
write_or_die(fd, msg->buf.buf, msg->buf.len);
|
||||||
@ -196,8 +196,8 @@ static void create_note(const unsigned char *object, struct msg_arg *msg,
|
|||||||
strbuf_reset(&(msg->buf));
|
strbuf_reset(&(msg->buf));
|
||||||
|
|
||||||
if (launch_editor(path, &(msg->buf), NULL)) {
|
if (launch_editor(path, &(msg->buf), NULL)) {
|
||||||
die("Please supply the note contents using either -m" \
|
die(_("Please supply the note contents using either -m" \
|
||||||
" or -F option");
|
" or -F option"));
|
||||||
}
|
}
|
||||||
stripspace(&(msg->buf), 1);
|
stripspace(&(msg->buf), 1);
|
||||||
}
|
}
|
||||||
@ -217,14 +217,14 @@ static void create_note(const unsigned char *object, struct msg_arg *msg,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!msg->buf.len) {
|
if (!msg->buf.len) {
|
||||||
fprintf(stderr, "Removing note for object %s\n",
|
fprintf(stderr, _("Removing note for object %s\n"),
|
||||||
sha1_to_hex(object));
|
sha1_to_hex(object));
|
||||||
hashclr(result);
|
hashclr(result);
|
||||||
} else {
|
} else {
|
||||||
if (write_sha1_file(msg->buf.buf, msg->buf.len, blob_type, result)) {
|
if (write_sha1_file(msg->buf.buf, msg->buf.len, blob_type, result)) {
|
||||||
error("unable to write note object");
|
error(_("unable to write note object"));
|
||||||
if (path)
|
if (path)
|
||||||
error("The note contents has been left in %s",
|
error(_("The note contents has been left in %s"),
|
||||||
path);
|
path);
|
||||||
exit(128);
|
exit(128);
|
||||||
}
|
}
|
||||||
@ -258,9 +258,9 @@ static int parse_file_arg(const struct option *opt, const char *arg, int unset)
|
|||||||
strbuf_addch(&(msg->buf), '\n');
|
strbuf_addch(&(msg->buf), '\n');
|
||||||
if (!strcmp(arg, "-")) {
|
if (!strcmp(arg, "-")) {
|
||||||
if (strbuf_read(&(msg->buf), 0, 1024) < 0)
|
if (strbuf_read(&(msg->buf), 0, 1024) < 0)
|
||||||
die_errno("cannot read '%s'", arg);
|
die_errno(_("cannot read '%s'"), arg);
|
||||||
} else if (strbuf_read_file(&(msg->buf), arg, 1024) < 0)
|
} else if (strbuf_read_file(&(msg->buf), arg, 1024) < 0)
|
||||||
die_errno("could not open or read '%s'", arg);
|
die_errno(_("could not open or read '%s'"), arg);
|
||||||
stripspace(&(msg->buf), 0);
|
stripspace(&(msg->buf), 0);
|
||||||
|
|
||||||
msg->given = 1;
|
msg->given = 1;
|
||||||
@ -279,10 +279,10 @@ static int parse_reuse_arg(const struct option *opt, const char *arg, int unset)
|
|||||||
strbuf_addch(&(msg->buf), '\n');
|
strbuf_addch(&(msg->buf), '\n');
|
||||||
|
|
||||||
if (get_sha1(arg, object))
|
if (get_sha1(arg, object))
|
||||||
die("Failed to resolve '%s' as a valid ref.", arg);
|
die(_("Failed to resolve '%s' as a valid ref."), arg);
|
||||||
if (!(buf = read_sha1_file(object, &type, &len)) || !len) {
|
if (!(buf = read_sha1_file(object, &type, &len)) || !len) {
|
||||||
free(buf);
|
free(buf);
|
||||||
die("Failed to read object '%s'.", arg);;
|
die(_("Failed to read object '%s'."), arg);;
|
||||||
}
|
}
|
||||||
strbuf_add(&(msg->buf), buf, len);
|
strbuf_add(&(msg->buf), buf, len);
|
||||||
free(buf);
|
free(buf);
|
||||||
@ -306,7 +306,7 @@ void commit_notes(struct notes_tree *t, const char *msg)
|
|||||||
if (!t)
|
if (!t)
|
||||||
t = &default_notes_tree;
|
t = &default_notes_tree;
|
||||||
if (!t->initialized || !t->ref || !*t->ref)
|
if (!t->initialized || !t->ref || !*t->ref)
|
||||||
die("Cannot commit uninitialized/unreferenced notes tree");
|
die(_("Cannot commit uninitialized/unreferenced notes tree"));
|
||||||
if (!t->dirty)
|
if (!t->dirty)
|
||||||
return; /* don't have to commit an unchanged tree */
|
return; /* don't have to commit an unchanged tree */
|
||||||
|
|
||||||
@ -347,7 +347,7 @@ static int notes_rewrite_config(const char *k, const char *v, void *cb)
|
|||||||
config_error_nonbool(k);
|
config_error_nonbool(k);
|
||||||
c->combine = parse_combine_notes_fn(v);
|
c->combine = parse_combine_notes_fn(v);
|
||||||
if (!c->combine) {
|
if (!c->combine) {
|
||||||
error("Bad notes.rewriteMode value: '%s'", v);
|
error(_("Bad notes.rewriteMode value: '%s'"), v);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
@ -357,8 +357,8 @@ static int notes_rewrite_config(const char *k, const char *v, void *cb)
|
|||||||
if (!prefixcmp(v, "refs/notes/"))
|
if (!prefixcmp(v, "refs/notes/"))
|
||||||
string_list_add_refs_by_glob(c->refs, v);
|
string_list_add_refs_by_glob(c->refs, v);
|
||||||
else
|
else
|
||||||
warning("Refusing to rewrite notes in %s"
|
warning(_("Refusing to rewrite notes in %s"
|
||||||
" (outside of refs/notes/)", v);
|
" (outside of refs/notes/)"), v);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -446,13 +446,13 @@ int notes_copy_from_stdin(int force, const char *rewrite_cmd)
|
|||||||
|
|
||||||
split = strbuf_split(&buf, ' ');
|
split = strbuf_split(&buf, ' ');
|
||||||
if (!split[0] || !split[1])
|
if (!split[0] || !split[1])
|
||||||
die("Malformed input line: '%s'.", buf.buf);
|
die(_("Malformed input line: '%s'."), buf.buf);
|
||||||
strbuf_rtrim(split[0]);
|
strbuf_rtrim(split[0]);
|
||||||
strbuf_rtrim(split[1]);
|
strbuf_rtrim(split[1]);
|
||||||
if (get_sha1(split[0]->buf, from_obj))
|
if (get_sha1(split[0]->buf, from_obj))
|
||||||
die("Failed to resolve '%s' as a valid ref.", split[0]->buf);
|
die(_("Failed to resolve '%s' as a valid ref."), split[0]->buf);
|
||||||
if (get_sha1(split[1]->buf, to_obj))
|
if (get_sha1(split[1]->buf, to_obj))
|
||||||
die("Failed to resolve '%s' as a valid ref.", split[1]->buf);
|
die(_("Failed to resolve '%s' as a valid ref."), split[1]->buf);
|
||||||
|
|
||||||
if (rewrite_cmd)
|
if (rewrite_cmd)
|
||||||
err = copy_note_for_rewrite(c, from_obj, to_obj);
|
err = copy_note_for_rewrite(c, from_obj, to_obj);
|
||||||
@ -461,7 +461,7 @@ int notes_copy_from_stdin(int force, const char *rewrite_cmd)
|
|||||||
combine_notes_overwrite);
|
combine_notes_overwrite);
|
||||||
|
|
||||||
if (err) {
|
if (err) {
|
||||||
error("Failed to copy notes from '%s' to '%s'",
|
error(_("Failed to copy notes from '%s' to '%s'"),
|
||||||
split[0]->buf, split[1]->buf);
|
split[0]->buf, split[1]->buf);
|
||||||
ret = 1;
|
ret = 1;
|
||||||
}
|
}
|
||||||
@ -505,20 +505,20 @@ static int list(int argc, const char **argv, const char *prefix)
|
|||||||
git_notes_list_usage, 0);
|
git_notes_list_usage, 0);
|
||||||
|
|
||||||
if (1 < argc) {
|
if (1 < argc) {
|
||||||
error("too many parameters");
|
error(_("too many parameters"));
|
||||||
usage_with_options(git_notes_list_usage, options);
|
usage_with_options(git_notes_list_usage, options);
|
||||||
}
|
}
|
||||||
|
|
||||||
t = init_notes_check("list");
|
t = init_notes_check("list");
|
||||||
if (argc) {
|
if (argc) {
|
||||||
if (get_sha1(argv[0], object))
|
if (get_sha1(argv[0], object))
|
||||||
die("Failed to resolve '%s' as a valid ref.", argv[0]);
|
die(_("Failed to resolve '%s' as a valid ref."), argv[0]);
|
||||||
note = get_note(t, object);
|
note = get_note(t, object);
|
||||||
if (note) {
|
if (note) {
|
||||||
puts(sha1_to_hex(note));
|
puts(sha1_to_hex(note));
|
||||||
retval = 0;
|
retval = 0;
|
||||||
} else
|
} else
|
||||||
retval = error("No note found for object %s.",
|
retval = error(_("No note found for object %s."),
|
||||||
sha1_to_hex(object));
|
sha1_to_hex(object));
|
||||||
} else
|
} else
|
||||||
retval = for_each_note(t, 0, list_each_note, NULL);
|
retval = for_each_note(t, 0, list_each_note, NULL);
|
||||||
@ -557,26 +557,26 @@ static int add(int argc, const char **argv, const char *prefix)
|
|||||||
0);
|
0);
|
||||||
|
|
||||||
if (1 < argc) {
|
if (1 < argc) {
|
||||||
error("too many parameters");
|
error(_("too many parameters"));
|
||||||
usage_with_options(git_notes_add_usage, options);
|
usage_with_options(git_notes_add_usage, options);
|
||||||
}
|
}
|
||||||
|
|
||||||
object_ref = argc ? argv[0] : "HEAD";
|
object_ref = argc ? argv[0] : "HEAD";
|
||||||
|
|
||||||
if (get_sha1(object_ref, object))
|
if (get_sha1(object_ref, object))
|
||||||
die("Failed to resolve '%s' as a valid ref.", object_ref);
|
die(_("Failed to resolve '%s' as a valid ref."), object_ref);
|
||||||
|
|
||||||
t = init_notes_check("add");
|
t = init_notes_check("add");
|
||||||
note = get_note(t, object);
|
note = get_note(t, object);
|
||||||
|
|
||||||
if (note) {
|
if (note) {
|
||||||
if (!force) {
|
if (!force) {
|
||||||
retval = error("Cannot add notes. Found existing notes "
|
retval = error(_("Cannot add notes. Found existing notes "
|
||||||
"for object %s. Use '-f' to overwrite "
|
"for object %s. Use '-f' to overwrite "
|
||||||
"existing notes", sha1_to_hex(object));
|
"existing notes"), sha1_to_hex(object));
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
fprintf(stderr, "Overwriting existing notes for object %s\n",
|
fprintf(stderr, _("Overwriting existing notes for object %s\n"),
|
||||||
sha1_to_hex(object));
|
sha1_to_hex(object));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -618,7 +618,7 @@ static int copy(int argc, const char **argv, const char *prefix)
|
|||||||
|
|
||||||
if (from_stdin || rewrite_cmd) {
|
if (from_stdin || rewrite_cmd) {
|
||||||
if (argc) {
|
if (argc) {
|
||||||
error("too many parameters");
|
error(_("too many parameters"));
|
||||||
usage_with_options(git_notes_copy_usage, options);
|
usage_with_options(git_notes_copy_usage, options);
|
||||||
} else {
|
} else {
|
||||||
return notes_copy_from_stdin(force, rewrite_cmd);
|
return notes_copy_from_stdin(force, rewrite_cmd);
|
||||||
@ -626,41 +626,41 @@ static int copy(int argc, const char **argv, const char *prefix)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (argc < 2) {
|
if (argc < 2) {
|
||||||
error("too few parameters");
|
error(_("too few parameters"));
|
||||||
usage_with_options(git_notes_copy_usage, options);
|
usage_with_options(git_notes_copy_usage, options);
|
||||||
}
|
}
|
||||||
if (2 < argc) {
|
if (2 < argc) {
|
||||||
error("too many parameters");
|
error(_("too many parameters"));
|
||||||
usage_with_options(git_notes_copy_usage, options);
|
usage_with_options(git_notes_copy_usage, options);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (get_sha1(argv[0], from_obj))
|
if (get_sha1(argv[0], from_obj))
|
||||||
die("Failed to resolve '%s' as a valid ref.", argv[0]);
|
die(_("Failed to resolve '%s' as a valid ref."), argv[0]);
|
||||||
|
|
||||||
object_ref = 1 < argc ? argv[1] : "HEAD";
|
object_ref = 1 < argc ? argv[1] : "HEAD";
|
||||||
|
|
||||||
if (get_sha1(object_ref, object))
|
if (get_sha1(object_ref, object))
|
||||||
die("Failed to resolve '%s' as a valid ref.", object_ref);
|
die(_("Failed to resolve '%s' as a valid ref."), object_ref);
|
||||||
|
|
||||||
t = init_notes_check("copy");
|
t = init_notes_check("copy");
|
||||||
note = get_note(t, object);
|
note = get_note(t, object);
|
||||||
|
|
||||||
if (note) {
|
if (note) {
|
||||||
if (!force) {
|
if (!force) {
|
||||||
retval = error("Cannot copy notes. Found existing "
|
retval = error(_("Cannot copy notes. Found existing "
|
||||||
"notes for object %s. Use '-f' to "
|
"notes for object %s. Use '-f' to "
|
||||||
"overwrite existing notes",
|
"overwrite existing notes"),
|
||||||
sha1_to_hex(object));
|
sha1_to_hex(object));
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
fprintf(stderr, "Overwriting existing notes for object %s\n",
|
fprintf(stderr, _("Overwriting existing notes for object %s\n"),
|
||||||
sha1_to_hex(object));
|
sha1_to_hex(object));
|
||||||
}
|
}
|
||||||
|
|
||||||
from_note = get_note(t, from_obj);
|
from_note = get_note(t, from_obj);
|
||||||
if (!from_note) {
|
if (!from_note) {
|
||||||
retval = error("Missing notes on source object %s. Cannot "
|
retval = error(_("Missing notes on source object %s. Cannot "
|
||||||
"copy.", sha1_to_hex(from_obj));
|
"copy."), sha1_to_hex(from_obj));
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -703,19 +703,19 @@ static int append_edit(int argc, const char **argv, const char *prefix)
|
|||||||
PARSE_OPT_KEEP_ARGV0);
|
PARSE_OPT_KEEP_ARGV0);
|
||||||
|
|
||||||
if (2 < argc) {
|
if (2 < argc) {
|
||||||
error("too many parameters");
|
error(_("too many parameters"));
|
||||||
usage_with_options(usage, options);
|
usage_with_options(usage, options);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (msg.given && edit)
|
if (msg.given && edit)
|
||||||
fprintf(stderr, "The -m/-F/-c/-C options have been deprecated "
|
fprintf(stderr, _("The -m/-F/-c/-C options have been deprecated "
|
||||||
"for the 'edit' subcommand.\n"
|
"for the 'edit' subcommand.\n"
|
||||||
"Please use 'git notes add -f -m/-F/-c/-C' instead.\n");
|
"Please use 'git notes add -f -m/-F/-c/-C' instead.\n"));
|
||||||
|
|
||||||
object_ref = 1 < argc ? argv[1] : "HEAD";
|
object_ref = 1 < argc ? argv[1] : "HEAD";
|
||||||
|
|
||||||
if (get_sha1(object_ref, object))
|
if (get_sha1(object_ref, object))
|
||||||
die("Failed to resolve '%s' as a valid ref.", object_ref);
|
die(_("Failed to resolve '%s' as a valid ref."), object_ref);
|
||||||
|
|
||||||
t = init_notes_check(argv[0]);
|
t = init_notes_check(argv[0]);
|
||||||
note = get_note(t, object);
|
note = get_note(t, object);
|
||||||
@ -750,20 +750,20 @@ static int show(int argc, const char **argv, const char *prefix)
|
|||||||
0);
|
0);
|
||||||
|
|
||||||
if (1 < argc) {
|
if (1 < argc) {
|
||||||
error("too many parameters");
|
error(_("too many parameters"));
|
||||||
usage_with_options(git_notes_show_usage, options);
|
usage_with_options(git_notes_show_usage, options);
|
||||||
}
|
}
|
||||||
|
|
||||||
object_ref = argc ? argv[0] : "HEAD";
|
object_ref = argc ? argv[0] : "HEAD";
|
||||||
|
|
||||||
if (get_sha1(object_ref, object))
|
if (get_sha1(object_ref, object))
|
||||||
die("Failed to resolve '%s' as a valid ref.", object_ref);
|
die(_("Failed to resolve '%s' as a valid ref."), object_ref);
|
||||||
|
|
||||||
t = init_notes_check("show");
|
t = init_notes_check("show");
|
||||||
note = get_note(t, object);
|
note = get_note(t, object);
|
||||||
|
|
||||||
if (!note)
|
if (!note)
|
||||||
retval = error("No note found for object %s.",
|
retval = error(_("No note found for object %s."),
|
||||||
sha1_to_hex(object));
|
sha1_to_hex(object));
|
||||||
else {
|
else {
|
||||||
const char *show_args[3] = {"show", sha1_to_hex(note), NULL};
|
const char *show_args[3] = {"show", sha1_to_hex(note), NULL};
|
||||||
@ -961,22 +961,22 @@ static int remove_cmd(int argc, const char **argv, const char *prefix)
|
|||||||
git_notes_remove_usage, 0);
|
git_notes_remove_usage, 0);
|
||||||
|
|
||||||
if (1 < argc) {
|
if (1 < argc) {
|
||||||
error("too many parameters");
|
error(_("too many parameters"));
|
||||||
usage_with_options(git_notes_remove_usage, options);
|
usage_with_options(git_notes_remove_usage, options);
|
||||||
}
|
}
|
||||||
|
|
||||||
object_ref = argc ? argv[0] : "HEAD";
|
object_ref = argc ? argv[0] : "HEAD";
|
||||||
|
|
||||||
if (get_sha1(object_ref, object))
|
if (get_sha1(object_ref, object))
|
||||||
die("Failed to resolve '%s' as a valid ref.", object_ref);
|
die(_("Failed to resolve '%s' as a valid ref."), object_ref);
|
||||||
|
|
||||||
t = init_notes_check("remove");
|
t = init_notes_check("remove");
|
||||||
|
|
||||||
retval = remove_note(t, object);
|
retval = remove_note(t, object);
|
||||||
if (retval)
|
if (retval)
|
||||||
fprintf(stderr, "Object %s has no note\n", sha1_to_hex(object));
|
fprintf(stderr, _("Object %s has no note\n"), sha1_to_hex(object));
|
||||||
else {
|
else {
|
||||||
fprintf(stderr, "Removing note for object %s\n",
|
fprintf(stderr, _("Removing note for object %s\n"),
|
||||||
sha1_to_hex(object));
|
sha1_to_hex(object));
|
||||||
|
|
||||||
commit_notes(t, "Notes removed by 'git notes remove'");
|
commit_notes(t, "Notes removed by 'git notes remove'");
|
||||||
@ -999,7 +999,7 @@ static int prune(int argc, const char **argv, const char *prefix)
|
|||||||
0);
|
0);
|
||||||
|
|
||||||
if (argc) {
|
if (argc) {
|
||||||
error("too many parameters");
|
error(_("too many parameters"));
|
||||||
usage_with_options(git_notes_prune_usage, options);
|
usage_with_options(git_notes_prune_usage, options);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1069,7 +1069,7 @@ int cmd_notes(int argc, const char **argv, const char *prefix)
|
|||||||
else if (!strcmp(argv[0], "get-ref"))
|
else if (!strcmp(argv[0], "get-ref"))
|
||||||
result = get_ref(argc, argv, prefix);
|
result = get_ref(argc, argv, prefix);
|
||||||
else {
|
else {
|
||||||
result = error("Unknown subcommand: %s", argv[0]);
|
result = error(_("Unknown subcommand: %s"), argv[0]);
|
||||||
usage_with_options(git_notes_usage, options);
|
usage_with_options(git_notes_usage, options);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user