| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
Validate HFS ignored char ".git" paths when `core.protectHFS` is
specified. Validate NTFS invalid ".git" paths when `core.protectNTFS`
is specified.
|
| |
|
|
|
|
|
|
|
|
| |
HFS filesystems ignore some characters like U+200C. When these
characters are included in a path, they will be ignored for the
purposes of comparison with other paths. Thus, if you have a ".git"
folder, a folder of ".git<U+200C>" will also match. Protect our
".git" folder by ensuring that ".git<U+200C>" and friends do not match it.
|
|
|
|
| |
Validate loose reference names on Win32.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Disallow:
1. paths with trailing dot
2. paths with trailing space
3. paths with trailing colon
4. paths that are 8.3 short names of .git folders ("GIT~1")
5. paths that are reserved path names (COM1, LPT1, etc).
6. paths with reserved DOS characters (colons, asterisks, etc)
These paths would (without \\?\ syntax) be elided to other paths - for
example, ".git." would be written as ".git". As a result, writing these
paths literally (using \\?\ syntax) makes them hard to operate with from
the shell, Windows Explorer or other tools. Disallow these.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
When turning UTF-8 paths into UCS-2 paths for Windows, always use
the \\?\-prefixed paths. Because this bypasses the system's
path canonicalization, handle the canonicalization functions ourselves.
We must:
1. always use a backslash as a directory separator
2. only use a single backslash between directories
3. not rely on the system to translate "." and ".." in paths
4. remove trailing backslashes, except at the drive root (C:\)
|
| |
|
|\
| |
| | |
Make config reading continue after hitting a missing include file.
|
| |
| |
| |
| |
| |
| |
| |
| | |
* Error-handling is cleaned up to only let a file-not-found error
through, not other sorts of errors. And when a file-not-found
error happens, we clean up the error.
* Test now checks that file-not-found introduces no error. And
other minor cleanups.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
For example, if you have
[include]
path = foo
and foo didn't exist, git_config_open_ondisk() would just give up
on the rest of the file. Now it ignores the unresolved include
without error and continues reading the rest of the file.
|
|\ \
| | |
| | | |
Changed context_lines and interhunk_lines to uint32_t to match struct s_xdemitconf
|
| | |
| | |
| | |
| | | |
s_xdemitconf
|
|\ \ \
| | | |
| | | | |
remote: unify the creation code
|
| | |/
| |/|
| | |
| | |
| | |
| | | |
The create function with default refspec is the same as the one with a
custom refspec, but it has the default refspec, so we can create the one
on top of the other.
|
|\ \ \
| | | |
| | | | |
netops: return GIT_ECERTIFICATE when it fails the basic tests
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When we first ask OpenSSL to verify the certfiicate itself (rather
than the HTTPS specifics), we should also return
GIT_ECERTIFICATE. Otherwise, the caller would consider this as a failed
operation rather than a failed validation and not call the user's own
validation.
|
|\ \ \
| | | |
| | | | |
Fix segmentation fault observed on OpenBSD/sparc64
|
| |/ /
| | |
| | |
| | |
| | | |
A non-readable mapping of a file causes an access violation in
the pack tests. Always use PROT_READ to work around this.
|
|/ / |
|
| | |
|
|/ |
|
|\ |
|
| |
| |
| |
| |
| |
| | |
Use size_t for page size, instead of long. Check result of sysconf.
Use size_t for page offset so no cast to size_t (second arg to p_mmap).
Use mod instead div/mult pair, so no cast to size_t is necessary.
|
| |
| |
| |
| | |
Signed-off-by: Sven Strickroth <email@cs-ware.de>
|
| | |
|
| |
| |
| |
| |
| | |
Rename git_merge_head to git_annotated_commit, as it becomes used
in more operations than just merge.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| | |
Already cherry-picked commits should not be re-included. If all changes
included in a commit exist in the upstream, then we should error with
GIT_EAPPLIED.
|
| |
| |
| |
| | |
Commit the current patch of a rebase process.
|
| | |
|
| |
| |
| |
| |
| |
| | |
`git_rebase_next` will apply the next patch (or cherry-pick)
operation, leaving the results checked out in the index / working
directory so that consumers can resolve any conflicts, as appropriate.
|
| |
| |
| |
| |
| | |
Abort an in-progress rebase and move the working directory and
repository back to the ORIG_HEAD state.
|
| | |
|
| |
| |
| |
| |
| |
| | |
Introduce `git_rebase` to set up a rebase session that can
then be continued. Immediately, only merge-type rebase is
supported.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|