| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| | |
| | |
| | |
| | |
| | | |
This makes a fetch+prune more similar to a connect+prune and makes it
more likely that we see errors in the decision to prune a reference.
|
| | | |
|
| | | |
|
|\ \ \
| | | |
| | | | |
remote: remove git_push from the public API
|
| |/ /
| | |
| | |
| | |
| | | |
Instead we provide git_remote_upload() and git_remote_update_tips() in
order to have a parallel API for fetching and pushing.
|
|\ \ \
| | | |
| | | | |
Coverity fixes
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | | |
Undef stat for Mingw
|
| |/ / / |
|
|\ \ \ \
| | | | |
| | | | | |
treebuilder: rename _create() to _new()
|
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | | |
This function is a constructor, so let's name it like one and leave
_create() for the reference functions, which do create/write the
reference.
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | | |
The clock_gettime() function is normally not available under
AmigaOS, hence another solution is required. We are using now
GetUpTime() that is present in current versions of this
operating system.
|
|\ \ \
| | | |
| | | | |
Case changing rename
|
| | |/
| |/|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
|\ \ \
| | | |
| | | | |
don't treat 0x85 as whitespace
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
A byte value of 0x85 is not whitespace, we were conflating that with
U+0085 (UTF8: 0xc2 0x85). This caused us to incorrectly treat valid
multibyte characters like U+88C5 (UTF8: 0xe8 0xa3 0x85) as whitespace.
|
|/ / /
| | |
| | |
| | |
| | |
| | | |
The openssl setup function needs to be GIT_EXPORT'ed, be sure
to include the `sys/openssl.h` header so that it is appropriately
decorated as an export function.
|
|/ /
| |
| |
| |
| |
| | |
For the REUC and NAME entries, we use size_t internally, and we take
size_t for the get_byindex() functions, but the entrycount() functions
strangely cast to an unsigned int instead.
|
|\ \
| | |
| | | |
Make OpenSSL locking warnings more severe
|
| |/
| |
| |
| |
| | |
Our git_openssl_set_locking() would ideally not exist. Make it clearer
that we provide it as a last resort and you should prefer anything else.
|
|\ \
| | |
| | | |
Show progress output on fetch for the local transport
|
| |/
| |
| |
| |
| | |
Pretend we have a git process at the other end by creating a similar
progress output when inserting objects into the packbuilder.
|
| | |
|
| |
| |
| |
| |
| | |
We need to know what wchar_t and MAX_PATH are. Including common.h takes
care of that for us.
|
| |
| |
| |
| |
| |
| | |
Path validation may be influenced by `core.protectHFS` and
`core.protectNTFS` configuration settings, thus treebuilders
can take a repository to influence their configuration.
|
| |
| |
| |
| |
| |
| | |
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:\)
|
|
|
|
|
| |
The push cannot be successful if we sent a bad packfile. We should
return an error in that case instead of storing it elsewhere.
|
|\
| |
| | |
Introduce stackable IO streams
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| | |
Most of the network-facing facilities have been copied to the socket and
openssl streams. No code now uses these functions directly anymore, so
we can now remove them.
|
| |
| |
| |
| |
| |
| |
| |
| | |
Having an ssh stream would require extra work for stream capabilities we
don't need anywhere else (oob auth and command execution) so for now
let's move away from the gitno connection to use socket_stream.
We can introduce an ssh stream interface if and as we need it.
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
This unfortunately isn't as stackable as could be possible, as it
hard-codes the socket stream. This is because the method of using a
custom openssl BIO is not clear, and we do not need this for now. We can
still bring this in if and as we need it.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We currently have gitno for talking over TCP, but this needs to know
about both plaintext and OpenSSL connections and the code has gotten
somewhat messy with ifdefs determining which version of the function
should be called.
In order to clean this up and abstract away the details of sending over
the different types of streams, we can instead use an interface and
stack stream implementations.
We may not be able to use the stackability with all streams, but we
are definitely be able to use the abstraction which is currently spread
between different bits of gitno.
|
| | |
|
| | |
|
|\ \
| | |
| | | |
Fix negative ignores withing ignored dirs
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
A rule can only negate something which was explicitly mentioned in the
rules before it. Change our parsing to ignore a negative rule which does
not negate something mentioned in the rules above it.
While here, fix a wrong allocator usage. The memory for the match string
comes from pool allocator. We must not free it with the general
allocator. We can instead simply forget the string and it will be
cleaned up.
|