|
7f7ebe13
|
2013-08-08T12:57:13
|
|
Merge pull request #1771 from nvloff/write_empty_config_value
config: allow setting empty string as value
|
|
c57f6682
|
2013-08-08T21:17:32
|
|
config: allow empty string as value
`git_config_set_string(config, "config.section", "")` fails when
escaping the value.
The buffer in `escape_value` is allocated without NULL-termination. And
in case of empty string 0 is passed for buffer size in `git_buf_grow`.
`git_buf_detach` returns NULL when the allocated size is 0 and that
leads to an error return in `GITERR_CHECK_ALLOC` called after
`escape_value`
The change in `config_file.c` was suggested by Russell Belfer <rb@github.com>
|
|
5e96f316
|
2013-08-08T08:54:38
|
|
Merge pull request #1738 from libgit2/diff-patch-content-size
Add API for getting at git_diff_patch->content_size
|
|
bf145a6a
|
2013-08-08T08:53:37
|
|
Merge pull request #1746 from libgit2/rename-detection-performance
Rename detection slow
|
|
46c37911
|
2013-08-08T07:50:59
|
|
Merge pull request #1638 from brodie/brodie/handle-duplicate-objects-across-packs
odb_pack: handle duplicate objects from different packs
|
|
d19bcb33
|
2013-06-06T14:49:14
|
|
odb_pack: handle duplicate objects from different packs
This is based on 24634c6fd02b2240e4a93fad70a08220f8fb793a.
This also corrects an issue with error codes being mixed up with the
number of found objects.
|
|
c7d4904c
|
2013-08-07T10:38:41
|
|
Merge pull request #1769 from ethomson/configparse
Parse config headers with quoted quotes
|
|
2d9f5b9f
|
2013-08-07T11:11:55
|
|
Parse config headers with quoted quotes
Parse config headers that have the last quote on the
line quoted instead of walking off the end.
|
|
c5780abb
|
2013-08-05T21:58:48
|
|
Merge pull request #1765 from arrbee/ambiguous-oids
More tests for ambiguous OIDs across packs
|
|
437224b4
|
2013-08-05T21:46:32
|
|
More tests for ambiguous OIDs across packs
The test coverage for ambiguous OIDs was pretty thin. This adds
a bunch of new objects both in packs, across packs, and loose that
match to 8 characters so that we can test various cases of
ambiguous lookups.
|
|
ee77378d
|
2013-08-05T13:33:44
|
|
Merge pull request #1763 from nvloff/nameless_submodule_segfault
submodule: check alloc and name presence
|
|
f1af935b
|
2013-08-05T21:53:09
|
|
submodule: check alloc and name presense
|
|
9b7d02ff
|
2013-08-05T10:53:39
|
|
Update submodule documentation
Fixes #1762
|
|
e8242022
|
2013-08-05T09:59:02
|
|
Move slow tests to "stress" clar module
Create a new section of clar tests "stress" that will default to
being off where we can put slow tests that push the library for
performance testing purposes.
|
|
31b42eac
|
2013-08-04T14:09:44
|
|
Restore commented out tests
This restores the commented out tests (even though they're slow)
and fixes some trailing whitespace.
|
|
0a38eb42
|
2013-07-31T22:36:50
|
|
Rename test for rename from rewrite
A rename test that illustrates a rename from a rewrite.
|
|
7edb74d3
|
2013-08-04T14:06:13
|
|
Update rename src map for any split src
When using a rename source that is actually a to-be-split record,
we have to update the best-fit mapping data in both the case where
the target is also a split record and the case where the target
is a simple added record. Before this commit, we were only doing
the update when the target was itself a split record (and even in
that case, the test was slightly wrong).
|
|
a42c2a8c
|
2013-07-31T21:51:50
|
|
Rename test for multiple similar matches
A rename test that illustrates a source matching multiple targets.
|
|
d730d3f4
|
2013-07-31T16:40:42
|
|
Major rename detection changes
After doing further profiling, I found that a lot of time was
being spent attempting to insert hashes into the file hash
signature when using the rolling hash because the rolling hash
approach generates a hash per byte of the file instead of one
per run/line of data.
To optimize this, I decided to convert back to a run-based file
signature algorithm which would be more like core Git.
After changing this, a number of the existing tests started to
fail. In some cases, this appears to have been because the test
was coded to be too specific to the particular results of the file
similarity metric and in some cases there appear to have been bugs
in the core rename detection code where only by the coincidence
of the file similarity scoring were the expected results being
generated.
This renames all the variables in the core rename detection code
to be more consistent and hopefully easier to follow which made it
a bit easier to reason about the behavior of that code and fix the
problems that I was seeing. I think it's in better shape now.
There are a couple of tests now that attempt to stress test the
rename detection code and they are quite slow. Most of the time
is spent setting up the test data on disk and in the index. When
we roll out performance improvements for index insertion, it
should also speed up these tests I hope.
|
|
1cd0acf6
|
2013-07-31T10:43:56
|
|
Merge pull request #1748 from arthurschreiber/patch-1
Allow Makefile.embed to be used when cross-compiling
|
|
a6837b5f
|
2013-07-31T19:13:35
|
|
When building with MINGW, specify `__USE_MINGW_ANSI_STDIO`.
This option is already present in the CMake config, but was missing from `Makefile.embed` and would cause all kinds of weird failures when compiling rugged on windows with the ruby devkit.
|
|
94d12ffa
|
2013-07-28T08:39:41
|
|
Merge pull request #1755 from csware/double-close
Fix possible double close
|
|
a873449f
|
2013-07-27T17:00:21
|
|
Merge pull request #1753 from 13ren/log-bugfix
Fix -n bug; default to all ancestors
|
|
f5254d78
|
2013-07-27T20:15:06
|
|
Fix possible double close
Signed-off-by: Sven Strickroth <email@cs-ware.de>
|
|
c3ae0473
|
2013-07-27T05:31:28
|
|
Fix -n bug; default to all ancestors
|
|
8dd8aa48
|
2013-07-26T10:28:57
|
|
Fix some warnings
|
|
a16e4172
|
2013-07-25T12:27:39
|
|
Fix rename detection to use actual blob size
The size data in the index may not reflect the actual size of the
blob data from the ODB when content filtering comes into play.
This commit fixes rename detection to use the actual blob size when
calculating data signatures instead of the value from the index.
Because of a misunderstanding on my part, I first converted the
git_index_add_bypath API to use the post-filtered blob data size
in creating the index entry. I backed that change out, but I
kept the overall refactoring of that routine and the new internal
git_blob__create_from_paths API because it eliminates an extra
stat() call from the code that adds a file to the index.
The existing tests actually cover this code path, at least when
running on Windows, so at this point I'm not adding new tests to
cover the changes.
|
|
d477a9ab
|
2013-07-25T06:44:56
|
|
Merge pull request #1749 from csware/handle-fixes
Close p->mwf.fd only if necessary
|
|
3a2d48d5
|
2013-07-25T14:54:19
|
|
Close p->mwf.fd only if necessary
This fixes a regression introduced in revision 9d2f841a5d39fc25ce722a3904f6ebc9aa112222.
Signed-off-by: Sven Strickroth <email@cs-ware.de>
|
|
effdbeb3
|
2013-07-24T17:48:37
|
|
Make rename detection file size fix better
The previous fix for checking file sizes with rename detection
always loads the blob. In this version, if the odb backend can
get the object header without loading the whole thing into memory,
then we'll just use that, so that we can eliminate possible rename
sources & targets without loading them.
|
|
a5140f4d
|
2013-07-24T17:11:49
|
|
Fix rename detection for tree-to-tree diffs
The performance improvements I introduced for rename detection
were not able to run successfully for tree-to-tree diffs because
the blob size was not known early enough and so the file signature
always had to be calculated nonetheless.
This change separates loading blobs into memory from calculating
the signature. I can't avoid having to load the large blobs into
memory, but by moving it forward, I'm able to avoid the signature
calculation if the blob won't come into play for renames.
|
|
847c6793
|
2013-07-25T00:26:51
|
|
Allow Makefile.embed to be used when cross-compiling
This allows libgit2 to be cross-compiled (e.g. when building native rugged binaries for windows from Linux or OS X).
```
CROSS_COMPILE=i686-w64-mingw32 make -f Makefile.embed
```
|
|
f5c4d022
|
2013-07-24T13:44:35
|
|
Fix incorrect comment
|
|
397357a0
|
2013-07-24T13:12:00
|
|
Add rename test that used to be really slow
Before the optimization commits, this test used to take about 20
seconds to run on my machine. Afterwards, there is still a couple
seconds of data setup, but the actual diff and rename detection
runs in a fraction of a second.
|
|
427cc255
|
2013-07-24T13:11:11
|
|
Use local variables in hash calc to avoid aliasing
|
|
18e9efc4
|
2013-07-24T13:10:16
|
|
Don't check rename if file size difference is huge
|
|
69c66b55
|
2013-07-24T13:09:33
|
|
Don't do text diff unless content will be used
|
|
39a1a662
|
2013-07-24T13:09:07
|
|
Don't unload diff data unless loaded
|
|
eb1c1707
|
2013-07-23T15:45:58
|
|
Restore GIT_DIFF_LINE_BINARY usage
This restores the usage of GIT_DIFF_LINE_BINARY for the diff
output line that reads "Binary files x and y differ" so that it
can be optionally colorized independently of the file header.
|
|
df40f398
|
2013-07-23T15:18:28
|
|
Make compact output more like core Git
|
|
197b8966
|
2013-07-23T14:34:31
|
|
Add hunk/file headers to git_diff_patch_size
This allows git_diff_patch_size to account for hunk headers and
file headers in the returned size. This required some refactoring
of the code that is used to print file headers so that it could be
invoked by the git_diff_patch_size API.
Also this increases the test coverage and fixes an off-by-one bug
in the size calculation when newline changes happen at the end of
the file.
|
|
cdbcb8dd
|
2013-07-23T09:43:07
|
|
Merge pull request #1745 from libgit2/doc-fixes
Doc fixes
|
|
64061d4a
|
2013-07-23T10:51:14
|
|
remote: fix git_remote_download() documentation
The description of what the function does hasn't been true for quite a
while. Change it to reflect the way it currently works.
While here, remove an even older comment about missing features that
have been implemented.
|
|
c05a55b0
|
2013-07-23T09:40:19
|
|
Clean up some documentation
clang's docparser highlighted these.
|
|
e5bdf829
|
2013-07-22T23:59:08
|
|
Merge pull request #1732 from libgit2/revwalk-glob-should-ignore-invalid
Invalid refs on disk cause revwalk globbing to fail
|
|
b4a4cf24
|
2013-07-22T16:07:56
|
|
Add git_diff_patch_size() API
This adds a new API to get the size in bytes of the diffs in a
git_diff_patch object.
|
|
4cee9b86
|
2013-07-22T11:41:23
|
|
Update init and clean for revwalk::basic tests
The new tests don't always want to use the same fixture data as
the old ones so this makes it configurable on a per-test basis.
|
|
989710d9
|
2013-07-22T11:22:55
|
|
Fix warning message about mismatched types
|
|
c77342ef
|
2013-07-22T11:20:34
|
|
Use pool for loose refdb string allocations
Instead of using lots of strdup calls, this adds a memory pool to
the loose refs iteration code and uses it for keeping track of the
loose refs array. Memory usage could probably be reduced even
further by eliminating the vector and just scanning by adding the
strlen of each ref, but that would be a more intrusive changes.
This also updates the error handling to be more thorough about
checking for failed allocations, etc.
|
|
b7107131
|
2013-07-22T11:01:19
|
|
git_reference_next_name must match git_reference_next
The git_reference_next API silently skips invalid references when
scanning the loose refs. The git_reference_next_name API should
skip the same ones even though it isn't creating the reference
object.
This adds a test with a an invalid loose reference and makes sure
that both APIs skip the same entries and generate the same results.
|
|
1cd9dc29
|
2013-07-19T11:14:22
|
|
Merge pull request #1743 from ethomson/readme
Clarify when to use github issues
|
|
bef59b1b
|
2013-07-19T12:56:47
|
|
Update README.md
|
|
97309dd0
|
2013-07-19T10:43:53
|
|
Merge pull request #1726 from crazymaster/development
git_buf_text_gather_stats doesn't work for multi-byte characters
|
|
41a93cc6
|
2013-07-19T12:43:08
|
|
Clarify when to use github issues
Suggest that github issues are to be used for bug reports, while questions about usage should be directed to StackOverflow.
|
|
847b8e0e
|
2013-07-19T10:29:47
|
|
Merge pull request #1742 from martinwoodward/Refresh-Readme
Refresh readme and contributing guidance
|
|
6ca83665
|
2013-07-19T18:20:58
|
|
Update contributing guidance to explain PR flow
Updating the contributing guidance to explain a bit more about how we use
PR's
|
|
3e3d332b
|
2013-07-19T18:04:11
|
|
Tidy up the methods of contacting the project
Updated the methods of getting involved with the project and asking
questions.
|
|
275d8d55
|
2013-07-18T09:37:59
|
|
Typo
|
|
79400365
|
2013-07-18T06:26:25
|
|
Merge pull request #1736 from ben/default-to-cdecl
Switch default calling convention to cdecl
|
|
99a9c86c
|
2013-07-17T20:08:15
|
|
Merge pull request #1722 from libgit2/ntk/fix/issue_1722
git_revparse_ext: should return a NULL reference when the revparse expression doesn't lead to a reference
|
|
d2db351c
|
2013-07-17T16:12:15
|
|
Merge pull request #1735 from ethomson/ignored_are_not_rename_candidates
don't include ignored as rename candidates
|
|
d55bed1a
|
2013-07-17T16:55:00
|
|
don't include ignored as rename candidates
|
|
e49dc687
|
2013-07-17T14:06:31
|
|
Switch default calling convention to cdecl.
|
|
4e05fa7d
|
2013-07-15T20:45:18
|
|
Merge pull request #1731 from alindeman/patch-1
Small grammar fix in docs
|
|
51b0397a
|
2013-07-15T23:40:57
|
|
Small grammar fix in docs
|
|
f5385150
|
2013-07-15T09:45:04
|
|
Merge pull request #1728 from ivoire/small_fixes
Small fixes
|
|
3f8086e0
|
2013-07-15T09:44:02
|
|
Merge pull request #1729 from tiennou/remote-owner
Add `git_remote_owner`.
|
|
85e1eded
|
2013-07-15T16:31:25
|
|
Add `git_remote_owner`
|
|
c6451624
|
2013-07-15T16:00:07
|
|
Fix some more memory leaks in error path
|
|
050af8bb
|
2013-07-15T16:00:00
|
|
pack: fix memory leak in error path
|
|
8d6ef4bf
|
2013-07-15T15:59:35
|
|
index: fix potential memory leaks
|
|
9146f1e5
|
2013-07-15T15:59:18
|
|
repository: clarify assignment and test order
|
|
d0b25d9d
|
2013-07-15T08:14:00
|
|
Fix
|
|
2185dd6f
|
2013-07-15T07:59:04
|
|
Fix typo
|
|
b74d4478
|
2013-07-15T07:41:39
|
|
Fix the initial line
|
|
19bee769
|
2013-07-15T07:39:16
|
|
Revert "Replace Japanese characters with the encoded hexadecimal values"
This reverts commit a91e4d6b21e141c2abc76b65b2d4c91d5d3e03cc.
|
|
a91e4d6b
|
2013-07-15T07:19:42
|
|
Replace Japanese characters with the encoded hexadecimal values
|
|
35173312
|
2013-07-14T15:16:08
|
|
Merge pull request #1727 from alindeman/lookup-object-doc-fix
Fixes return type documentation
|
|
960431c3
|
2013-07-14T17:26:24
|
|
Fixes return type documentation
|
|
6550565a
|
2013-07-13T03:02:00
|
|
Fix gather_stats
|
|
d6d34cd0
|
2013-07-13T02:10:16
|
|
Add test for multi-byte characters
|
|
80fd31fa
|
2013-07-13T13:30:23
|
|
revparse: Don't return a reference when asked for a git object
Fix #1722
|
|
1662158c
|
2013-07-13T06:18:24
|
|
Merge pull request #1725 from libgit2/ntk/fix/leaks
Plug some memory leaks
|
|
d6cb13d7
|
2013-07-13T14:00:05
|
|
tests: Fix memory leak
|
|
b3a559dd
|
2013-07-13T13:55:03
|
|
submodule: Fix memory leaks
|
|
3a025b97
|
2013-07-12T17:03:57
|
|
Merge pull request #1724 from ethomson/cmake_vs
header files show up in vs and xcode
|
|
cdacd3d9
|
2013-07-12T16:53:00
|
|
header files show up in vs
|
|
ed0be48b
|
2013-07-11T15:36:03
|
|
Merge pull request #1721 from ethomson/config_paths
preload configuration paths
|
|
0a1c8f55
|
2013-07-11T17:09:15
|
|
preload configuration paths
|
|
f2de67d5
|
2013-07-11T11:27:57
|
|
Merge pull request #1719 from libgit2/arrbee/threading-primitives
Update git__swap threading primitive
|
|
584f2d30
|
2013-07-11T11:04:42
|
|
Fix warnings on Win64
|
|
814de0bc
|
2013-07-11T11:00:41
|
|
Update git__swap thread helper
This makes git__swap use the __sync_lock_test_and_set primitive
with GCC and the InterlockedExchangePointer primitive with MSVC.
Previously is used compare_and_swap in a way that was probably
unintuitive for most thinking (i.e. it could fail to swap in the
value if another thread raced in). Now it will always succeed
and the last thread to run in a race will win instead of the
first thread.
This also fixes up a little confusion between volatile void **
and void * volatile * that came up with the Win32 compiler.
|
|
d70ce9bd
|
2013-07-10T15:38:57
|
|
Clarify docs for git_status_file
|
|
bd679796
|
2013-07-10T13:15:28
|
|
Merge pull request #1685 from arrbee/submodule-status-fixes
Improve submodules status data caching and compatibility
|
|
125655fe
|
2013-07-02T16:49:57
|
|
Untracked directories with .git should be ignored
This restores a behavior that was accidentally lost during some
diff refactoring where an untracked directory that contains a .git
item should be treated as IGNORED, not as UNTRACKED. The submodule
code already detects this, but the diff code was not handling the
scenario right.
This also updates a number of existing tests that were actually
exercising the behavior but did not have the right expectations in
place. It actually makes the new
`test_diff_submodules__diff_ignore_options` test feel much better
because the "not-a-submodule" entries are now ignored instead of
showing up as untracked items.
Fixes #1697
|
|
9564229a
|
2013-06-30T08:43:07
|
|
Add tests for diff.ignoreSubmdules config
|
|
b8df28a5
|
2013-06-30T08:38:10
|
|
Clean up left over alloc change
|
|
f9775a37
|
2013-06-29T23:22:31
|
|
Add ignore_submodules to diff options
This adds correct support for an equivalent to --ignore-submodules
in diff, where an actual ignore value can be passed to diff to
override the per submodule settings in the configuration.
This required tweaking the constants for ignore values so that
zero would not be used and could represent an unset option to the
diff. This was an opportunity to move the submodule values into
include/git2/types.h and to rename the poorly named DEFAULT values
for ignore and update constants to RESET instead.
Now the GIT_DIFF_IGNORE_SUBMODULES flag is exactly the same as
setting the ignore_submodules option to GIT_SUBMODULE_IGNORE_ALL
(which is actually a minor change from the old behavior in that
submodules will now be treated as UNMODIFIED deltas instead of
being left out totally - if you set GIT_DIFF_INCLUDE_UNMODIFIED).
This includes tests for the various new settings.
|
|
2e3e273e
|
2013-06-29T13:20:45
|
|
Update diff to new internal submodule status API
Submodules now expose an internal status API that allows diff to
get back the OID values from the submodule very easily and also
to avoiding caching issues and to override the ignore setting for
the submodule.
|
|
1aad6137
|
2013-06-29T13:16:33
|
|
Submodule status improvements
This fixes the way that submodule status is checked to bypass just
about all of the caching in the submodule object. Based on the
ignore value, it will try to do the minimum work necessary to find
the current status of the submodule - but it will actually go to
disk to get all of the current values.
This also removes the custom refcounting stuff in favor of the
common git_refcount style. Right now, it is still for internal
purposes only, but it should make it easier to add true submodule
refcounting in the future with a public git_submodule_free call
that will allow bindings not to worry about the submodule object
getting freed from underneath them.
|