diff options
author | Daniel Barkalow <barkalow@iabervon.org> | 2008-02-07 11:40:23 -0500 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2008-02-16 15:05:02 -0800 |
commit | 782c2d65c24066a5d83453efb52763bc34c10f81 (patch) | |
tree | 41b91bb0a0f1a5461ca7efd46f0976951a38be65 /builtin.h | |
parent | c369e7b805f927bb87fcf345dd19a55c8b9e6b8e (diff) | |
download | git-782c2d65c24066a5d83453efb52763bc34c10f81.tar.gz git-782c2d65c24066a5d83453efb52763bc34c10f81.tar.xz |
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 t7201-co.sh)
- 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 <barkalow@iabervon.org>
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin.h')
-rw-r--r-- | builtin.h | 1 |
1 files changed, 1 insertions, 0 deletions
@@ -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); |