Carlos Martín Nieto
6978992298
config: return an error when reaching the maximum include depth
2013-09-07 20:51:26 +02:00
Carlos Martín Nieto
73fc5e01c2
config: fix variable overriding
...
When two or more variables of the same name exist and the user asks
for a scalar, we must return the latest value assign to it.
2013-09-07 20:51:26 +02:00
Carlos Martín Nieto
a9fb79896e
config: refresh included files
...
We need to refresh the variables from the included files if they are
changed, so loop over all included files and re-parse the files if any
of them has changed.
2013-09-07 20:51:26 +02:00
Carlos Martín Nieto
19be0692b4
config: keep a list of included files
...
When refreshing we need to refresh if any of the files have been
touched, so we need to keep the list.
2013-09-07 20:51:26 +02:00
Carlos Martín Nieto
d8d25acb9a
config: add support for include directives
...
Relative, absolute and home-relative paths are supported. The
recursion limit it set at 10, just like in git.
2013-09-07 20:51:26 +02:00
Carlos Martín Nieto
d209cc4751
config: decouple the backend from the reader at the low level
...
In order to support config includes, we must differentiate between the
backend's main file and the file we are currently parsing.
This lays the groundwork for includes, keeping the current behaviours.
2013-09-05 18:06:12 +02:00
Vicent Martí
cca9bea484
Merge pull request #1831 from linquize/version.h-warning
...
Fix warning in src/win32/version.h
2013-09-05 06:30:08 -07:00
Linquize
21753d4869
Fix warning in src/win32/version.h
2013-09-05 20:42:47 +08:00
Ben Straub
f42d546c63
Provide better errors for push on non-bare local remotes
2013-09-04 13:07:42 -07:00
Vicent Martí
e98535923b
Merge pull request #1817 from libgit2/ntk/fix/backend/honor_refresh_capabilities
...
Of backends and refreshers...
2013-09-04 06:20:36 -07:00
Vicent Marti
74b38d199e
Backport @peff's fix for duplicates in sha1_lookup
2013-09-04 13:16:57 +02:00
nulltoken
b1a6c316a6
odb: Move the auto refresh logic to the pack backend
...
Previously, `git_object_read()`, `git_object_read_prefix()` and
`git_object_exists()` were implementing an auto refresh logic. When the
expected object couldn't be found in any backend, a call to
`git_odb_refresh()` was triggered and the lookup was once again performed
against all backends.
This commit removes this auto-refresh logic from the odb layer and pushes
it down into the pack-backend (as it's the only one currently exposing
a `refresh()` endpoint).
2013-09-04 07:44:53 +02:00
Russell Belfer
cae5293854
Fix resolving relative windows network paths
2013-09-03 14:00:27 -07:00
Vicent Martí
6208bd499b
Merge pull request #1804 from ethomson/rewrites
...
Minor changes for rewrites
2013-09-03 12:29:18 -07:00
Russell Belfer
37fc44ddff
Merge pull request #1825 from nvloff/resolve_relative
...
path: properly resolve relative paths
2013-09-03 12:27:56 -07:00
Nikolai Vladimirov
6d9a6c5cec
path: properly resolve relative paths
2013-09-03 20:45:53 +03:00
Vicent Martí
b595b385df
Merge pull request #1814 from libgit2/is-empty-fix
...
Fix incorrect precedence within git_repository_is_empty()
2013-09-03 04:11:07 -07:00
Krzysztof Adamski
b1447edebc
Use git__insertsort_r on Android too.
2013-09-01 18:47:56 +02:00
Linquize
d45e9480e7
oid: git_oid_shorten_add() sets GITERR_INVALID when OID set is full
2013-08-31 18:22:50 +08:00
nulltoken
9b4ed214f4
odb: Code beautification
2013-08-30 23:19:02 +02:00
nulltoken
a12e069a3e
odb: Honor the non refreshing capability of a backend
2013-08-30 23:19:02 +02:00
Russell Belfer
4218183631
Treat detached HEAD as non-empty repo
...
This simplifies the git_repository_is_empty a bit so that a
detached HEAD is just taken to mean the repo is not empty, since
a newly initialized repo will not have a detached HEAD.
2013-08-29 10:27:01 -07:00
Vicent Martí
8b2f230cd5
repository: Make the is_empty check more explicit
2013-08-29 13:27:37 +02:00
Justin Spahr-Summers
4ab6a759f6
Fix incorrect precedence within git_repository_is_empty()
...
Reverts part of 9146f1e57e
.
2013-08-28 22:51:57 -07:00
Russell Belfer
19b9a09209
Add stddef include for sortedcache
...
All use of sortedcache will need this header, so put it in the
definition of the sortedcache API.
2013-08-28 11:20:47 -07:00
Vicent Martí
dbecec37a7
Merge pull request #1805 from libgit2/threading-packed-load
...
Thread safety for the refdb_fs
2013-08-28 09:38:14 -07:00
Edward Thomson
17c7fbf6d2
Split rewrites, status doesn't return rewrites
...
Ensure that we apply splits to rewrites, even if we're not
interested in examining it closely for rename/copy detection.
In keeping with core git, status should not display rewrites,
it should simply show files as "modified".
2013-08-28 08:30:19 -05:00
Vicent Martí
1ef05e3f0e
Merge pull request #1803 from libgit2/ntk/topic/even_more_lenient_remote_parsing
...
Even more lenient remote parsing
2013-08-28 06:05:50 -07:00
Vicent Martí
d07cc8a2f7
Merge pull request #1808 from frasertweedale/fix/freebsd-dup-include
...
netops: remove duplicate include
2013-08-28 06:05:07 -07:00
Vicent Martí
b8b22d774e
Merge pull request #1772 from libgit2/config-iter
...
Configuration iterators redux
2013-08-28 06:04:51 -07:00
Edward Thomson
1ff3a09415
Improve win32 version check, no ipv6 tests on XP
2013-08-27 19:44:35 -05:00
Russell Belfer
f087bc245e
Convert to our own SRWLOCK type on Win32
2013-08-27 12:08:55 -07:00
nulltoken
aec87f712f
remote: Make git_remote_list() detect pushurl
2013-08-27 20:14:10 +02:00
nulltoken
191adce875
vector: Teach git_vector_uniq() to free while deduplicating
2013-08-27 20:14:07 +02:00
nulltoken
c9ffa84bde
remote: Relax the parsing logic even more
...
In order to be loaded, a remote needs to be configured with at least a `url` or a `pushurl`.
ENOTFOUND will be returned when trying to git_remote_load() a remote with neither of these entries defined.
2013-08-27 19:31:19 +02:00
nulltoken
ece24ef7c4
remote: Don't parse missing urls as empty strings
2013-08-27 16:57:17 +02:00
nulltoken
44bc0c6ac3
remote: Warn the user when connecting with no url
2013-08-27 16:57:16 +02:00
nulltoken
b83c92dd6f
remote: Assert proper GIT_DIRECTION_XXXX values
2013-08-27 16:57:15 +02:00
Russell Belfer
2f368a661c
Fix MINGW SRWLock typedefs
2013-08-26 15:17:35 -07:00
Russell Belfer
430953417f
Load SRWLock APIs at runtime
...
This loads SRWLock APIs at runtime and in their absence (i.e. on
Windows before Vista) falls back on a regular CRITICAL_SECTION
that will not permit concurrent readers.
2013-08-26 14:56:31 -07:00
Nikolai Vladimirov
504850cdf5
refs: add git_reference_is_tag
2013-08-26 08:04:10 +03:00
Fraser Tweedale
e52963080a
netops: remove duplicate include
...
9e9aee6
added an include <netinet/in.h> to fix the build on FreeBSD.
Sometime since then the same header is included ifndef _WIN32, so
remove the duplicate include.
2013-08-24 20:15:22 +10:00
Russell Belfer
805755f49b
Fix sortedcache docs and other feedback
...
This converts an internal lock from a write lock to a read lock
where write isn't needed, and also clarifies some doc things about
where various locks are acquired and how various APIs are intended
to be used.
2013-08-22 15:44:34 -07:00
Russell Belfer
b6ac07b517
Trying to fix Win32 warnings
2013-08-22 14:45:10 -07:00
Russell Belfer
eb868b1e98
Drop support for THREADSAFE on Windows XP
...
This makes libgit2 require Windows Vista or newer if it is going
to be compiled with the THREADSAFE option
2013-08-22 14:34:21 -07:00
Russell Belfer
972bb689c4
Add SRWLock implementation of rwlocks for Win32
2013-08-22 14:10:56 -07:00
Russell Belfer
2b6e190847
A bit of item alignment paranoia
2013-08-22 11:50:10 -07:00
Russell Belfer
8d9a85d43a
Convert sortedcache to use rwlock
...
This is the first use we have of pthread_rwlock_t in libgit2.
Hopefully it won't cause any serious portability problems.
2013-08-22 11:40:53 -07:00
Russell Belfer
3eecadcce5
Improve comments on locking for sortedcache APIs
2013-08-21 22:50:37 -07:00
Russell Belfer
e8c5eb5537
No need to lock newly created tgt in copy
2013-08-21 22:44:56 -07:00