*/
#include "cache.h"
-#include <pwd.h>
-#include <time.h>
-#include <ctype.h>
-
#define BLOCKING (1ul << 14)
/*
#define MAXPARENT (16)
static unsigned char parent_sha1[MAXPARENT][20];
-static char *commit_tree_usage = "git-commit-tree <sha1> [-p <sha1>]* < changelog";
+static const char commit_tree_usage[] = "git-commit-tree <sha1> [-p <sha1>]* < changelog";
static int new_parent(int idx)
{
char *buffer;
unsigned int size;
+ setup_ident();
+ setup_git_directory();
+
+ git_config(git_default_config);
+
if (argc < 2 || get_sha1_hex(argv[1], tree_sha1) < 0)
usage(commit_tree_usage);
}
if (!parents)
fprintf(stderr, "Committing initial tree %s\n", argv[1]);
- setup_ident();
init_buffer(&buffer, &size);
add_buffer(&buffer, &size, "tree %s\n", sha1_to_hex(tree_sha1));
add_buffer(&buffer, &size, "parent %s\n", sha1_to_hex(parent_sha1[i]));
/* Person/date information */
- add_buffer(&buffer, &size, "author %s\n", git_author_info());
- add_buffer(&buffer, &size, "committer %s\n\n", git_committer_info());
+ add_buffer(&buffer, &size, "author %s\n", git_author_info(1));
+ add_buffer(&buffer, &size, "committer %s\n\n", git_committer_info(1));
/* And add the comment */
while (fgets(comment, sizeof(comment), stdin) != NULL)
add_buffer(&buffer, &size, "%s", comment);
- write_sha1_file(buffer, size, "commit", commit_sha1);
- printf("%s\n", sha1_to_hex(commit_sha1));
- return 0;
+ if (!write_sha1_file(buffer, size, "commit", commit_sha1)) {
+ printf("%s\n", sha1_to_hex(commit_sha1));
+ return 0;
+ }
+ else
+ return 1;
}