X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=tar-tree.c;h=33087366c350655fe92837ba0fe0b3ac80865f33;hb=fad60083853bcf46717b577257b4227a30b72679;hp=efab2b5420af5225a0ebb4dbecd37252ed7ef1ff;hpb=4c691724f175573a2dc4118782744cb0e852ab41;p=git.git diff --git a/tar-tree.c b/tar-tree.c index efab2b542..33087366c 100644 --- a/tar-tree.c +++ b/tar-tree.c @@ -3,7 +3,7 @@ */ #include #include "cache.h" -#include "diff.h" +#include "tree-walk.h" #include "commit.h" #include "strbuf.h" #include "tar.h" @@ -94,7 +94,6 @@ static void write_blocked(void *buf, unsigned long size) } if (size) { memcpy(block + offset, buf, size); - buf += size; offset += size; } tail = offset % RECORDSIZE; @@ -314,6 +313,7 @@ int main(int argc, char **argv) current_path.len = current_path.eof = 0; setup_git_directory(); + git_config(git_default_config); switch (argc) { case 3: @@ -321,8 +321,8 @@ int main(int argc, char **argv) strbuf_append_string(¤t_path, "/"); /* FALLTHROUGH */ case 2: - if (get_sha1(argv[1], sha1) < 0) - usage(tar_tree_usage); + if (get_sha1(argv[1], sha1)) + die("Not a valid object name %s", argv[1]); break; default: usage(tar_tree_usage); @@ -335,7 +335,7 @@ int main(int argc, char **argv) } else archive_time = time(NULL); - tree.buf = read_object_with_reference(sha1, "tree", &tree.size, + tree.buf = read_object_with_reference(sha1, tree_type, &tree.size, tree_sha1); if (!tree.buf) die("not a reference to a tag, commit or tree object: %s",