diff options
author | Junio C Hamano <junkio@cox.net> | 2007-02-17 16:16:48 -0800 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2007-02-17 16:16:48 -0800 |
commit | 69bc0e22d37db4fa9875b717a64949bbfce4ebdf (patch) | |
tree | adc790d89c9875d027fd996f402d05a40b0298bb /cache.h | |
parent | 2afc29aa84f518906c50a1f005e3d715babb5c20 (diff) | |
parent | 21b4875a51dd9aae68a1c4932d54cad9fc589401 (diff) | |
download | git-69bc0e22d37db4fa9875b717a64949bbfce4ebdf.tar.gz |
Merge branch 'maint'
* maint:
Update draft release notes for 1.5.0.1
Convert update-index references in docs to add.
Attempt to improve git-rebase lead-in description.
Do not take mode bits from index after type change.
git-blame: prevent argument parsing segfault
Make gitk save and restore window pane position on Linux and Cygwin.
Make gitk save and restore the user set window position.
[PATCH] gitk: Use show-ref instead of ls-remote
[PATCH] Make gitk work reasonably well on Cygwin.
[PATCH] gitk - remove trailing whitespace from a few lines.
Change git repo-config to git config
Diffstat (limited to 'cache.h')
-rw-r--r-- | cache.h | 10 |
1 files changed, 10 insertions, 0 deletions
@@ -106,6 +106,16 @@ static inline unsigned int create_ce_mode(unsigned int mode) return htonl(S_IFLNK); return htonl(S_IFREG | ce_permissions(mode)); } +static inline unsigned int ce_mode_from_stat(struct cache_entry *ce, unsigned int mode) +{ + extern int trust_executable_bit; + if (!trust_executable_bit && S_ISREG(mode)) { + if (ce && S_ISREG(ntohl(ce->ce_mode))) + return ce->ce_mode; + return create_ce_mode(0666); + } + return create_ce_mode(mode); +} #define canon_mode(mode) \ (S_ISREG(mode) ? (S_IFREG | ce_permissions(mode)) : \ S_ISLNK(mode) ? S_IFLNK : S_IFDIR) |