summaryrefslogtreecommitdiff
path: root/.gitignore
diff options
context:
space:
mode:
authorLibravatar Daniel Barkalow <barkalow@iabervon.org>2008-02-07 11:40:23 -0500
committerLibravatar Junio C Hamano <gitster@pobox.com>2008-02-16 15:05:02 -0800
commit782c2d65c24066a5d83453efb52763bc34c10f81 (patch)
tree41b91bb0a0f1a5461ca7efd46f0976951a38be65 /.gitignore
parentMove code to clean up after a branch change to branch.c (diff)
downloadtgif-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 '.gitignore')
0 files changed, 0 insertions, 0 deletions