|
ceb651c9
|
2014-12-19T15:31:49
|
|
Fix public header on sys/refs.h
GIT_BEGIN/END_DECL were missing from sys/refs.h and preventing
compilation with g++ as the symbol were mangled.
|
|
629417bd
|
2014-12-19T08:08:47
|
|
Fix ming32 compilation
We need to know what wchar_t and MAX_PATH are. Including common.h takes
care of that for us.
|
|
ddf9d7d4
|
2014-12-18T21:12:05
|
|
Merge branch 'hf/master_patch'
|
|
247b3f4e
|
2014-12-18T21:47:22
|
|
Merge remote-tracking branch 'origin/master_patch'
|
|
28428318
|
2014-12-18T12:41:59
|
|
index tests: test capitalization before mkdir
|
|
c90ed5b5
|
2014-12-18T02:11:06
|
|
Plug leaks
|
|
c679bf42
|
2014-12-18T02:07:36
|
|
Create miscapitialised dirs for case-sensitive filesystems
We need these directories to exist so cl_git_mkfile() can create the
files we ask it to.
|
|
dce7b1a4
|
2014-12-16T19:24:04
|
|
treebuilder: take a repository for path validation
Path validation may be influenced by `core.protectHFS` and
`core.protectNTFS` configuration settings, thus treebuilders
can take a repository to influence their configuration.
|
|
ec74b40c
|
2014-12-16T18:53:55
|
|
Introduce core.protectHFS and core.protectNTFS
Validate HFS ignored char ".git" paths when `core.protectHFS` is
specified. Validate NTFS invalid ".git" paths when `core.protectNTFS`
is specified.
|
|
8e35527d
|
2014-12-16T13:03:02
|
|
path: Use UTF8 iteration for HFS chars
|
|
11d67b75
|
2014-12-10T19:12:16
|
|
checkout: disallow bad paths on HFS
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.
|
|
ee5da720
|
2014-12-02T22:20:42
|
|
reference_create: validate loose names
Validate loose reference names on Win32.
|
|
a64119e3
|
2014-11-25T18:13:00
|
|
checkout: disallow bad paths 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.
|
|
0d388adc
|
2014-11-25T00:58:03
|
|
index: Check for valid paths before creating an index entry
|
|
62155257
|
2014-11-25T00:14:52
|
|
tree: Check for `.git` with case insensitivy
|
|
cceae9a2
|
2014-12-01T13:09:58
|
|
win32: use NT-prefixed "\\?\" paths
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:\)
|
|
09debe12
|
2014-12-01T13:06:11
|
|
clar: wide character comparisons
|
|
34100846
|
2014-11-26T16:24:37
|
|
tests: use p_ instead of posix func directly
|
|
4eb97ef3
|
2014-12-10T14:15:15
|
|
Merge pull request #2756 from libgit2/cmn/push-error-concerns
Fold `git_push_unpack_ok()` into `git_push_finish()`
|
|
85a6d5f4
|
2014-12-10T18:49:01
|
|
push: reword comment on finish()
This should make it clearer what the return value implies.
|
|
d524b2d3
|
2014-12-10T17:23:33
|
|
push: fold unpack_ok() into finish()
The push cannot be successful if we sent a bad packfile. We should
return an error in that case instead of storing it elsewhere.
|
|
cd305c2f
|
2014-12-10T11:30:28
|
|
Merge pull request #2678 from libgit2/cmn/io-stream
Introduce stackable IO streams
|
|
a2fd56ab
|
2014-12-10T16:22:50
|
|
Fix a couple of compiler warnings
|
|
49ae22ba
|
2014-12-10T01:38:52
|
|
stream: constify the write buffer
|
|
3b6a5668
|
2014-12-10T14:53:12
|
|
Merge pull request #2755 from libgit2/ntk/readme_appveyor_build
Minor Readme improvments
|
|
a7e06cb0
|
2014-12-10T10:11:37
|
|
readme: Add AppVeyor build status badge/link
|
|
037b2a8b
|
2014-12-10T09:55:29
|
|
readme: Make Travis build status badge reflect the state of master
|
|
775d831b
|
2014-12-10T10:03:07
|
|
readme: Trim trailing lines
|
|
02b4c1e2
|
2014-11-01T16:58:20
|
|
Port the TCP transport to the new stream API
|
|
1b75c29e
|
2014-11-02T11:17:01
|
|
gitno: remove code which is no longer needed
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.
|
|
4fd4341f
|
2014-11-02T10:52:03
|
|
ssh: use socket_stream to perform the connection
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.
|
|
b6f5464e
|
2014-11-01T21:35:06
|
|
Port HTTP(S) to the new stream API
|
|
0fae0391
|
2014-12-10T01:29:07
|
|
Merge pull request #2753 from ethomson/win32_leaks
Win32 leaks
|
|
468d7b11
|
2014-11-01T15:19:54
|
|
Add an OpenSSL IO stream
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.
|
|
dd4ff2c9
|
2014-11-01T12:35:54
|
|
Introduce stackable IO streams
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.
|
|
ad2bf40a
|
2014-12-08T17:31:34
|
|
winhttp: plug some leaks
|
|
6b11eb51
|
2014-12-08T16:59:41
|
|
core::link test: clean up junction point name
|
|
80b01c8f
|
2014-12-08T16:06:15
|
|
win32: remember to free wide env name/value
|
|
c251f3bb
|
2014-12-08T16:05:47
|
|
win32: remember to cleanup our hash_ctx
|
|
d5087689
|
2014-12-08T23:03:30
|
|
Merge pull request #2750 from linquize/generate.py
Update clar to e3985dd
|
|
99cfe9b2
|
2014-12-08T16:27:58
|
|
Merge pull request #2751 from linquize/broken-test-win
Fix broken tests on Windows
|
|
8e0aa2eb
|
2014-12-07T23:41:30
|
|
Fix broken merge tests due to autocrlf was not false
|
|
d226fbf1
|
2014-12-07T22:42:06
|
|
Fix broken test suite on Windows
|
|
3a1eb9e5
|
2014-12-07T22:09:00
|
|
Update clar to e3985dd
|
|
19ae8439
|
2014-12-06T20:17:16
|
|
Merge pull request #2746 from libgit2/cmn/neg-ignore-dir
Fix negative ignores withing ignored dirs
|
|
f2e09b8a
|
2014-12-06T12:26:04
|
|
Merge pull request #2748 from libgit2/cmn/doc-all
doc: add documentation to all the public structs and enums
|
|
013924c1
|
2014-12-05T23:44:34
|
|
Merge pull request #2730 from libgit2/cmn/local-push
Adjust the local transport for the common refspec parser
|
|
df86d43c
|
2014-12-05T23:37:05
|
|
Merge pull request #2747 from libgit2/cmn/notes-consistency
Notes API consistency fixes
|
|
bfa6cdbf
|
2014-12-06T03:13:44
|
|
notes: fix comments for git_note_next()
The iterator is the last argument. There is also no returned notes, just
ids, so the comment about freeing is out of place.
|
|
21083a71
|
2014-12-06T03:12:04
|
|
notes: move the notes name argument
Make it consistent between git_note_create() and git_note_remote() by
putting it after the repository.
|
|
a295bd2d
|
2014-12-06T03:36:18
|
|
doc: add documentation to all the public structs and enums
This makes them show up in the reference, even if the text itself isn't
the most descriptive.
These have been found with
grep -Przon '\n\ntypedef struct.*?\{' -- include
grep -Przon '\n\ntypedef enum.*?\{' -- include
|
|
e05b2ff1
|
2014-12-05T18:25:38
|
|
ignore: match git's rule negation rules
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.
|
|
e0a97416
|
2014-12-05T16:31:14
|
|
ignore: adjust test for negating inside a dir
Given
top
!top/foo
in an ignore file, we should not unignore top/foo. This is an
implementation detail of the git code leaking, but that's the behaviour
we should show.
A negation rule can only negate an exact rule it has seen before.
|
|
d43c7bd0
|
2014-12-05T08:13:43
|
|
Rever spelling fixes for dependencies
This is not our code and it adds unecessary changes from the upstream
code.
|
|
30ec0526
|
2014-12-05T07:44:09
|
|
Merge pull request #2744 from epmatsw/spelling
Spelling fixes
|
|
e79fbd9e
|
2014-12-05T07:09:08
|
|
Merge pull request #2743 from ethomson/init_val
init: return the number of initializations
|
|
b874629b
|
2014-12-04T21:06:59
|
|
Spelling fixes
|
|
6d91dc53
|
2014-12-03T15:28:44
|
|
init: return the number of initializations
|
|
8bfbe698
|
2014-12-03T21:54:44
|
|
Merge pull request #2742 from stewid/add_missing_else_directive
Add missing else directive
|
|
2d2cd625
|
2014-12-03T21:01:42
|
|
Add missing else directive
Add missing else directive to fix compiler warning: control reaches
end of non-void function
|
|
792d750b
|
2014-12-03T13:38:48
|
|
Merge pull request #2741 from ethomson/fetch-twice
win32: clear connection data on close
|
|
70d21742
|
2014-12-03T00:41:46
|
|
win32: clear connection data on close
|
|
169497d1
|
2014-12-01T10:43:11
|
|
Merge pull request #2734 from jeffhostetler/jeffhostetler/git_mkfile
fix cl_git_mkfile() to test for -1 rather than 0 for errors from p_creat...
|
|
fea15f7c
|
2014-11-30T01:52:22
|
|
Merge pull request #2736 from ethomson/describe_errorcode
describe: check error codes
|
|
32e2b758
|
2014-11-29T15:57:35
|
|
describe: check error codes
|
|
93aef71e
|
2014-11-26T14:12:11
|
|
fix cl_git_mkfile() to test for -1 rather than 0 for errors from p_creat()
|
|
53e48b37
|
2014-11-23T17:28:26
|
|
Merge pull request #2727 from libgit2/cmn/travis-jobs
Regain non-threadsafe builds and make the valgrind build failable
|
|
e952bc5a
|
2014-11-23T17:15:18
|
|
Merge pull request #2718 from libgit2/cmn/peeling-errors
peel: reject bad queries with EPEEL
|
|
d5c84f67
|
2014-11-23T21:34:45
|
|
local: adjust to the common refspec parser
We no longer have NULL strings, but empty ones and duplicate the sides
if necessar, so the first check will never do anything.
While in the area, remove unnecessary ifs and early returns.
|
|
3fade40e
|
2014-11-23T21:29:35
|
|
remote: add test for pushing and deleting with the local transport
|
|
52ee0e8e
|
2014-11-23T21:26:53
|
|
remote: verify there is a push foreach callback set
|
|
f7fcb18f
|
2014-11-23T14:12:54
|
|
Plug leaks
Valgrind is now clean except for libssl and libgcrypt.
|
|
753e17b0
|
2014-11-19T18:42:29
|
|
peel: reject bad queries with EINVALIDSPEC
There are some combination of objects and target types which we know
cannot be fulfilled. Return EINVALIDSPEC for those to signify that there
is a mismatch in the user-provided data and what the object model is
capable of satisfying.
If we start at a tag and in the course of peeling find out that we
cannot reach a particular type, we return EPEEL.
|
|
1dbb74ba
|
2014-11-22T18:46:17
|
|
Travis: do non-threadsafe builds
When flipping the default to threadsafe, we never made sure that the
tests were building non-threadsafe variants. Specify which thead-safety
we want for each.
|
|
60f3e876
|
2014-11-22T18:42:00
|
|
Travis: move the valgrind run to allowed_failures
We don't need to know the result of the travis run before determining
whether we want to consider the merge as successful.
|
|
e06b1040
|
2014-11-22T18:39:50
|
|
Merge pull request #2723 from ravindp/ravindp/fix_4_missing_delta_bases
Fix for misleading "missing delta bases" error.
|
|
ec7e680c
|
2014-11-20T12:07:55
|
|
Fix for misleading "missing delta bases" error - Fix #2721.
|
|
e0482934
|
2014-11-21T13:16:42
|
|
Merge pull request #2725 from libgit2/vmg/attr-null
Do not assume blob contents are NULL terminated
|
|
24cce239
|
2014-11-21T18:09:57
|
|
text: Null-terminate a string if we've been gouging it
|
|
b7fb71e3
|
2014-11-21T17:38:55
|
|
notes: Use `git__strndup`
|
|
2e1e0f10
|
2014-11-21T17:24:55
|
|
blame: Do not assume blob contents are NULL-terminated
|
|
1ba48b7c
|
2014-11-21T17:19:41
|
|
notes: Do not assume blob contents are NULL-terminated
|
|
72d00241
|
2014-11-21T13:32:21
|
|
attr_file: Do not assume ODB data is NULL-terminated
That's a bad assumption to make, even though right now it holds
(because of the way we've implemented decompression of packfiles),
this may change in the future, given that ODB objects can be
binary data.
Furthermore, the ODB object can return a NULL pointer if the object
is empty. Copying the NULL pointer to the strbuf lets us handle it
like an empty string. Again, the NULL pointer is valid behavior because
you're supposed to check the *size* of the object before working
on it.
|
|
92e0b679
|
2014-11-21T13:31:30
|
|
buffer: Do not `put` anything if len is 0
|
|
6f446176
|
2014-11-21T10:59:20
|
|
Merge pull request #2710 from Therzok/shellcheckScripts
Run shell scripts through shellcheck
|
|
deadc43e
|
2014-11-21T15:21:00
|
|
Merge pull request #2720 from ravindp/master
Fix for memory leak issue in indexer.c, that surfaces on windows
|
|
c89f1cf9
|
2014-11-21T14:18:32
|
|
Merge pull request #2724 from libgit2/vmg/empty
odb: `git_odb_object` contents are never NULL
|
|
e0156651
|
2014-11-21T13:50:46
|
|
odb: `git_odb_object` contents are never NULL
This is a contract that we made in the library and that we need to uphold. The
contents of a blob can never be NULL because several parts of the library (including
the filter and attributes code) expect `git_blob_rawcontent` to always return a
valid pointer.
|
|
a4fccbbf
|
2014-11-17T07:01:40
|
|
Run shell scripts through shellcheck
|
|
fc6ac074
|
2014-11-20T13:13:46
|
|
Merge pull request #2713 from libgit2/jamill/push_fetch_first
Update message for error during push
|
|
fd10b110
|
2014-11-20T13:12:49
|
|
Merge pull request #2717 from libgit2/cmn/remote-ls
Clarify the git_remote_ls() documentation
|
|
21361cb7
|
2014-11-20T13:12:29
|
|
Merge pull request #2719 from libgit2/cmn/fetch-twice
fetch: clear the connection data on close
|
|
d7674b57
|
2014-11-19T19:12:59
|
|
Merge pull request #2722 from libgit2/cmn/disable-ssh-check
travis: disable the cert callback on OSX
|
|
aa5a06c3
|
2014-11-20T00:52:52
|
|
travis: disable the cert callback on OSX
The sshd on OSX has stopped responding to the setting which this test
assumes is there, so let's disable it until we can figure out what's
happening.
|
|
1ca61bdc
|
2014-11-19T20:53:25
|
|
fetch: clear the connection data on close
When we fetch twice with the same remote object, we did not properly
clear the connection flags, so we would leak state from the last
connection.
This can cause the second fetch with the same remote object to fail if
using a HTTP URL where the server redirects to HTTPS, as the second
fetch would see `use_ssl` set and think the initial connection wanted to
downgrade the connection.
|
|
7561f98d
|
2014-11-19T14:54:30
|
|
Fix for memory leak issue in indexer.c, that surfaces on windows
|
|
8fd7dd77
|
2014-11-19T15:49:47
|
|
remote: don't say we free the remote on disconnect
On disconnect we simply ask the transport to close the connection, we do
not free it.
|
|
699dfcc3
|
2014-11-19T15:49:02
|
|
remote: clarify which list of references _ls() returns
Make it clear that this is not the ls-remote command but a way to access
the data we have and how long it's kept around.
|
|
4d86caec
|
2014-11-18T18:32:25
|
|
Remove two completed projects from the list
|
|
93b982b1
|
2014-11-18T12:12:19
|
|
Merge pull request #2654 from linquize/missing-obj
Fix missing object in tests/resources/crlf by changing the tail commit
|