|
4b1018d2
|
2015-01-08T17:24:12
|
|
Fix crash in free() when git_buf_grow() fails.
|
|
56065c09
|
2014-12-31T09:27:44
|
|
Merge pull request #2788 from swisspol/fix_docs
Fixed git_revert() documentation
|
|
f8263472
|
2014-12-30T15:54:30
|
|
Fixed git_revert() documentation
|
|
a3ef70bb
|
2014-12-30T11:53:55
|
|
Merge pull request #2761 from libgit2/cmn/fetch-prune
Remote-tracking branch prunning
|
|
c4c47fc2
|
2014-12-30T11:53:45
|
|
Merge pull request #2762 from libgit2/cmn/hide-push
remote: remove git_push from the public API
|
|
8aba3d47
|
2014-12-30T17:06:04
|
|
Update CHANGELOG for pruning
|
|
fe794b2e
|
2014-12-16T08:57:05
|
|
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.
|
|
13da562a
|
2014-12-30T16:48:52
|
|
Merge pull request #2785 from jacquesg/coverity
Coverity fixes
|
|
dfda1cf5
|
2014-12-27T21:04:28
|
|
Check for OOM
|
|
0beb7fe4
|
2014-12-24T11:44:17
|
|
Added missing error handling path
|
|
3dbd9a0e
|
2014-12-24T11:43:38
|
|
Check the result of git_buf_joinpath
|
|
4ceb388b
|
2014-12-29T14:22:36
|
|
Merge pull request #2784 from jacquesg/undef-stat
Undef stat for Mingw
|
|
6f73e026
|
2014-12-24T11:42:50
|
|
Plug some leaks
|
|
a1daec3c
|
2014-12-29T18:11:33
|
|
Undef stat first
|
|
ddf95324
|
2014-12-29T09:30:05
|
|
Merge pull request #2783 from libgit2/cmn/treebuilder-new
treebuilder: rename _create() to _new()
|
|
61cf3823
|
2014-12-29T09:26:57
|
|
Merge pull request #2777 from sba1/amigaos-get-timer
Added git__timer() variant for AmigaOS.
|
|
7cf86f92
|
2014-12-28T10:35:26
|
|
Added AmigaOS-specific implementation of git__timer().
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.
|
|
208a2c8a
|
2014-12-27T12:09:11
|
|
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.
|
|
aad27e6e
|
2014-12-27T11:56:00
|
|
Add a few missing CHANGELOG entries
|
|
5692dcf1
|
2014-12-24T06:24:42
|
|
Merge pull request #2772 from ethomson/case_changing_rename
Case changing rename
|
|
171c2ff1
|
2014-12-24T06:23:36
|
|
Merge pull request #2778 from ethomson/whitespace_85
don't treat 0x85 as whitespace
|
|
d6398d35
|
2014-12-24T06:19:02
|
|
Merge pull request #2779 from ethomson/openssl_export
global: include sys/openssl.h for GIT_EXPORT of fn
|
|
73f0278e
|
2014-12-23T16:40:01
|
|
global: include sys/openssl.h for GIT_EXPORT of fn
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.
|
|
fe5f7722
|
2014-12-23T11:27:01
|
|
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.
|
|
40d79154
|
2014-05-09T19:32:52
|
|
Always checkout with case sensitive iterator
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.
|
|
61ee5b0e
|
2014-05-08T17:35:03
|
|
Introduce test for checkout case-changing rename
|
|
e8cd4321
|
2014-12-23T14:09:01
|
|
Merge pull request #2775 from ethomson/index_entrycounts
index: reuc and name entrycounts should be size_t
|
|
2fe8157e
|
2014-12-22T18:42:03
|
|
index: reuc and name entrycounts should be size_t
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.
|
|
0bb237ed
|
2014-12-22T13:10:04
|
|
Merge pull request #2773 from ethomson/findpkgconfig
cmake: include FindPkgConfig for windows
|
|
6e1205ef
|
2014-12-22T12:40:04
|
|
cmake: include FindPkgConfig for windows
Apparently FindPkgConfig is not included by default on VS builds,
only Unix and Unix-like (mingw) builds.
|
|
62d66a4a
|
2014-12-22T10:22:03
|
|
Merge pull request #2745 from libgit2/cmn/pkg-config-ssh
Find libssh2 via pkg-config
|
|
d147900e
|
2014-12-20T21:24:45
|
|
Merge pull request #2759 from libgit2/cmn/openssl-sys
Make OpenSSL locking warnings more severe
|
|
25a03d4a
|
2014-12-20T21:23:55
|
|
Merge pull request #2760 from libgit2/cmn/init-readme
Mention the init function in the README
|
|
c7d9839f
|
2014-12-20T21:22:30
|
|
Merge pull request #2763 from libgit2/cmn/local-proto-progress
Show progress output on fetch for the local transport
|
|
0de26b7c
|
2014-12-20T21:18:15
|
|
Merge pull request #2767 from linquize/winpath
More Windows Path checking
|
|
6afc0bfa
|
2014-12-20T08:06:48
|
|
Merge pull request #2768 from dprofeta/fix/c++-refs
Fix public header on sys/refs.h
|
|
6987a580
|
2014-12-19T23:54:42
|
|
Add more Windows reserved filenames
|
|
6fd00266
|
2014-12-19T23:54:01
|
|
COM0 is a valid path, although Windows Explorer does not allow to create this
|
|
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:\)
|
|
4fd2bda9
|
2014-12-16T10:25:45
|
|
local: send 'counting objects' output
Pretend we have a git process at the other end by creating a similar
progress output when inserting objects into the packbuilder.
|
|
3ded7f28
|
2014-12-16T10:05:49
|
|
local: add failing test for sideband information
We do not currently generate any messages when we're counting the
objects, as might be expected from a local upload-pack. Assert that we
do call the function when working.
|
|
4adc64a8
|
2014-12-14T21:24:46
|
|
fetch: plug leaks in the prune tests
|
|
26186b15
|
2014-12-14T21:01:19
|
|
fetch: remove the prune setter
This option does not get persisted to disk, which makes it different
from the rest of the setters. Remove it until we go all the way.
We still respect the configuration option, and it's still possible to
perform a one-time prune by calling the function.
|
|
7b6e1e4c
|
2014-12-14T20:40:52
|
|
fetch: add test for the other order of overlapping specs
|
|
59ff8b67
|
2014-12-14T18:24:54
|
|
fetch: perform prune in separate steps
For each remote-tracking branch we want to remove, we need to consider
it against every other refspec in case we have overlapping refspecs,
such as with
refs/heads/*:refs/remotes/origin/*
refs/pull/*/head:refs/remotes/origin/pr/*
as we'd otherwise remove too many refspecs.
Create a list of condidates, which are the references matching the rhs
of any active refspec and then filter that list by removing those
entries for which we find a remove reference with any active
refspec. Those which are left after this are removed.
|
|
5e0c3d2d
|
2014-11-13T11:26:02
|
|
Make sure that `fetch --prune --tags` doesn't remove tags.
|
|
b91194e8
|
2014-11-13T09:22:10
|
|
Cleanup repository after prune tests.
|
|
93d968fa
|
2014-11-12T22:05:09
|
|
Cleanup after testing remote prune.
|
|
8c13eaed
|
2014-12-14T17:00:54
|
|
fetch: prune after updating tips
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.
|
|
4aa23369
|
2014-12-14T16:56:38
|
|
fetch: assert we don't call update tips when there are no upates
This is hiding a bug in the prune code, whereby we prune references we
shouldn't but don't notice it in the code afterwards because
update_tips() recreates them.
This means that we do perform changes to the references (and get rid of
the reflogs) when we shouldn't.
|
|
020aab93
|
2014-12-14T16:50:33
|
|
fetch: do set prune when testing
We load the remote again, so we need to ask the new remote to prune the
refs, or we're not exercising the code in our tests.
|
|
82eeba81
|
2014-11-12T20:44:28
|
|
Fix references to git_remote_lookup.
|
|
439e19f6
|
2014-11-12T17:12:30
|
|
Test that prune overlapping works as expected.
|
|
ce4b57c6
|
2014-10-27T14:40:33
|
|
Fix calls to `git_remote_download` and `git_remote_fetch`.
|
|
b8fefcb9
|
2014-09-23T23:21:41
|
|
Add test for prune refs
|
|
5f473947
|
2014-09-22T23:17:35
|
|
remote: prune refs when fetching
|
|
ed09e044
|
2014-12-14T16:18:09
|
|
Mention the init function in the README
This fixes #2731.
|
|
5192bcc5
|
2014-12-12T08:30:37
|
|
Add the OpenSSL changes to the CHANGELOG
It seems these were forgotten when initially splitting this up.
|
|
263b1d6e
|
2014-12-12T08:29:43
|
|
Make the OpenSSL locking function 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.
|
|
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
|
|
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
|
|
02b4c1e2
|
2014-11-01T16:58:20
|
|
Port the TCP transport 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
|