|
7bf87ab6
|
2012-11-28T09:58:48
|
|
Consolidate text buffer functions
There are many scattered functions that look into the contents of
buffers to do various text manipulations (such as escaping or
unescaping data, calculating text stats, guessing if content is
binary, etc). This groups all those functions together into a
new file and converts the code to use that.
This has two enhancements to existing functionality. The old
text stats function is significantly rewritten and the BOM
detection code was extended (although largely we can't deal with
anything other than a UTF8 BOM).
|
|
7cdad6c7
|
2012-11-28T12:43:12
|
|
Fix uninitialized variable
clang-SVN HEAD kindly provided my the info, that sm_repo maybe
uninitialized when we want to free it (If the expression in line 358 or
359/360 evaluate to true, we jump to "cleanup", where we'd use sm_repo
uninitialized).
|
|
ae201891
|
2012-11-28T11:47:38
|
|
object: Raise proper code on invalid object type
|
|
9507a434
|
2012-11-28T10:47:10
|
|
odb: Add `git_odb_add_disk_alternate`
Loads a disk alternate by path to the ODB. Mimics the
`GIT_ALTERNATE_OBJECT_DIRECTORIES` shell var.
|
|
c3fb7d04
|
2012-11-27T15:00:49
|
|
Make git_odb_foreach_cb take const param
This makes the first OID param of the ODB callback a const pointer
and also propogates that change all the way to the backends.
|
|
2bd5998c
|
2012-11-27T14:47:39
|
|
Remove git_note_data structure
|
|
f4a62c30
|
2012-11-27T14:13:03
|
|
Typedef enums.
|
|
1d8ec670
|
2012-11-27T14:06:56
|
|
API updates for stash.h
|
|
c9fc4a6f
|
2012-11-27T13:44:49
|
|
API updates for repository.h
|
|
df705148
|
2012-11-27T13:15:43
|
|
API updates for remote.h
Includes typedef for git_direction, and renames for
GIT_DIR_[FETCH|PUSH] to GIT_DIRECTION_(\1).
|
|
2e76b5fc
|
2012-11-27T09:49:16
|
|
API updates for odb.h
|
|
de5596bf
|
2012-11-26T20:09:38
|
|
API updates for notes.h/c.
|
|
16248ee2
|
2012-11-21T11:03:07
|
|
Fix up some missing consts in tree & index
This fixes some missed places where we can apply const-ness to
various public APIs.
There are still some index and tree APIs that cannot take const
pointers because we sort our `git_vectors` lazily and so we can't
reliably bsearch the index and tree content without applying a
`git_vector_sort()` first.
This also fixes some missed places where size_t can be used and
where const can be applied to a couple internal functions.
|
|
4ff192d3
|
2012-11-26T19:47:47
|
|
Move merge functions to merge.c
In so doing, promote commit_list to git_commit_list,
with its own internal API header.
|
|
839c5f57
|
2012-11-26T12:04:07
|
|
API updates for indexer.h
|
|
a8122b5d
|
2012-11-21T15:39:03
|
|
Fix warnings on Win64 build
|
|
4604a654
|
2012-11-21T11:57:06
|
|
update internal index API to avoid cast
|
|
d574de0e
|
2012-11-21T11:53:54
|
|
API updates for status.h
|
|
f45d51ff
|
2012-11-20T19:57:46
|
|
API updates for index.h
|
|
d9023dbe
|
2012-11-20T17:06:54
|
|
API updates for tag.h
|
|
9cd42358
|
2012-11-20T16:57:16
|
|
API updates for submodule.h
|
|
793c4385
|
2012-11-20T16:36:06
|
|
Update diff callback param order
This makes the diff functions that take callbacks both take
the payload parameter after the callback function pointers and
pass the payload as the last argument to the callback function
instead of the first. This should make them consistent with
other callbacks across the API.
|
|
54b2a37a
|
2012-11-20T16:02:25
|
|
Clean up config.h
|
|
eecc8050
|
2012-11-20T14:03:05
|
|
Update callback fn ptr for git_reference_foreach
As part of API review, use a typedef for the callback fn ptr.
|
|
e120123e
|
2012-11-20T14:01:46
|
|
API review / update for tree.h
|
|
824cb2d5
|
2012-11-20T12:13:52
|
|
Updates to reset.h
|
|
cfbe4be3
|
2012-11-17T19:54:47
|
|
More external API cleanup
Conflicts:
src/branch.c
tests-clar/refs/branches/create.c
|
|
2508cc66
|
2012-11-18T21:38:08
|
|
Rename ref and reflog apis for consistency
|
|
9e9aee67
|
2012-11-26T23:29:34
|
|
fix build on FreeBSD
3f9eb1e introduced support for SSL certificates issued for IP
addresses, making use of in_addr and in_addr6 structs. On FreeBSD
these are defined in (a file included in) <netinet/in.h>, so include
that file on FreeBSD and get the build working again.
|
|
8404f2d6
|
2012-11-26T03:56:25
|
|
Merge pull request #1101 from csware/prevent_die
pack.c: Set p->mwf.fd to -1 on error
|
|
f2696fa4
|
2012-11-26T12:12:41
|
|
Fix invalid read reported by valgrind
|
|
fcb48e06
|
2012-11-24T15:48:17
|
|
Set p->mwf.fd to -1 on error
If p->mwf.fd is e.g. -2 then it is closed in packfile_free and an exception might be thrown.
Signed-off-by: Sven Strickroth <email@cs-ware.de>
|
|
c4d8df27
|
2012-11-23T15:19:47
|
|
Merge pull request #1097 from nulltoken/topic/head_tree_error
Make `git_repository_head_tree()` return error codes
|
|
826bc4a8
|
2012-11-23T13:31:22
|
|
Remove use of English expletives
Remove words such as fuck, crap, shit etc.
Remove other potentially offensive words from comments.
Tidy up other geopolicital terms in comments.
|
|
5cec896a
|
2012-11-22T18:51:06
|
|
repo: Make git_repository_head_tree() return error codes
|
|
54be4d57
|
2012-11-20T15:02:06
|
|
Merge pull request #1092 from arrbee/legal-to-not-have-gitconfig
It is okay to not have a .gitconfig file
|
|
38f7d026
|
2012-11-20T14:50:36
|
|
Need to clear ignored error from config load
|
|
cc6b4162
|
2012-11-20T10:24:18
|
|
It is okay to not have a .gitconfig file
Opening a repo is generating an error if you don't have a
.gitconfig file in your home directory, but that should be
legal.
|
|
cf0dadcf
|
2012-11-20T01:19:31
|
|
Minor optimization in win32 do_lstat
|
|
2d96fce2
|
2012-11-19T23:12:20
|
|
update win32 lstat comment
|
|
52ead787
|
2012-11-19T22:30:20
|
|
Fix win32 lstat
|
|
0d778b1a
|
2012-11-18T16:52:04
|
|
Catch invalid filenames in append_entry()
This prevents the index api from calling write_tree() with a
bogus tree.
|
|
19af78bb
|
2012-11-18T15:15:24
|
|
Prevent creating `..`, `.`, and `.git` with tree builder
As per core git.
|
|
4cc7342e
|
2012-11-18T09:07:35
|
|
Indexer: Avoid a possible double-deletion in error case
|
|
0066955d
|
2012-11-18T04:27:49
|
|
Fix a couple of warnings
|
|
b15df1d9
|
2012-11-17T18:29:51
|
|
reflog: make entry_byindex() and drop() git compliant
Passing 0 as the index now retrieves the most recent entry instead
of the oldest one.
|
|
270160b9
|
2012-11-17T13:39:24
|
|
config: Opening a nonexistent file returns ENOTFOUND
|
|
d36451c9
|
2012-11-17T12:34:15
|
|
config: Make git_config_file__ondisk() internal
|
|
6091457e
|
2012-11-17T07:19:14
|
|
repo: ensure is_empty() checks there are no refs
|
|
aa8a76ef
|
2012-11-17T05:12:14
|
|
tag: rename git_tag_type to git_tag_target_type
|
|
86b9dbc1
|
2012-11-17T04:50:48
|
|
Fix MSVC compilation warnings
|
|
e087973e
|
2012-11-16T10:27:46
|
|
Merge pull request #1075 from carlosmn/alternates-recurse
odb: recursively load alternates
|
|
85e7efa1
|
2012-11-14T13:35:43
|
|
odb: recursively load alternates
The maximum depth is 5, like in git
|
|
0cd063fd
|
2012-11-15T23:28:52
|
|
Merge pull request #1071 from arrbee/alternate-fix-strcmp
Win32 fixes for diff/checkout/reset
|
|
0ec11828
|
2012-11-16T02:17:57
|
|
Fix -Wmaybe-uninitialized warning
|
|
4a0c7f56
|
2012-11-15T10:31:11
|
|
Merge pull request #1074 from edubart/ignore_diff_filemode
Add option to ignore file mode in diffs
|
|
c0d5acf6
|
2012-11-15T14:43:21
|
|
Add option to ignore file mode in diffs
|
|
bbe6dbec
|
2012-11-14T23:29:48
|
|
Add explicit git_index ptr to diff and checkout
A number of diff APIs and the `git_checkout_index` API take a
`git_repository` object an operate on the index. This updates
them to take a `git_index` pointer explicitly and only fall back
on the `git_repository` index if the index input is NULL. This
makes it easier to operate on a temporary index.
|
|
bad68c0a
|
2012-11-13T14:02:59
|
|
Add iterator for git_index object
The index iterator could previously only be created from a repo
object, but this allows creating an iterator from a `git_index`
object instead (while keeping, though renaming, the old function).
|
|
5735bf5e
|
2012-11-13T13:58:29
|
|
Fix diff API to better parameter order
The diff API is not in the parameter order one would expect from
other libgit2 APIs. This fixes that.
|
|
cccacac5
|
2012-11-14T22:41:51
|
|
Add POSIX compat lstat() variant for win32
The existing p_lstat implementation on win32 is not quite POSIX
compliant when setting errno to ENOTDIR. This adds an option to
make is be compliant so that code (such as checkout) that cares
to have separate behavior for ENOTDIR can use it portably.
This also contains a couple of other minor cleanups in the
posix_w32.c implementations to avoid unnecessary work.
|
|
a277345e
|
2012-11-14T22:37:13
|
|
Create internal strcmp variants for function ptrs
Using the builtin strcmp and strcasecmp as function pointers is
problematic on win32. This adds internal implementations and
divorces us from the platform linkage.
|
|
7e9f5e65
|
2012-11-13T20:06:15
|
|
Slightly different valgrind fix
Allocate with calloc rather than conditionally memsetting a specific
part of the struct later on.
|
|
6132a54e
|
2012-11-13T16:13:10
|
|
Fix a few valgrind errors
|
|
513e794e
|
2012-11-13T14:59:18
|
|
Merge pull request #1068 from carlosmn/config-empty-value
Deal with empty and nonexsitent values in config
|
|
0da81d2b
|
2012-11-13T14:43:23
|
|
config: return an emtpy string when there is no value
Returning NULL for the string when we haven't signaled an error
condition is counter-intuitive and causes unnecessary edge
cases. Return an empty string when asking for a string value for a
configuration variable such as '[section] var' to avoid these edge
cases.
If the distinction between no value and an empty value is needed, this
can be retrieved from the entry directly. As a side-effect, this
change stops the int parsing functions from segfaulting on such a
variable.
|
|
f6c18dda
|
2012-11-13T14:17:41
|
|
http: Unrustle
|
|
aa1c3b58
|
2012-11-13T14:13:47
|
|
Merge pull request #1016 from arrbee/fix-checkout-dir-removal
Update checkout with new strategies & behavior
|
|
47db054d
|
2012-11-13T13:41:01
|
|
config: distinguish between a lone variable name and one without rhs
'[section] variable' and '[section] variable =' behave differently
when parsed as booleans, so we need to store that distinction
internally.
|
|
3ee078c0
|
2012-11-13T13:46:17
|
|
config: rename get_config_entry -> config_entry
We're already in the git_config namespace, there is no need to repeat
it.
|
|
2a612fe3
|
2012-11-13T14:57:35
|
|
filebuf now has a git_hash_ctx instead of a ctx*
|
|
a8527429
|
2012-11-13T14:48:10
|
|
unload dll / destroy hash ctxs at shutdown
|
|
7ebefd22
|
2012-11-13T10:10:40
|
|
move hash library func ptrs to global global
|
|
603bee07
|
2012-11-12T19:22:49
|
|
Remove git_hash_ctx_new - callers now _ctx_init()
|
|
d6fb0924
|
2012-11-05T12:37:15
|
|
Win32 CryptoAPI and CNG support for SHA1
|
|
e45423dd
|
2012-11-13T05:45:08
|
|
Merge pull request #1065 from nulltoken/fix/memory-leak
Fix memory leaks
|
|
d51e54f1
|
2012-11-13T14:28:44
|
|
Remove unused variables
|
|
3dee3655
|
2012-11-13T07:04:30
|
|
local: fix memory leak
|
|
19c044a1
|
2012-11-12T14:23:17
|
|
Merge remote-tracking branch 'ben/local-transport' into development
|
|
14157652
|
2012-11-12T07:57:03
|
|
Remove unnecessary progress logic
The indexer handles this better than the fetch
logic does.
|
|
0f5520f7
|
2012-11-12T07:55:09
|
|
Fix error check
|
|
b1a3a70e
|
2012-11-12T00:14:51
|
|
repository: Refine repository_head() error report
|
|
b0f6e45d
|
2012-11-01T15:47:18
|
|
create FETCH_HEAD specially instead of as a ref file
|
|
d18713fb
|
2012-11-10T20:24:53
|
|
Merge pull request #1056 from nulltoken/duplicate-tree-entries
Duplicate tree entries
|
|
95d73de1
|
2012-11-10T21:10:49
|
|
index: prefer INDEX_OWNER usage
|
|
33f95a9b
|
2012-11-10T21:01:05
|
|
index: refine add_from_workdir() error report
|
|
69c068c7
|
2012-11-10T20:42:45
|
|
index: make git_index_new() work with a NULL path
|
|
757b4065
|
2012-11-09T14:01:44
|
|
Fix warnings and valgrind issues
This fixes some various warnings that showed up in Travis and
a couple uses of uninitialized memory and one memory leak.
|
|
0f3def71
|
2012-11-09T11:19:46
|
|
Fix various cross-platform build issues
This fixes a number of warnings and problems with cross-platform
builds. Among other things, it's not safe to name a member of a
structure "strcmp" because that may be #defined.
|
|
a1bf70e4
|
2012-11-08T21:58:24
|
|
fix regression in diff with submodule oid
|
|
ad9a921b
|
2012-11-08T17:05:07
|
|
Rework checkout with new strategy options
This is a major reworking of checkout strategy options. The
checkout code is now sensitive to the contents of the HEAD tree
and the new options allow you to update the working tree so that
it will match the index content only when it previously matched
the contents of the HEAD. This allows you to, for example, to
distinguish between removing files that are in the HEAD but not
in the index, vs just removing all untracked files.
Because of various corner cases that arise, etc., this required
some additional capabilities in rmdir and other utility functions.
This includes the beginnings of an implementation of code to read
a partial tree into the index based on a pathspec, but that is
not enabled because of the possibility of creating conflicting
index entries.
|
|
55cbd05b
|
2012-11-08T16:56:34
|
|
Some diff refactorings to help code reuse
There are some diff functions that are useful in a rewritten
checkout and this lays some groundwork for that. This contains
three main things:
1. Share the function diff uses to calculate the OID for a file
in the working directory (now named `git_diff__oid_for_file`
2. Add a `git_diff__paired_foreach` function to iterator over
two diff lists concurrently. Convert status to use it.
3. Move all the string/prefix/index entry comparisons into
function pointers inside the `git_diff_list` object so they
can be switched between case sensitive and insensitive
versions. This makes them easier to reuse in various
functions without replicating logic. As part of this, move
a couple of index functions out of diff.c and into index.c.
|
|
2e3d4b96
|
2012-11-08T16:47:28
|
|
Move pathspec code in separate files
Diff uses a `git_strarray` of path specs to represent a subset
of all files to be processed. It is useful to be able to reuse
this filtering in other places outside diff, so I've moved it
into a standalone set of utilities.
|
|
220d5a6c
|
2012-11-08T16:45:25
|
|
Make iterator ignore eval lazy
This makes it so that the check if a file is ignored will be
deferred until requested on the workdir iterator, instead of
aggressively evaluating the ignore rules for each entry. This
should improve performance because there will be no need to
check ignore rules for files that are already in the index.
|
|
32def5af
|
2012-10-24T17:37:07
|
|
Fix checkout behavior when its hands are tied
So, @nulltoken created a failing test case for checkout that
proved to be particularly daunting. If checkout is given only
a very limited strategy mask (e.g. just GIT_CHECKOUT_CREATE_MISSING)
then it is possible for typechange/rename modifications to leave it
unable to complete the request. That's okay, but the existing code
did not have enough information not to generate an error (at least
for tree/blob conflicts).
This led me to a significant reorganization of the code to handle
the failing case, but it has three benefits:
1. The test case is handled correctly (I think)
2. The new code should actually be much faster than the old code
since I decided to make checkout aware of diff list internals.
3. The progress value accuracy is hugely increased since I added
a fourth pass which calculates exactly what work needs to be
done before doing anything.
|
|
331e7de9
|
2012-10-24T17:32:50
|
|
Extensions to rmdir and mkdir utilities
* Rework GIT_DIRREMOVAL values to GIT_RMDIR flags, allowing
combinations of flags
* Add GIT_RMDIR_EMPTY_PARENTS flag to remove parent dirs that
are left empty after removal
* Add GIT_MKDIR_VERIFY_DIR to give an error if item is a file,
not a dir (previously an EEXISTS error was ignored, even for
files) and enable this flag for git_futils_mkpath2file call
* Improve accuracy of error messages from git_futils_mkdir
|
|
8a328cf4
|
2012-11-09T13:19:32
|
|
Merge pull request #1058 from pwkelley/development
Fixes for two segfaults
|
|
fcd03beb
|
2012-11-09T15:57:32
|
|
Fix a mutex/critical section leak
|
|
55f9837f
|
2012-11-09T21:49:50
|
|
config: make git_config_open_level() work with an empty config
|
|
2f683f00
|
2012-11-09T15:39:25
|
|
Fix uninitialized memory in winhttp subtransport on 64-bit
|