summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 359048d)
raw | patch | inline | side by side (parent: 359048d)
author | Carlos Rica <jasampler@gmail.com> | |
Tue, 11 Sep 2007 03:17:28 +0000 (05:17 +0200) | ||
committer | Junio C Hamano <gitster@pobox.com> | |
Wed, 12 Sep 2007 20:25:07 +0000 (13:25 -0700) |
The function make_cache_entry() is too useful to be hidden away in
merge-recursive. So move it to libgit.a (exposing it via cache.h).
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
merge-recursive. So move it to libgit.a (exposing it via cache.h).
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
cache.h | patch | blob | history | |
merge-recursive.c | patch | blob | history | |
read-cache.c | patch | blob | history |
index 493983cbaef90cb845d0660dce19072b6ec0b353..824650016677353cfa8c8a140eb3d904f56d60ee 100644 (file)
--- a/cache.h
+++ b/cache.h
@@ -264,6 +264,7 @@ extern struct cache_entry *refresh_cache_entry(struct cache_entry *ce, int reall
extern int remove_index_entry_at(struct index_state *, int pos);
extern int remove_file_from_index(struct index_state *, const char *path);
extern int add_file_to_index(struct index_state *, const char *path, int verbose);
+extern struct cache_entry *make_cache_entry(unsigned int mode, const unsigned char *sha1, const char *path, int stage, int refresh);
extern int ce_same_name(struct cache_entry *a, struct cache_entry *b);
extern int ie_match_stat(struct index_state *, struct cache_entry *, struct stat *, int);
extern int ie_modified(struct index_state *, struct cache_entry *, struct stat *, int);
diff --git a/merge-recursive.c b/merge-recursive.c
index 16f6a0f98b5df8fbb9bb5263d0d32afca678cbec..19d5f3b2872ec7039508c9b12a89f3013d58c68d 100644 (file)
--- a/merge-recursive.c
+++ b/merge-recursive.c
}
}
-static struct cache_entry *make_cache_entry(unsigned int mode,
- const unsigned char *sha1, const char *path, int stage, int refresh)
-{
- int size, len;
- struct cache_entry *ce;
-
- if (!verify_path(path))
- return NULL;
-
- len = strlen(path);
- size = cache_entry_size(len);
- ce = xcalloc(1, size);
-
- hashcpy(ce->sha1, sha1);
- memcpy(ce->name, path, len);
- ce->ce_flags = create_ce_flags(len, stage);
- ce->ce_mode = create_ce_mode(mode);
-
- if (refresh)
- return refresh_cache_entry(ce, 0);
-
- return ce;
-}
-
static int add_cacheinfo(unsigned int mode, const unsigned char *sha1,
const char *path, int stage, int refresh, int options)
{
diff --git a/read-cache.c b/read-cache.c
index 8b1c94e0e3f539cd0b507fd130b60aa443b9680b..536f4d0875ffec13706ef7e14805652f08fcc570 100644 (file)
--- a/read-cache.c
+++ b/read-cache.c
@@ -434,6 +434,31 @@ int add_file_to_index(struct index_state *istate, const char *path, int verbose)
return 0;
}
+struct cache_entry *make_cache_entry(unsigned int mode,
+ const unsigned char *sha1, const char *path, int stage,
+ int refresh)
+{
+ int size, len;
+ struct cache_entry *ce;
+
+ if (!verify_path(path))
+ return NULL;
+
+ len = strlen(path);
+ size = cache_entry_size(len);
+ ce = xcalloc(1, size);
+
+ hashcpy(ce->sha1, sha1);
+ memcpy(ce->name, path, len);
+ ce->ce_flags = create_ce_flags(len, stage);
+ ce->ce_mode = create_ce_mode(mode);
+
+ if (refresh)
+ return refresh_cache_entry(ce, 0);
+
+ return ce;
+}
+
int ce_same_name(struct cache_entry *a, struct cache_entry *b)
{
int len = ce_namelen(a);