summaryrefslogtreecommitdiff
path: root/entry.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2008-01-15 00:03:17 (GMT)
committerLinus Torvalds <torvalds@linux-foundation.org>2008-01-21 20:44:31 (GMT)
commit7a51ed66f653c248993b3c4a61932e47933d835e (patch)
treeeb40e8e3b00979deee24e0a03a32b5f25d1f275e /entry.c
parentce33288ea6b81a2f4f5aecd72177bcc8174562ae (diff)
downloadgit-7a51ed66f653c248993b3c4a61932e47933d835e.zip
git-7a51ed66f653c248993b3c4a61932e47933d835e.tar.gz
git-7a51ed66f653c248993b3c4a61932e47933d835e.tar.bz2
Make on-disk index representation separate from in-core one
This converts the index explicitly on read and write to its on-disk format, allowing the in-core format to contain more flags, and be simpler. In particular, the in-core format is now host-endian (as opposed to the on-disk one that is network endian in order to be able to be shared across machines) and as a result we can dispense with all the htonl/ntohl on accesses to the cache_entry fields. This will make it easier to make use of various temporary flags that do not exist in the on-disk format. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'entry.c')
-rw-r--r--entry.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/entry.c b/entry.c
index 257ab46..44f4b89 100644
--- a/entry.c
+++ b/entry.c
@@ -103,7 +103,7 @@ static int write_entry(struct cache_entry *ce, char *path, const struct checkout
int fd;
long wrote;
- switch (ntohl(ce->ce_mode) & S_IFMT) {
+ switch (ce->ce_mode & S_IFMT) {
char *new;
struct strbuf buf;
unsigned long size;
@@ -129,7 +129,7 @@ static int write_entry(struct cache_entry *ce, char *path, const struct checkout
strcpy(path, ".merge_file_XXXXXX");
fd = mkstemp(path);
} else
- fd = create_file(path, ntohl(ce->ce_mode));
+ fd = create_file(path, ce->ce_mode);
if (fd < 0) {
free(new);
return error("git-checkout-index: unable to create file %s (%s)",
@@ -221,7 +221,7 @@ int checkout_entry(struct cache_entry *ce, const struct checkout *state, char *t
unlink(path);
if (S_ISDIR(st.st_mode)) {
/* If it is a gitlink, leave it alone! */
- if (S_ISGITLINK(ntohl(ce->ce_mode)))
+ if (S_ISGITLINK(ce->ce_mode))
return 0;
if (!state->force)
return error("%s is a directory", path);