mirror of
https://github.com/git/git
synced 2024-10-12 11:32:34 +00:00
builtin/commit: convert to struct object_id
Convert most leaf functions to use struct object_id. Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
605f430efb
commit
8066df4194
|
@ -496,7 +496,7 @@ static const char *prepare_index(int argc, const char **argv, const char *prefix
|
||||||
static int run_status(FILE *fp, const char *index_file, const char *prefix, int nowarn,
|
static int run_status(FILE *fp, const char *index_file, const char *prefix, int nowarn,
|
||||||
struct wt_status *s)
|
struct wt_status *s)
|
||||||
{
|
{
|
||||||
unsigned char sha1[20];
|
struct object_id oid;
|
||||||
|
|
||||||
if (s->relative_paths)
|
if (s->relative_paths)
|
||||||
s->prefix = prefix;
|
s->prefix = prefix;
|
||||||
|
@ -509,9 +509,9 @@ static int run_status(FILE *fp, const char *index_file, const char *prefix, int
|
||||||
s->index_file = index_file;
|
s->index_file = index_file;
|
||||||
s->fp = fp;
|
s->fp = fp;
|
||||||
s->nowarn = nowarn;
|
s->nowarn = nowarn;
|
||||||
s->is_initial = get_sha1(s->reference, sha1) ? 1 : 0;
|
s->is_initial = get_sha1(s->reference, oid.hash) ? 1 : 0;
|
||||||
if (!s->is_initial)
|
if (!s->is_initial)
|
||||||
hashcpy(s->sha1_commit, sha1);
|
hashcpy(s->sha1_commit, oid.hash);
|
||||||
s->status_format = status_format;
|
s->status_format = status_format;
|
||||||
s->ignore_submodule_arg = ignore_submodule_arg;
|
s->ignore_submodule_arg = ignore_submodule_arg;
|
||||||
|
|
||||||
|
@ -885,7 +885,7 @@ static int prepare_to_commit(const char *index_file, const char *prefix,
|
||||||
commitable = run_status(s->fp, index_file, prefix, 1, s);
|
commitable = run_status(s->fp, index_file, prefix, 1, s);
|
||||||
s->use_color = saved_color_setting;
|
s->use_color = saved_color_setting;
|
||||||
} else {
|
} else {
|
||||||
unsigned char sha1[20];
|
struct object_id oid;
|
||||||
const char *parent = "HEAD";
|
const char *parent = "HEAD";
|
||||||
|
|
||||||
if (!active_nr && read_cache() < 0)
|
if (!active_nr && read_cache() < 0)
|
||||||
|
@ -894,7 +894,7 @@ static int prepare_to_commit(const char *index_file, const char *prefix,
|
||||||
if (amend)
|
if (amend)
|
||||||
parent = "HEAD^1";
|
parent = "HEAD^1";
|
||||||
|
|
||||||
if (get_sha1(parent, sha1)) {
|
if (get_sha1(parent, oid.hash)) {
|
||||||
int i, ita_nr = 0;
|
int i, ita_nr = 0;
|
||||||
|
|
||||||
for (i = 0; i < active_nr; i++)
|
for (i = 0; i < active_nr; i++)
|
||||||
|
@ -1332,7 +1332,7 @@ int cmd_status(int argc, const char **argv, const char *prefix)
|
||||||
{
|
{
|
||||||
static struct wt_status s;
|
static struct wt_status s;
|
||||||
int fd;
|
int fd;
|
||||||
unsigned char sha1[20];
|
struct object_id oid;
|
||||||
static struct option builtin_status_options[] = {
|
static struct option builtin_status_options[] = {
|
||||||
OPT__VERBOSE(&verbose, N_("be verbose")),
|
OPT__VERBOSE(&verbose, N_("be verbose")),
|
||||||
OPT_SET_INT('s', "short", &status_format,
|
OPT_SET_INT('s', "short", &status_format,
|
||||||
|
@ -1382,9 +1382,9 @@ int cmd_status(int argc, const char **argv, const char *prefix)
|
||||||
|
|
||||||
fd = hold_locked_index(&index_lock, 0);
|
fd = hold_locked_index(&index_lock, 0);
|
||||||
|
|
||||||
s.is_initial = get_sha1(s.reference, sha1) ? 1 : 0;
|
s.is_initial = get_sha1(s.reference, oid.hash) ? 1 : 0;
|
||||||
if (!s.is_initial)
|
if (!s.is_initial)
|
||||||
hashcpy(s.sha1_commit, sha1);
|
hashcpy(s.sha1_commit, oid.hash);
|
||||||
|
|
||||||
s.ignore_submodule_arg = ignore_submodule_arg;
|
s.ignore_submodule_arg = ignore_submodule_arg;
|
||||||
s.status_format = status_format;
|
s.status_format = status_format;
|
||||||
|
@ -1418,19 +1418,19 @@ static const char *implicit_ident_advice(void)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void print_summary(const char *prefix, const unsigned char *sha1,
|
static void print_summary(const char *prefix, const struct object_id *oid,
|
||||||
int initial_commit)
|
int initial_commit)
|
||||||
{
|
{
|
||||||
struct rev_info rev;
|
struct rev_info rev;
|
||||||
struct commit *commit;
|
struct commit *commit;
|
||||||
struct strbuf format = STRBUF_INIT;
|
struct strbuf format = STRBUF_INIT;
|
||||||
unsigned char junk_sha1[20];
|
struct object_id junk_oid;
|
||||||
const char *head;
|
const char *head;
|
||||||
struct pretty_print_context pctx = {0};
|
struct pretty_print_context pctx = {0};
|
||||||
struct strbuf author_ident = STRBUF_INIT;
|
struct strbuf author_ident = STRBUF_INIT;
|
||||||
struct strbuf committer_ident = STRBUF_INIT;
|
struct strbuf committer_ident = STRBUF_INIT;
|
||||||
|
|
||||||
commit = lookup_commit(sha1);
|
commit = lookup_commit(oid->hash);
|
||||||
if (!commit)
|
if (!commit)
|
||||||
die(_("couldn't look up newly created commit"));
|
die(_("couldn't look up newly created commit"));
|
||||||
if (parse_commit(commit))
|
if (parse_commit(commit))
|
||||||
|
@ -1477,7 +1477,7 @@ static void print_summary(const char *prefix, const unsigned char *sha1,
|
||||||
rev.diffopt.break_opt = 0;
|
rev.diffopt.break_opt = 0;
|
||||||
diff_setup_done(&rev.diffopt);
|
diff_setup_done(&rev.diffopt);
|
||||||
|
|
||||||
head = resolve_ref_unsafe("HEAD", 0, junk_sha1, NULL);
|
head = resolve_ref_unsafe("HEAD", 0, junk_oid.hash, NULL);
|
||||||
if (!strcmp(head, "HEAD"))
|
if (!strcmp(head, "HEAD"))
|
||||||
head = _("detached HEAD");
|
head = _("detached HEAD");
|
||||||
else
|
else
|
||||||
|
@ -1522,8 +1522,8 @@ static int git_commit_config(const char *k, const char *v, void *cb)
|
||||||
return git_status_config(k, v, s);
|
return git_status_config(k, v, s);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int run_rewrite_hook(const unsigned char *oldsha1,
|
static int run_rewrite_hook(const struct object_id *oldoid,
|
||||||
const unsigned char *newsha1)
|
const struct object_id *newoid)
|
||||||
{
|
{
|
||||||
struct child_process proc = CHILD_PROCESS_INIT;
|
struct child_process proc = CHILD_PROCESS_INIT;
|
||||||
const char *argv[3];
|
const char *argv[3];
|
||||||
|
@ -1544,7 +1544,7 @@ static int run_rewrite_hook(const unsigned char *oldsha1,
|
||||||
code = start_command(&proc);
|
code = start_command(&proc);
|
||||||
if (code)
|
if (code)
|
||||||
return code;
|
return code;
|
||||||
strbuf_addf(&sb, "%s %s\n", sha1_to_hex(oldsha1), sha1_to_hex(newsha1));
|
strbuf_addf(&sb, "%s %s\n", oid_to_hex(oldoid), oid_to_hex(newoid));
|
||||||
sigchain_push(SIGPIPE, SIG_IGN);
|
sigchain_push(SIGPIPE, SIG_IGN);
|
||||||
write_in_full(proc.in, sb.buf, sb.len);
|
write_in_full(proc.in, sb.buf, sb.len);
|
||||||
close(proc.in);
|
close(proc.in);
|
||||||
|
@ -1636,7 +1636,7 @@ int cmd_commit(int argc, const char **argv, const char *prefix)
|
||||||
struct strbuf author_ident = STRBUF_INIT;
|
struct strbuf author_ident = STRBUF_INIT;
|
||||||
const char *index_file, *reflog_msg;
|
const char *index_file, *reflog_msg;
|
||||||
char *nl;
|
char *nl;
|
||||||
unsigned char sha1[20];
|
struct object_id oid;
|
||||||
struct commit_list *parents = NULL;
|
struct commit_list *parents = NULL;
|
||||||
struct stat statbuf;
|
struct stat statbuf;
|
||||||
struct commit *current_head = NULL;
|
struct commit *current_head = NULL;
|
||||||
|
@ -1651,10 +1651,10 @@ int cmd_commit(int argc, const char **argv, const char *prefix)
|
||||||
status_format = STATUS_FORMAT_NONE; /* Ignore status.short */
|
status_format = STATUS_FORMAT_NONE; /* Ignore status.short */
|
||||||
s.colopts = 0;
|
s.colopts = 0;
|
||||||
|
|
||||||
if (get_sha1("HEAD", sha1))
|
if (get_sha1("HEAD", oid.hash))
|
||||||
current_head = NULL;
|
current_head = NULL;
|
||||||
else {
|
else {
|
||||||
current_head = lookup_commit_or_die(sha1, "HEAD");
|
current_head = lookup_commit_or_die(oid.hash, "HEAD");
|
||||||
if (parse_commit(current_head))
|
if (parse_commit(current_head))
|
||||||
die(_("could not parse HEAD commit"));
|
die(_("could not parse HEAD commit"));
|
||||||
}
|
}
|
||||||
|
@ -1759,7 +1759,7 @@ int cmd_commit(int argc, const char **argv, const char *prefix)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (commit_tree_extended(sb.buf, sb.len, active_cache_tree->sha1,
|
if (commit_tree_extended(sb.buf, sb.len, active_cache_tree->sha1,
|
||||||
parents, sha1, author_ident.buf, sign_commit, extra)) {
|
parents, oid.hash, author_ident.buf, sign_commit, extra)) {
|
||||||
rollback_index_files();
|
rollback_index_files();
|
||||||
die(_("failed to write commit object"));
|
die(_("failed to write commit object"));
|
||||||
}
|
}
|
||||||
|
@ -1776,7 +1776,7 @@ int cmd_commit(int argc, const char **argv, const char *prefix)
|
||||||
|
|
||||||
transaction = ref_transaction_begin(&err);
|
transaction = ref_transaction_begin(&err);
|
||||||
if (!transaction ||
|
if (!transaction ||
|
||||||
ref_transaction_update(transaction, "HEAD", sha1,
|
ref_transaction_update(transaction, "HEAD", oid.hash,
|
||||||
current_head
|
current_head
|
||||||
? current_head->object.oid.hash : null_sha1,
|
? current_head->object.oid.hash : null_sha1,
|
||||||
0, sb.buf, &err) ||
|
0, sb.buf, &err) ||
|
||||||
|
@ -1805,13 +1805,13 @@ int cmd_commit(int argc, const char **argv, const char *prefix)
|
||||||
cfg = init_copy_notes_for_rewrite("amend");
|
cfg = init_copy_notes_for_rewrite("amend");
|
||||||
if (cfg) {
|
if (cfg) {
|
||||||
/* we are amending, so current_head is not NULL */
|
/* we are amending, so current_head is not NULL */
|
||||||
copy_note_for_rewrite(cfg, current_head->object.oid.hash, sha1);
|
copy_note_for_rewrite(cfg, current_head->object.oid.hash, oid.hash);
|
||||||
finish_copy_notes_for_rewrite(cfg, "Notes added by 'git commit --amend'");
|
finish_copy_notes_for_rewrite(cfg, "Notes added by 'git commit --amend'");
|
||||||
}
|
}
|
||||||
run_rewrite_hook(current_head->object.oid.hash, sha1);
|
run_rewrite_hook(¤t_head->object.oid, &oid);
|
||||||
}
|
}
|
||||||
if (!quiet)
|
if (!quiet)
|
||||||
print_summary(prefix, sha1, !current_head);
|
print_summary(prefix, &oid, !current_head);
|
||||||
|
|
||||||
strbuf_release(&err);
|
strbuf_release(&err);
|
||||||
return 0;
|
return 0;
|
||||||
|
|
Loading…
Reference in a new issue