In order to be able to write symlinks with git_blob_create_fromfile(), we need to check whether the file to be written is a symbolic link or not. Since the calling function of git_blob_create_fromfile() is likely to have stated the file before calling, we make it pass the stat. The reason for this is that writing symbolic link blobs is significantly different from writing ordinary files - we do not want to open the link destination but instead want to write the link itself, regardless of whether it exists or not. Previously, index_init_entry() used to error out if the file to be added was a symlink that pointed to a nonexistent file. Fix this behaviour to add the file regardless of whether it exists. This mimics git.git's behaviour.
Name |
Last commit
|
Last update |
---|---|---|
.. | ||
backends | Loading commit data... | |
block-sha1 | Loading commit data... | |
ppc | Loading commit data... | |
unix | Loading commit data... | |
win32 | Loading commit data... | |
blob.c | Loading commit data... | |
blob.h | Loading commit data... | |
bswap.h | Loading commit data... | |
cache.c | Loading commit data... | |
cache.h | Loading commit data... | |
cc-compat.h | Loading commit data... | |
commit.c | Loading commit data... | |
commit.h | Loading commit data... | |
common.h | Loading commit data... | |
config.c | Loading commit data... | |
config.h | Loading commit data... | |
config_file.c | Loading commit data... | |
delta-apply.c | Loading commit data... | |
delta-apply.h | Loading commit data... | |
dir.h | Loading commit data... | |
errors.c | Loading commit data... | |
filebuf.c | Loading commit data... | |
filebuf.h | Loading commit data... | |
fileops.c | Loading commit data... | |
fileops.h | Loading commit data... | |
hash.c | Loading commit data... | |
hash.h | Loading commit data... | |
hashtable.c | Loading commit data... | |
hashtable.h | Loading commit data... | |
index.c | Loading commit data... | |
index.h | Loading commit data... | |
map.h | Loading commit data... | |
mingw-compat.h | Loading commit data... | |
msvc-compat.h | Loading commit data... | |
object.c | Loading commit data... | |
odb.c | Loading commit data... | |
odb.h | Loading commit data... | |
odb_loose.c | Loading commit data... | |
odb_pack.c | Loading commit data... | |
oid.c | Loading commit data... | |
oid.h | Loading commit data... | |
pqueue.c | Loading commit data... | |
pqueue.h | Loading commit data... | |
refs.c | Loading commit data... | |
refs.h | Loading commit data... | |
repository.c | Loading commit data... | |
repository.h | Loading commit data... | |
revwalk.c | Loading commit data... | |
sha1_lookup.c | Loading commit data... | |
sha1_lookup.h | Loading commit data... | |
signature.c | Loading commit data... | |
signature.h | Loading commit data... | |
t03-data.h | Loading commit data... | |
tag.c | Loading commit data... | |
tag.h | Loading commit data... | |
thread-utils.c | Loading commit data... | |
thread-utils.h | Loading commit data... | |
tree.c | Loading commit data... | |
tree.h | Loading commit data... | |
util.c | Loading commit data... | |
util.h | Loading commit data... | |
vector.c | Loading commit data... | |
vector.h | Loading commit data... |