|
c5837cad
|
2014-07-04T09:03:33
|
|
remote: implement opportunistic remote-tracking branch updates
When a list of refspecs is passed to fetch (what git would consider
refspec passed on the command-line), we not only need to perform the
updates described in that refspec, but also update the remote-tracking
branch of the fetched remote heads according to the remote's configured
refspecs.
These "fetches" are not however to be written to FETCH_HEAD as they
would be duplicate data, and it's not what the user asked for.
|
|
2cdd5c57
|
2014-07-03T07:56:31
|
|
remote: store passive refspecs
The configured/base fetch refspecs need to be taken into account in
order to implement opportunistic remote-tracking branch updates. DWIM
them and store them in the struct, but don't do anything with them yet.
|
|
9c206a22
|
2014-06-06T15:24:53
|
|
remote: use active refspec override in the tests
This lets us test this bit as well as getting closer to what they were
trying to do.
|
|
3f894205
|
2014-06-06T15:01:45
|
|
remote: allow overriding the refspecs for download and fetch
With opportunistic ref updates, git has introduced the concept of having
base refspecs *and* refspecs that are active for a particular fetch.
Let's start by letting the user override the refspecs for download.
|
|
c300d84a
|
2014-07-03T07:54:26
|
|
remote: don't DWIM refspecs unnecessarily
We can only DWIM when we've connected to the remote and have the list of
the remote's references. Adding or setting the refspecs should not
trigger an attempt to DWIM the refspecs as we typically cannot do it,
and even if we did, we would not use them for the current fetch.
|
|
a2a23322
|
2014-09-30T04:16:17
|
|
the wiki, it is dead
|
|
4c534892
|
2014-09-29T14:57:54
|
|
Merge pull request #2581 from jacquesg/stash-ignored-directories
Stash ignored directories
|
|
89602a1a
|
2014-09-29T10:39:40
|
|
Merge pull request #2584 from jacquesg/pool-alignment
Pool/Index data is not aligned
|
|
ffe34a7c
|
2014-09-29T10:37:37
|
|
Merge pull request #2582 from swansontec/master
Correctly handle getaddrinfo return result
|
|
ced843f4
|
2014-09-29T10:29:00
|
|
Merge pull request #2559 from libgit2/cmn/free-tls-error
global: free the error message when exiting a thread
|
|
7b7aa75f
|
2014-09-24T13:24:39
|
|
Recurse ignored directories when stashing
|
|
0478b7f4
|
2014-09-25T15:35:00
|
|
Silence unused return value warning
|
|
5387cfee
|
2014-09-25T15:29:35
|
|
Ensure patch is initialized to zero, otherwise, the allocated flag may be set
|
|
d99e5471
|
2014-06-11T09:37:15
|
|
Fixed merge REUC test for big-endian 64-bit
|
|
ff97778a
|
2014-09-25T13:07:36
|
|
The raw index buffer content is not guaranteed to be aligned
* Ensure alignment by copying the content into a structure on the stack
|
|
e640a77c
|
2014-09-25T15:29:03
|
|
Silence uninitialized warning
|
|
7629ea5d
|
2014-06-11T16:00:04
|
|
Fixed odb foreach test failure for big-endian 64-bit
|
|
ad8c8d93
|
2014-09-25T12:05:48
|
|
Ensure pool data is aligned on an 8 byte boundary
|
|
3aaa5c7b
|
2014-09-25T12:05:26
|
|
Introduce GIT_ALIGN
|
|
cb4a956b
|
2014-09-25T06:50:44
|
|
Merge pull request #2570 from cirosantilli/rm-unused-var
Remove unused buf variable from path/core test.
|
|
d0cf1040
|
2014-09-24T12:01:14
|
|
Correctly handle getaddrinfo return result
The getaddrinfo function indicates failure with a non-zero return code,
but this code is not necessarily negative. On platforms like Android
where the code is positive, a failed call causes libgit2 to segfault.
|
|
940da548
|
2014-09-24T13:24:06
|
|
Added test for stashing files in ignored directories
|
|
2cd3cb8e
|
2014-09-24T10:22:03
|
|
Add a note about cert check in the CHANGELOG
|
|
14556cbf
|
2014-09-17T17:13:25
|
|
Merge pull request #2567 from cirosantilli/factor-41
Factor 40 and 41 constants from source.
|
|
6340e8f5
|
2014-09-17T15:52:01
|
|
travis: another attempt at multiple allowed failures
It looks like what Travis wants is a list of hashes, rather than a hash
with a list.
|
|
276d9ea3
|
2014-09-17T15:39:57
|
|
Merge pull request #2571 from libgit2/vmg/walk-up-path
Fix `git_path_walk_up` to work with non-rooted paths
|
|
74240afb
|
2014-09-17T15:35:50
|
|
repository: Do not double-free config
|
|
5c22c4a2
|
2014-09-17T15:32:21
|
|
travis: fix allowed failures list
|
|
4592b62e
|
2014-09-17T15:26:48
|
|
Merge pull request #2572 from cirosantilli/factor-void
Replace void casts with GIT_UNUSED.
|
|
4e964117
|
2014-09-17T15:24:56
|
|
Style
|
|
a2b4407d
|
2014-09-17T15:23:17
|
|
attr: Do not walk path if we're at the root
|
|
c5cf8cad
|
2014-09-17T15:19:08
|
|
Replace void casts with GIT_UNUSED.
|
|
4cb7c4a4
|
2014-09-17T15:08:16
|
|
attr: Add an extra test for files under a subfolder
|
|
bbb988a5
|
2014-09-17T14:52:31
|
|
path: Fix `git_path_walk_up` to work with non-rooted paths
|
|
1312f87b
|
2014-09-17T14:56:39
|
|
Merge pull request #2464 from libgit2/cmn/host-cert-info
Provide a callback for certificate validation
|
|
25abbc27
|
2014-09-17T03:19:40
|
|
Clean up some leaks in the test suite
|
|
1d20092c
|
2014-09-16T18:36:49
|
|
Remove unused buf variable from path/core test.
|
|
ecef28d5
|
2014-09-16T17:46:32
|
|
Merge pull request #2569 from libgit2/cmn/valgrind-once
travis: run valgrind only once
|
|
570452e3
|
2014-09-16T17:38:03
|
|
travis: run valgrind only once
Instead of running valgrind on each job, half of which are in release
mode and don't have much usable information for valgrind, perform an
debug build as part of allowed_failures and run valgrind on that one,
which should speed up the feedback we get from the builds.
|
|
52e09724
|
2014-09-16T17:13:58
|
|
ssh: skip the localhost cert check earlier
Skip it before we attempt to clone, as we would exit with -1 on systems
which do not have sshd running.
|
|
4fe5b771
|
2014-09-16T13:35:36
|
|
winhttp: get rid of the cert ignore flag
This brings us back in line with the other transports.
|
|
1e0aa105
|
2014-09-16T03:22:09
|
|
ssh: expose both hashes
The user may have the data hashed as MD5 or SHA-1, so we should provide
both types for consumption.
|
|
286369a8
|
2014-09-16T02:27:16
|
|
ssh: provide our own types for host key lengths
Instead of using the libssh2 defines, provide our own, which eases usage
as we do not need to check whether libgit2 was built with libssh2 or not.
|
|
ebda0970
|
2014-09-16T02:07:39
|
|
script: use a parallel build on Travis
|
|
0782fc43
|
2014-09-16T01:47:30
|
|
net: use only structs to pass information about cert
Instead of spreading the data in function arguments, some of which
aren't used for ssh and having a struct only for ssh, use a struct for
both, using a common parent to pass to the callback.
|
|
0fef3899
|
2014-09-16T01:25:53
|
|
Merge remote-tracking branch 'upstream/master' into cmn/host-cert-info
|
|
bf8756d6
|
2014-09-15T21:51:42
|
|
ssh: add test for host key
Test that the certificate check callback gets the right fingerprint from
the host we're connecting to.
|
|
41698f22
|
2014-09-11T10:04:05
|
|
net: remove support for outright ignoring certificates
This option make it easy to ignore anything about the server we're
connecting to, which is bad security practice. This was necessary as we
didn't use to expose detailed information about the certificate, but now
that we do, we should get rid of this.
If the user wants to ignore everything, they can still provide a
callback which ignores all the information passed.
|
|
2aee4642
|
2014-08-31T23:16:19
|
|
transport: move the cert type enum to types.h
This should make the mingw compiler happy.
|
|
7c8acc54
|
2014-08-30T14:26:57
|
|
winhttp: set ignore security flags on user command
If the user returns 0 from the certificate check and we had certificate issues, set the options to ignore certificate errors and resend the request.
|
|
67c84e06
|
2014-08-30T14:04:57
|
|
winhttp: bring together request sending
We need to call WinHttpSendRequest() in three different places. Unify all in a single function to have a single place for the certificate check.
|
|
5f2cf732
|
2014-08-30T13:12:33
|
|
winhttp: only do certificate check for SSL
If we're not using SSL, don't call the user's certificate check callback.
|
|
08545d36
|
2014-08-30T00:40:37
|
|
winhttp: credential check on successful connect
On successful connection, still ask the user whether they accept the server's certificate, indicating that WinHTTP would let it though.
|
|
23ca0ad5
|
2014-08-29T21:25:13
|
|
Bring certificate check back to the normal return code
Returning 0 lets the certificate check succeed. An error code is bubbled
up to the user.
|
|
2f5864c5
|
2014-08-29T21:15:36
|
|
ssh: do ssh cert info before asking for credentials
We know the host's key as soon as we connect, so we should perform the
check as soon as we can, before we bother with the user's credentials.
|
|
17491f6e
|
2014-08-29T17:18:23
|
|
transport: always call the certificate check callback
We should let the user decide whether to cancel the connection or not
regardless of whether our checks have decided that the certificate is
fine. We provide our own assessment to the callback to let the user fall
back to our checks if they so desire.
|
|
85acc562
|
2014-08-29T17:07:07
|
|
remote: add tests for the certificate callback
|
|
ec1ce458
|
2014-08-10T17:06:53
|
|
http: send the DER-encoded cert to the callback
Instead of the parsed data, we can ask OpenSSL to give us the
DER-encoded version of the certificate, which the user can then parse
and validate.
|
|
9b940586
|
2014-07-04T12:45:43
|
|
Provide a callback for certificate validation
If the certificate validation fails (or always in the case of ssh),
let the user decide whether to allow the connection.
The data structure passed to the user is the native certificate
information from the underlying implementation, namely OpenSSL or
WinHTTP.
|
|
73dd6638
|
2014-09-16T13:24:52
|
|
Merge pull request #2565 from linquize/typo
Fix typo
|
|
903a7616
|
2014-09-16T13:22:40
|
|
Merge pull request #2561 from jacquesg/merge-skip
No files merged may result in bogus merge conflict error
|
|
52e9120c
|
2014-09-16T13:20:58
|
|
attr: Cleanup the containing dir logic
|
|
62595764
|
2014-09-16T13:17:08
|
|
Merge pull request #2566 from libgit2/rb/attr-with-bare
Fix attribute lookup in index for bare repos
|
|
3b2cb2c9
|
2014-09-16T11:49:25
|
|
Factor 40 and 41 constants from source.
|
|
1fbeb2f0
|
2014-09-15T21:59:23
|
|
Fix attribute lookup in index for bare repos
When using a bare repo with an index, libgit2 attempts to read
files from the index. It caches those files based on the path
to the file, specifically the path to the directory that contains
the file.
If there is no working directory, we use `git_path_dirname_r` to
get the path to the containing directory. However, for the
`.gitattributes` file in the root of the repository, this ends up
normalizing the containing path to `"."` instead of the empty
string and the lookup the `.gitattributes` data fails.
This adds a test of attribute lookups on bare repos and also
fixes the problem by simply rewriting `"."` to be `""`.
|
|
2c22193b
|
2014-09-16T08:56:33
|
|
Fix typo
|
|
910cd2da
|
2014-09-15T21:28:12
|
|
Merge pull request #2563 from alexcrichton/rust-bindings
Add Rust to the language bindings list
|
|
b4913705
|
2014-09-15T12:11:48
|
|
Add Rust to the language bindings list
|
|
a7fcac13
|
2014-09-15T20:26:12
|
|
Merge pull request #2554 from linquize/fetch-head-tag
When auto follow tags, FETCH_HEAD should list only newly followed tags
|
|
fdea219a
|
2014-09-10T18:28:19
|
|
global: free the error message when exiting a thread
When we free the global state at thread termination, we must also free
the error message in order not to leak the string once per thread.
|
|
dc68ee8d
|
2014-09-12T22:37:15
|
|
Remove local unused index_repo variable
|
|
a565f364
|
2014-09-12T22:53:56
|
|
Only check for workdir conflicts if the index has merged files
Passing 0 as the length of the paths to check to git_diff_index_to_workdir
results in all files being treated as conflicting, that is, all untracked or
modified files in the worktree is reported as conflicting
|
|
493c340c
|
2014-09-12T21:59:09
|
|
Added test case to illustrate bogus conflicts detected if no files were merged, and untracked files exist in the workdir.
|
|
3a495c19
|
2014-09-10T18:32:51
|
|
Merge pull request #2558 from libgit2/cmn/signature-empty-email
signature: don't allow empty emails
|
|
76e3c43f
|
2014-09-10T18:13:34
|
|
signature: don't allow empty emails
A signature is made up of a non-empty name and a non-empty email so
let's validate that. This also brings us more in line with git, which
also rejects ident with an empty email.
|
|
31e752b6
|
2014-09-09T12:52:36
|
|
Merge pull request #2511 from libgit2/cmn/remote-default-restrict
Restrict which refs can be the default branch
|
|
d908351a
|
2014-09-05T22:31:53
|
|
When auto follow tags, FETCH_HEAD should list only newly followed tags
|
|
1e71354e
|
2014-09-05T03:24:43
|
|
reflog: Error handling on empty reflog
|
|
0972443c
|
2014-09-05T02:50:11
|
|
Merge pull request #2553 from libgit2/cmn/ssh-errors
ssh: store error message immediately after a failed agent call
|
|
2dc399a8
|
2014-09-04T16:46:14
|
|
ssh: store error message immediately after a failed agent call
When the call to the agent fails, we must retrieve the error message
just after the function call, as other calls may overwrite it.
As the agent authentication is the only one which has a teardown and
there does not seem to be a way to get the error message from a stored
error number, this tries to introduce some small changes to store the
error from the agent.
Clearing the error at the beginning of the loop lets us know whether the
agent has already set the libgit2 error message and we should skip it,
or if we should set it.
|
|
89e05e2a
|
2014-09-03T12:50:44
|
|
Merge pull request #2543 from libgit2/cmn/known-transports
Clean up transport lookup
|
|
4c958046
|
2014-09-03T12:19:48
|
|
Merge pull request #2530 from libgit2/jamill/relative_gitlink
Teach repository to use relative paths for git symbolic links
|
|
eb939c57
|
2014-09-03T12:19:03
|
|
Merge pull request #2552 from KindDragon/master
Several CppCat warnings fixed
|
|
bc737620
|
2014-08-20T10:24:41
|
|
Introduce option to use relative paths for repository work directory
Teach git_repository_init_ext to use relative paths for the gitlink
to the work directory. This is used when creating a sub repository
where the sub repository resides in the parent repository's
.git directory.
|
|
0ee9f31c
|
2014-08-20T10:23:39
|
|
Introduce git_path_make_relative
|
|
6f3082d9
|
2014-09-03T00:15:47
|
|
Merge pull request #2550 from KindDragon/patch-2
.editorconfig added to repository
|
|
0ac9f9a0
|
2014-09-03T00:13:23
|
|
Merge pull request #2545 from linquize/no-ssh
Skip SSH clone tests if libgit2 not built with GIT_SSH defined
|
|
5cd81bb3
|
2014-09-03T01:01:25
|
|
Several CppCat warnings fixed
|
|
098bb9df
|
2014-09-02T21:42:45
|
|
.editorconfig added to repository
|
|
15c30b72
|
2014-09-02T13:23:54
|
|
clone: handle overly restrictive refspecs
When the fetch refspec does not include the remote's default branch, it
indicates an error in user expectations or programmer error. Error out
in that case.
This lets us get rid of the dummy refspec which can never work as its
zeroed out. In the cases where we did not find a default branch, we set
HEAD detached immediately, which lets us refactor the "normal" path,
removing `found_branch`.
|
|
e128a1af
|
2014-09-02T13:10:19
|
|
clone: correct handling of an unborn HEAD
If the remote does not advertise HEAD, then it is unborn and we cannot
checkout that branch. Handle it the same way as an empty repo.
|
|
538f9081
|
2014-09-01T16:35:10
|
|
remote: add test for single-branch clone
When cloning, we may be asking for a particular branch or subset of
branches. Make sure we test for that.
|
|
f2ffab61
|
2014-09-01T15:59:36
|
|
remote: add tests for remote-branch edge cases
Add tests for the case when there are no branches on the remote and when
HEAD is detached but has the id of a non-branch. In both of these cases,
we should return ENOTFOUND.
|
|
d4cb23e4
|
2014-09-01T18:29:54
|
|
Merge pull request #2548 from linquize/warning5
Fix warning
|
|
bd465f9c
|
2014-09-01T23:36:12
|
|
Fix warning
|
|
fe3b6789
|
2014-09-01T19:18:20
|
|
Skip SSH clone tests if libgit2 not built with GIT_SSH defined
|
|
05ac7051
|
2014-08-31T21:53:42
|
|
remote: test for supported URLs in a single place
Instead of using ifdefs to run the tests, use them to set when we expect
to support a particular scheme and always have the tests in the code.
|
|
ba67c075
|
2014-08-31T17:16:40
|
|
remote: get rid of git_remote_valid_url()
It does the same as git_remote_supported_url() but has a name which
implies we'd check the URL for correctness while we're simply looking at
the scheme and looking it up in our lists.
While here, fix up the tests so we check all the combination of what's
supported.
|
|
bd3854a0
|
2014-08-31T17:12:45
|
|
transport: return ENOTFOUND for HTTPS and SSH when they're not supported
The previous commit makes it harder to figure out if the library was
built with support for a particular transport. Roll back some of the
changes and remove ssh:// and https:// from the list if we're being
built without support for them.
|
|
dbc77850
|
2014-08-31T16:48:41
|
|
transport: distinguish between unknown and unsupported transports
Even when built without a SSH support, we know about this transport. It
is implemented, but the current code makes us return an error message
saying it's not.
This is a leftover from the initial implementation of the transports
when there were in fact transports we knew about but were not
implemented.
Instead, let the SSH transport itself say it cannot run, the same as we
do for HTTPS.
|