| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
On a case-insensitive filesystem, we need to deal with case-changing
renames (eg, foo -> FOO) by removing the old and adding the new,
exactly as if we were on a case-sensitive filesystem.
Update the `checkout::tree::can_cancel_checkout_from_notify` test, now
that notifications are always sent case sensitively.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
On case insensitive filesystems, we may have files in the working
directory that case fold to a name we want to write. Remove those
files (by default) so that we will not end up with a filename that
has the unexpected case.
|
| |
|
|
|
|
| |
Symbolic links that abuse case insensitivity to write into .git.
|
|
|
|
|
| |
Don't bother trying to recreate the previously created directory
during checkout, for a modest reduction in the number of stats.
|
|
|
|
|
|
|
| |
The documentation for `git_path_join_unrooted` states that the base
length will be returned, so that consumers like checkout know where
to start creating directories instead of always creating directories
at the directory root.
|
|
|
|
|
|
|
| |
Checkout can now provide performance data about the number of (some)
syscalls performed using an optional callback.
This structure remains internal-only in maintenance branches.
|
|
|
|
|
|
| |
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:\)
|
| |
|
| |
|
|\
| |
| | |
Propogate GIT_ENOTFOUND from git_remote_rename
|
|/ |
|
|\
| |
| | |
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.
|
|\ \ \ \
| |/ / /
|/| | | |
Make the Visual Studio compiler happy
|
|/ / / |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
An anonymous remote wouldn't create remote-tracking branches, so testing
we don't create them for TAGS_ALL is nonsensical. Furthermore, the name
of the supposed remote-tracking branch was also not one which would have
been created had it had a name.
Give the remote a name and test that we only create the tags when we
pass TAGS_ALL and that we do create the remote-branch branch when given
TAGS_AUTO.
|
|/ /
| |
| |
| |
| | |
Since it's not necessarily obvious, mention the merging state and how to
clear it.
|
|\ \
| | |
| | | |
revert tests: always use core.autocrlf=false in tests
|
|/ / |
|
|\ \
| |/
|/| |
Fixed the most obvious Clang static analyzer warnings
|
| | |
|
|/ |
|
|\
| |
| | |
Flip THREADSAFE's default to ON
|
| |
| |
| |
| |
| |
| | |
Threads are here to stay; and for a while now, users have had to call
the initialization function which sets up threads and crypto regardless
of whether the library was built threadsafe or not.
|
|\ \
| |/
|/| |
|
| |
| |
| |
| |
| |
| | |
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>
|
|\ \
| | |
| | | |
Rebase (merge)
|
| | | |
|