|
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.
|
|
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.
|
|
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.
|
|
26bf3a53
|
2014-08-10T17:13:00
|
|
travis: no need to clean out the test repository
This was added to avoid the remote's default branch to be considered to
the be notes one which the first network test leaves behind.
|
|
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.
|
|
94412b00
|
2014-08-10T17:48:12
|
|
remote: assert what we want to happen when ther is no default branch
Assert what we already do, so as to notice changes.
|
|
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.
|
|
e07aebb4
|
2014-08-28T13:34:42
|
|
Fix ahead-behind tests
The logic was reversed. I have checked manually each pair with git and
adjusted the expectation to what git status prints.
|
|
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
|
|
0e5bb619
|
2014-08-26T17:28:41
|
|
Added some tests
Signed-off-by: Sven Strickroth <email@cs-ware.de>
|
|
c13b6844
|
2014-08-27T15:25:46
|
|
Adjust clone tests to USERNAME cred type
|
|
15c7da34
|
2014-08-27T15:10:51
|
|
Merge branch 'cmn/ssh-retry'
|
|
7449c82e
|
2014-08-27T15:10:43
|
|
Add ssh retry changes to CHANGELOG
|
|
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
|
|
cb92467b
|
2014-08-27T01:16:11
|
|
Merge pull request #2537 from libgit2/reduce-cache-contention
Refactor git_cache to use an rwlock
|
|
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
|
|
cd0c4fa7
|
2014-08-26T17:46:52
|
|
Merge pull request #2533 from jakebolewski/jcb/addjulia
add Julia to the language bindings list
|
|
397bc8d8
|
2014-08-26T17:45:07
|
|
Merge pull request #2535 from libgit2/cmn/unpack-offset
pack: return the correct final offset
|
|
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.
|
|
d747ec18
|
2014-08-25T20:50:06
|
|
add Julia to the language bindings list
|
|
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`
|
|
43ebca8d
|
2014-08-18T15:18:47
|
|
Revert "test: Remove symlinks from the source tree"
This reverts commit 0dc54e149498bbd5de5e5ecc6006f9f5afb6588c.
|
|
0dc54e14
|
2014-08-18T12:44:41
|
|
test: Remove symlinks from the source tree
We don't really use this at all, and it breaks packaging in Windows.
|
|
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.
|
|
414dbe96
|
2014-08-18T12:26:18
|
|
Merge pull request #2525 from libgit2/cmn/http-recv-buffer
http: make sure we can consume the data we request
|
|
1a85eca0
|
2014-08-18T12:25:50
|
|
Merge pull request #2523 from leighlondon/remove-completed-project
Removing a completed starter project.
|
|
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.
|
|
1f2f6114
|
2014-08-16T19:13:21
|
|
Removing a completed starter project.
Removing the starter project for adding support for the symref
extension (#2006) from PROJECTS.md, as this seems to have been
completed with the merge of #2376.
|
|
fa44a169
|
2014-08-15T23:10:45
|
|
Merge pull request #2521 from jacquesg/remote-ls-not-connected
git_remote_ls() crashes before connect is called
|
|
dc8adda4
|
2014-08-15T22:51:19
|
|
git_remote_ls() should return an error if the transport is not available
|
|
e1c44290
|
2014-08-15T20:33:38
|
|
Merge pull request #2497 from ethomson/kerberos3
SPNEGO authentication via GSSAPI
|
|
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
|
|
adcdeb36
|
2014-08-01T13:06:37
|
|
online::clone::credentials support default credentials
|
|
f96e7e6c
|
2014-08-15T11:10:27
|
|
Free references during push validation
|
|
0f29e967
|
2014-08-01T13:43:46
|
|
Remove the refs/notes/commits that we push in test
The online::push::notes test pushes a note but leaves it hanging
around for other tests to stumble across when they're validating
that they're seeing the refs they expect to see. Clean it up on
exit.
|
|
aea67633
|
2014-07-31T17:59:03
|
|
Don't run the ssh clone tests against http remotes
|
|
fb48a51c
|
2014-08-14T17:01:02
|
|
Merge pull request #2469 from ethomson/transport2
Custom transport: minor cleanups
|
|
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://").
|
|
49d5ec71
|
2014-08-13T23:38:53
|
|
Merge pull request #2517 from ethomson/no_win_unreadable
Don't include the unreadable tests on win32
|
|
c8402334
|
2014-08-13T17:23:07
|
|
Don't include the unreadable tests on win32
|
|
0707feee
|
2014-08-13T21:23:23
|
|
Merge pull request #2513 from ethomson/giterr_null_msg
Allow NULL error message prefix when class=GITERR_OS
|
|
e62f96de
|
2014-08-13T14:55:24
|
|
Allow NULL error message prefix when class=GITERR_OS
|
|
59403f1f
|
2014-08-09T12:24:02
|
|
Merge pull request #2509 from libgit2/cmn/immediate-multiline
config: a multiline var can start immediately
|
|
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
|
|
bbe13802
|
2014-06-12T14:19:34
|
|
Demonstrate a trailing slash failure.
`git help ignore` has this to say about trailing slashes:
> If the pattern ends with a slash, it is removed for the purpose of
> the following description, but it would only find a match with a
> directory. In other words, foo/ will match a directory foo and
> paths underneath it, but will not match a regular file or a
> symbolic link foo (this is consistent with the way how pathspec
> works in general in Git).
Sure enough, having manually performed the same steps as this test,
`git status` tells us the following:
# On branch master
#
# Initial commit
#
# Changes to be committed:
# (use "git rm --cached <file>..." to unstage)
#
# new file: force.txt
#
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# ../.gitignore
# child1/
# child2/
i.e. neither child1 nor child2 is ignored.
|
|
a0cacc82
|
2014-08-08T15:18:40
|
|
For negative matches, always use leading dir match
|
|
aa5cdf63
|
2014-06-04T11:57:53
|
|
status: failing test with slash-star
When writing 'bin/*' in the rules, this means we ignore very file inside
bin/ individually, but do not ignore the directory itself. Thus the
status listing should list both files under bin/, one untracked and one
ignored.
|
|
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.
|
|
35f186b6
|
2014-08-08T22:28:27
|
|
Merge pull request #2506 from libgit2/rb/ignore-pipes-etc
Don't report status on named pipes
|
|
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
|
|
c7dd0a56
|
2014-07-12T14:44:58
|
|
Use p_snprintf also in tests
|
|
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
|
|
e0af2517
|
2014-08-05T20:28:22
|
|
Merge pull request #2503 from jacquesg/solaris-http-parser
Solaris doesn't necessarily have stdint.h, use inttypes.h
|
|
66d15954
|
2014-08-05T19:51:29
|
|
Solaris doesn't necessarily have stdint.h, use inttypes.h
|
|
59e3f45b
|
2014-07-25T11:27:51
|
|
Merge pull request #2487 from libgit2/cmn/revwalk-no-prealloc
Work around strict aliasing in array growth
|
|
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
|
|
bf9a7e06
|
2014-07-22T20:30:26
|
|
Merge pull request #2485 from ethomson/cherrypick
Rename git_cherry_pick to git_cherrypick
|
|
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.
|
|
35b1471f
|
2014-07-22T11:15:33
|
|
Move the UNREADABLE enums to the correct group.
|
|
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
|