summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 922d87f)
raw | patch | inline | side by side (parent: 922d87f)
author | Daniel Barkalow <barkalow@iabervon.org> | |
Thu, 7 Feb 2008 16:40:13 +0000 (11:40 -0500) | ||
committer | Junio C Hamano <gitster@pobox.com> | |
Sun, 10 Feb 2008 07:16:51 +0000 (23:16 -0800) |
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>
library.
Signed-off-by: Daniel Barkalow <barkalow@iabervon.org>
builtin-merge-recursive.c | patch | blob | history | |
builtin-reset.c | patch | blob | history | |
cache.h | patch | blob | history | |
read-cache.c | patch | blob | history |
index 45d46015334c03a0273d6e69f0faeddc8ff83827..558a58e4d3aaff6e66f25220b30ea9749b50be08 100644 (file)
return rc;
}
-static int unmerged_index(void)
-{
- int i;
- for (i = 0; i < active_nr; i++) {
- struct cache_entry *ce = active_cache[i];
- if (ce_stage(ce))
- return 1;
- }
- return 0;
-}
-
struct tree *write_tree_from_memory(void)
{
struct tree *result = NULL;
- if (unmerged_index()) {
+ if (unmerged_cache()) {
int i;
output(0, "There are unmerged index entries:");
for (i = 0; i < active_nr; i++) {
sha1_to_hex(head->object.sha1),
sha1_to_hex(merge->object.sha1));
- if (unmerged_index()) {
+ if (unmerged_cache()) {
struct path_list *entries, *re_head, *re_merge;
int i;
path_list_clear(¤t_file_set, 1);
diff --git a/builtin-reset.c b/builtin-reset.c
index 7ee811f0b8de34025a14a53d42f4fceb477a598e..3bec06bc8ed5ca23b89e7cbc4e306903410cc7b6 100644 (file)
--- a/builtin-reset.c
+++ b/builtin-reset.c
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;
* 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)))
index e4aeff07d1ac5243aff118f57d4adb806976730b..888895a9695f9362df8c0ac03f3e762fd61d2a55 100644 (file)
--- a/cache.h
+++ b/cache.h
#define read_cache_from(path) read_index_from(&the_index, (path))
#define write_cache(newfd, cache, entries) write_index(&the_index, (newfd))
#define discard_cache() discard_index(&the_index)
+#define unmerged_cache() unmerged_index(&the_index)
#define cache_name_pos(name, namelen) index_name_pos(&the_index,(name),(namelen))
#define add_cache_entry(ce, option) add_index_entry(&the_index, (ce), (option))
#define remove_cache_entry_at(pos) remove_index_entry_at(&the_index, (pos))
extern int read_index_from(struct index_state *, const char *path);
extern int write_index(struct index_state *, int newfd);
extern int discard_index(struct index_state *);
+extern int unmerged_index(struct index_state *);
extern int verify_path(const char *path);
extern int index_name_exists(struct index_state *istate, const char *name, int namelen);
extern int index_name_pos(struct index_state *, const char *name, int namelen);
diff --git a/read-cache.c b/read-cache.c
index e45f4b3d61c2982ca20c910a7fc11c5bd89204be..22d7b462454463fb149d02ac62415fc63aca7672 100644 (file)
--- a/read-cache.c
+++ b/read-cache.c
return 0;
}
+int unmerged_index(struct index_state *istate)
+{
+ int i;
+ for (i = 0; i < istate->cache_nr; i++) {
+ if (ce_stage(istate->cache[i]))
+ return 1;
+ }
+ return 0;
+}
+
#define WRITE_BUFFER_SIZE 8192
static unsigned char write_buffer[WRITE_BUFFER_SIZE];
static unsigned long write_buffer_len;