diff options
author | Junio C Hamano <gitster@pobox.com> | 2010-01-20 12:22:58 -0800 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2010-01-20 12:22:58 -0800 |
commit | 806e5c8682c8621b19529c21899dcb14a1035d11 (patch) | |
tree | c1fe88e5faa88f61548393583acd89092e7521d7 | |
parent | 91d23be16767bf820401a6ba9a9397aa146c977a (diff) | |
parent | cd0f0f68e1074e684a014e1714104693097caabc (diff) | |
download | git-806e5c8682c8621b19529c21899dcb14a1035d11.tar.gz git-806e5c8682c8621b19529c21899dcb14a1035d11.tar.xz |
Merge branch 'jk/maint-1.6.5-reset-hard' into maint-1.6.5
* jk/maint-1.6.5-reset-hard:
reset: unbreak hard resets with GIT_WORK_TREE
-rw-r--r-- | builtin-reset.c | 6 | ||||
-rwxr-xr-x | t/t7103-reset-bare.sh | 6 |
2 files changed, 8 insertions, 4 deletions
diff --git a/builtin-reset.c b/builtin-reset.c index 11d1c6e4d..e4418bced 100644 --- a/builtin-reset.c +++ b/builtin-reset.c @@ -286,10 +286,8 @@ int cmd_reset(int argc, const char **argv, const char *prefix) if (reset_type == NONE) reset_type = MIXED; /* by default */ - if ((reset_type == HARD || reset_type == MERGE) - && !is_inside_work_tree()) - die("%s reset requires a work tree", - reset_type_names[reset_type]); + if (reset_type == HARD || reset_type == MERGE) + setup_work_tree(); /* Soft reset does not touch the index file nor the working tree * at all, but requires them in a good order. Other resets reset diff --git a/t/t7103-reset-bare.sh b/t/t7103-reset-bare.sh index 68041df5f..afb55b3a4 100755 --- a/t/t7103-reset-bare.sh +++ b/t/t7103-reset-bare.sh @@ -29,6 +29,12 @@ test_expect_success 'soft reset is ok' ' (cd .git && git reset --soft) ' +test_expect_success 'hard reset works with GIT_WORK_TREE' ' + mkdir worktree && + GIT_WORK_TREE=$PWD/worktree GIT_DIR=$PWD/.git git reset --hard && + test_cmp file worktree/file +' + test_expect_success 'setup bare' ' git clone --bare . bare.git && cd bare.git |