Andrew's git
/
gitweb.git
/ diff
summary
|
log
|
commit
| diff |
tree
commit
grep
author
committer
pickaxe
?
re
checkout: consolidate reset_{to_new,clean_to_new}()
author
Junio C Hamano
<gitster@pobox.com>
Wed, 28 May 2008 21:59:40 +0000
(14:59 -0700)
committer
Junio C Hamano
<gitster@pobox.com>
Fri, 30 May 2008 00:35:10 +0000
(17:35 -0700)
These two were very similar functions with only tiny bit of difference.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin-checkout.c
patch
|
blob
|
history
raw
|
patch
|
inline
| side by side (parent:
84a5750
)
diff --git
a/builtin-checkout.c
b/builtin-checkout.c
index cc97724c87aeb975f8b6e87bc891e98f678f11ee..9af5197b6060ce38c310d8b1f634c66e484ba1fc 100644
(file)
--- a/
builtin-checkout.c
+++ b/
builtin-checkout.c
@@
-151,39
+151,29
@@
static void describe_detached_head(char *msg, struct commit *commit)
strbuf_release(&sb);
}
strbuf_release(&sb);
}
-st
atic int reset_to_new(struct tree *tree, int quiet)
-{
-
struct unpack_trees_options opts
;
-
struct tree_desc tree_desc
;
+st
ruct checkout_opts {
+ int quiet;
+
int merge
;
+
int force
;
- memset(&opts, 0, sizeof(opts));
- opts.head_idx = -1;
- opts.update = 1;
- opts.reset = 1;
- opts.merge = 1;
- opts.fn = oneway_merge;
- opts.verbose_update = !quiet;
- opts.src_index = &the_index;
- opts.dst_index = &the_index;
- parse_tree(tree);
- init_tree_desc(&tree_desc, tree->buffer, tree->size);
- if (unpack_trees(1, &tree_desc, &opts))
- return 128;
- return 0;
-}
+ char *new_branch;
+ int new_branch_log;
+ enum branch_track track;
+};
-static int reset_
clean_to_new(struct tree *tree, int quiet
)
+static int reset_
tree(struct tree *tree, struct checkout_opts *o, int worktree
)
{
struct unpack_trees_options opts;
struct tree_desc tree_desc;
memset(&opts, 0, sizeof(opts));
opts.head_idx = -1;
{
struct unpack_trees_options opts;
struct tree_desc tree_desc;
memset(&opts, 0, sizeof(opts));
opts.head_idx = -1;
- opts.skip_unmerged = 1;
+ opts.update = worktree;
+ opts.skip_unmerged = !worktree;
opts.reset = 1;
opts.merge = 1;
opts.fn = oneway_merge;
opts.reset = 1;
opts.merge = 1;
opts.fn = oneway_merge;
- opts.verbose_update = !quiet;
+ opts.verbose_update = !
o->
quiet;
opts.src_index = &the_index;
opts.dst_index = &the_index;
parse_tree(tree);
opts.src_index = &the_index;
opts.dst_index = &the_index;
parse_tree(tree);
@@
-193,16
+183,6
@@
static int reset_clean_to_new(struct tree *tree, int quiet)
return 0;
}
return 0;
}
-struct checkout_opts {
- int quiet;
- int merge;
- int force;
-
- char *new_branch;
- int new_branch_log;
- enum branch_track track;
-};
-
struct branch_info {
const char *name; /* The short name used */
const char *path; /* The full name of a real branch */
struct branch_info {
const char *name; /* The short name used */
const char *path; /* The full name of a real branch */
@@
-227,7
+207,7
@@
static int merge_working_tree(struct checkout_opts *opts,
read_cache();
if (opts->force) {
read_cache();
if (opts->force) {
- ret = reset_t
o_new(new->commit->tree, opts->quiet
);
+ ret = reset_t
ree(new->commit->tree, opts, 1
);
if (ret)
return ret;
} else {
if (ret)
return ret;
} else {
@@
-291,12
+271,12
@@
static int merge_working_tree(struct checkout_opts *opts,
add_files_to_cache(NULL, NULL, 0);
work = write_tree_from_memory();
add_files_to_cache(NULL, NULL, 0);
work = write_tree_from_memory();
- ret = reset_t
o_new(new->commit->tree, opts->quiet
);
+ ret = reset_t
ree(new->commit->tree, opts, 1
);
if (ret)
return ret;
merge_trees(new->commit->tree, work, old->commit->tree,
new->name, "local", &result);
if (ret)
return ret;
merge_trees(new->commit->tree, work, old->commit->tree,
new->name, "local", &result);
- ret = reset_
clean_to_new(new->commit->tree, opts->quiet
);
+ ret = reset_
tree(new->commit->tree, opts, 0
);
if (ret)
return ret;
}
if (ret)
return ret;
}