|
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
|
|
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
|
|
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
|
|
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
|
|
5cd81bb3
|
2014-09-03T01:01:25
|
|
Several CppCat warnings fixed
|
|
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.
|
|
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.
|
|
46a13f32
|
2014-08-29T18:19:56
|
|
Merge pull request #2481 from libgit2/cmn/oidarray
merge: expose multiple merge bases
|
|
46254467
|
2014-08-29T15:10:15
|
|
clone: support remotes with references but no branches
A repository can have any number of references which we're not
interested in such as notes or tags. For the default branch calculation
we only care about branches. Make the decision about the number of
branches rather than the number of refs in general.
|
|
0cdaa376
|
2014-08-10T17:50:46
|
|
remote: short-circuit the default branch check if there is none
If we do not have a HEAD ref in the heads, we already know there is no
default branch. Return immedately.
|
|
38952604
|
2014-07-14T20:29:53
|
|
remote: restrict default branch to branches namespace
|
|
d99c8ca1
|
2014-08-28T16:33:53
|
|
Merge pull request #2539 from libgit2/cmn/ahead-behind-order
Fix ahead-behind results
|
|
05f0d0c1
|
2014-08-28T13:36:58
|
|
graph: fix ahead-behind logic
When we see PARENT1, it means there is a local commit and thus we are
ahead. Likewise, seeing PARENT2 means that the upstream branch has a
commit and we are one more behind.
The logic is currently reversed. Correct it.
This fixes #2501.
|
|
69db8934
|
2014-08-27T19:19:55
|
|
Merge pull request #2538 from libgit2/ntk/propagate_url_parsing_error
winhttp: Prevent swallowing of url parsing error
|
|
893cfe06
|
2014-08-27T19:18:46
|
|
Merge pull request #2502 from rnowosielski/remote_set_timeout
Set timeout on remote (Add timeout for WinHttpReceiveResponse #2147)
|
|
1485c683
|
2014-08-27T18:02:10
|
|
Merge pull request #2490 from csware/ssh-wintunnel
Allow to override default ssh transport_cb - in order to allow third party ssh transports
|
|
f0c53d21
|
2014-08-27T10:28:46
|
|
winhttp: Prevent swallowing of url parsing error
|
|
6a0d2b43
|
2014-08-27T15:09:07
|
|
Merge remote-tracking branch 'upstream/master' into cmn/ssh-retry
|
|
86d0a53c
|
2014-08-27T01:30:47
|
|
Set timeout on remote (WinHTTP) should return error in case of failure. Connection timeout set to 1 minute. Read/Write timeout remains set to infinite #2147
|
|
6a211d7c
|
2014-08-26T15:12:43
|
|
Refactor git_cache to use an rwlock
This significantly reduces contention when many threads are trying to
read from the cache simultaneously.
|
|
00e9ae5a
|
2014-08-26T17:48:20
|
|
Merge pull request #2508 from libgit2/rb/fix-ignore-slash-star
Fix bugs with negative ignores inside an ignored parent directory
|
|
34e510ce
|
2014-07-30T01:41:43
|
|
Allow to override default ssh transport_cb
W/o this patch it is not possible to have a third party ssh transport_cb if GIT_SSH is disabled or a third party transport_cb which has a higher priority than the default one.
Signed-off-by: Sven Strickroth <email@cs-ware.de>
|
|
b3d3459f
|
2014-08-26T15:09:47
|
|
pack: return the correct final offset
The callers of git_packfile_unpack() expect the obj_offset argument to
be set to the beginning of the next object. We were mistakenly returning
the the offset of the object's data, which causes the CRC function to
try to use the wrong offset.
Set obj_offset to curpos instead of elem->offset to point to the next
element and bring back expected behaviour.
|
|
844d226c
|
2014-08-25T23:06:34
|
|
Merge pull request #2532 from arthurschreiber/arthur/fix-merge-base-commit-check
merge base: Correctly raise an error if a non-commit object is passed.
|
|
017c0eac
|
2014-08-25T22:41:07
|
|
merge base: Correctly raise an error if a non-commit object is passed.
|
|
5af52c62
|
2014-08-25T21:04:09
|
|
Merge pull request #2531 from libgit2/rb/mkdir-allow-parent-failures
Allow mkdir helper to skip parent errors
|
|
2c1de697
|
2014-08-25T18:18:06
|
|
Merge pull request #2527 from jacquesg/refspec-crash
Check if the refspec matches before transforming
|
|
2db71194
|
2014-07-24T04:15:24
|
|
Set timeout on remote (WinHTTP) to infinite #2147
|
|
668ae2dd
|
2014-08-22T10:05:09
|
|
Allow mkdir helper to skip parent errors
Our mkdir helper was failing is a parent directory was not
accessible even if the child directory could be created.
This changes the helper to keep trying child directories
even when the parent is unwritable.
|
|
8f6073f6
|
2014-08-21T18:53:43
|
|
Check that the refspec matches before modifying the out buffer
|
|
d28b2b7a
|
2014-08-18T15:18:59
|
|
Merge pull request #2528 from libgit2/vmg/tostr_s
Export `git_oid_tostr_s` instead of `_allocfmt`
|
|
4ca0b566
|
2014-08-18T12:41:06
|
|
oid: Export `git_oid_tostr_s` instead of `_allocfmt`
The old `allocfmt` is of no use to callers, as they are not able to free
the returned buffer. Export a new API that returns a static string that
doesn't need to be freed.
|
|
4e53c280
|
2014-08-17T14:55:06
|
|
Check if the refspec matches before transforming
|
|
294c6f29
|
2014-08-16T22:12:13
|
|
http: make sure we can consume the data we request
The recv buffer (parse_buffer) and the buffer have independent sizes and
offsets. We try to fill in parse_buffer as much as possible before
passing it to the http parser. This is fine most of the time, but fails
us when the buffer is almost full.
In those situations, parse_buffer can have more data than we would be
able to put into the buffer (which may be getting full if we're towards
the end of a data sideband packet).
To work around this, we check if the space we have left on our buffer is
smaller than what could come from the network. If this happens, we make
parse_buffer think that it has as much space left as our buffer, so it
won't try to retrieve more data than we can deal with.
As the start of the data may no longer be at the start of the buffer, we
need to keep track of where it really starts (data_offset) and use that
in our calculations for the real size of the data we received from the
network.
This fixes #2518.
|
|
dc8adda4
|
2014-08-15T22:51:19
|
|
git_remote_ls() should return an error if the transport is not available
|
|
23135afa
|
2014-08-14T11:52:20
|
|
Introduce proper http authentication API
|
|
315cb38e
|
2014-07-31T18:43:20
|
|
Add GSSAPI support for SPNEGO/Kerberos auth over HTTP
|
|
e003f83a
|
2014-07-31T15:14:56
|
|
Introduce git_buf_decode_base64
Decode base64-encoded text into a git_buf
|
|
40867266
|
2014-07-31T18:39:58
|
|
Perform HTTP keep-alive
|
|
c180c065
|
2014-07-09T17:58:39
|
|
Custom transport: minor cleanups
* Move the transport registration mechanisms into a new header under
'sys/' because this is advanced stuff.
* Remove the 'priority' argument from the registration as it adds
unnecessary complexity. (Since transports cannot decline to operate,
only the highest priority transport is ever executed.) Users who
require per-priority transports can implement that in their custom
transport themselves.
* Simplify registration further by taking a scheme (eg "http") instead
of a prefix (eg "http://").
|
|
e62f96de
|
2014-08-13T14:55:24
|
|
Allow NULL error message prefix when class=GITERR_OS
|
|
9dac1f95
|
2014-08-09T10:56:50
|
|
config: a multiline var can start immediately
In the check for multiline, we traverse the backslashes from the end
backwards and int the end assert that we haven't gone past the beginning
of the line. We make sure of this in the loop condition, but we also
check in the return value.
However, for certain configurations, a line in a multiline variable
might be empty to aid formatting. In that case, 'end' == 'start', since
we ended up looking at the first char which made it a multiline.
There is no need for the (end > start) check in the return, since the
loop guarantees we won't go further back than the first char in the
line, and we do accept the first char to be the final backslash.
This fixes #2483.
|
|
bb9e6028
|
2014-08-09T00:35:08
|
|
Merge pull request #2507 from libgit2/rb/timer-typo
Typo in timer constants
|
|
a0cacc82
|
2014-08-08T15:18:40
|
|
For negative matches, always use leading dir match
|
|
f25bc0b2
|
2014-08-08T14:51:36
|
|
Fix rejection of parent dir of negated ignores
While scanning through a directory hierarchy, this prevents a
positive ignore match on a parent directory from blocking the scan
of a directory when a negative match rule exists for files inside
the directory.
|
|
f18234fa
|
2014-08-08T13:17:50
|
|
Don't report status on named pipes
Git skips entries in directories that are not S_ISDIR, S_ISREG, or
S_ISLNK, so let's make libgit2 do the same thing.
|
|
8f759ac0
|
2014-08-07T18:00:57
|
|
Merge pull request #2471 from jacquesg/compatibility-cleanup
Compatibility/Portability cleanup
|
|
3822d2cc
|
2014-08-05T15:06:45
|
|
Fix typo in timer normalization constants
The effect of this would be that various update callbacks would
not be made at the correct interval.
|
|
07d03d31
|
2014-07-13T16:40:51
|
|
Introduce some consistency in definition/declaration ordering
|
|
662f90e6
|
2014-07-13T16:08:46
|
|
Move p_realpath logic to realpath.c
|
|
c983604e
|
2014-07-12T14:44:21
|
|
Consistently use p_snprintf
|
|
2f795d8f
|
2014-07-12T14:45:56
|
|
Cleanup portability/compatibility layer
* Removes mingw-compat.h
* Cleans up separation of compiler/platform idiosyncrasies
* Unifies mingw/msvc stat structures and functions
* (Tries to) hide more compiler specific implementation details (even in our internal API)
|
|
d07fd442
|
2014-07-12T14:37:39
|
|
Define WINHTTP_IGNORE_REQUEST_TOTAL_LENGTH if not defined
|
|
959a93e7
|
2014-07-13T11:50:49
|
|
Silence unused variables warnings
|
|
7db0e6ee
|
2014-07-18T16:00:21
|
|
merge: expose multiple merge bases
We always calculate multiple merge bases, but up to now we had only
exposed the "best" merge base.
Introduce git_oidarray which analogously to git_strarray lets us return
multiple ids.
|
|
b62a6a13
|
2014-07-25T08:25:41
|
|
array: mark the array to grow as volatile
This works around strict aliasing rules letting some versions of
GCC (particularly on RHEL 6) thinking that they can skip updating the
size of the array when calculating the next element's offset.
|
|
9746b36c
|
2014-07-24T16:46:59
|
|
revwalk: remove preallocation of the uninteresting commits
Preallocating two commits doesn't make much sense as leaving allocation
to the first array usage will allocate a sensible size with room for
growth.
This preallocation has also been hiding issues with strict aliasing in
the tests, as we have fairly simple histories and never trigger the
growth.
|
|
9de6ec52
|
2014-07-23T09:41:52
|
|
Merge pull request #2477 from ethomson/merge
Don't allow conflicts by default
|
|
243db06c
|
2014-07-23T07:57:20
|
|
Merge pull request #2484 from libgit2/fix-git-status-list-new-unreadable-folder
Fix git status list new unreadable folder
|
|
85b7268e
|
2014-07-23T12:17:02
|
|
undo indentation change in diff_print.c
|
|
0ba4dca5
|
2014-07-22T10:40:23
|
|
git_cherry_pick -> git_cherrypick
|
|
7d0ab0fa
|
2014-07-22T15:08:24
|
|
Merge remote-tracking branch 'origin/master' into fix-git-status-list-new-unreadable-folder
|
|
e824e63d
|
2014-07-22T11:25:56
|
|
Remove debug printfs.
|
|
994404b5
|
2014-07-17T01:25:31
|
|
Don't allow conflicts by default
|
|
091165c5
|
2014-07-16T14:21:53
|
|
Merge pull request #2475 from libgit2/expose-buffer-binary-detection
Export git_buf_text_is_binary and git_buf_text_contains_nul.
|
|
b3af2d80
|
2014-07-16T13:34:25
|
|
Just put it all in buffer.
|
|
ec813d83
|
2014-07-16T13:07:17
|
|
Merge pull request #2476 from linquize/config-lf-eof
When adding new config section, handle config file not ending with LF
|
|
8baeb8a4
|
2014-07-16T13:03:34
|
|
ssh: Fix unused warning
|
|
84a85d1b
|
2014-07-16T13:03:07
|
|
clone: should_clone? Of course we should clone. That's not the question
|
|
ed99e0b5
|
2014-07-16T13:00:15
|
|
Merge pull request #2467 from ethomson/win_local_clone
Handle local file:/// paths on Windows
|
|
991dab2d
|
2014-07-16T21:09:53
|
|
Make sure \n is at the end of config file before a new section is written
|
|
df4cba0f
|
2014-07-15T17:27:58
|
|
Export git_buf_text_is_binary and git_buf_text_contains_nul.
So that users don’t need to implement binary detection themselves.
|
|
f59a34d2
|
2014-07-12T14:45:34
|
|
Only create openssl_locks if thread support is enabled
|
|
529c3715
|
2014-07-13T16:12:33
|
|
Fix unix/posix.h include guard
|
|
529fd30d
|
2014-07-08T15:45:50
|
|
Handle local file:/// paths on Windows
Windows can't handle a path like `/c:/foo`; when turning file:///
URIs into local paths, we must strip the leading slash.
|
|
a6d7e166
|
2014-07-11T16:51:43
|
|
Merge pull request #2466 from jacquesg/win2003-platform-sdk
Windows compatibility fixes
|
|
44cfb6f3
|
2014-07-11T16:49:23
|
|
Merge pull request #2463 from libgit2/cmn/ssh-factory-for-paths
ssh: provide a factory function for setting ssh paths
|
|
863dabda
|
2014-07-11T16:47:41
|
|
Merge pull request #2465 from libgit2/cmn/refspec-start-middle
Support refspecs with the asterisk in the middle
|
|
356b891e
|
2014-07-11T14:19:35
|
|
Merge pull request #2468 from Airbitz/pack-error-reporting
Properly report failure when expanding a packfile
|
|
4edd1a03
|
2014-07-10T19:17:34
|
|
Merge remote-tracking branch 'origin/development' into fix-git-status-list-new-unreadable-folder
|
|
01b432cf
|
2014-07-09T14:12:30
|
|
Properly report failure when expanding a packfile
|
|
02bf955f
|
2014-07-02T15:42:15
|
|
merge: don't open COMMIT_MSG unless we need to append conflicts
|
|
d4256ed5
|
2014-07-04T10:00:39
|
|
ssh: provide a factory function for setting ssh paths
git allows you to set which paths to use for the git server programs
when connecting over ssh; and we want to provide something similar.
We do this by providing a factory function which can be set as the
remote's transport callback which will set the given paths upon
creation.
|
|
59ceb432
|
2014-07-05T21:27:47
|
|
Define IO_REPARSE_TAG_SYMLINK if its not defined by WinNT.h
|
|
72090514
|
2014-07-05T21:27:21
|
|
Secure CRT is only available from Visual Studio 2005+
|
|
491ad0de
|
2014-07-05T21:26:35
|
|
qsort_r is only available from Visual Studio 2005+
|
|
cde32d4d
|
2014-07-05T21:25:55
|
|
Variadic macros is only available from Visual Studio 2005+
|
|
ab864e9c
|
2014-07-05T21:25:20
|
|
_stat64 is a function, __stat64 is the structure
|
|
b8365f21
|
2014-07-05T21:24:26
|
|
strnlen() is only available from Visual Studio 2005+
|
|
90c2b37f
|
2014-07-05T21:22:56
|
|
in_addr is defined in <Winsock2.h>, include before <ws2tcpip.h>
|
|
f5287fa6
|
2014-07-04T17:17:23
|
|
refspec: support asterisks in the middle of a pattern
We used to assume a refspec would only have an asterisk in the middle of
their respective pattern. This has not been a valid assumption for some
time now with git.
Instead of assuming where the asterisk is going to be, change the logic
to treat each pattern as having two halves with a replacement bit in the
middle, where the asterisk is.
|