Merge branch 'nd/i18n'
[gitweb.git] / archive.c
index c1870105eb453980ce421f937e9615d1d9dcd3b3..180d97cf77fbe3e4ed3272852bf2ef62ccbb983d 100644 (file)
--- a/archive.c
+++ b/archive.c
@@ -29,6 +29,12 @@ void register_archiver(struct archiver *ar)
        archivers[nr_archivers++] = ar;
 }
 
+void init_archivers(void)
+{
+       init_tar_archiver();
+       init_zip_archiver();
+}
+
 static void format_subst(const struct commit *commit,
                          const char *src, size_t len,
                          struct strbuf *buf)
@@ -385,14 +391,14 @@ static void parse_treeish_arg(const char **argv,
                int refnamelen = colon - name;
 
                if (!dwim_ref(name, refnamelen, &oid, &ref))
-                       die("no such ref: %.*s", refnamelen, name);
+                       die(_("no such ref: %.*s"), refnamelen, name);
                free(ref);
        }
 
        if (get_oid(name, &oid))
-               die("Not a valid object name");
+               die(_("not a valid object name: %s"), name);
 
-       commit = lookup_commit_reference_gently(the_repository, &oid, 1);
+       commit = lookup_commit_reference_gently(ar_args->repo, &oid, 1);
        if (commit) {
                commit_sha1 = commit->object.oid.hash;
                archive_time = commit->date;
@@ -403,7 +409,7 @@ static void parse_treeish_arg(const char **argv,
 
        tree = parse_tree_indirect(&oid);
        if (tree == NULL)
-               die("not a tree object");
+               die(_("not a tree object: %s"), oid_to_hex(&oid));
 
        if (prefix) {
                struct object_id tree_oid;
@@ -413,7 +419,7 @@ static void parse_treeish_arg(const char **argv,
                err = get_tree_entry(&tree->object.oid, prefix, &tree_oid,
                                     &mode);
                if (err || !S_ISDIR(mode))
-                       die("current working directory is untracked");
+                       die(_("current working directory is untracked"));
 
                tree = parse_tree_indirect(&tree_oid);
        }
@@ -531,9 +537,6 @@ int write_archive(int argc, const char **argv, const char *prefix,
        git_config_get_bool("uploadarchive.allowunreachable", &remote_allow_unreachable);
        git_config(git_default_config, NULL);
 
-       init_tar_archiver();
-       init_zip_archiver();
-
        args.repo = repo;
        argc = parse_archive_args(argc, argv, &ar, &args, name_hint, remote);
        if (!startup_info->have_repository) {