|
3158e2fe
|
2014-02-07T15:24:39
|
|
Fix some Windows warnings
This fixes a number of warnings with the Windows 64-bit build
including a test failure in test_repo_message__message where an
invalid pointer to a git_buf was being used.
|
|
c4ee3b54
|
2014-02-07T18:32:06
|
|
Merge pull request #2100 from libgit2/rb/update-pqueue
Replace priority queue code with implementation from hashsig
|
|
8875ef21
|
2014-02-06T10:11:17
|
|
Merge pull request #2104 from ethomson/utf8_cleanup
Remove unused utf8 -> utf16 conversion code
|
|
55d257e7
|
2014-02-05T15:03:00
|
|
Remove unused utf8 -> utf16 conversion code
|
|
629ba7f1
|
2014-02-05T13:07:46
|
|
Merge pull request #2027 from libgit2/rb/only-windows-is-windows
Some tests of paths that can't actually be written to disk
|
|
df70de07
|
2014-02-05T10:25:50
|
|
Merge pull request #2094 from libgit2/cmn/push-non-commit
Add flexibility to the revwalk API
|
|
daeac29a
|
2014-02-05T16:24:09
|
|
Merge pull request #2103 from libgit2/cmn/parse-commit-faster
commit: faster parsing
|
|
24f3024f
|
2014-02-05T14:31:01
|
|
Split p_strlen into its own header
We need this from util.h and posix.h, but the latter includes common.h
which includes util.h, which means p_strlen is not defined by the time
we get to git__strndup().
Split the definition on p_strlen() off into its own header so we can use
it in util.h.
|
|
1e6f0ac4
|
2014-02-05T13:49:51
|
|
utils: don't reimplement strnlen
The standard library provides a very nice strnlen function, which knows
to use SSE, let's not reimplement it ourselves.
|
|
a6563619
|
2014-02-05T13:01:54
|
|
commit: faster parsing
The current code issues a lot of strncmp() calls in order to check for
the end of the header, simply in order to copy it and start going
through it again. These are a lot of calls for something we can check as
we go along. Knowing the amount of parents beforehand to reduce
allocations in extreme cases does not make up for them.
Instead start parsing immediately and check for the double-newline after
each header field, leaving the raw_header allocation for the end, which
lets us go through the header once and reduces the amount of strncmp()
calls significantly.
In unscientific testing, this has reduced a shortlog-like usage (walking
though the whole history of a branch and extracting data from the
commits) of git.git from ~830ms to ~700ms and makes the time we spend in
strncmp() negligible.
|
|
d6006413
|
2014-01-30T17:24:46
|
|
docs: produce literal asterisks
|
|
c74077d1
|
2014-02-02T12:08:18
|
|
revparse: do look at all refs when matching text
Now that we no longer fail to push non-commits on a glob, let's search
on all refs when we rev-parse syntax asks us to match text.
|
|
d18209ee
|
2014-02-01T16:27:42
|
|
revwalk: add a test for pushing all references
This used to be broken, let's make sure we don't break this use-case.
|
|
af817202
|
2014-02-01T15:29:16
|
|
revwalk: remove usage of foreach
|
|
d465e4e9
|
2014-02-01T15:19:13
|
|
revwalk: ignore wrong object type in glob pushes
Pushing a whole namespace can cause us to attempt to push non-committish
objects. Catch this situation and special-case it for ignoring this.
|
|
b4ef67d5
|
2014-02-01T15:11:00
|
|
revwalk: add a failing test for pushing "tags"
This shows that pusing a whole namespace can be problematic.
|
|
f61272e0
|
2014-02-01T12:51:36
|
|
revwalk: accept committish objects
Let the user push committish objects and peel them to figure out which
commit to push to our queue.
This is for convenience and for allowing uses of
git_revwalk_push_glob(w, "tags")
with annotated tags.
|
|
1bbacc9f
|
2014-02-04T16:46:43
|
|
Avoid extra copying in pqueue operations
This tweaks the pqueue_up and pqueue_down routines so that they
will not do full element swaps but instead carry over the state
of the previous loop iteration and only assign elements for which
we know the final position. This will avoid a little bit of data
assignment which should improve performance in theory.
Also got rid of some vector helpers that I'm no longer using.
|
|
43709ca8
|
2014-02-04T10:33:30
|
|
Fix typo setting sorted flag when reloading index
This fixes a typo I made for setting the sorted flag on the index
after a reload. That typo didn't actually cause any test failures
so I'm also adding a test that explicitly checks that the index is
correctly sorted after a reload when ignoring case and when not.
|
|
882c7742
|
2014-02-04T10:01:37
|
|
Convert pqueue to just be a git_vector
This updates the git_pqueue to simply be a set of specialized
init/insert/pop functions on a git_vector.
To preserve the pqueue feature of having a fixed size heap, I
converted the "sorted" field in git_vectors to a more general
"flags" field so that pqueue could mix in it's own flag. This
had a bunch of ramifications because a number of places were
directly looking at the vector "sorted" field - I added a couple
new git_vector helpers (is_sorted, set_sorted) so the specific
representation of this information could be abstracted.
|
|
7369ea80
|
2014-02-04T05:57:25
|
|
Merge pull request #2096 from ethomson/merge
Corrections for merge working directory validation
|
|
af4bc661
|
2014-02-03T21:04:40
|
|
Add some priority queue tests
I forgot that I wrote some tests for the new priority queue code.
|
|
4075e060
|
2014-02-03T21:02:08
|
|
Replace pqueue with code from hashsig heap
I accidentally wrote a separate priority queue implementation when
I was working on file rename detection as part of the file hash
signature calculation code. To simplify licensing terms, I just
adapted that to a general purpose priority queue and replace the
old priority queue implementation that was borrowed from elsewhere.
This also removes parts of the COPYING document that no longer
apply to libgit2.
|
|
dbfd83bc
|
2014-02-03T19:56:13
|
|
Remove unused pointer assignment
|
|
c0b10c25
|
2014-02-01T12:05:00
|
|
Merge wd validation tests against index not HEAD
Validating the workdir should not compare HEAD to working
directory - this is both inefficient (as it ignores the cache)
and incorrect. If we had legitimately allowed changes in the
index (identical to the merge result) then comparing HEAD to
workdir would reject these changes as different. Further, this
will identify files that were filtered strangely as modified,
while testing with the cache would prevent this.
Also, it's stupid slow.
|
|
bb13d391
|
2014-02-01T12:51:44
|
|
Test that emulates a strange filter implementation
|
|
16eb8b7c
|
2014-02-01T12:02:55
|
|
Tests merging staged files identical to result
|
|
b60149ec
|
2014-01-31T18:43:50
|
|
Tests merge when changes exist in workdir/index
|
|
3b6a5bac
|
2014-02-03T10:36:04
|
|
Merge pull request #2095 from libgit2/update-head-reflog
Correct "new" id for reattached-HEAD reflog entry
|
|
0b4d86af
|
2014-02-02T10:44:13
|
|
Merge pull request #2098 from arthurschreiber/arthur/add-git_reference_is_note
Add `git_reference_is_note`.
|
|
50ad7cc2
|
2014-02-02T18:20:06
|
|
Add `git_reference_is_note`.
|
|
7f058b86
|
2014-02-01T19:29:48
|
|
Check for errors when dereferencing symbolic refs
|
|
ee8e6afd
|
2014-02-01T11:46:44
|
|
Reflog: correct "new" id for reattaching HEAD
|
|
7ac1b899
|
2014-02-01T11:46:15
|
|
Add failing test case
|
|
40e10630
|
2014-01-31T13:57:41
|
|
Merge pull request #2092 from libgit2/rb/update-clar
Update to latest clar
|
|
7be88b4c
|
2014-01-31T13:44:09
|
|
Update to latest clar
|
|
f9500b45
|
2014-01-31T09:46:40
|
|
Merge pull request #2081 from libgit2/bs/reflog
Reflog completionism
|
|
db092c19
|
2014-01-30T16:10:18
|
|
Allow tests to run without user config
|
|
a1710a28
|
2014-01-29T10:35:46
|
|
Enhance testing of signature parameters
|
|
a1b07dca
|
2014-01-29T09:57:20
|
|
Document branch-creation reflog better
|
|
59bb1126
|
2014-01-28T11:45:30
|
|
Provide good default reflog messages in branch api
|
|
e871d89b
|
2014-01-28T11:32:09
|
|
Ensure moving a branch updates the reflog
|
|
ccf6ce5c
|
2014-01-28T11:30:36
|
|
Ensure renaming a reference updates the reflog
|
|
540c1809
|
2014-01-28T10:44:33
|
|
Add reflog parameters to git_branch_move
|
|
48110f67
|
2014-01-28T10:31:54
|
|
Deleting a branch deletes its reflog
|
|
1cc974ab
|
2014-01-27T14:40:31
|
|
Augment clone API with reflog parameters
|
|
b31ebfbc
|
2014-01-27T14:12:29
|
|
Add reflog params to git_branch_create
|
|
67c4716f
|
2014-01-27T13:47:48
|
|
Add passing reflog tests
|
|
2952a9d0
|
2014-01-27T13:39:48
|
|
Ensure creating HEAD creates its reflog
|
|
6357388e
|
2014-01-27T13:24:10
|
|
Enhance clarity
|
|
a2311f92
|
2014-01-27T13:12:31
|
|
Ensure updating HEAD updates reflog
|
|
94f263f5
|
2014-01-25T08:04:49
|
|
Add reflog params to set-head calls
|
|
8646b0a0
|
2014-01-30T15:10:39
|
|
Merge pull request #2085 from libgit2/rb/index-tree-blob-collision
Index tree-bob collision
|
|
25babd02
|
2014-01-30T11:38:59
|
|
Fix checkout NONE to not remove file
If you are checking out NONE, then don't remove.
|
|
b794cbcd
|
2014-01-30T11:38:25
|
|
Rename conflict to collision to prevent confusion
|
|
71ae7601
|
2014-01-30T11:30:16
|
|
Force explicit remove of files instead of defer
The checkout code used to defer removal of "blocking" files in
checkouts until the blocked item was actually being written (since
we have already checked that the removing the block is acceptable
according to the update rules). Unfortunately, this resulted in
an intermediate index state where both the blocking and new items
were in the index which is no longer allowed. Now we just remove
the blocking item in the first pass so it never needs to coexist.
In cases where there are typechanges, this could result in a bit
more churn of removing and recreating intermediate directories,
but I'm going to assume that is an unusual case and the churn will
not be too costly.
|
|
32d7abfc
|
2014-01-30T10:34:36
|
|
Merge pull request #2091 from libgit2/rb/cleanups-123
Fix errors with zstream (and a variety of other cleanups)
|
|
19459b1e
|
2014-01-30T10:23:35
|
|
Defer zstream NUL termination to end
And don't terminate if there isn't space for it (since it's binary
data, it's not worth a reallocation).
|
|
8606f33b
|
2014-01-30T09:59:15
|
|
Expand zstream tests and fix off-by-one error
|
|
5572d2b8
|
2014-01-28T11:44:17
|
|
Some missing oid to id renames
|
|
d9b04d78
|
2014-01-29T15:02:35
|
|
Reorganize zstream API and fix wrap problems
There were some confusing issues mixing up the number of bytes
written to the zstream output buffer with the number of bytes
consumed from the zstream input. This reorganizes the zstream
API and makes it easier to deflate an arbitrarily large input
while still using a fixed size output.
|
|
e9d5e5f3
|
2014-01-28T16:25:42
|
|
Some fixes for Windows x64 warnings
|
|
3cf11eef
|
2014-01-28T11:47:33
|
|
Misc cleanups
|
|
c0644c3f
|
2014-01-28T11:45:06
|
|
Make submodule fetchRecurse match other options
This removes the fetchRecurse compiler warnings and makes the
behavior match the other submodule options (i.e. the in-memory
setting can be reset to the on-disk value).
|
|
0316d80a
|
2014-01-29T19:10:00
|
|
Merge pull request #2089 from scunz/cmake_path
We never search for libiconv via pkg-config
|
|
4bc94eb5
|
2014-01-30T03:01:46
|
|
We never search for libiconv via pkg-config
So we actually also never know that we can set a dependency on it in
pkg-config. Instead always give it the -L and -l options.
|
|
2d3cc3ed
|
2014-01-29T18:49:56
|
|
Merge pull request #2088 from scunz/cmake_path
Fixing #2017 and #2087
|
|
6e0ff093
|
2014-01-30T02:30:55
|
|
Find and use a MacPorts version of libiconv. Fixes #2017.
- Add correct -I, -L and -l flags
- Search for libiconv in /opt/local/[include|lib] before in the
system path. See #2017 for details.
- Give splitted -L and -l arguments to pkg-config
|
|
39949f06
|
2014-01-30T02:28:53
|
|
Cleanup FindIconv.cmake
Doesn't change anything. Just removes stuff that was probably missed
to remove when this was imported.
|
|
60306450
|
2014-01-29T23:47:20
|
|
Use relative path to set cmake module path
This has actually no effect on a "normal" build, but allows to use
libgit2 as a part of a larger project via CMake's ADD_SUBDIRECTORY()
Closes #2087
|
|
0972c592
|
2014-01-29T13:14:00
|
|
Two-phase index merging
When three-way merging indexes, we previously changed each path
as we read them, which would lead to us adding an index entry for
'foo', then removing an index entry for 'foo/file'. With the new
index requirements, this is not allowed. Removing entries in the
merged index, then adding them, resolves this. In the previous
example, we now remove 'foo/file' before adding 'foo'.
|
|
b747eb14
|
2014-01-29T12:55:33
|
|
Give index_isrch the same semantics as index_srch
In case insensitive index mode, we would stop at a prefixed entry,
treating the provided search key length as a substring, not the
length of the string to match.
|
|
bae8bea0
|
2014-01-29T12:53:01
|
|
More index collision tests
|
|
1eefd356
|
2014-01-29T18:44:29
|
|
index: Implement folder-file checks
|
|
53bec813
|
2014-01-29T18:17:08
|
|
index: Compare with given len
|
|
95fbedcd
|
2014-01-28T16:22:37
|
|
Add test for blob/tree name collisions in index
|
|
66af8449
|
2014-01-29T12:57:42
|
|
Merge pull request #2086 from ethomson/fixup
Don't strcmp a git_buf, strcmp its char *
|
|
96f12e70
|
2014-01-29T12:50:42
|
|
Don't strcmp a git_buf, strcmp its char *
|
|
cd4aa602
|
2014-01-28T10:50:04
|
|
Merge pull request #2083 from arthurschreiber/arthur/add-git_commit_descendant_of
Add `git_commit_descendant_of`.
|
|
e7c16943
|
2014-01-28T19:39:14
|
|
Add `git_graph_descendant_of`.
|
|
a1a9d0bd
|
2014-01-27T15:35:39
|
|
Merge pull request #2066 from libgit2/rb/builtin-diff-drivers
Add built in diff drivers
|
|
daebb598
|
2014-01-27T14:57:03
|
|
Add PHP tests and fix bug in PHP builtin driver
|
|
082e82db
|
2014-01-27T11:45:06
|
|
Update Javascript userdiff driver and tests
Writing a sample Javascript driver pointed out some extra
whitespace handling that needed to be done in the diff driver.
This adds some tests with some sample javascript code that I
pulled off of GitHub just to see what would happen. Also, to
clean up the userdiff test data, I did a "git gc" and packed
up the test objects.
|
|
41159877
|
2014-01-27T10:23:55
|
|
Got permission from Gustaf for userdiff patterns
|
|
93954245
|
2014-01-27T09:39:36
|
|
Merge pull request #2075 from libgit2/cmn/leftover-oid
Leftover OID -> ID changes
|
|
46e7fc18
|
2014-01-27T09:36:24
|
|
Merge pull request #2077 from libgit2/cmn/buf-out
Buff up returning strings
|
|
c90ea3de
|
2014-01-27T09:34:52
|
|
Merge pull request #2078 from linquize/msvc
MSVC doesn't like modern code neither
|
|
9ff34a53
|
2014-01-27T09:34:32
|
|
Merge pull request #2079 from linquize/msvc-blame-example
Make blame example compile on MSVC
|
|
1664aaaa
|
2013-11-05T23:39:05
|
|
Make blame example compile on MSVC
|
|
fbc5661e
|
2014-01-27T20:51:46
|
|
MSVC doesn't like modern code neither
|
|
66d585c6
|
2014-01-27T04:58:23
|
|
MSVC doesn't like modern code
|
|
bf522e08
|
2014-01-26T16:59:36
|
|
refspec: move to git_buf for outputting strings
|
|
e1d7f003
|
2014-01-26T16:32:49
|
|
messsage: use git_buf in prettify()
A lot of the tests were checking for overflow, which we don't have
anymore, so we can remove them.
|
|
ee550477
|
2014-01-26T16:11:18
|
|
config: use git_buf for returning paths
Again, we already did this internally, so simply remove the conversions.
|
|
b25d87c9
|
2014-01-26T16:03:37
|
|
branch: move to git_buf when outputting newly-allocated strings
Internally we already did everything with git_bufs, so this is just
exposing those functions with public names.
|
|
7a3bd1e7
|
2014-01-26T15:35:17
|
|
repository: move to use a git_buf for outputting strings
Since we now export that type, we can avoid making the user guess a
size.
|
|
1087d4fd
|
2014-01-26T11:27:44
|
|
Merge pull request #2052 from arthurschreiber/arthur/add-git_remote_dup
Fix git_remote_dup & add missing const
|
|
991b2840
|
2014-01-26T19:35:02
|
|
Make sure git_remote_dup copies a remote's refspecs correctly.
|
|
11f6ad5f
|
2014-01-15T21:15:34
|
|
Add some missing const declarations.
|
|
93b96ea7
|
2014-01-26T06:38:02
|
|
Merge pull request #2076 from xtao/fix-zstream
Fix write_object.
|