summaryrefslogtreecommitdiff
path: root/builtin-reset.c
diff options
context:
space:
mode:
authorDaniel Barkalow <barkalow@iabervon.org>2008-02-07 16:40:13 (GMT)
committerJunio C Hamano <gitster@pobox.com>2008-02-10 07:16:51 (GMT)
commit94a5728cfb593d80164620f8fa7e1ef322ad0025 (patch)
tree9bdc3b6efece60e4b72a90b3d5c75670dbf4deb8 /builtin-reset.c
parent922d87f92f79d76ee1d9027d4a0f8a0cf36d5340 (diff)
downloadgit-94a5728cfb593d80164620f8fa7e1ef322ad0025.zip
git-94a5728cfb593d80164620f8fa7e1ef322ad0025.tar.gz
git-94a5728cfb593d80164620f8fa7e1ef322ad0025.tar.bz2
Library function to check for unmerged index entries
It's small, but it was in three places already, so it should be in the library. Signed-off-by: Daniel Barkalow <barkalow@iabervon.org>
Diffstat (limited to 'builtin-reset.c')
-rw-r--r--builtin-reset.c14
1 files changed, 1 insertions, 13 deletions
diff --git a/builtin-reset.c b/builtin-reset.c
index 7ee811f..3bec06b 100644
--- a/builtin-reset.c
+++ b/builtin-reset.c
@@ -44,18 +44,6 @@ static inline int is_merge(void)
return !access(git_path("MERGE_HEAD"), F_OK);
}
-static int unmerged_files(void)
-{
- int i;
- read_cache();
- for (i = 0; i < active_nr; i++) {
- struct cache_entry *ce = active_cache[i];
- if (ce_stage(ce))
- return 1;
- }
- return 0;
-}
-
static int reset_index_file(const unsigned char *sha1, int is_hard_reset)
{
int i = 0;
@@ -250,7 +238,7 @@ int cmd_reset(int argc, const char **argv, const char *prefix)
* at all, but requires them in a good order. Other resets reset
* the index file to the tree object we are switching to. */
if (reset_type == SOFT) {
- if (is_merge() || unmerged_files())
+ if (is_merge() || read_cache() < 0 || unmerged_cache())
die("Cannot do a soft reset in the middle of a merge.");
}
else if (reset_index_file(sha1, (reset_type == HARD)))