path: root/builtin.h
diff options
authorDaniel Barkalow <>2008-02-07 16:40:23 (GMT)
committerJunio C Hamano <>2008-02-16 23:05:02 (GMT)
commit782c2d65c24066a5d83453efb52763bc34c10f81 (patch)
tree41b91bb0a0f1a5461ca7efd46f0976951a38be65 /builtin.h
parentc369e7b805f927bb87fcf345dd19a55c8b9e6b8e (diff)
Build in checkout
The only differences in behavior should be: - git checkout -m with non-trivial merging won't print out merge-recursive messages (see the change in - git checkout -- paths... will give a sensible error message if HEAD is invalid as a commit. - some intermediate states which were written to disk in the shell version (in particular, index states) are only kept in memory in this version, and therefore these can no longer be revealed by later write operations becoming impossible. - when we change branches, we discard MERGE_MSG, SQUASH_MSG, and rr-cache/MERGE_RR, like reset always has. I'm not 100% sure I got the merge recursive setup exactly right; the base for a non-trivial merge in the shell code doesn't seem theoretically justified to me, but I tried to match it anyway, and the tests all pass this way. Other than these items, the results should be identical to the shell version, so far as I can tell. [jc: squashed lock-file fix from Dscho in] Signed-off-by: Daniel Barkalow <> Signed-off-by: Johannes Schindelin <> Signed-off-by: Junio C Hamano <>
Diffstat (limited to 'builtin.h')
1 files changed, 1 insertions, 0 deletions
diff --git a/builtin.h b/builtin.h
index 428160d..25d91bb 100644
--- a/builtin.h
+++ b/builtin.h
@@ -19,6 +19,7 @@ extern int cmd_blame(int argc, const char **argv, const char *prefix);
extern int cmd_branch(int argc, const char **argv, const char *prefix);
extern int cmd_bundle(int argc, const char **argv, const char *prefix);
extern int cmd_cat_file(int argc, const char **argv, const char *prefix);
+extern int cmd_checkout(int argc, const char **argv, const char *prefix);
extern int cmd_checkout_index(int argc, const char **argv, const char *prefix);
extern int cmd_check_attr(int argc, const char **argv, const char *prefix);
extern int cmd_check_ref_format(int argc, const char **argv, const char *prefix);