Log

Author Commit Date CI Message
Damien PROFETA 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.
Carlos Martín Nieto 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.
Edward Thomson ddf9d7d4 2014-12-18T21:12:05 Merge branch 'hf/master_patch'
Vicent Marti 247b3f4e 2014-12-18T21:47:22 Merge remote-tracking branch 'origin/master_patch'
Edward Thomson 28428318 2014-12-18T12:41:59 index tests: test capitalization before mkdir
Carlos Martín Nieto c90ed5b5 2014-12-18T02:11:06 Plug leaks
Carlos Martín Nieto 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.
Edward Thomson 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.
Edward Thomson 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.
Vicent Marti 8e35527d 2014-12-16T13:03:02 path: Use UTF8 iteration for HFS chars
Edward Thomson 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.
Edward Thomson ee5da720 2014-12-02T22:20:42 reference_create: validate loose names Validate loose reference names on Win32.
Edward Thomson 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.
Vicent Marti 0d388adc 2014-11-25T00:58:03 index: Check for valid paths before creating an index entry
Vicent Marti 62155257 2014-11-25T00:14:52 tree: Check for `.git` with case insensitivy
Edward Thomson 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:\)
Edward Thomson 09debe12 2014-12-01T13:06:11 clar: wide character comparisons
Edward Thomson 34100846 2014-11-26T16:24:37 tests: use p_ instead of posix func directly
Edward Thomson 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()`
Carlos Martín Nieto 85a6d5f4 2014-12-10T18:49:01 push: reword comment on finish() This should make it clearer what the return value implies.
Carlos Martín Nieto 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.
Edward Thomson cd305c2f 2014-12-10T11:30:28 Merge pull request #2678 from libgit2/cmn/io-stream Introduce stackable IO streams
Carlos Martín Nieto a2fd56ab 2014-12-10T16:22:50 Fix a couple of compiler warnings
Carlos Martín Nieto 49ae22ba 2014-12-10T01:38:52 stream: constify the write buffer
Carlos Martín Nieto 3b6a5668 2014-12-10T14:53:12 Merge pull request #2755 from libgit2/ntk/readme_appveyor_build Minor Readme improvments
nulltoken a7e06cb0 2014-12-10T10:11:37 readme: Add AppVeyor build status badge/link
nulltoken 037b2a8b 2014-12-10T09:55:29 readme: Make Travis build status badge reflect the state of master
nulltoken 775d831b 2014-12-10T10:03:07 readme: Trim trailing lines
Carlos Martín Nieto 02b4c1e2 2014-11-01T16:58:20 Port the TCP transport to the new stream API
Carlos Martín Nieto 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.
Carlos Martín Nieto 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.
Carlos Martín Nieto b6f5464e 2014-11-01T21:35:06 Port HTTP(S) to the new stream API
Carlos Martín Nieto 0fae0391 2014-12-10T01:29:07 Merge pull request #2753 from ethomson/win32_leaks Win32 leaks
Carlos Martín Nieto 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.
Carlos Martín Nieto 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.
Edward Thomson ad2bf40a 2014-12-08T17:31:34 winhttp: plug some leaks
Edward Thomson 6b11eb51 2014-12-08T16:59:41 core::link test: clean up junction point name
Edward Thomson 80b01c8f 2014-12-08T16:06:15 win32: remember to free wide env name/value
Edward Thomson c251f3bb 2014-12-08T16:05:47 win32: remember to cleanup our hash_ctx
Edward Thomson d5087689 2014-12-08T23:03:30 Merge pull request #2750 from linquize/generate.py Update clar to e3985dd
Edward Thomson 99cfe9b2 2014-12-08T16:27:58 Merge pull request #2751 from linquize/broken-test-win Fix broken tests on Windows
Linquize 8e0aa2eb 2014-12-07T23:41:30 Fix broken merge tests due to autocrlf was not false
Linquize d226fbf1 2014-12-07T22:42:06 Fix broken test suite on Windows
Linquize 3a1eb9e5 2014-12-07T22:09:00 Update clar to e3985dd
Edward Thomson 19ae8439 2014-12-06T20:17:16 Merge pull request #2746 from libgit2/cmn/neg-ignore-dir Fix negative ignores withing ignored dirs
Edward Thomson 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
Edward Thomson 013924c1 2014-12-05T23:44:34 Merge pull request #2730 from libgit2/cmn/local-push Adjust the local transport for the common refspec parser
Edward Thomson df86d43c 2014-12-05T23:37:05 Merge pull request #2747 from libgit2/cmn/notes-consistency Notes API consistency fixes
Carlos Martín Nieto 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.
Carlos Martín Nieto 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.
Carlos Martín Nieto 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
Carlos Martín Nieto 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.
Carlos Martín Nieto 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.
Carlos Martín Nieto 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.
nulltoken 30ec0526 2014-12-05T07:44:09 Merge pull request #2744 from epmatsw/spelling Spelling fixes
Carlos Martín Nieto e79fbd9e 2014-12-05T07:09:08 Merge pull request #2743 from ethomson/init_val init: return the number of initializations
Will Stamper b874629b 2014-12-04T21:06:59 Spelling fixes
Edward Thomson 6d91dc53 2014-12-03T15:28:44 init: return the number of initializations
Carlos Martín Nieto 8bfbe698 2014-12-03T21:54:44 Merge pull request #2742 from stewid/add_missing_else_directive Add missing else directive
Stefan Widgren 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
Carlos Martín Nieto 792d750b 2014-12-03T13:38:48 Merge pull request #2741 from ethomson/fetch-twice win32: clear connection data on close
Edward Thomson 70d21742 2014-12-03T00:41:46 win32: clear connection data on close
Edward Thomson 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...
Carlos Martín Nieto fea15f7c 2014-11-30T01:52:22 Merge pull request #2736 from ethomson/describe_errorcode describe: check error codes
Edward Thomson 32e2b758 2014-11-29T15:57:35 describe: check error codes
Jeff Hostetler 93aef71e 2014-11-26T14:12:11 fix cl_git_mkfile() to test for -1 rather than 0 for errors from p_creat()
Edward Thomson 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
Edward Thomson e952bc5a 2014-11-23T17:15:18 Merge pull request #2718 from libgit2/cmn/peeling-errors peel: reject bad queries with EPEEL
Carlos Martín Nieto 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.
Carlos Martín Nieto 3fade40e 2014-11-23T21:29:35 remote: add test for pushing and deleting with the local transport
Carlos Martín Nieto 52ee0e8e 2014-11-23T21:26:53 remote: verify there is a push foreach callback set
Carlos Martín Nieto f7fcb18f 2014-11-23T14:12:54 Plug leaks Valgrind is now clean except for libssl and libgcrypt.
Carlos Martín Nieto 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.
Carlos Martín Nieto 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.
Carlos Martín Nieto 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.
Carlos Martín Nieto 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.
Ravindra Patel ec7e680c 2014-11-20T12:07:55 Fix for misleading "missing delta bases" error - Fix #2721.
Edward Thomson e0482934 2014-11-21T13:16:42 Merge pull request #2725 from libgit2/vmg/attr-null Do not assume blob contents are NULL terminated
Vicent Marti 24cce239 2014-11-21T18:09:57 text: Null-terminate a string if we've been gouging it
Vicent Marti b7fb71e3 2014-11-21T17:38:55 notes: Use `git__strndup`
Vicent Marti 2e1e0f10 2014-11-21T17:24:55 blame: Do not assume blob contents are NULL-terminated
Vicent Marti 1ba48b7c 2014-11-21T17:19:41 notes: Do not assume blob contents are NULL-terminated
Vicent Marti 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.
Vicent Marti 92e0b679 2014-11-21T13:31:30 buffer: Do not `put` anything if len is 0
Edward Thomson 6f446176 2014-11-21T10:59:20 Merge pull request #2710 from Therzok/shellcheckScripts Run shell scripts through shellcheck
Carlos Martín Nieto 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
Vicent Marti c89f1cf9 2014-11-21T14:18:32 Merge pull request #2724 from libgit2/vmg/empty odb: `git_odb_object` contents are never NULL
Vicent Marti 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.
Ungureanu Marius a4fccbbf 2014-11-17T07:01:40 Run shell scripts through shellcheck
Vicent Marti fc6ac074 2014-11-20T13:13:46 Merge pull request #2713 from libgit2/jamill/push_fetch_first Update message for error during push
Vicent Marti fd10b110 2014-11-20T13:12:49 Merge pull request #2717 from libgit2/cmn/remote-ls Clarify the git_remote_ls() documentation
Vicent Marti 21361cb7 2014-11-20T13:12:29 Merge pull request #2719 from libgit2/cmn/fetch-twice fetch: clear the connection data on close
Edward Thomson d7674b57 2014-11-19T19:12:59 Merge pull request #2722 from libgit2/cmn/disable-ssh-check travis: disable the cert callback on OSX
Carlos Martín Nieto 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.
Carlos Martín Nieto 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.
Ravindra Patel 7561f98d 2014-11-19T14:54:30 Fix for memory leak issue in indexer.c, that surfaces on windows
Carlos Martín Nieto 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.
Carlos Martín Nieto 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.
Carlos Martín Nieto 4d86caec 2014-11-18T18:32:25 Remove two completed projects from the list
Edward Thomson 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