mirror of
https://github.com/git/git
synced 2024-11-05 18:59:29 +00:00
f5b2af06f5
* maint-2.40: (39 commits) Git 2.40.2 Git 2.39.4 fsck: warn about symlink pointing inside a gitdir core.hooksPath: add some protection while cloning init.templateDir: consider this config setting protected clone: prevent hooks from running during a clone Add a helper function to compare file contents init: refactor the template directory discovery into its own function find_hook(): refactor the `STRIP_EXTENSION` logic clone: when symbolic links collide with directories, keep the latter entry: report more colliding paths t5510: verify that D/F confusion cannot lead to an RCE submodule: require the submodule path to contain directories only clone_submodule: avoid using `access()` on directories submodules: submodule paths must not contain symlinks clone: prevent clashing git dirs when cloning submodule in parallel t7423: add tests for symlinked submodule directories has_dir_name(): do not get confused by characters < '/' docs: document security issues around untrusted .git dirs upload-pack: disable lazy-fetching by default ...
24 lines
734 B
C
24 lines
734 B
C
#ifndef COPY_H
|
|
#define COPY_H
|
|
|
|
#define COPY_READ_ERROR (-2)
|
|
#define COPY_WRITE_ERROR (-3)
|
|
int copy_fd(int ifd, int ofd);
|
|
int copy_file(const char *dst, const char *src, int mode);
|
|
int copy_file_with_time(const char *dst, const char *src, int mode);
|
|
|
|
/*
|
|
* Compare the file mode and contents of two given files.
|
|
*
|
|
* If both files are actually symbolic links, the function returns 1 if the link
|
|
* targets are identical or 0 if they are not.
|
|
*
|
|
* If any of the two files cannot be accessed or in case of read failures, this
|
|
* function returns 0.
|
|
*
|
|
* If the file modes and contents are identical, the function returns 1,
|
|
* otherwise it returns 0.
|
|
*/
|
|
int do_files_match(const char *path1, const char *path2);
|
|
|
|
#endif /* COPY_H */
|