|
d09458f3
|
2014-10-24T16:52:39
|
|
Merge pull request #2638 from libgit2/cmn/config-refresh-remove
config: remove the refresh function and backend field
|
|
725cd5f2
|
2014-10-24T16:44:07
|
|
Merge pull request #2646 from libgit2/cmn/remote-rename
remote: accept a repo and name for renaming
|
|
b8041215
|
2014-10-24T14:02:53
|
|
Merge pull request #2649 from swisspol/2630
Fixed memory leak in git_tag_delete()
|
|
cdfd2b62
|
2014-10-24T08:27:38
|
|
Merge pull request #2645 from libgit2/cmn/common-crypto
[RFC] Use CommonCrypto for hashing
|
|
1ad15540
|
2014-10-24T08:23:14
|
|
Fixed memory leak in git_tag_delete()
|
|
46c8f7f8
|
2014-10-24T16:25:59
|
|
remote: accept a repo and name for renaming
Remote objects are not meant to be changed from under the user. We did
this in rename, but only the name and left the refspecs, such that a
save would save the wrong refspecs (and a fetch and anything else would
use the wrong refspecs).
Instead, let's simply take a name and not change any loaded remote from
under the user.
|
|
0862f617
|
2014-10-24T12:19:13
|
|
remote: delete git_remote_supported_url()
This function does not in fact tell us anything, as almost anything with
a colon in it is a valid rsync-style SSH path; it can not tell us that
we do not support ftp or afp or similar as those are still valid SSH
paths and we do support that.
|
|
d9c0dbb0
|
2014-10-24T13:29:11
|
|
hash: use CommonCrypto on OSX for SHA-1
OSX has its own cryptographic library, let's make use of it instead of
calling out to OpenSSL.
|
|
55cb4999
|
2014-10-23T19:05:02
|
|
config: remove the refresh function and backend field
We have been refreshing on read and write for a while now, so
git_config_refresh() is at best a no-op, and might just end up wasting
cycles.
|
|
4bb6ffb6
|
2014-10-23T18:58:39
|
|
Merge pull request #2622 from libgit2/refresh-config-snapshot
Refresh git configuration before looking for the tracking branch redux.
|
|
d676af43
|
2014-10-23T08:27:13
|
|
Merge pull request #2625 from libgit2/cmn/ssl-tls
ssl: dump the SSL ciphers in favour of TLS
|
|
f0f97370
|
2014-10-18T15:52:10
|
|
ssl: dump the SSL ciphers in favour of TLS
All versions of SSL are considered deprecated now, so let's ask OpenSSl
to only use TLSv1. We still ask it to load those ciphers for
compatibility with servers which want to use an older hello but will use
TLS for encryption.
For good measure we also disable compression, which can be exploitable,
if the OpenSSL version supports it.
|
|
ad5adacb
|
2014-10-21T09:29:45
|
|
Patch from @carlosmn to refresh the parent config before snapshotting.
|
|
12f32d91
|
2014-10-14T16:31:55
|
|
Remote paths: canonicalize UNC paths on Win32
Git for Windows will handle UNC paths only when in forward-slash
format, eg "//server/path". When given a UNC path as a remote,
rewrite standard format ("\\server\path") into this ridiculous
format.
|
|
bb0757d5
|
2014-10-22T21:09:31
|
|
tree-cache: correct the entry_count calculation
The entry_count field is the amount of index entries covered by a
particular cache entry, that is how many files are there (recursively)
under a particular directory.
The current code that attemps to do this is severely defincient and is
trying to count the amount of children, which always comes up to zero.
We don't even need to recount, since we have the information during the
cache creation. We can take that number and keep it, as we only ever
invalidate or replace.
|
|
e0383fa3
|
2014-10-13T16:59:56
|
|
Merge pull request #2609 from linquize/describe-opts
Handle describe options better
|
|
c6e26210
|
2014-10-13T16:52:44
|
|
Merge pull request #2615 from ethomson/mount_points
Mount points
|
|
6a26488f
|
2014-10-11T21:38:22
|
|
Don't copy buffer in checkout unless needed
|
|
5e2cf2ca
|
2014-10-10T13:22:11
|
|
Ensure filters (i.e. CRLF) are applied when checking out conflict content
|
|
969b6a47
|
2014-10-11T11:23:34
|
|
is_empty_dir (wi32): cope with empty mount points
FindFirstFile will fail with INVALID_HANDLE_VALUE if there are no
children to the given path, which can happen if the given path is a
file (and obviously has no children) or if the given path is an empty
mount point. (Most directories have at least directory entries '.'
and '..', but ridiculously another volume mounted in another drive
letter's path space do not, and thus have nothing to enumerate.)
If FindFirstFile fails, check if this is a directory-like thing
(a mount point).
|
|
8d45b469
|
2014-10-11T14:34:24
|
|
p_lstat win32: don't canonicalize volume mounts
A reparse point that is an IO_REPARSE_TAG_MOUNT_POINT could be
a junction or an actual filesystem mount point. (Who knew?)
If it's the latter, its reparse point will report the actual
volume information \??\Volume{GUID}\ and we should not attempt
to dereference that further, instead readlink should report
EINVAL since it's not a symlink / junction and its original
path was canonical.
Yes, really.
|
|
cf1013a8
|
2014-10-12T17:21:17
|
|
There is no "z" size specifier on MSVC
See http://msdn.microsoft.com/en-us/library/tcxf1dw6.aspx and https://stackoverflow.com/questions/6655410/why-doesnt-zd-printf-format-work-in-vs2010
Signed-off-by: Sven Strickroth <email@cs-ware.de>
|
|
59186d9b
|
2014-10-10T23:37:20
|
|
describe: Initialize options for git_describe_format() if null
|
|
0494a7c9
|
2014-10-10T21:48:46
|
|
describe: Do not crash if pass null option to git_describe_commit()
|
|
85fe63bc
|
2014-10-10T15:17:27
|
|
Don't use cl_git_pass for POSIX functions
If there is a failure then cl_git_pass tries to get the libgit2
error, but p_... functions don't set that.
Also - trailing whitespace cleanup.
|
|
babbff34
|
2014-10-10T15:17:05
|
|
Move un-namespaced constant to internal header
FLAG_BITS only seems to be used internally
|
|
7465e873
|
2014-09-29T09:07:41
|
|
index: fill the tree cache on write-tree
An obvious place to fill the tree cache is on write-tree, as we're
guaranteed to be able to fill in the whole tree cache.
The way this commit does this is not the most efficient, as we read the
root tree from the odb instead of filling in the cache as we go along,
but it fills the cache such that successive operations (and persisting
the index to disk) will be able to take advantage of the cache, and it
reuses the code we already have for filling the cache.
Filling in the cache as we create the trees would require some
reallocation of the children vector, which is currently not possible
with out pool implementation. A different data structure would likely
allow us to perform this operation at a later date.
|
|
795d8e93
|
2014-09-29T08:03:22
|
|
index: make sure to write cached subtrees if parent is invalidated
If e.g. the root tree is invalidated, we still want to write out
its children, since those may still have valid cache entries.
|
|
c2f8b215
|
2014-09-28T07:00:49
|
|
index: write out the tree cache extension
Keeping the cache around after read-tree is only one part of the
optimisation opportunities. In order to share the cache between program
instances, we need to write the TREE extension to the index.
Do so, taking the opportunity to rename 'entries' to 'entry_count' to
match the name given in the format description. The included test is
rather trivial, but works as a sanity check.
|
|
46bb0067
|
2014-07-11T11:52:38
|
|
tree-cache: remove the parent pointer
This wasn't used. We invalidate based on the full path, so we always go
down the tree, never up.
|
|
6843cebe
|
2014-07-10T14:10:39
|
|
index: fill the tree cache when reading from a tree
When reading from a tree, we know what every tree is going to look like,
so we can fill in the tree cache completely, making use of the index for
modification of trees a lot quicker.
|
|
19c88310
|
2014-07-10T13:48:13
|
|
tree-cache: move to use a pool allocator
This simplifies freeing the entries quite a bit; though there aren't
that many failure paths right now, introducing filling the cache from a
tree will introduce more. This makes sure not to leak memory on errors.
|
|
d091a9db
|
2014-07-10T12:21:28
|
|
tree-cache: extract the allocation
|
|
a6ed1fcb
|
2014-10-10T12:21:28
|
|
Merge pull request #2593 from libgit2/cmn/remote-delete-name
remote: accept a repository and remote name for deletion
|
|
bab92a8d
|
2014-10-10T18:06:36
|
|
Merge pull request #2575 from cirosantilli/factor-struct-typedef
[factor] Join typedef and struct definitions in single file.
|
|
4c0c0015
|
2014-10-10T17:58:35
|
|
Merge pull request #2498 from linquize/read-large-file
Can read large file larger than 2GB on Win64
|
|
33ca3565
|
2014-10-10T17:52:31
|
|
Merge pull request #2556 from sbc100/fix_warnings
Fix warnings in thread-utils.h when building without -DTHREADSAFE=ON
|
|
2139c9b7
|
2014-10-10T17:50:28
|
|
Merge pull request #2542 from linquize/fetch-head
Do not error out when fetching from second remote
|
|
9b36537d
|
2014-10-10T17:42:52
|
|
Merge pull request #2588 from swansontec/ssl-cert-path2
Add support for setting the SSL CA location
|
|
0625638f
|
2014-10-10T17:40:53
|
|
Merge pull request #2499 from csware/hard-reset-checkout-callbacks
Allow to propagate checkout callbacks to git HARD reset
|
|
f54d8d52
|
2014-10-10T11:28:58
|
|
Merge pull request #2574 from csware/hostname-for-certificate_check_cb
Provide host name to certificate_check_cb
|
|
533da4ea
|
2014-10-10T10:03:06
|
|
Merge pull request #2473 from arthurschreiber/arthur/new-javascript-test-files
New test files for the javascript diff driver.
|
|
f339f441
|
2014-10-10T09:59:26
|
|
Merge pull request #2603 from libgit2/cmn/revwalk-merge-base
Walk only as far as the common ancestors of uninteresting commits
|
|
8e398e4c
|
2014-10-10T13:17:53
|
|
Treat an empty list of refspecs the same as a NULL value.
|
|
46a2b8e8
|
2014-10-09T22:24:40
|
|
Merge pull request #2592 from libgit2/cmn/describe
Implement git-describe
|
|
994a3006
|
2014-10-09T22:21:34
|
|
Update the javascript diff driver's function pattern.
|
|
5623e627
|
2014-10-09T11:44:05
|
|
git_filter: dup the filter name
|
|
dfff1b5b
|
2014-10-09T12:16:17
|
|
Merge pull request #2599 from linquize/config-trailing-spaces
config: Handle multiple spaces that follow a configuration value and precede a comment char
|
|
8371457c
|
2014-10-09T11:32:26
|
|
Merge pull request #2597 from ethomson/fixup
Trivial fixups
|
|
eecc1772
|
2014-10-09T17:02:11
|
|
Fix an uninitialized variable
|
|
10cf4b26
|
2014-10-09T10:49:37
|
|
Merge pull request #2448 from libgit2/cmn/reference-transaction
Introduce reference transactions
|
|
8be28acf
|
2014-10-09T10:41:38
|
|
Merge pull request #2462 from libgit2/cmn/remote-fetch-refs
Implement opportunistic ref updates
|
|
c327d5db
|
2014-10-09T16:29:30
|
|
transaction: rename lock() to lock_ref()
This leaves space for future expansion to locking other resources
without having to change the API for references.
|
|
917f85a1
|
2014-10-09T14:16:10
|
|
Extract shared functionality.
|
|
eca07bcd
|
2014-10-09T13:58:23
|
|
Add git_merge_bases_many.
|
|
d6afda62
|
2014-10-08T17:17:31
|
|
revwalk: clear first-parent flag on reset
This should have been included when implementing the feature but was
missed.
|
|
9b5d6cea
|
2014-10-08T17:14:48
|
|
revwalk: catch no-push and no-hide cases
If there have been no pushes, we can immediately return ITEROVER. If
there have been no hides, we must not run the uninteresting pre-mark
phase, as we do not want to hide anything and this would simply cause us
to spend time loading objects.
|
|
e7970576
|
2014-10-08T15:52:11
|
|
revwalk: mark uninteresting only up to the common ancestors
This introduces a phase at the start of preparing a walk which pre-marks
uninteresting commits, but only up to the common ancestors.
We do this in a similar way to git, by walking down the history and
marking (which is what we used to do), but we keep a time-sorted
priority queue of commits and stop marking as soon as there are only
uninteresting commits in this queue.
This is a similar rule to the one used to find the merge-base. As we
keep inserting commits regardless of the uninteresting bit, if there are
only uninteresting commits in the queue, it means we've run out of
interesting commits in our walk, so we can stop.
The old mark_unintesting() logic is still in place, but that stops
walking if it finds an already-uninteresting commit, so it will stop on
the ones we've pre-marked; but keeping it allows us to also hide those
that are hidden via the callback.
|
|
ad66bf88
|
2014-10-08T10:45:47
|
|
revwalk: keep a single list of user inputs
The old separation was due to the old merge-base finding, so it's no
longer necessary.
|
|
42835aa6
|
2014-10-08T10:24:06
|
|
revwalk: clear the flags on reset
These store merge-base information which is only valid for a single run.
|
|
0a641647
|
2014-10-04T23:27:06
|
|
config: Fix multiple trailing spaces before comments not completely trimmed
|
|
7c9bf891
|
2014-10-03T19:34:37
|
|
repository_head_unborn: clear error when HEAD is unborn
|
|
737b5051
|
2014-10-01T12:03:24
|
|
hashsig: Export as a `sys` header
|
|
737b445a
|
2014-09-26T20:31:33
|
|
Add support for setting the SSL CA location
This allows users to specify self-signed certificates, or to provide their
own certificate stores on limited platforms such as mobile phones.
|
|
44802c55
|
2014-09-30T16:19:24
|
|
path: fix invalid access
|
|
262eec23
|
2014-09-30T16:07:30
|
|
remote: accept a repository and remote name for deletion
We don't need the remote loaded, and the function extracted both of
these from the git_remote in order to do its work, so let's remote a
step and not ask for the loaded remote at all.
This fixes #2390.
|
|
f99ca523
|
2014-06-30T06:38:45
|
|
stash: use a transaction to modify the reflog
The stash is implemented as the refs/stash reference and its reflog. In
order to modify the reflog, we need avoid races by making sure we're the
only ones allowed to modify the reflog.
We achieve this via the transactions API. Locking the reference gives us
exclusive write access, letting us modify and write it without races.
|
|
ab8d9242
|
2014-06-28T06:39:38
|
|
Introduce reference transactions
A transaction allows you to lock multiple references and set up changes
for them before applying the changes all at once (or as close as the
backend supports).
This can be used for replication purposes, or for making sure some
operations run when the reference is locked and thus cannot be changed.
|
|
bdeb8772
|
2014-06-28T07:29:46
|
|
signature: add a dup function which takes a pool
This will be used by the transaction code.
|
|
20363d58
|
2014-06-28T07:26:33
|
|
reflog: constify byindex
|
|
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.
|
|
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.
|
|
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.
|
|
886710b7
|
2014-09-30T09:20:08
|
|
describe: make mingw happy
The MinGW compiler does not like it when we declare a typedef twice.
|
|
25345c0c
|
2014-09-30T09:18:22
|
|
describe: rename git_describe_opts to git_describe_options
And implement the option init functions for this and the format options.
|
|
55f1b6b6
|
2014-09-30T08:56:27
|
|
describe: implement abbreviated ids
|
|
fd8126e4
|
2014-09-30T08:54:52
|
|
describe: implement describing the workdir
When we describe the workdir, we perform a describe on HEAD and then
check to see if the worktree is dirty. If it is and we have a suffix
string, we append that to the buffer.
|
|
3b6534b8
|
2014-09-30T07:19:14
|
|
describe: split into gather and format steps
Instead of printing out to the buffer inside the information-gathering
phase, write the data to a intermediate result structure.
This allows us to split the options into gathering options and
formatting options, simplifying the gathering code.
|
|
1f501a08
|
2014-09-30T04:58:02
|
|
describe: rename _object() to _commit()
We don't describe arbitrary object, so let's give it the name of the one
object type we accept.
|
|
af6cc38f
|
2014-09-30T04:38:05
|
|
Merge remote-tracking branch 'upstream/master' into cmn/describe
|
|
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
|
|
5387cfee
|
2014-09-25T15:29:35
|
|
Ensure patch is initialized to zero, otherwise, the allocated flag may be set
|
|
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
|
|
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
|
|
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.
|
|
06280457
|
2014-09-18T11:53:24
|
|
Join typedef and struct definitions in single file.
|
|
e6e834a1
|
2014-09-18T12:23:07
|
|
Provide host name to certificate_check_cb
Signed-off-by: Sven Strickroth <email@cs-ware.de>
|
|
14556cbf
|
2014-09-17T17:13:25
|
|
Merge pull request #2567 from cirosantilli/factor-41
Factor 40 and 41 constants from source.
|
|
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
|
|
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
|